This commit was manufactured by cvs2svn to create branch
'unlabeled-1.76.2'.
diff --git a/License b/License
deleted file mode 100644
index b6f8711..0000000
--- a/License
+++ /dev/null
@@ -1,56 +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/Projects/Win32/VC6/AllInOne/AllInOne.dsp b/Projects/Win32/VC6/AllInOne/AllInOne.dsp
deleted file mode 100644
index be5884c..0000000
--- a/Projects/Win32/VC6/AllInOne/AllInOne.dsp
+++ /dev/null
@@ -1,3000 +0,0 @@
-# Microsoft Developer Studio Project File - Name="AllInOne" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=AllInOne - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "AllInOne.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "AllInOne.mak" CFG="AllInOne - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "AllInOne - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "AllInOne - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "AllInOne - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "AllInOne - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\AllInOne"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "XALAN_DOMSUPPORT_BUILD_DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /D "XALAN_DOM_BUILD_DLL" /D "XALAN_XALANEXTENSIONS_BUILD_DLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /D "XALAN_XPATH_BUILD_DLL" /D "XALAN_XPATHCAPI_BUILD_DLL" /D "XALAN_ALLINONE_BUILD_DLL" /D "XALAN_EXSLT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/Xalan-C_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/Xalan-C_1.lib"
-
-!ELSEIF  "$(CFG)" == "AllInOne - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\AllInOne"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "XALAN_DOMSUPPORT_BUILD_DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /D "XALAN_DOM_BUILD_DLL" /D "XALAN_XALANEXTENSIONS_BUILD_DLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /D "XALAN_XPATH_BUILD_DLL" /D "XALAN_XPATHCAPI_BUILD_DLL" /D "XALAN_ALLINONE_BUILD_DLL" /D "XALAN_EXSLT_BUILD_DLL" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/Xalan-C_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/Xalan-C_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "AllInOne - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ReleaseWithSymbols"
-# PROP BASE Intermediate_Dir "ReleaseWithSymbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\AllInOne"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "XALAN_XERCES" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "XALAN_DOMSUPPORT_BUILD_DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /D "XALAN_DOM_BUILD_DLL" /D "XALAN_XALANEXTENSIONS_BUILD_DLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /D "XALAN_XPATH_BUILD_DLL" /D "XALAN_XPATHCAPI_BUILD_DLL" /D "XALAN_ALLINONE_BUILD_DLL" /D "XALAN_EXSLT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/Xalan-C_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/Xalan-C_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "AllInOne - Win32 Release"
-# Name "AllInOne - Win32 Debug"
-# Name "AllInOne - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeListImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributesImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVT.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPart.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartSimple.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartXPath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Cloneable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Constants.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\CountersTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\DecimalToRoman.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMServices.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringHelper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringPrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DoubleSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyImport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyTemplates.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttribute.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttributeSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCallTemplate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemChoose.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemComment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopyOf.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemDecimalFormat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemEmpty.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ElementPrefixResolverProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemExtensionCall.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemFallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemForEach.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemIf.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemLiteralResult.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemMessage.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemOtherwise.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemParam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemPI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemSort.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplateElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTextLiteral.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemUse.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemValueOf.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemVariable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWhen.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWithParam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ExecutionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionFunctionHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionNSHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\FormatterListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToDOM.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToHTML.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToNull.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\FormatterToSourceTree.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToXML.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterTreeWalker.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FoundIndex.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\Function.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionBoolean.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCeiling.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionConcat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionContains.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCount.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionCurrent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDifference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDistinct.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionDocument.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionElementAvailable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionEvaluate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFalse.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFloor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFormatNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFunctionAvailable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionGenerateID.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionHasSameNodes.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionID.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionIntersection.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionKey.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLang.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLocalName.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionName.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNamespaceURI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionNodeSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNormalizeSpace.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNot.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionPosition.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionRound.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStartsWith.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStringLength.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringAfter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringBefore.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSum.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionSystemProperty.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTranslate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTrue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionUnparsedEntityURI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\GenerateEvent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\KeyTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\MutableNodeRefList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NamedNodeMapAttributeList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\NamespaceResolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NamespacesHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeListImplSurrogate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefListBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSorter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSortKey.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NullPrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\OutputContextStack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupportInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrefixResolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListenerDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Resettable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultNamespacesStack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFrag.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFragAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ResultTreeFragBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\SelectionEvent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\SimpleNodeLocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StackEntry.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StdBinInputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StringTokenizer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Stylesheet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContextDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContextDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetRoot.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TopLevelArg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListenerDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TracerEvent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\TreeWalker.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\URISupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\VariablesStack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Writer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanAttr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanBitmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCAPI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCDataSection.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCharacterData.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanComment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCompiledStylesheetDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormatSymbols.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultDocumentBuilder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocument.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentFragment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentType.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMImplementation.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringHashTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringPool.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEmptyNamedNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanEncodingPropertyCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntity.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntityReference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTCommon.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTMath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\XalanExtensions.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanFileOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNamedNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNode.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListDummy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListSurrogate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNotation.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNullOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNumberFormat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanNumberingResourceBundle.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStreamPrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanProcessingInstruction.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQName.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByReference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByValue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanReferenceCountedObject.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanSimplePrefixResolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeNSAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributesVector.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttrNS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeComment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeCommentAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeContentHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocument.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocumentFragment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentFragmentAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDOMSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNSAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeHelper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeNamedNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeParserLiaison.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstruction.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstructionAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWSAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanStdOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanTemplate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanToXercesTranscoderWrapper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanTranscodingServices.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerProblemListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanUTF16Transcoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanXMLChar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanXPathException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XBoolean.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttrBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttributeBridgeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeHelper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeNavigator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCDATASectionBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCommentBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentFragmentBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentNamedNodeListCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentTypeBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOM_NodeHack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMImplementationBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMWrapperParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridgeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementNamedNodeListCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityReferenceBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesLiaisonXalanDOMStringPool.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeListCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeMapBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNodeListBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNotationBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesParserLiaison.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesProcessingInstructionBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridgeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesToXalanNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTreeWalker.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XLocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLParserLiaison.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetResultTreeFragProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNull.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObject.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactoryDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectTypeCallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPathCAPI\XPathCAPI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupportDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEvaluator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContextDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExpression.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryBlock.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFunctionTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathParserException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessorImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFrag.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFragAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XSLException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTEngineImpl.cpp
-
-!IF  "$(CFG)" == "AllInOne - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "AllInOne - Win32 Debug"
-
-!ELSEIF  "$(CFG)" == "AllInOne - Win32 Release with symbols"
-
-# ADD CPP /YX
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInputSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupportDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTResultTarget.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XSpan.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapterAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCached.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCachedAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReferenceAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XToken.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapterAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapterAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XUnknown.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\AIXDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ArenaAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ArenaBlock.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeListImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributesImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeVectorEntry.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeVectorEntryExtended.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVT.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPart.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartSimple.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartXPath.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Cloneable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Constants.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\CountersTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\DecimalToRoman.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DirectoryEnumerator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMServices.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringPrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DoubleSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyImport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyTemplates.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttribute.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttributeSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCallTemplate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemChoose.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemComment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopyOf.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemDecimalFormat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemEmpty.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElementFrameMarker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ElementPrefixResolverProxy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemExtensionCall.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemFallback.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemForEach.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemIf.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemLiteralResult.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemMessage.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemOtherwise.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemParam.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemPI.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemPriv.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemSort.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplateElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTextLiteral.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemUse.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemValueOf.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemVariable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWhen.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWithParam.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ExecutionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionFunctionHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionNSHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\FormatterListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToDOM.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToHTML.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToNull.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\FormatterToSourceTree.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToXML.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterTreeWalker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FoundIndex.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\Function.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionBoolean.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCeiling.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionConcat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionContains.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCount.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionCurrent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDifference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDistinct.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionDocument.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionElementAvailable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionEvaluate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFalse.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFloor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFormatNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFunctionAvailable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionGenerateID.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionHasSameNodes.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionID.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionIntersection.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionKey.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLang.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLast.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLocalName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNamespaceURI.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionNodeSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNormalizeSpace.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNot.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionPosition.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionRound.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStartsWith.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStringLength.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstring.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringAfter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringBefore.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSum.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionSystemProperty.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTranslate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTrue.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionUnparsedEntityURI.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\GCCDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\GenerateEvent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\HPUXDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\KeyDeclaration.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\KeyTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\MutableNodeRefList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NamedNodeMapAttributeList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NameSpace.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\NamespaceResolver.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NamespacesHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeListImplSurrogate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefListBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSorter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSortKey.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\NSInfo.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NullPrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\OS390Definitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\OutputContextStack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\PlatformDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupportDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupportInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrefixResolver.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListenerDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Resettable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultNamespacesStack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFrag.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFragAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ResultTreeFragBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ReusableArenaAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ReusableArenaBlock.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\SelectionEvent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\SimpleNodeLocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\SolarisDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StackEntry.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StdBinInputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\STLHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StringTokenizer.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Stylesheet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContextDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContextDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetRoot.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TopLevelArg.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListenerDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TracerEvent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\TreeWalker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\TRU64Definitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\URISupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\VariablesStack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\VCPPDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Writer.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\XalanArrayKeyMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanAttr.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\XalanAutoPtr.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanBitmap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCAPI.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCDATASection.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCharacterData.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanComment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCompiledStylesheet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCompiledStylesheetDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormatSymbols.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultDocumentBuilder.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocument.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDocumentBuilder.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentFragment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentType.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMImplementation.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringHashTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringPool.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEmptyNamedNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanEncodingPropertyCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntity.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntityReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTCommon.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTCommonImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTMath.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTMathImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTSetImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTStringImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\XalanExtensions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\XalanExtensionsDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanFileOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNamedNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNode.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListDummy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListSurrogate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNotation.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNullOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNumberFormat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanNumberingResourceBundle.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\Include\XalanObjectCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStreamPrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanProcessingInstruction.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByValue.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanReferenceCountedObject.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanSimplePrefixResolver.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttr.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeNSAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributesVector.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttrNS.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeComment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeCommentAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeContentHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocument.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocumentFragment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentFragmentAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDOMSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNS.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNSAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeNamedNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeParserLiaison.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstruction.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstructionAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWS.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWSAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanStdOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanToXercesTranscoderWrapper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanTranscodingServices.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformer.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerProblemListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanUnicode.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanUTF16Transcoder.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanXMLChar.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanXPathException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XBoolean.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttrBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttributeBridgeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeCommon.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeNavigator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCDATASectionBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCommentBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentFragmentBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentNamedNodeListCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentTypeBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOM_NodeHack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMImplementationBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMWrapperParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridgeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementNamedNodeListCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityReferenceBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesLiaisonXalanDOMStringPool.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeListCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeMapBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNodeListBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNotationBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesParserLiaison.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesParserLiaisonDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesProcessingInstructionBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridgeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesToXalanNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTreeWalker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XLocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLParserLiaison.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetResultTreeFragProxy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNull.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObject.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactory.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactoryDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectTypeCallback.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPath.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPathCAPI\XPathCAPI.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupportDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEvaluator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContextDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExpression.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactory.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryBlock.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFunctionTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathParserException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessorImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFrag.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFragAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XSLException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTEngineImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInputSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupportDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTResultTarget.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XSpan.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapterAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCached.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCachedAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReferenceAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XToken.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapterAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapterAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XUnknown.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/DOMSupport/DOMSupport.dsp b/Projects/Win32/VC6/DOMSupport/DOMSupport.dsp
deleted file mode 100644
index f874aaa..0000000
--- a/Projects/Win32/VC6/DOMSupport/DOMSupport.dsp
+++ /dev/null
@@ -1,202 +0,0 @@
-# Microsoft Developer Studio Project File - Name="DOMSupport" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=DOMSupport - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "DOMSupport.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "DOMSupport.mak" CFG="DOMSupport - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "DOMSupport - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DOMSupport - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DOMSupport - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "DOMSupport - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\DOMSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOMSUPPORT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/DOMSupport_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/DOMSupport_1.lib"
-
-!ELSEIF  "$(CFG)" == "DOMSupport - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\DOMSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_DOMSUPPORT_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/DOMSupport_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/DOMSupport_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "DOMSupport - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "DOMSupport___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "DOMSupport___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\DOMSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOMSUPPORT_BUILD_DLL" /FD /c
-# SUBTRACT BASE CPP /YX /Yc /Yu
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOMSUPPORT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\Build\Win32\Vc6\Release\PlatformSupport.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/DOMSupport_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/DOMSupport_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "DOMSupport - Win32 Release"
-# Name "DOMSupport - Win32 Debug"
-# Name "DOMSupport - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMServices.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\NamespaceResolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\TreeWalker.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMServices.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\DOMSupportInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\NamespaceResolver.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\NSInfo.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\DOMSupport\TreeWalker.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/ICUBridge/ICUBridge.dsp b/Projects/Win32/VC6/ICUBridge/ICUBridge.dsp
deleted file mode 100644
index b8288f5..0000000
--- a/Projects/Win32/VC6/ICUBridge/ICUBridge.dsp
+++ /dev/null
@@ -1,196 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ICUBridge" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=ICUBridge - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "ICUBridge.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "ICUBridge.mak" CFG="ICUBridge - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "ICUBridge - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ICUBridge - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ICUBridge - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "ICUBridge - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\ICUBridge"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICUBRIDGE_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /I "..\..\..\..\..\..\icu\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_ICUBRIDGE_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\icu\lib\icuuc.lib ..\..\..\..\..\..\icu\lib\icuin.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/ICUBridge_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/ICUBridge_1.lib"
-
-!ELSEIF  "$(CFG)" == "ICUBridge - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\ICUBridge"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICUBRIDGE_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /I "..\..\..\..\..\..\icu\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_ICUBRIDGE_BUILD_DLL" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\icu\lib\icuucd.lib ..\..\..\..\..\..\icu\lib\icuind.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/ICUBridge_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/ICUBridge_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "ICUBridge - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ICUBridge___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "ICUBridge___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\ICUBridge"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /I "..\..\..\..\..\..\icu\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_ICUBRIDGE_BUILD_DLL" /D "XALAN_XERCES" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /I "..\..\..\..\..\..\icu\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_ICUBRIDGE_BUILD_DLL" /D "XALAN_XERCES" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\icu\lib\release\*.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\icu\lib\icuuc.lib ..\..\..\..\..\..\icu\lib\icuin.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/ICUBridge_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/ICUBridge_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "ICUBridge - Win32 Release"
-# Name "ICUBridge - Win32 Debug"
-# Name "ICUBridge - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\FunctionICUFormatNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeCleanup.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeCollationCompareFunctor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeCollationCompareFunctorImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUXalanNumberFormatFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUXalanNumberFormatProxy.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\FunctionICUFormatNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeCleanup.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeCollationCompareFunctor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeCollationCompareFunctorImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUBridgeDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUXalanNumberFormatFactory.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\ICUBridge\ICUXalanNumberFormatProxy.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/PlatformSupport/PlatformSupport.dsp b/Projects/Win32/VC6/PlatformSupport/PlatformSupport.dsp
deleted file mode 100644
index 5c9da2a..0000000
--- a/Projects/Win32/VC6/PlatformSupport/PlatformSupport.dsp
+++ /dev/null
@@ -1,474 +0,0 @@
-# Microsoft Developer Studio Project File - Name="PlatformSupport" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=PlatformSupport - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "PlatformSupport.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "PlatformSupport.mak" CFG="PlatformSupport - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "PlatformSupport - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "PlatformSupport - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "PlatformSupport - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "PlatformSupport - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\PlatformSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_PLATFORMSUPPORT_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /FD /I /xml4c/include" /I /xml4c/include" " " " " " " /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/PlatformSupport_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/PlatformSupport_1.lib"
-
-!ELSEIF  "$(CFG)" == "PlatformSupport - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\PlatformSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PlatformSupport_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /I /xml4c/include" /I /lotusxsl4c/stl" /I /lotusxsl4c/src/include" /I /xml4c/include" /GZ " " " " " " /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/PlatformSupport_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/PlatformSupport_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "PlatformSupport - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "PlatformSupport___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "PlatformSupport___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\PlatformSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /D "XALAN_XERCES" /FD /I /xml4c/include" /I /xml4c/include" " " " " " " /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_PLATFORMSUPPORT_BUILD_DLL" /FD /I /xml4c/include" /I /xml4c/include" " " " " " " /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/PlatformSupport_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/PlatformSupport_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "PlatformSupport - Win32 Release"
-# Name "PlatformSupport - Win32 Debug"
-# Name "PlatformSupport - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeListImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributesImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringHelper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringPrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DoubleSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ExecutionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\FormatterListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NamedNodeMapAttributeList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NullPrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupportInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrefixResolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Resettable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StdBinInputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StringTokenizer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\URISupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Writer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanBitmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormatSymbols.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringHashTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringPool.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanFileOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNullOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNumberFormat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStreamPrintWriter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanReferenceCountedObject.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanSimplePrefixResolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanStdOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanToXercesTranscoderWrapper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanTranscodingServices.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanUTF16Transcoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanXMLChar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XSLException.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ArenaAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ArenaBlock.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeListImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributesImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeVectorEntry.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\AttributeVectorEntryExtended.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DirectoryEnumerator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DOMStringPrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\DoubleSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ExecutionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\FormatterListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NamedNodeMapAttributeList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\NullPrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupportDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PlatformSupportInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrefixResolver.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\PrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Resettable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ReusableArenaAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\ReusableArenaBlock.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StdBinInputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\StringTokenizer.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\URISupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\Writer.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanBitmap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDecimalFormatSymbols.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringHashTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanDOMStringPool.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanFileOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNullOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanNumberFormat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanOutputStreamPrintWriter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanReferenceCountedObject.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanSimplePrefixResolver.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanStdOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanToXercesTranscoderWrapper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanTranscodingServices.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanUnicode.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanUTF16Transcoder.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XalanXMLChar.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\PlatformSupport\XSLException.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/TestCompile/TestCompile.dsp b/Projects/Win32/VC6/TestCompile/TestCompile.dsp
deleted file mode 100644
index c459aa8..0000000
--- a/Projects/Win32/VC6/TestCompile/TestCompile.dsp
+++ /dev/null
@@ -1,102 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TestCompile" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=TestCompile - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "TestCompile.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "TestCompile.mak" CFG="TestCompile - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "TestCompile - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "TestCompile - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "TestCompile - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\TestCompile"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "XALAN_XERCES" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "TestCompile - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\TestCompile"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /ZI /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "XALAN_XERCES" /D "XML_DEBUG" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1.lib ..\..\..\..\Build\Win32\VC6\Debug\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "TestCompile - Win32 Release"
-# Name "TestCompile - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\TestCompile\TestCompile.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/TestXPath/TestXPath.dsp b/Projects/Win32/VC6/TestXPath/TestXPath.dsp
deleted file mode 100644
index d7cc619..0000000
--- a/Projects/Win32/VC6/TestXPath/TestXPath.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TestXPath" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=TestXPath - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "TestXPath.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "TestXPath.mak" CFG="TestXPath - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "TestXPath - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "TestXPath - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "TestXPath - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "TestXPath - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\TestXPath"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /pdb:none /machine:I386
-# SUBTRACT LINK32 /map /debug
-
-!ELSEIF  "$(CFG)" == "TestXPath - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\TestXPath"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "TestXPath - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "TestXPath___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "TestXPath___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\TestXPath"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "XALAN_XERCES" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "XALAN_XERCES" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /map /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /debug /machine:I386
-# SUBTRACT LINK32 /pdb:none /map
-
-!ENDIF 
-
-# Begin Target
-
-# Name "TestXPath - Win32 Release"
-# Name "TestXPath - Win32 Debug"
-# Name "TestXPath - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\TestXPath\NodeNameTreeWalker.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\TestXPath\TestXPath.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\TestXPath\NodeNameTreeWalker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\TestXPath\XML_Xalan.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/TestXSLT/TestXSLT.dsp b/Projects/Win32/VC6/TestXSLT/TestXSLT.dsp
deleted file mode 100644
index cfb24b9..0000000
--- a/Projects/Win32/VC6/TestXSLT/TestXSLT.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TestXSLT" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=TestXSLT - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "TestXSLT.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "TestXSLT.mak" CFG="TestXSLT - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "TestXSLT - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "TestXSLT - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "TestXSLT - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "TestXSLT - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\TestXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_USRDLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "TestXSLT - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\TestXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_CONSOLE" /YX /FD /GZ /c
-# SUBTRACT CPP /Fr
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /debug /machine:I386 /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none /incremental:no
-
-!ELSEIF  "$(CFG)" == "TestXSLT - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "TestXSLT___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "TestXSLT___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\TestXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XERCES" /D "_CONSOLE" /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_USRDLL" /D "XALAN_XERCES" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /pdb:none /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "TestXSLT - Win32 Release"
-# Name "TestXSLT - Win32 Debug"
-# Name "TestXSLT - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Source File
-
-SOURCE=..\..\..\..\src\TestXSLT\process.cpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XMLSupport/XMLSupport.dsp b/Projects/Win32/VC6/XMLSupport/XMLSupport.dsp
deleted file mode 100644
index d449478..0000000
--- a/Projects/Win32/VC6/XMLSupport/XMLSupport.dsp
+++ /dev/null
@@ -1,214 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XMLSupport" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XMLSupport - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XMLSupport.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XMLSupport.mak" CFG="XMLSupport - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XMLSupport - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XMLSupport - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XMLSupport - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XMLSupport - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XMLSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XMLSupport_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XMLSupport_1.lib"
-
-!ELSEIF  "$(CFG)" == "XMLSupport - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XMLSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XMLSupport_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XMLSupport_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XMLSupport - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XMLSupport___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XMLSupport___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XMLSupport"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /FD /c
-# SUBTRACT BASE CPP /YX /Yc /Yu
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XMLSUPPORT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\Build\Win32\Vc6\Release\PlatformSupport.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XMLSupport_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XMLSupport_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XMLSupport - Win32 Release"
-# Name "XMLSupport - Win32 Debug"
-# Name "XMLSupport - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToDOM.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToHTML.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToNull.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToXML.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterTreeWalker.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLParserLiaison.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportInit.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToDOM.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToHTML.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToNull.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterToXML.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\FormatterTreeWalker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLParserLiaison.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XMLSupport\XMLSupportInit.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XPath/XPath.dsp b/Projects/Win32/VC6/XPath/XPath.dsp
deleted file mode 100644
index 92a38bd..0000000
--- a/Projects/Win32/VC6/XPath/XPath.dsp
+++ /dev/null
@@ -1,849 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XPath" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XPath - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XPath.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XPath.mak" CFG="XPath - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XPath - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XPath - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XPath - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XPath - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XPath"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATH_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XPath_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XPath_1.lib"
-
-!ELSEIF  "$(CFG)" == "XPath - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XPath"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATH_BUILD_DLL" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XPath_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XPath_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XPath - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XPath___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XPath___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XPath"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATH_BUILD_DLL" /D "XALAN_XERCES" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATH_BUILD_DLL" /D "XALAN_XERCES" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XPath_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XPath_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XPath - Win32 Release"
-# Name "XPath - Win32 Debug"
-# Name "XPath - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ElementPrefixResolverProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FoundIndex.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\Function.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionBoolean.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCeiling.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionConcat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionContains.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCount.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFalse.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFloor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionID.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLang.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLocalName.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionName.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNamespaceURI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNormalizeSpace.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNot.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionPosition.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionRound.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStartsWith.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStringLength.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringAfter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringBefore.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSum.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTranslate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTrue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\MutableNodeRefList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefListBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ResultTreeFragBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQName.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByReference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByValue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanXPathException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XBoolean.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XLocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetResultTreeFragProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNull.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObject.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactoryDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectTypeCallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupportDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEvaluator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContextDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExpression.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryBlock.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFunctionTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathParserException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessorImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XSpan.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapterAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringBase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCached.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCachedAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReferenceAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XToken.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapterAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapterAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XUnknown.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ElementPrefixResolverProxy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FoundIndex.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\Function.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionBoolean.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCeiling.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionConcat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionContains.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionCount.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFalse.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionFloor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionID.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLang.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLast.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionLocalName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNamespaceURI.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNormalizeSpace.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNot.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionPosition.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionRound.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStartsWith.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionStringLength.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstring.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringAfter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSubstringBefore.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionSum.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTranslate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\FunctionTrue.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\MutableNodeRefList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NameSpace.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\NodeRefListBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\QName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\QNameByReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\QNameByValue.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\ResultTreeFragBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQName.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanQNameByValue.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XalanXPathException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XBoolean.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XLocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNodeSetResultTreeFragProxy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNull.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XNumberBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObject.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactory.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectFactoryDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectResultTreeFragProxyText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XObjectTypeCallback.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPath.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEnvSupportDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathEvaluator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExecutionContextDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathExpression.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactory.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryBlock.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFactoryDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathFunctionTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathParserException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XPathProcessorImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XSpan.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAdapterAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringBase.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringCachedAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XStringReferenceAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XToken.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenNumberAdapterAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XTokenStringAdapterAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPath\XUnknown.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XPathCAPI/XPathCAPI.dsp b/Projects/Win32/VC6/XPathCAPI/XPathCAPI.dsp
deleted file mode 100644
index e9c2ac0..0000000
--- a/Projects/Win32/VC6/XPathCAPI/XPathCAPI.dsp
+++ /dev/null
@@ -1,145 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XPathCAPI" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XPathCAPI - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XPathCAPI.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XPathCAPI.mak" CFG="XPathCAPI - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XPathCAPI - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XPathCAPI - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XPathCAPI - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XPathCAPI - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XPathCAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATHCAPI_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XPathCAPI_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XPathCAPI_1.lib"
-
-!ELSEIF  "$(CFG)" == "XPathCAPI - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XPathCAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATHCAPI_BUILD_DLL" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XPathCAPI_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XPathCAPI_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XPathCAPI - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XPath___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XPath___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XPathCAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATH_BUILD_DLL" /D "XALAN_XERCES" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "XALAN_XERCES" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XPATHCAPI_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XPathCAPI_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XPathCAPI_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XPathCAPI - Win32 Release"
-# Name "XPathCAPI - Win32 Debug"
-# Name "XPathCAPI - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPathCAPI\XPathCAPI.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XPathCAPI\XPathCAPI.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XSLT/XSLT.dsp b/Projects/Win32/VC6/XSLT/XSLT.dsp
deleted file mode 100644
index d1ed9b5..0000000
--- a/Projects/Win32/VC6/XSLT/XSLT.dsp
+++ /dev/null
@@ -1,856 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XSLT" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XSLT - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XSLT.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XSLT.mak" CFG="XSLT - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XSLT - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XSLT - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XSLT - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XSLT - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XSLT_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XSLT_1.lib"
-
-!ELSEIF  "$(CFG)" == "XSLT - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XSLT_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XSLT_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XSLT - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XSLT___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XSLT___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "XALAN_XERCES" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XSLT_BUILD_DLL" /D "XALAN_XERCES" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XSLT_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XSLT_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XSLT - Win32 Release"
-# Name "XSLT - Win32 Debug"
-# Name "XSLT - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVT.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPart.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartSimple.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartXPath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Constants.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\CountersTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\DecimalToRoman.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyImport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyTemplates.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttribute.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttributeSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCallTemplate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemChoose.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemComment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopyOf.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemDecimalFormat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemEmpty.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemExtensionCall.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemFallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemForEach.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemIf.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemLiteralResult.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemMessage.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemOtherwise.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemParam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemPI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemSort.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplateElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTextLiteral.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemUse.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemValueOf.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemVariable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWhen.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWithParam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionFunctionHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionNSHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionCurrent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionDocument.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionElementAvailable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFormatNumber.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFunctionAvailable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionGenerateID.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionKey.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionSystemProperty.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionUnparsedEntityURI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\GenerateEvent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\KeyTable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NamespacesHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSorter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSortKey.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\OutputContextStack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListenerDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultNamespacesStack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFrag.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFragAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\SelectionEvent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Stylesheet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContextDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContextDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetRoot.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TopLevelArg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListenerDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TracerEvent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\VariablesStack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanNumberingResourceBundle.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentFragmentAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFrag.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFragAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTEngineImpl.cpp
-
-!IF  "$(CFG)" == "XSLT - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "XSLT - Win32 Debug"
-
-# ADD CPP /YX
-
-!ELSEIF  "$(CFG)" == "XSLT - Win32 Release with symbols"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInputSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupportDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTResultTarget.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVT.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPart.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartSimple.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\AVTPartXPath.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Constants.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\CountersTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\DecimalToRoman.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyImport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemApplyTemplates.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttribute.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemAttributeSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCallTemplate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemChoose.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemComment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemCopyOf.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemDecimalFormat.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemEmpty.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElementFrameMarker.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemExtensionCall.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemFallback.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemForEach.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemIf.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemLiteralResult.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemMessage.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemOtherwise.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemParam.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemPI.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemPriv.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemSort.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTemplateElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemTextLiteral.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemUse.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemValueOf.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemVariable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWhen.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ElemWithParam.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ExtensionFunctionHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionCurrent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionDocument.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionElementAvailable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFormatNumber.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionFunctionAvailable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionGenerateID.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionKey.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionSystemProperty.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\FunctionUnparsedEntityURI.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\GenerateEvent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\KeyDeclaration.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\KeyTable.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NamespacesHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSorter.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\NodeSortKey.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\OutputContextStack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ProblemListenerDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultNamespacesStack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFrag.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\ResultTreeFragAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\SelectionEvent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\Stylesheet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetConstructionContextDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContext.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetExecutionContextDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\StylesheetRoot.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TopLevelArg.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TraceListenerDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\TracerEvent.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\VariablesStack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanNumberingResourceBundle.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XalanSourceTreeDocumentFragmentAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFrag.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XResultTreeFragAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTEngineImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTInputSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessor.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorEnvSupportDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTProcessorException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XSLT\XSLTResultTarget.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/Xalan.dsw b/Projects/Win32/VC6/Xalan.dsw
deleted file mode 100644
index 9fad4d8..0000000
--- a/Projects/Win32/VC6/Xalan.dsw
+++ /dev/null
@@ -1,1103 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "AllInOne"=".\AllInOne\AllInOne.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ApacheModuleXSLT"="..\..\..\samples\ApacheModuleXSLT\ApacheModuleXSLT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "CAPI"="..\..\..\Tests\C-API\CAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "CompileStylesheet"="..\..\..\samples\CompileStylesheet\CompileStylesheet.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "DLL"="..\..\..\samples\XPathWrapper\DLL.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "DOMSupport"=".\DOMSupport\DOMSupport.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "DocumentBuilder"="..\..\..\samples\DocumentBuilder\DocumentBuilder.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "Errortests"="..\..\..\Tests\Errortests\Errortests.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ExternalFunction"="..\..\..\samples\ExternalFunction\ExternalFunction.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "Harness"="..\..\..\Tests\Harness\Harness.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ICUBridge"=".\ICUBridge\ICUBridge.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "Memory"="..\..\..\Tests\Memory\Memory.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "Params"="..\..\..\Tests\Params\Params.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "PerfT"="..\..\..\Tests\PerfT\PerfT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "PlatformSupport"=".\PlatformSupport\PlatformSupport.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SerializeNodeSet"="..\..\..\samples\SerializeNodeSet\SerializeNodeSet.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SimpleTransform"="..\..\..\samples\SimpleTransform\SimpleTransform.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SimpleXPathAPI"="..\..\..\samples\SimpleXPathAPI\SimpleXPathAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SimpleXPathCAPI"="..\..\..\samples\SimpleXPathCAPI\SimpleXPathCAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XPathCAPI
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "StreamTransform"="..\..\..\samples\StreamTransform\StreamTransform.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TestDriver"="..\..\..\samples\XPathWrapper\TestDriver.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DLL
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TestXPath"=".\TestXPath\TestXPath.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TestXSLT"=".\TestXSLT\TestXSLT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanExtensions
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ThreadSafe"="..\..\..\samples\ThreadSafe\ThreadSafe.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ThreadTest"="..\..\..\Tests\Threads\ThreadTest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TraceListen"="..\..\..\samples\TraceListen\TraceListen.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "Transformer"="..\..\..\Tests\Transformer\Transformer.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "UseStylesheetParam"="..\..\..\samples\UseStylesheetParam\UseStylesheetParam.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XMLSupport"=".\XMLSupport\XMLSupport.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XPath"=".\XPath\XPath.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XPathCAPI"=".\XPathCAPI\XPathCAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XSLT"=".\XSLT\XSLT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanDOM"=".\XalanDOM\XalanDOM.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "XalanEXSLT"=".\XalanEXSLT\XalanEXSLT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanExtensions
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanExe"=".\XalanExe\XalanExe.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanExtensions"=".\XalanExtensions\XalanExtensions.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanSourceTree"=".\XalanSourceTree\XalanSourceTree.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanTransform"="..\..\..\samples\XalanTransform\XalanTransform.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanTransformer"=".\XalanTransformer\XalanTransformer.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanExtensions
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanEXSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanTransformerCallback"="..\..\..\samples\XalanTransformerCallback\XalanTransformerCallback.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XercesParserLiaison"=".\XercesParserLiaison\XercesParserLiaison.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "compare"="..\..\..\Tests\Compare\compare.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "conf"="..\..\..\Tests\Conf\conf.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "dom2dom"="..\..\..\Tests\Dom2Dom\Dom2Dom.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "extensions"="..\..\..\Tests\Extensions\extensions.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanExtensions
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "inputsource"="..\..\..\Tests\InputSource\inputsource.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Harness
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "perf"="..\..\..\Tests\Performance\perf.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Projects/Win32/VC6/XalanDOM/XalanDOM.dsp b/Projects/Win32/VC6/XalanDOM/XalanDOM.dsp
deleted file mode 100644
index faeb7fd..0000000
--- a/Projects/Win32/VC6/XalanDOM/XalanDOM.dsp
+++ /dev/null
@@ -1,324 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanDOM" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XalanDOM - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanDOM.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanDOM.mak" CFG="XalanDOM - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanDOM - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanDOM - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanDOM - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanDOM - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XalanDOM"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALANDOM_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOM_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XalanDOM_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XalanDOM_1.lib"
-
-!ELSEIF  "$(CFG)" == "XalanDOM - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XalanDOM"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALANDOM_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOM_BUILD_DLL" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XalanDOM_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XalanDOM_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XalanDOM - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XalanDOM___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XalanDOM___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XalanDOM"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GX /Zi /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOM_BUILD_DLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_DOM_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386
-# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanDOM_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanDOM_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanDOM - Win32 Release"
-# Name "XalanDOM - Win32 Debug"
-# Name "XalanDOM - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanAttr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCDataSection.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCharacterData.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanComment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocument.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentFragment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentType.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMImplementation.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMString.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEmptyNamedNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntity.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntityReference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNamedNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNode.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeList.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListDummy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListSurrogate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNotation.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanProcessingInstruction.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanText.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanAttr.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCDATASection.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanCharacterData.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanComment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocument.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentFragment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDocumentType.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMImplementation.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanDOMString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEmptyNamedNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntity.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanEntityReference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNamedNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNode.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeList.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListDummy.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNodeListSurrogate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanNotation.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanProcessingInstruction.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanDOM\XalanText.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XalanEXSLT/XalanEXSLT.dsp b/Projects/Win32/VC6/XalanEXSLT/XalanEXSLT.dsp
deleted file mode 100644
index 2d74ddd..0000000
--- a/Projects/Win32/VC6/XalanEXSLT/XalanEXSLT.dsp
+++ /dev/null
@@ -1,190 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanEXSLT" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XalanEXSLT - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanEXSLT.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanEXSLT.mak" CFG="XalanEXSLT - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanEXSLT - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanEXSLT - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanEXSLT - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanEXSLT - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XalanEXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_EXSLT_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XalanEXSLT_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XalanEXSLT_1.lib"
-
-!ELSEIF  "$(CFG)" == "XalanEXSLT - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XalanEXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_EXSLT_BUILD_DLL" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XalanEXSLT_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XalanEXSLT_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XalanEXSLT - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XalanSourceTree___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XalanSourceTree___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XalanEXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_EXSLT_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\Build\Win32\Vc6\Release\XMLSupport.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanEXSLT_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanEXSLT_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanEXSLT - Win32 Release"
-# Name "XalanEXSLT - Win32 Debug"
-# Name "XalanEXSLT - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTCommon.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTMath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTString.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTCommon.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTCommonImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTMath.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTMathImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTSetImpl.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTString.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanEXSLT\XalanEXSLTStringImpl.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XalanExe/XalanExe.dsp b/Projects/Win32/VC6/XalanExe/XalanExe.dsp
deleted file mode 100644
index e27c1b7..0000000
--- a/Projects/Win32/VC6/XalanExe/XalanExe.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanExe" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=XalanExe - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanExe.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanExe.mak" CFG="XalanExe - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanExe - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "XalanExe - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "XalanExe - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanExe - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XalanExe"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_USRDLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/Xalan.exe"
-
-!ELSEIF  "$(CFG)" == "XalanExe - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XalanExe"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_CONSOLE" /YX /FD /GZ /c
-# SUBTRACT CPP /Fr
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/Xalan.exe" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none /incremental:no
-
-!ELSEIF  "$(CFG)" == "XalanExe - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "TestXSLT___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "TestXSLT___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XalanExe"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XERCES" /D "_CONSOLE" /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_USRDLL" /D "XALAN_XERCES" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /pdb:none /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/Xalan.exe" /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanExe - Win32 Release"
-# Name "XalanExe - Win32 Debug"
-# Name "XalanExe - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExe\XalanExe.cpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XalanExtensions/XalanExtensions.dsp b/Projects/Win32/VC6/XalanExtensions/XalanExtensions.dsp
deleted file mode 100644
index 450474e..0000000
--- a/Projects/Win32/VC6/XalanExtensions/XalanExtensions.dsp
+++ /dev/null
@@ -1,198 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanExtensions" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XalanExtensions - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanExtensions.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanExtensions.mak" CFG="XalanExtensions - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanExtensions - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanExtensions - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanExtensions - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanExtensions - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XalanExtensions"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANEXTENSIONS_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XalanExtensions_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XalanExtensions_1.lib"
-
-!ELSEIF  "$(CFG)" == "XalanExtensions - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XalanExtensions"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANEXTENSIONS_BUILD_DLL" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XalanExtensions_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XalanExtensions_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XalanExtensions - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XalanSourceTree___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XalanSourceTree___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XalanExtensions"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANEXTENSIONS_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\Build\Win32\Vc6\Release\XMLSupport.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanExtensions_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanExtensions_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanExtensions - Win32 Release"
-# Name "XalanExtensions - Win32 Debug"
-# Name "XalanExtensions - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDifference.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDistinct.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionEvaluate.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionHasSameNodes.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionIntersection.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionNodeSet.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\XalanExtensions.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDifference.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionDistinct.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionEvaluate.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionHasSameNodes.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionIntersection.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\FunctionNodeSet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\XalanExtensions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanExtensions\XalanExtensionsDefinitions.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XalanSourceTree/XalanSourceTree.dsp b/Projects/Win32/VC6/XalanSourceTree/XalanSourceTree.dsp
deleted file mode 100644
index e42dfab..0000000
--- a/Projects/Win32/VC6/XalanSourceTree/XalanSourceTree.dsp
+++ /dev/null
@@ -1,350 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanSourceTree" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XalanSourceTree - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanSourceTree.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanSourceTree.mak" CFG="XalanSourceTree - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanSourceTree - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanSourceTree - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanSourceTree - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanSourceTree - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XalanSourceTree"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XalanSourceTree_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XalanSourceTree_1.lib"
-
-!ELSEIF  "$(CFG)" == "XalanSourceTree - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XalanSourceTree"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XalanSourceTree_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XalanSourceTree_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XalanSourceTree - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XalanSourceTree___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XalanSourceTree___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XalanSourceTree"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XALANSOURCETREE_BUILD_DLL" /D "WIN32" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\Build\Win32\Vc6\Release\XMLSupport.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanSourceTree_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanSourceTree_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanSourceTree - Win32 Release"
-# Name "XalanSourceTree - Win32 Debug"
-# Name "XalanSourceTree - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\FormatterToSourceTree.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeNSAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributesVector.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttrNS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeComment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeCommentAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeContentHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocument.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocumentFragment.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDOMSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElement.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNSAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeHelper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeNamedNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeParserLiaison.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstruction.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstructionAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeText.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWSAllocator.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\FormatterToSourceTree.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttr.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributeNSAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttributesVector.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeAttrNS.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeComment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeCommentAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeContentHandler.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocument.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDocumentFragment.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeDOMSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElement.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNS.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeElementNSAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeNamedNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeParserLiaison.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstruction.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeProcessingInstructionAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeText.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWS.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanSourceTree\XalanSourceTreeTextIWSAllocator.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XalanTransformer/XalanTransformer.dsp b/Projects/Win32/VC6/XalanTransformer/XalanTransformer.dsp
deleted file mode 100644
index e3383a2..0000000
--- a/Projects/Win32/VC6/XalanTransformer/XalanTransformer.dsp
+++ /dev/null
@@ -1,229 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanTransformer" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XalanTransformer - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanTransformer.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanTransformer.mak" CFG="XalanTransformer - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanTransformer - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanTransformer - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XalanTransformer - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanTransformer - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XalanTransformer"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALANTRANSFORMER_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALANTRANSFORMER_EXPORTS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XalanTransformer_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XalanTransformer_1.lib"
-
-!ELSEIF  "$(CFG)" == "XalanTransformer - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XalanTransformer"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALANTRANSFORMER_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALANTRANSFORMER_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XalanTransformer_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XalanTransformer_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XalanTransformer - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XalanTransformer___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XalanTransformer___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XalanTransformer"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALANTRANSFORMER_EXPORTS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_TRANSFORMER_BUILD_DLL" /D "XALANTRANSFORMER_EXPORTS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanTransformer_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XalanTransformer_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanTransformer - Win32 Release"
-# Name "XalanTransformer - Win32 Debug"
-# Name "XalanTransformer - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCAPI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCompiledStylesheetDefault.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultDocumentBuilder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerOutputStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerProblemListener.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMParsedSource.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMWrapperParsedSource.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCAPI.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCompiledStylesheet.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanCompiledStylesheetDefault.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultDocumentBuilder.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDefaultParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanDocumentBuilder.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformer.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerOutputStream.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XalanTransformerProblemListener.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMParsedSource.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XalanTransformer\XercesDOMWrapperParsedSource.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Projects/Win32/VC6/XercesParserLiaison/XercesParserLiaison.dsp b/Projects/Win32/VC6/XercesParserLiaison/XercesParserLiaison.dsp
deleted file mode 100644
index b973d81..0000000
--- a/Projects/Win32/VC6/XercesParserLiaison/XercesParserLiaison.dsp
+++ /dev/null
@@ -1,386 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XercesParserLiaison" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XercesParserLiaison - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XercesParserLiaison.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XercesParserLiaison.mak" CFG="XercesParserLiaison - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XercesParserLiaison - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XercesParserLiaison - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XercesParserLiaison - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XercesParserLiaison - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release\XercesParserLiaison"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release/XercesParserLiaison_1_4_0.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release/XercesParserLiaison_1.lib"
-
-!ELSEIF  "$(CFG)" == "XercesParserLiaison - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Debug\XercesParserLiaison"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "_WINDOWS" /D "_USRDLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Debug/XercesParserLiaison_1_4_0D.dll" /implib:"..\..\..\..\Build\Win32\VC6\Debug/XercesParserLiaison_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "XercesParserLiaison - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "XercesParserLiaison___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "XercesParserLiaison___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\..\..\Build\Win32\VC6\Release.symbols\XercesParserLiaison"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\..\..\xml-xerces\c\src" /I "..\..\..\..\src\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALAN_XERCESPARSERLIAISON_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\Build\Win32\Vc6\Release\XMLSupport.lib ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\..\Build\Win32\VC6\Release.symbols/XercesParserLiaison_1_4_0S.dll" /implib:"..\..\..\..\Build\Win32\VC6\Release.symbols/XercesParserLiaison_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XercesParserLiaison - Win32 Release"
-# Name "XercesParserLiaison - Win32 Debug"
-# Name "XercesParserLiaison - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttrBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttributeBridgeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeHelper.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeNavigator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCDATASectionBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCommentBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentFragmentBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentNamedNodeListCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentTypeBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOM_NodeHack.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMException.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMImplementationBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMSupport.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridgeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementNamedNodeListCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityReferenceBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesLiaisonXalanDOMStringPool.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeListCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeMapBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNodeListBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNotationBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesParserLiaison.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesProcessingInstructionBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridgeAllocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesToXalanNodeMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTreeWalker.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttrBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesAttributeBridgeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeCommon.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeHelper.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesBridgeNavigator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCDATASectionBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesCommentBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentFragmentBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentNamedNodeListCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDocumentTypeBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOM_NodeHack.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMException.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMImplementationBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesDOMSupport.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementBridgeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesElementNamedNodeListCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesEntityReferenceBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesLiaisonXalanDOMStringPool.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeListCache.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNamedNodeMapBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNodeListBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesNotationBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesParserLiaison.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesParserLiaisonDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesProcessingInstructionBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridge.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTextBridgeAllocator.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesToXalanNodeMap.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\src\XercesParserLiaison\XercesTreeWalker.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/README b/README
deleted file mode 100644
index e29372f..0000000
--- a/README
+++ /dev/null
@@ -1,13 +0,0 @@
-README for xml-xalan/C++ project at apache.org
-
-
-Basic Build Instructions for xml-xalan/c:
-
-- We currently have checked in project files for MSVC++ 6.0.  Load and build the "TestXSLT" subproject from
-Projects\Win32\VC6\Xalan.dsw.  Note that the STL headers are very noisy in MSVC with hundreds of warnings that 
-can be safely ignored.  Once you're built, copy the DLL's (8 of them) and the testXSLT.exe executable into a directory
-containing the xerces-c_1_0 DLL from Xerces.  Then run.  The command line is the same as Xalan/J.
-
-
-
-
diff --git a/Tests/C-API/CAPI.dsp b/Tests/C-API/CAPI.dsp
deleted file mode 100644
index a6f0b9c..0000000
--- a/Tests/C-API/CAPI.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="CAPI" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=CAPI - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "CAPI.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "CAPI.mak" CFG="CAPI - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "CAPI - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "CAPI - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "CAPI - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\CAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/c-api.exe"
-
-!ELSEIF  "$(CFG)" == "CAPI - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\CAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /out:"..\..\Build\Win32\VC6\Debug/c-api.exe" /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "CAPI - Win32 Release"
-# Name "CAPI - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=".\c-api.c"
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/C-API/c-api.c b/Tests/C-API/c-api.c
deleted file mode 100644
index 763a2d1..0000000
--- a/Tests/C-API/c-api.c
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <XalanTransformer/XalanCAPI.h>
-
-
-
-#include <assert.h>
-#include <stdio.h>
-
-
-
-// This is here for memory leak testing.
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-void
-Usage()
-{
-	fprintf(stderr, "Usage: c-api <xml file> [<xsl file>]\n");
-}
-
-
-
-CallbackSizeType
-OutputHandler(
-			const char*			data,
-			CallbackSizeType	length,
-			void*				handle)
-{
-	FILE*	theHandle = (FILE*)handle;
-
-	return fwrite(data, sizeof(char), length, theHandle);
-}
-
-
-
-void
-FlushHandler(void*	handle)
-{
-	FILE*	theHandle = (FILE*)handle;
-
-	fflush(theHandle);
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	if (argc < 2 || argc > 3)
-	{
-		Usage();
-	}
-	else
-	{
-		int			error = 0;
-		XalanHandle	xalan = NULL;
-
-		XalanInitialize();
-
-		xalan = CreateXalanTransformer();
-
-		if (xalan == 0)
-		{
-			fprintf(stderr, "Unable to create transformer...\n");
-		}
-		else if (argc == 2)
-		{
-			error = XalanTransformToHandler(argv[1], NULL, xalan, stdout, OutputHandler, FlushHandler);
-		}
-		else
-		{
-			error = XalanTransformToHandler(argv[1], argv[2], xalan, stdout, OutputHandler, FlushHandler);
-		}
-
-		if (error != 0)
-		{
-			fprintf(
-				stderr,
-				"Error transforming.  The error code is %d.  The message is %s.\n",
-				error,
-				XalanGetLastError(xalan));
-		}
-
-		XalanTerminate();
-	}
-
-	return 0;
-}
diff --git a/Tests/Compare/compare.cpp b/Tests/Compare/compare.cpp
deleted file mode 100644
index eb20aff..0000000
--- a/Tests/Compare/compare.cpp
+++ /dev/null
@@ -1,242 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::cin;
-	using std::endl;
-	using std::ifstream;
-	using std::ios_base;
-	using std::ostrstream;
-	using std::string;
-#endif
-
-// XERCES HEADERS...
-//	Are included by HarnessInit.hpp
-
-// XALAN HEADERS...
-#include <XalanSourceTree/FormatterToSourceTree.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-// HARNESS HEADERS...
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString, XalanDOMString, less<XalanDOMString> >	Hashtable;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>  Hashtable;
-#endif
-
-// This is here for memory leak testing.
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "compare dirname [-out -gold]"
-		 << endl
-		 << endl
-		 << "dirname		(base directory for testcases)"
-		 << endl
-		 << "-out dirname	(base directory for output)"
-		 << endl
-		 << "-gold dirname	(base directory for gold files)"
-		 << endl;
-}
-
-int
-main(int			argc,
-	 const char*	argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit xmlPlatformUtils;
-
-	{
-		FileUtility		h;
-
-		int transResult = 0;
-		bool setGold = true;
-		XalanDOMString fileName;
-
-		// Set the program help string,  then get the command line parameters.
-		//
-		setHelp(h);
-
-		if (h.getParams(argc, argv, "DOMCOM-RESULTS", setGold) == true)
-		{
-			XalanTransformer::initialize();
-
-			{
-				//
-				// Call the static initializers for xerces and xalan, and create a transformer
-				//
-				XalanTransformer xalan;
-
-				XalanSourceTreeDOMSupport domSupport;
-				XalanSourceTreeParserLiaison parserLiaison(domSupport);
-				domSupport.setParserLiaison(&parserLiaison);
-
-
-				// Generate Unique Run id and processor info
-				const XalanDOMString UniqRunid = h.generateUniqRunid();
-				const XalanDOMString  resultFilePrefix("cpp");
-				const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-
-
-				XMLFileReporter	logFile(resultsFile);
-				logFile.logTestFileInit("Comparison Testing:");
-					
-				// Specify the "test" directory for both input and output.
-				//
-				const XalanDOMString  currentDir("domcomtests");
-				const XalanDOMString  theOutputDir = h.args.output + currentDir;
-				h.checkAndCreateDir(theOutputDir);
-
-				// Get the files found in the test directory
-				//
-				logFile.logTestCaseInit(currentDir);
-				const FileNameVectorType files = h.getTestFileNames(h.args.base, currentDir, true);
-
-				for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
-				{
-					fileName = files[i];
-					h.data.reset();
-					h.data.testOrFile = fileName;
-
-					const XalanDOMString  theXSLFile= h.args.base + currentDir + FileUtility::s_pathSep + fileName;
-					const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
-					XalanDOMString  theGoldFile = h.args.gold + currentDir + FileUtility::s_pathSep + fileName;
-					theGoldFile = h.generateFileName(theGoldFile, "out");
-
-					const XalanDOMString  outbase =  h.args.output + currentDir + FileUtility::s_pathSep + fileName; 
-					const XalanDOMString  theOutputFile = h.generateFileName(outbase, "out");
-
-					const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-					const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-					const XSLTInputSource	goldInputSource(c_wstr(theGoldFile));
-
-					// Use a XalanSourceTreeDocument to create the XSLTResultTarget. 
-					//
-					XalanSourceTreeDocument* dom = parserLiaison.createXalanSourceTreeDocument();
-					FormatterToSourceTree domOut(dom); 
-					XSLTResultTarget domResultTarget;
-					domResultTarget.setDocumentHandler(&domOut);
-
-					// Parsing(compile) the XSL stylesheet and report the results..
-					//
-					const XalanCompiledStylesheet*	compiledSS = 0;
-					xalan.compileStylesheet(xslInputSource, compiledSS);
-					if (compiledSS == 0 )
-					{  
-						continue;
-					}
-
-					// Parsing the input XML and report the results..
-					//
-					const XalanParsedSource*  parsedSource = 0;
-					xalan.parseSource(xmlInputSource, parsedSource);
-					if (parsedSource == 0)
-					{
-						continue;
-					}
-
-					// Perform One transform using parsed stylesheet and unparsed xml source, report results...
-					// 
-					xalan.transform(*parsedSource, compiledSS, domResultTarget);
-					h.checkDOMResults(theOutputFile, compiledSS, dom, goldInputSource, logFile);
-
-					parserLiaison.reset();
-					xalan.destroyParsedSource(parsedSource);
-					xalan.destroyStylesheet(compiledSS);
-				}
-
-				logFile.logTestCaseClose("Done", "Pass");
-				h.reportPassFail(logFile, UniqRunid);
-				logFile.logTestFileClose("DomCom ", "Done");
-				logFile.close();
-
-				h.analyzeResults(xalan, resultsFile);
-			}
-
-			XalanTransformer::terminate();
-		}
-	}
-
-
-	return 0;
-}
diff --git a/Tests/Compare/compare.dsp b/Tests/Compare/compare.dsp
deleted file mode 100644
index 8778c93..0000000
--- a/Tests/Compare/compare.dsp
+++ /dev/null
@@ -1,149 +0,0 @@
-# Microsoft Developer Studio Project File - Name="compare" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=compare - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "compare.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "compare.mak" CFG="compare - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "compare - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "compare - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "compare - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "compare - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\compare"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "compare - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\compare"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib ..\..\Build\Win32\VC6\Debug\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "compare - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "compare___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "compare___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\compare"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/perft.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release.symbols\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "compare - Win32 Release"
-# Name "compare - Win32 Debug"
-# Name "compare - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\compare.cpp
-
-!IF  "$(CFG)" == "compare - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "compare - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\compare"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "compare - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Conf/conf.cpp b/Tests/Conf/conf.cpp
deleted file mode 100644
index 7c8e88a..0000000
--- a/Tests/Conf/conf.cpp
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <sstream>
-#else
-#include <iostream>
-#include <sstream>
-#endif
-
-#include <stdio.h>
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::cin;
-	using std::endl;
-	using std::ostringstream;
-#endif
-
-
-#include <xercesc/parsers/DOMParser.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-#include <XalanTransformer/XercesDOMWrapperParsedSource.hpp>
-
-
-
-// HARNESS HEADERS...
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString, XalanDOMString, less<XalanDOMString> >	Hashtable;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>  Hashtable;
-#endif
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "conf dir [-sub -out -gold -source (XST | XPL | DOM)]"
-		 << endl
-		 << endl
-		 << "dir		(base directory for testcases)"
-		 << endl
-		 << "-sub dir	(specific directory)"
-		 << endl
-		 << "-out dir	(base directory for output)"
-		 << endl
-		 << "-gold dir	(base directory for gold files)"
-		 << endl
-		 << "-src type	(parsed source; XalanSourceTree(d), XercesParserLiasion, XercesDOM)"
-		 << endl;
-}
-
-
-
-static const char* const 	excludeStylesheets[] =
-{
-	"output22.xsl",		// Excluded because it outputs EBCDIC
-	0
-};
-
-
-
-
-inline bool
-checkForExclusion(const XalanDOMString&		currentFile)
-{
-	for (size_t i = 0; excludeStylesheets[i] != 0; ++i)
-	{	
-		if (equals(currentFile, excludeStylesheets[i]))
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-parseWithTransformer(
-			int								sourceType,
-			XalanTransformer&				xalan,
-			const XSLTInputSource&			xmlInput,
-			const XalanCompiledStylesheet*	styleSheet,
-			const XSLTResultTarget&			output, 
-			XMLFileReporter&				logFile,
-			FileUtility&					h)
-{
-	const XalanParsedSource* parsedSource = 0;
-
-	// Parse the XML source accordingly.
-	//
-	if (sourceType != 0 )
-	{
-		xalan.parseSource(xmlInput, parsedSource, true);
-		h.data.xmlFormat = XalanDOMString("XercesParserLiasion");
-	}
-	else
-	{
-		xalan.parseSource(xmlInput, parsedSource, false);
-		h.data.xmlFormat = XalanDOMString("XalanSourceTree");
-	}
-				
-	// If the source was parsed correctly then perform the transform else report the failure.
-	//
-	if (parsedSource == 0)
-	{
-		// Report the failure and be sure to increment fail count.
-		//
-		cout << "ParseWTransformer - Failed to PARSE source document for " << h.data.testOrFile << endl;
-		++h.data.fail;
-		logFile.logErrorResult(h.data.testOrFile, XalanDOMString("Failed to PARSE source document."));
-	}
-	else 
-	{
-		xalan.transform(*parsedSource, styleSheet, output);
-		xalan.destroyParsedSource(parsedSource);
-	}
-}
-
-
-
-void
-parseWithXerces(
-			XalanTransformer&				xalan,
-			const XSLTInputSource&			xmlInput, 
-			const XalanCompiledStylesheet*	styleSheet,
-			const XSLTResultTarget&			output,
-			XMLFileReporter&				logFile,
-			FileUtility&					h)
-{
-
-	h.data.xmlFormat = XalanDOMString("Xerces_DOM");
-
-	DOMParser  theParser;
-	theParser.setToCreateXMLDeclTypeNode(false);
-	theParser.setDoValidation(true);
-	theParser.setDoNamespaces(true);
-
-	theParser.parse(xmlInput);
-
-	DOM_Document theDOM = theParser.getDocument();
-
-	theDOM.normalize();
-
-	XercesDOMSupport	theDOMSupport;
-	XercesParserLiaison theParserLiaison;
-
-	try
-	{
-		const XercesDOMWrapperParsedSource	parsedSource(
-					theDOM, 
-					theParserLiaison, 
-					theDOMSupport, 
-					XalanDOMString(xmlInput.getSystemId()));
-
-		xalan.transform(parsedSource, styleSheet, output);
-	}
-	catch(...)
-	{
-		// Report the failure and be sure to increment fail count.
-		//
-		cout << "parseWXerces - Failed to PARSE source document for " << h.data.testOrFile << endl;
-		++h.data.fail;
-		logFile.logErrorResult(h.data.testOrFile, XalanDOMString("Failed to PARSE source document."));
-	}
-}
-
-
-int
-main(int			argc,
-	 const char*	argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	try
-	{
-		HarnessInit		xmlPlatformUtils;
-
-		FileUtility		h;
-
-		// Set the program help string,  then get the command line parameters.
-		//
-		setHelp(h);
-
-		if (h.getParams(argc, argv, "CONF-RESULTS") == true)
-		{
-			// Call the static initializers for xerces and xalan, and create a transformer
-			//
-			XalanTransformer::initialize();
-
-			{
-				XalanTransformer	xalan;
-
-				// Get drive designation for final analysis and generate Unique name for results log.
-				//
-				const XalanDOMString  drive(h.getDrive());			// This is used to get stylesheet for final analysis
-				const XalanDOMString  resultFilePrefix("conf");		// This & UniqRunid used for log file name.
-				const XalanDOMString  UniqRunid = h.generateUniqRunid(); 
-				const XalanDOMString  resultsFile(drive + h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-
-				// Open results log, and do some initialization of result data.
-				//
-				XMLFileReporter	logFile(resultsFile);
-				logFile.logTestFileInit("Conformance Testing:");
-				h.data.xmlFormat = XalanDOMString("NotSet");
-
-				// Get the list of Directories that are below conf and iterate through them
-				//
-
-				// Flag indicates directory found. Used in conjunction with -sub cmd-line arg.
-				bool	foundDir = false;
-
-				const FileNameVectorType	dirs = h.getDirectoryNames(h.args.base);
-
-				for(FileNameVectorType::size_type	j = 0; j < dirs.size(); ++j)
-				{
-					// Skip all but the specified directory if the -sub cmd-line option was used.
-					//
-					const XalanDOMString	currentDir(dirs[j]);
-
-					if (length(h.args.sub) > 0 && !equals(currentDir, h.args.sub))
-					{
-						continue;
-					}					
-
-					// Check that output directory is there.
-					//
-					const XalanDOMString  theOutputDir = h.args.output + currentDir;
-					h.checkAndCreateDir(theOutputDir);
-
-					// Indicate that directory was processed and get test files from the directory
-					//
-					foundDir = true;
-					const FileNameVectorType files = h.getTestFileNames(h.args.base, currentDir, true);
-
-					// Log directory in results log and process it's files.
-					//
-					logFile.logTestCaseInit(currentDir);
-
-					for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
-					{
-						Hashtable attrs;
-						const XalanDOMString	currentFile(files[i]);
-						if (checkForExclusion(currentFile))
-							continue;
-
-						h.data.testOrFile = currentFile;
-						const XalanDOMString  theXSLFile = h.args.base + currentDir + FileUtility::s_pathSep + currentFile;
-
-						// Check and see if the .xml file exists. If not skip this .xsl file and continue.
-						bool fileStatus = true;
-						const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile, "xml", &fileStatus);
-						if (!fileStatus)
-							continue;
-
-						h.data.xmlFileURL = theXMLFile;
-						h.data.xslFileURL = theXSLFile;
-						
-
-						XalanDOMString  theGoldFile = h.args.gold + currentDir + FileUtility::s_pathSep + currentFile;
-						theGoldFile = h.generateFileName(theGoldFile, "out");
-
-						const XalanDOMString  outbase =  h.args.output + currentDir + FileUtility::s_pathSep + currentFile; 
-						const XalanDOMString  theOutputFile = h.generateFileName(outbase, "out");
-
-						const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-						const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-						const XSLTResultTarget	resultFile(theOutputFile);
-
-						// Parsing(compile) the XSL stylesheet and report the results..
-						//
-						const XalanCompiledStylesheet*	compiledSS = 0;
-						xalan.compileStylesheet(xslInputSource, compiledSS);
-						if (compiledSS == 0 )
-						{
-							// Report the failure and be sure to increment fail count.
-							//
-							cout << "Failed to PARSE stylesheet for " << currentFile << endl;
-							h.data.fail += 1;
-							logFile.logErrorResult(currentFile, XalanDOMString("Failed to PARSE stylesheet."));
-							continue;
-						}
-
-						// Parse the Source XML based on input parameters, and then perform transform.
-						//
-						switch (h.args.source)
-						{
-							case 0:
-							case 1:
-								parseWithTransformer(h.args.source, xalan, xmlInputSource, compiledSS, resultFile, logFile, h);
-								break;
-
-							case 2:
-								parseWithXerces(xalan, xmlInputSource, compiledSS, resultFile, logFile, h);
-								break;
-						}
-
-						// Check and report results...  Then delete compiled stylesheet.
-						//
-						h.checkResults(theOutputFile, theGoldFile, logFile);
-						xalan.destroyStylesheet(compiledSS);
-					}
-
-					logFile.logTestCaseClose("Done", "Pass");
-				}
-
-				// Check to see if -sub cmd-line directory was processed correctly.
-				//
-				if (!foundDir)
-				{
-					cout << "Specified test directory: \"" << c_str(TranscodeToLocalCodePage(h.args.sub)) << "\" not found" << endl;
-				}
-
-				h.reportPassFail(logFile, UniqRunid);
-				logFile.logTestFileClose("Conformance ", "Done");
-				logFile.close();
-
-				h.analyzeResults(xalan, resultsFile);
-			}
-
-		}
-
-		XalanTransformer::terminate();
-	}
-	catch(...)
-	{
-		cerr << "Initialization failed!!!" << endl << endl;
-	}
-
-	return 0;
-}
diff --git a/Tests/Conf/conf.dsp b/Tests/Conf/conf.dsp
deleted file mode 100644
index 64b1436..0000000
--- a/Tests/Conf/conf.dsp
+++ /dev/null
@@ -1,149 +0,0 @@
-# Microsoft Developer Studio Project File - Name="conf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=conf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "conf.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "conf.mak" CFG="conf - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "conf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "conf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "conf - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "conf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\conf"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "conf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\conf"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "conf - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "conf___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "conf___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\conf"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/perft.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "conf - Win32 Release"
-# Name "conf - Win32 Debug"
-# Name "conf - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\conf.cpp
-
-!IF  "$(CFG)" == "conf - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "conf - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\conf"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "conf - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Dom2Dom/Dom2Dom.dsp b/Tests/Dom2Dom/Dom2Dom.dsp
deleted file mode 100644
index 1b7d216..0000000
--- a/Tests/Dom2Dom/Dom2Dom.dsp
+++ /dev/null
@@ -1,148 +0,0 @@
-# Microsoft Developer Studio Project File - Name="dom2dom" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=dom2dom - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Dom2Dom.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Dom2Dom.mak" CFG="dom2dom - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "dom2dom - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "dom2dom - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "dom2dom - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "dom2dom - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\dom2dom"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "dom2dom - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\dom2dom"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib ..\..\Build\Win32\VC6\Debug\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "dom2dom - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "dom2dom___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "dom2dom___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\dom2dom"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/dom2dom.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release.symbols\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386
-
-!ENDIF 
-
-# Begin Target
-
-# Name "dom2dom - Win32 Release"
-# Name "dom2dom - Win32 Debug"
-# Name "dom2dom - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\dom2dom.cpp
-
-!IF  "$(CFG)" == "dom2dom - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "dom2dom - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\dom2dom"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "dom2dom - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Dom2Dom/dom2dom.cpp b/Tests/Dom2Dom/dom2dom.cpp
deleted file mode 100644
index 525e305..0000000
--- a/Tests/Dom2Dom/dom2dom.cpp
+++ /dev/null
@@ -1,383 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-#include <vector>
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-#include <xercesc/sax/SAXException.hpp>
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanFileOutputStream.hpp>
-#include <PlatformSupport/XalanStdOutputStream.hpp>
-
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterTreeWalker.hpp>
-
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTResultTarget.hpp>
-
-#include <XalanTransformer/XalanTransformer.hpp>
-#include <XalanTransformer/XalanCompiledStylesheetDefault.hpp>
-
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-#include <XercesParserLiaison/XercesDOMSupport.hpp>
-#include <XercesParserLiaison/XercesParserLiaison.hpp>
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-
-void
-printArgOptions()
-{
-	cerr << endl
-		 << "dom2dom dirname [-out]"
-		 << endl
-		 << endl
-		 << "dirname		(base directory for testcases)"
-		 << endl
-		 << "-out dirname	(base directory for output)"
-		 << endl;
-}
-
-
-
-bool
-getParams(
-			int					argc, 
-			const char*			argv[],
-			FileUtility&		f,
-			XalanDOMString&		basedir,
-			XalanDOMString&		outdir)
-{
-	bool fSuccess = true;	// Used to continue argument loop
-	bool fSetOut = true;	// Set default output directory
-
-	// Insure that required "-base" argument is there.
-	if (argc == 1 || argv[1][0] == '-')
-	{
-		printArgOptions(); 
-		return false;
-	}
-	else
-	{
-		if (f.checkDir(FileUtility::s_pathSep + XalanDOMString(argv[1])))
-		{
-			assign(basedir, XalanDOMString(argv[1]));
-			insert(basedir, 0, FileUtility::s_pathSep);
-		}
-		else
-		{
-			cout << endl << "Given base directory \"" << argv[1] << "\" does not exist" << endl;
-			printArgOptions();
-			return false;
-		}
-	}
-
-	// Get the rest of the arguments in any order.
-	for (int i = 2; i < argc && fSuccess == true; ++i)
-	{
-		if(!stricmp("-out", argv[i]))
-		{
-			++i;
-			if(i < argc && argv[i][0] != '-')
-			{
-				assign(outdir, XalanDOMString(argv[i]));
-				insert(outdir, 0, XalanDOMString("\\"));
-				append(outdir, XalanDOMString("\\"));
-				f.checkAndCreateDir(outdir);
-				fSetOut = false;
-			}
-			else
-			{
-				printArgOptions();
-				fSuccess = false;
-			}
-		}
-		else
-		{
-			printArgOptions();
-			fSuccess = false;
-		}
-
-	} // End of for-loop
-
-	// Do we need to set the default output directory??
-	if (fSetOut)
-	{
-		unsigned int ii = lastIndexOf(basedir,charAt(FileUtility::s_pathSep,0));
-		outdir = substring(basedir, 0, ii+1);
-		append(outdir,XalanDOMString("Dom2Dom-RESULTS\\"));
-		f.checkAndCreateDir(outdir);
-	}
-	
-	// Add the path seperator to the end of the base directory
-	append(basedir, FileUtility::s_pathSep);
-
-	return fSuccess;
-}
-
-
-
-FormatterListener* 
-getXMLFormatter(bool					shouldWriteXMLHeader,
-				bool					stripCData,
-				bool					escapeCData,
-				bool					noIndent,
-				PrintWriter&			resultWriter,
-				int						indentAmount,
-				const XalanDOMString&	mimeEncoding,
-				const StylesheetRoot*	stylesheet)
-{
-	FormatterListener*	formatter = 0;
-
-		XalanDOMString	version;
-		bool			outputIndent = false;
-		XalanDOMString	mediatype;
-		XalanDOMString	doctypeSystem;
-		XalanDOMString	doctypePublic;
-		XalanDOMString	standalone;
-
-		if (stylesheet != 0)
-		{
-			version = stylesheet->m_version;
-
-			mediatype = stylesheet->m_mediatype;
-			doctypeSystem = stylesheet->getOutputDoctypeSystem();
-			doctypePublic = stylesheet->getOutputDoctypePublic();
-			standalone = stylesheet->m_standalone;
-		}
-
-		FormatterToXML* const	fToXML =
-			new FormatterToXML(
-					resultWriter,
-					version,
-					outputIndent,
-					indentAmount,
-					mimeEncoding,
-					mediatype,
-					doctypeSystem,
-					doctypePublic,
-					true,	// xmlDecl
-					standalone);
-
-		fToXML->setShouldWriteXMLHeader(shouldWriteXMLHeader);
-		fToXML->setStripCData(stripCData);
-		fToXML->setEscapeCData(escapeCData);
-
-		formatter = fToXML;
-		return formatter;
-}
-
-
-
-int
-main(
-		  int			argc,
-		  const char*	argv [])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit		xmlPlatformUtils;
-
-	FileUtility		f;
-
-	XalanDOMString  category;	// Test all of base dir by default
-	XalanDOMString  baseDir;	
-	XalanDOMString  outputRoot;
-	
-	if (getParams(argc, argv, f, baseDir, outputRoot) == true)
-	{
-
-		// Get the list of Directories that are below perf
-		const FileNameVectorType	dirs = f.getDirectoryNames(baseDir);
-
-		// Generate Unique Run id. (Only used to name the result logfile.)
-		const XalanDOMString UniqRunid = f.generateUniqRunid();
-
-		// Defined basic constants for file manipulation 
-
-		const XalanDOMString  resultFilePrefix("dom2dom");
-		const XalanDOMString  resultsFile(outputRoot + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-		
-		XMLFileReporter	logFile(resultsFile);
-		logFile.logTestFileInit("Dom2Dom Testing: Treating all inputs and outputs as DOM's. ");
-
-		try
-		{
-			// Call the static initializers...
-			XalanTransformer::initialize();
-
-			{
-				XalanTransformer		transformEngine;
-						
-				XercesDOMSupport domSupport;
-				XercesParserLiaison parserLiaison(domSupport);
-					
-				// Specify the "test" directory for both input and output.
-				const XalanDOMString  xMan("dtod");
-				const XalanDOMString  theOutputDir = outputRoot + xMan;
-				f.checkAndCreateDir(theOutputDir);
-
-				// Get the files found in the test directory
-				const FileNameVectorType	files = f.getTestFileNames(baseDir, xMan,true);
-
-				for(FileNameVectorType::size_type i = 0; i < files.size(); ++i)
-				{
-					// Output file name to result log and console.
-					logFile.logTestCaseInit(files[i]);
-					cout << files[i] << endl;
-
-					// Set up the input/output files.
-					const XalanDOMString  theXSLFile= baseDir + xMan + FileUtility::s_pathSep + files[i];
-					const XalanDOMString  theXMLFile = f.generateFileName(theXSLFile,"xml");
-					const XalanDOMString  theOutput =  outputRoot + xMan + FileUtility::s_pathSep + files[i]; 
-					const XalanDOMString  theOutputFile = f.generateFileName(theOutput, "out");
-
-					// Use a Xerces Dom document to create the XSLTResultTarget. 
-					XalanDocument* domOut = parserLiaison.createDocument();
-					const XSLTResultTarget domResultTarget(domOut);
-
-					const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-					const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-					
-					const XalanCompiledStylesheet*	compiledSS = 0;
-
-					int	theResult = transformEngine.compileStylesheet(
-						xslInputSource,
-						compiledSS);
-
-					if (theResult != 0)
-					{
-						logFile.logTestCaseClose("Done","Fail");
-						cerr << "XalanError: \n" << transformEngine.getLastError();
-					}
-					else
-					{
-						// Transform using compiled stylesheet.
-						theResult =
-							transformEngine.transform(xmlInputSource, compiledSS, domResultTarget);
-
-						if(theResult != 0)
-						{
-							logFile.logTestCaseClose("Done","Fail");
-							cerr << "XalanError: \n" << transformEngine.getLastError();
-						}
-						else
-						{
-							const XalanDOMString	mimeEncoding(XALAN_STATIC_UCODE_STRING("UTF-8"));
-							const XalanDOMString	encoding(XALAN_STATIC_UCODE_STRING("UTF-8"));
-
-							XalanFileOutputStream myOutput(theOutputFile);
-							XalanOutputStreamPrintWriter myResultWriter(myOutput);
-							FormatterListener* theFormatter = getXMLFormatter(true,true,true,false,
-																		myResultWriter,0,
-																		mimeEncoding,
-																		compiledSS->getStylesheetRoot());
-
-							FormatterTreeWalker theTreeWalker(*theFormatter);
-							theTreeWalker.traverse(domOut);
-
-							delete theFormatter;
-							logFile.logTestCaseClose("Done","Pass");
-						}	
-					}
-				}
-			}
-
-			XalanTransformer::terminate();
-
-			logFile.logTestFileClose("Dom2Dom Testing: ", "Done");
-			logFile.close();
-
-		}
-
-		catch(...)
-		{
-			cerr << "Exception caught!!!" << endl << endl;
-		}
-	}
-
-	return 0;
-
-}
diff --git a/Tests/Dom2Dom/dtod.xml b/Tests/Dom2Dom/dtod.xml
deleted file mode 100644
index 977fcc2..0000000
--- a/Tests/Dom2Dom/dtod.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?> 
-<doc/>
\ No newline at end of file
diff --git a/Tests/Dom2Dom/dtod.xsl b/Tests/Dom2Dom/dtod.xsl
deleted file mode 100644
index e7ad5b8..0000000
--- a/Tests/Dom2Dom/dtod.xsl
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:import/>
-<xsl:output indent="yes"/>
-
-
-  <!-- FileName: dtod -->
-  <!-- Document: http://www.w3.org/TR/xpath -->
-  <!-- DocVersion: 19991116 -->
-  <!-- Section: 2.2 -->
-  <!-- Purpose: Test for Dom exception. -->
-
-<xsl:template match="/">
-  <out>
-	This is a test
-  </out>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/Tests/Errortests/Errortests.cpp b/Tests/Errortests/Errortests.cpp
deleted file mode 100644
index 8d0935a..0000000
--- a/Tests/Errortests/Errortests.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <cstdio>
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstream.h>
-#else
-#include <iostream>
-#include <strstream>
-#endif
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-//	using std::cin;
-	using std::endl;
-#endif
-
-
-
-// XALAN HEADERS...
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XalanSourceTree/FormatterToSourceTree.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-typedef map<XalanDOMString, XalanDOMString, less<XalanDOMString> >	Hashtable;
-#else
-typedef std::map<XalanDOMString, XalanDOMString>  Hashtable;
-#endif
-
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-const char* const 	excludeStylesheets[] =
-{
-	0
-};
-
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "errortests dir [-sub -out]"
-		 << endl
-		 << endl
-		 << "dir		(location of conformance directory)"
-		 << endl
-		 << "-sub dir	(specific directory)"
-		 << endl
-		 << "-out dir	(base directory for output)"
-		 << endl;
-}
-
-
-
-inline bool
-checkForExclusion(XalanDOMString currentFile)
-{
-	for (int i = 0; excludeStylesheets[i] != 0; i++)
-	{	
-		if (equals(currentFile, XalanDOMString(excludeStylesheets[i])))
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-int
-main(int			argc,
-	 const char*	argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit xmlPlatformUtils;
-
-	FileUtility		h;
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	setHelp(h);
-
-	bool	setGold = false;
-
-	if (h.getParams(argc, argv, "ERR-RESULTS", setGold) == true)
-	{
-		XalanTransformer::initialize();
-
-		{
-			//
-			// Call the static initializers for xerces and xalan, and create a transformer
-			//
-			XalanTransformer xalan;
-
-			XalanSourceTreeDOMSupport domSupport;
-			XalanSourceTreeParserLiaison parserLiaison(domSupport);
-			domSupport.setParserLiaison(&parserLiaison);
-
-
-			// Generate Unique Run id and processor info
-			const XalanDOMString UniqRunid = h.generateUniqRunid();
-
-
-			// Defined basic constants for file manipulation and open results file
-			const XalanDOMString  resultFilePrefix("cpperr");
-			const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-
-
-			XMLFileReporter	logFile(resultsFile);
-			logFile.logTestFileInit("Error Testing:");
-
-			// Get the list of Directories that are below conf
-			bool foundDir = false;		// Flag indicates directory found. Used in conjunction with -sub cmd-line arg.
-			const FileNameVectorType	dirs = h.getDirectoryNames(h.args.base);
-
-			for(FileNameVectorType::size_type	j = 0; j < dirs.size(); ++j)
-			{
-				// If conformance directory structure does not exist, it needs to be created.
-				const XalanDOMString  confSubdir = h.args.output + dirs[j];
-				h.checkAndCreateDir(confSubdir);
-
-				// Set up to get files from the associated error directories
-				const XalanDOMString currentDir(dirs[j]);
-				const XalanDOMString subErrDir(h.args.sub);
-
-				// Run specific category of files from given directory
-				if (length(h.args.sub) > 0 && !equals(currentDir, subErrDir))
-				{
-					continue;
-				}					
-					
-				// Check that output directory is there.
-				const XalanDOMString  theOutputDir = h.args.output + currentDir;
-				h.checkAndCreateDir(theOutputDir);
-
-				
-				// Indicate that directory was processed and get test files from the directory
-				foundDir = true;
-				logFile.logTestCaseInit(currentDir);
-
-				const FileNameVectorType files = h.getTestFileNames(h.args.base, currentDir, false);
-				for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
-				{
-					Hashtable attrs;
-					const XalanDOMString currentFile(files[i]);
-					h.data.testOrFile = currentFile;
-
-					if (checkForExclusion(currentFile))
-						continue;
-
-					const XalanDOMString  theXSLFile= h.args.base + currentDir + FileUtility::s_pathSep + currentFile;
-					const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
-					XalanDOMString  theGoldFile = h.args.gold + currentDir + FileUtility::s_pathSep + currentFile;
-					theGoldFile = h.generateFileName(theGoldFile, "out");
-
-					const XalanDOMString  outbase =  h.args.output + currentDir + FileUtility::s_pathSep + currentFile; 
-					const XalanDOMString  theOutputFile = h.generateFileName(outbase, "out");
-
-					const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-					const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-					const XSLTInputSource	goldInputSource(c_wstr(theGoldFile));
-					const XSLTResultTarget	resultFile(theOutputFile);
-
-					// Parsing(compile) the XSL stylesheet and report the results..
-					//
-					const XalanCompiledStylesheet*	compiledSS = 0;
-					try 
-					{
-						cout << endl << "PARSING STYLESHEET FOR: " << currentFile << endl;
-
-						xalan.compileStylesheet(xslInputSource, compiledSS);
-						if (compiledSS == 0 )
-						{
-							cout << "FAILED to parse stylesheet for " << currentFile << endl;
-							cout << "Reason: " << xalan.getLastError() << endl;
-							logFile.logErrorResult(currentFile, XalanDOMString(xalan.getLastError()));
-							continue;
-						}
-					}
-					catch(...)
-					{
-						cerr << "Exception caught!!!" << endl << endl;
-					}
-
-					// Parsing the input XML and report the results..
-					//
-					cout << "PARSING SOURCE XML FOR: " << currentFile << endl;
-					const XalanParsedSource*	parsedSource = 0;
-					xalan.parseSource(xmlInputSource, parsedSource);
-					if (parsedSource == 0)
-					{
-						cout << "Failed to PARSE source document for " << currentFile << endl;
-						continue;
-					}
-
-					// Perform One transform using parsed stylesheet and parsed xml source, report results...
-					// 
-					cout << "TRANSFORMING: " << currentFile << endl;
-
-					const int	theResult = xalan.transform(*parsedSource, compiledSS, resultFile);
-
-					if (theResult != 0)
-					{
-						cout << "FAILED to transform stylesheet for " << currentFile << endl;
-						cout << "Reason: " << xalan.getLastError() << endl;
-						logFile.logErrorResult(currentFile, XalanDOMString(xalan.getLastError()));
-					}
-					else
-					{
-						logFile.logCheckPass(currentFile);
-					}
-
-					parserLiaison.reset();
-					xalan.destroyParsedSource(parsedSource);
-					xalan.destroyStylesheet(compiledSS);
-
-				}
-
-				logFile.logTestCaseClose("Done", "Pass");
-			}
-
-
-		// Check to see if -sub cmd-line directory was processed correctly.
-		if (!foundDir)
-		{
-			cout << "Specified test directory: \"" << c_str(TranscodeToLocalCodePage(h.args.sub)) << "\" not found" << endl;
-		}
-
-		h.reportPassFail(logFile, UniqRunid);
-		logFile.logTestFileClose("Conformance ", "Done");
-		logFile.close();
-
-		}
-	}
-
-	XalanTransformer::terminate();
-
-
-	return 0;
-}
diff --git a/Tests/Errortests/Errortests.dsp b/Tests/Errortests/Errortests.dsp
deleted file mode 100644
index c9034bd..0000000
--- a/Tests/Errortests/Errortests.dsp
+++ /dev/null
@@ -1,149 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Errortests" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Errortests - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Errortests.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Errortests.mak" CFG="Errortests - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Errortests - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "Errortests - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "Errortests - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Errortests - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\Errortests"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "Errortests - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\Errortests"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "Errortests - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Errortests___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "Errortests___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\Errortests"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/perft.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Errortests - Win32 Release"
-# Name "Errortests - Win32 Debug"
-# Name "Errortests - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Errortests.cpp
-
-!IF  "$(CFG)" == "Errortests - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "Errortests - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\Errortests"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "Errortests - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Extensions/extensions.cpp b/Tests/Extensions/extensions.cpp
deleted file mode 100644
index dca56d9..0000000
--- a/Tests/Extensions/extensions.cpp
+++ /dev/null
@@ -1,433 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-#include <vector>
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-// EXTENSION HEADERS...
-#include <XalanExtensions/FunctionDifference.hpp>
-#include <XalanExtensions/FunctionDistinct.hpp>
-#include <XalanExtensions/FunctionEvaluate.hpp>
-#include <XalanExtensions/FunctionHasSameNodes.hpp>
-#include <XalanExtensions/FunctionIntersection.hpp>
-#include <XalanExtensions/FunctionNodeSet.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-// HARNESS HEADERS...
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cout;
-	using std::endl;
-#endif
-
-
-
-// GLOBAL VARIABLES...
-const char* const	resultString = "The specified function is not available: http://xml.apache.org/xalan:nodeset";
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "extensions dirname [-out]"
-		 << endl
-		 << endl
-		 << "dirname		(base directory for xml-xalan\\test\\tests\\extensions)"
-		 << endl
-		 << "-out dirname	(base directory for output)"
-		 << endl;
-}
-
-
-// Generate the various filenames needed for testing.
-void
-generateFiles(
-			const XalanDOMString&	fileName,
-			const XalanDOMString&	currentDir,
-			XalanDOMString&			xml, 
-			XalanDOMString&			xsl,
-			XalanDOMString&			out,
-			XalanDOMString&			gold,
-			const char*				test,
-			FileUtility&			h)
-{
-	// Set up the input/output files.
-	const XalanDOMString testName(h.generateFileName(fileName,"out"));
-
-	xsl = h.args.base + currentDir + FileUtility::s_pathSep + fileName;
-	xml = h.generateFileName(xsl,"xml");
-	h.data.xmlFileURL = xml;
-	h.data.xslFileURL = xsl;
-
-	out =  h.args.output + currentDir + FileUtility::s_pathSep + XalanDOMString(test) + testName; 
-
-	gold = h.args.gold + currentDir + FileUtility::s_pathSep + testName;
-
-}
-
-//	TestCase1
-//  API Call: 
-//		None. Verfies default behavior of XalanTransformer.
-//	Comments:
-//		This testcase is called once for each function that XalanC implements. It verfies that the function 
-//		was properly installed and working correctly within the transformer.  All functions are preinstalled
-//		globally. Currently XalanC supports the following extensions; difference, distinct, evaluate, 
-//		hasSameNodes, intersection and nodeset. 
-//		 
-void
-TestCase1(
-			XalanTransformer&		xalan,
-			const XalanDOMString&	fileName,
-			const XalanDOMString&	currentDir,
-			XMLFileReporter&		logFile,
-			FileUtility&			h)
-{
-	
-	XalanDOMString	xml, xsl, theOutputFile, theGoldFile;
-		
-	generateFiles(fileName, currentDir, xml, xsl, theOutputFile, theGoldFile, "tc1-", h);
-
-	h.data.testOrFile = XalanDOMString("TestCase1: ") + fileName;
-	h.data.xmlFileURL = xml;
-	h.data.xslFileURL = xsl;
-
-	// Create the InputSources and ResultTraget.
-	const XSLTInputSource	xmlInputSource(c_wstr(xml));
-	const XSLTInputSource	xslInputSource(c_wstr(xsl));
-	const XSLTResultTarget	theResultTarget(theOutputFile);
-
-	// Perform the transform and check the results.
-	xalan.transform(xmlInputSource, xslInputSource, theResultTarget);	
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-
-}
-
-//	TestCase2
-//  API Call:
-//		XalanTransformer::uninstallExternalFunctionGlobal
-//	Comments:
-//		This test verifies that the 'nodeset' function is properly uninstalled via the api.
-//		Output file should NOT contain data. 
-//
-void
-TestCase2(
-			XalanTransformer&		xalan,
-			const XalanDOMString&	fileName,
-			const XalanDOMString&	currentDir,
-			const XalanDOMString&	theNamespace,
-			XMLFileReporter&		logFile,
-			FileUtility&			h)
-{	
-
-	XalanDOMString	xml, xsl, theOutputFile, theGoldFile;
-	
-	generateFiles(fileName, currentDir, xml, xsl, theOutputFile, theGoldFile, "tc2-", h);
-	h.data.testOrFile = XalanDOMString("TestCase2");
-	h.data.xmlFileURL = xml;
-	h.data.xslFileURL = xsl;
-
-	// Create the InputSources and ResultTraget.
-	const XSLTInputSource	xmlInputSource(c_wstr(xml));
-	const XSLTInputSource	xslInputSource(c_wstr(xsl));
-	const XSLTResultTarget	theResultTarget(theOutputFile);
-
-	// UnInstall the external Global function "nodeset"
-	xalan.uninstallExternalFunctionGlobal(
-					theNamespace,
-					XalanDOMString("nodeset"));
-
-	//Perform the transform and check the results.
-	xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-
-	h.checkAPIResults(xalan.getLastError(), 
-						  resultString,
-						  "transformer.uninstallExternalFunctionGlobal()",
-						  logFile,
-						  theOutputFile,
-						  theGoldFile);
-}
-//	TestCase3:
-//  API Call:	
-//		XalanTransformer::installExternalFunction
-//		XalanTransformer::uninstallExternalFunction
-//  Comments:
-//		This tests the installExternalFunction method of XalanTransformer using the nodeset function.
-//		Output file should NOT contain data.
-//
-void TestCase3(
-			XalanTransformer&		xalan,
-			const XalanDOMString&	fileName,
-			const XalanDOMString&	currentDir,
-			const XalanDOMString&	theNamespace,
-			XMLFileReporter&		logFile,
-			FileUtility&			h)
-{
-	
-	XalanDOMString	xml, xsl, theOutputFile, theGoldFile;
-	
-	generateFiles(fileName, currentDir, xml, xsl, theOutputFile, theGoldFile, "tc3-", h);
-
-	h.data.testOrFile = XalanDOMString("TestCase3a");
-	h.data.xmlFileURL = xml;
-	h.data.xslFileURL = xsl;
-
-	// Create the InputSources and ResultTraget.
-	const XSLTInputSource	xmlInputSource(c_wstr(xml));
-	const XSLTInputSource	xslInputSource(c_wstr(xsl));
-	const XSLTResultTarget	theResultTarget(theOutputFile);
-
-	// Install the external function "nodeset"
-	xalan.installExternalFunction(theNamespace,
-								  XalanDOMString("nodeset"),
-								  FunctionNodeSet());
-
-	// Perform the transform and check the results.
-	xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-
-	// Because we install the function locally, this second instance of the transformer 
-	// should _NOT_ run the test successfully.
-	XalanTransformer newEngine;
-	h.data.testOrFile = XalanDOMString("TestCase3b");
-
-	//Perform the transform and check the results.
-	newEngine.transform(xmlInputSource, xslInputSource, theResultTarget);
-	h.checkAPIResults(newEngine.getLastError(), 
-							   resultString,
-						       "transformer.installExternalFunction()",
-						       logFile,
-							   theOutputFile,
-							   theGoldFile);
-
-	// Now unInstall the external function "nodeset". Once again the transform should
-	// _NOT_ run the test successfully
-	h.data.testOrFile = XalanDOMString("TestCase3c");
-	xalan.uninstallExternalFunction(theNamespace, XalanDOMString("nodeset"));
-
-	// Perform the transform and check the results.
-	xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-	h.checkAPIResults(xalan.getLastError(), 
-							   resultString,
-						       "transformer.uninstallExternalFunction()",
-						       logFile,
-							   theOutputFile,
-							   theGoldFile);
-
-}
-
-//	TestCase4:
-//  API Call: 
-//		XalanTransformer::installExternalFunctionGlobal
-//	Comments:
-//		This tests uses transformer method installExternalFunctionGlobal to add the nodeset function. 
-//		The output file should contain data.
-//
-void TestCase4(
-			XalanTransformer&		xalan,
-			const XalanDOMString&	fileName,
-			const XalanDOMString&	currentDir,
-			const XalanDOMString&	theNamespace,
-			XMLFileReporter&		logFile,
-			FileUtility&			h)
-{
-	
-	XalanDOMString	xml, xsl, theOutputFile, theGoldFile;
-
-	generateFiles(fileName, currentDir, xml, xsl, theOutputFile, theGoldFile, "tc4-", h);
-	h.data.testOrFile = XalanDOMString("TestCase4a");
-	h.data.xmlFileURL = xml;
-	h.data.xslFileURL = xsl;
-
-	// Create the InputSources and ResultTraget.
-	const XSLTInputSource	xmlInputSource(c_wstr(xml));
-	const XSLTInputSource	xslInputSource(c_wstr(xsl));
-	const XSLTResultTarget	theResultTarget(theOutputFile);
-
-	// Install the external function "nodeset" Globally
-	xalan.installExternalFunctionGlobal(theNamespace,
-										XalanDOMString("nodeset"),
-										FunctionNodeSet());
-
-	// Perform the transform and check the results.
-	xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-
-	// Create a second transformer and verify that it can 'see' the extension as well...
-	XalanTransformer newEngine;
-	h.data.testOrFile = XalanDOMString("TestCase4b");
-
-	newEngine.transform(xmlInputSource, xslInputSource, theResultTarget);
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-
-}
-
-
-int
-main(int			argc,
-	 const char*	argv [])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit		xmlPlatformUtils;
-
-	FileUtility		h;
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	setHelp(h);	
-
-	if (h.getParams(argc, argv, "EXTENSION-RESULTS") == true)
-	{
-		const XalanDOMString	currentDir("library");
-		const XalanDOMString	extDir(h.args.base + currentDir);
-
-		// Check that the base directory is correct.
-		if ( !h.checkDir(extDir) )
-		{
-			cout << "Invalid base directory - " << c_str(TranscodeToLocalCodePage(extDir)) << endl;
-			cout << h.args.getHelpMessage();
-			return 0;
-		}
-
-		// Generate Unique Run id. (Only used to name the result logfile.)
-		const XalanDOMString	UniqRunid = h.generateUniqRunid();
-
-		// Defined basic constants for file manipulation 
-		const XalanDOMString drive(h.getDrive());
-		const XalanDOMString  resultsFile(drive + h.args.output + currentDir + UniqRunid + FileUtility::s_xmlSuffix);
-		
-		XMLFileReporter	logFile(resultsFile);
-		logFile.logTestFileInit("C++ Extension Testing. ");
-		logFile.logTestCaseInit(currentDir);
-
-		cout << "Performing Extension testing ..." << endl;
-
-		// Call the static initializers...
-		XalanTransformer::initialize();
-
-		{
-			XalanTransformer	xalan;				
-					
-			// Check that output directory is there.
-			XalanDOMString		fileName;
-					
-			const XalanDOMString	theOutputDir(h.args.output + currentDir);
-
-			h.checkAndCreateDir(theOutputDir);
-
-			// Get the files found in the "cextension" directory
-			const FileNameVectorType	files = h.getTestFileNames(h.args.base, currentDir, true);
-
-			// TestCase1 is used to verify correct functioning of the default extension functions
-			TestCase1(xalan, files[0], currentDir, logFile, h);	// Difference function
-			TestCase1(xalan, files[1], currentDir, logFile, h);	// Distinct 
-			TestCase1(xalan, files[2], currentDir, logFile, h);	// Evaluate 
-			TestCase1(xalan, files[3], currentDir, logFile, h);	// HasSameNodes 
-			TestCase1(xalan, files[4], currentDir, logFile, h);	// Intersection 
-			TestCase1(xalan, files[5], currentDir, logFile, h);	// NodeSet01 - basic testing
-			TestCase1(xalan, files[6], currentDir, logFile, h);	// NodeSet02 - extensive RTF testing. 
-
-			const XalanDOMString	theNamespace("http://xml.apache.org/xalan");
-
-			// These testcases are used to test the Install/Uninstall Function API's of the transformer.
-			TestCase2(xalan, files[5], theNamespace, currentDir, logFile, h);
-			TestCase3(xalan, files[5], theNamespace, currentDir, logFile, h);
-			TestCase4(xalan, files[5], theNamespace, currentDir, logFile, h);
-
-			logFile.logTestCaseClose("Done", "Pass");
-			h.reportPassFail(logFile, UniqRunid);
-				
-			logFile.logTestFileClose("C++ Extension Testing: ", "Done");
-			logFile.close();
-
-			h.analyzeResults(xalan, resultsFile);
-		}
-
-		XalanTransformer::terminate();
-
-	}
-
-	return 0;
-
-}
diff --git a/Tests/Extensions/extensions.dsp b/Tests/Extensions/extensions.dsp
deleted file mode 100644
index 682db12..0000000
--- a/Tests/Extensions/extensions.dsp
+++ /dev/null
@@ -1,148 +0,0 @@
-# Microsoft Developer Studio Project File - Name="extensions" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=extensions - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "extensions.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "extensions.mak" CFG="extensions - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "extensions - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "extensions - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "extensions - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "extensions - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\extensions"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "extensions - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\extensions"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "extensions - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "extensions___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "extensions___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\extensions"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/extensions.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386
-
-!ENDIF 
-
-# Begin Target
-
-# Name "extensions - Win32 Release"
-# Name "extensions - Win32 Debug"
-# Name "extensions - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\extensions.cpp
-
-!IF  "$(CFG)" == "extensions - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "extensions - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\extensions"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "extensions - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Harness/FileUtility.cpp b/Tests/Harness/FileUtility.cpp
deleted file mode 100644
index 226425d..0000000
--- a/Tests/Harness/FileUtility.cpp
+++ /dev/null
@@ -1,1553 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "FileUtility.hpp"
-
-
-
-#include <cstdlib>
-#include <cstdio>
-#include <ctime>
-#include <vector>
-#include <climits>
-#include <cstring>
-
-#if defined(WIN32)
-#include <direct.h>
-#define PATH_MAX _MAX_PATH
-#define chdir _chdir
-#define getcwd _getcwd
-#define mkdir _mkdir
-#else
-#define DIR_MODE_BITS 509
-#include <dirent.h>
-#include <unistd.h>
-extern "C" int mkdir(const char*, mode_t mode);
-#endif
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstrea.h>
-#else
-#include <iostream>
-#include <strstream>
-#endif
-
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <PlatformSupport/DirectoryEnumerator.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanFileOutputStream.hpp>
-
-
-
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterTreeWalker.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-
-
-
-#include <XSLT/StylesheetRoot.hpp>
-
-
-
-#include <XalanTransformer/XalanCompiledStylesheet.hpp>
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-#include "XMLFileReporter.hpp"
-
-
-
-
-const char* const	xalanNodeTypes[] =
-{
-	"UNKNOWN_NODE",
-	"ELEMENT_NODE",
-	"ATTRIBUTE_NODE",
-	"TEXT_NODE",
-	"CDATA_SECTION_NODE",
-	"ENTITY_REFERENCE_NODE",
-	"ENTITY_NODE",
-	"PROCESSING_INSTRUCTION_NODE",
-	"COMMENT_NODE",
-	"DOCUMENT_NODE",
-	"DOCUMENT_TYPE_NODE",
-	"DOCUMENT_FRAGMENT_NODE",
-	"NOTATION_NODE"
-};
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cout;
-	using std::endl;
-#endif
-
-
-
-FileUtility::reportStruct::reportStruct() :
-	theDrive(),
-	testOrFile(),
-	xmlFileURL(),
-	xslFileURL(),
-	xmlFormat(),
-	msg(0),
-	currentNode(),
-	actual(),
-	expected(),
-	pass(0),
-	fail(0),
-	nogold(0)
-{
-}
-
-
-
-void
-FileUtility::reportStruct::reset()
-{
-	clear(testOrFile);
-	msg = "";
-	clear(currentNode);
-	clear(actual);
-	clear(expected);
-}
-
-
-
-FileUtility::cmdParams::cmdParams() :
-	help(),
-	data(0),
-	base(),
-	output(),
-	gold(),
-	sub(),
-	source(0),
-	skip(false),
-	iters(0)
-{
-}
-
-
-
-FileUtility::FileUtility() :
-	data(),
-	args()
-{
-	cout << endl << "Using Xerces Version " << gXercesFullVersionStr << endl;
-}
-
-
-
-#if !defined(WIN32)
-XalanDOMString
-FileUtility::getDrive()
-{
-	return XalanDOMString();
-}
-#else
-XalanDOMString
-FileUtility::getDrive()
-{
-	const char temp[] =
-	{
-		char(_getdrive() + 'A' - 1),
-		':',
-		'\0'
-	};
-	
-	return XalanDOMString(temp, sizeof(temp) - 1);
-}
-#endif
-
-
-bool
-FileUtility::getParams(int argc, 
-		  const char*	argv[],
-		  char*			outDir,
-		  bool			fsetGold)
-{
-	bool fSuccess = true;	// Used to continue argument loop
-	bool fsetOut = true;	// Set default output directory, set to false if data is provided
-
-	args.skip = true;		// Default values for performance testing parameters.
-	args.iters = 3;			
-
-	// Insure that required "-base" argument is there.
-	//
-	if (argc == 1 || argv[1][0] == '-')
-	{
-		cout << args.getHelpMessage();  
-		return false;
-	}
-	else
-	{
-		if (checkDir(XalanDOMString(argv[1])))
-		{
-			assign(args.base, XalanDOMString(argv[1]));
-		}
-		else
-		{
-			cout << endl << "Given base directory \"" << argv[1] << "\" does not exist" << endl;
-			cout << args.getHelpMessage();
-			return false;
-		}
-	}
-
-	// Get the rest of the arguments.
-	//
-	for (int i = 2; i < argc && fSuccess == true; ++i)
-	{
-		if(!stricmp("-out", argv[i]))
-		{
-			++i;
-			if(i < argc && argv[i][0] != '-')
-			{
-				assign(args.output, XalanDOMString(argv[i]));
-				append(args.output, s_pathSep);
-				checkAndCreateDir(args.output);
-				fsetOut = false;
-			}
-			else
-			{
-				cout << args.getHelpMessage();
-				fSuccess = false;
-			}
-		}
-		else if(!stricmp("-gold", argv[i]))
-		{
-			++i;
-			if(i < argc && argv[i][0] != '-')
-			{
-				assign(args.gold, XalanDOMString(argv[i]));
-
-				if ( !checkDir(args.gold) )
-				{	
-					cout << "Given Gold dir - " << c_str(TranscodeToLocalCodePage(args.gold)) << " - does not exist" << endl;
-					fSuccess = false;
-				}
-
-				append(args.gold, s_pathSep);
-				fsetGold = false;
-			}
-			else
-			{
-				cout << args.getHelpMessage();
-				fSuccess = false;
-			}
-		}
-		else if(!stricmp("-source", argv[i]))
-		{
-			++i;
-			if(i < argc && argv[i][0] != '-')
-			{
-				if (stricmp(argv[i],"XPL") == 0)
-				{
-					args.source = 1;
-					outDir = "DOM-XALAN";
-				}
-				else if (stricmp(argv[i], "DOM") == 0)
-				{
-					args.source = 2;
-					outDir = "DOM-XERCES";
-				}
-				else
-				{
-					cout << args.getHelpMessage();
-					fSuccess = false;
-				}
-			}
-			else
-			{
-				cout << args.getHelpMessage();
-				fSuccess = false;
-			}
-		}
-		else if(!stricmp("-sub", argv[i]))
-		{
-			++i;
-			if(i < argc && argv[i][0] != '-')
-			{
-				assign(args.sub, XalanDOMString(argv[i]));
-			}
-			else
-			{
-				cout << args.getHelpMessage();
-				fSuccess = false;
-			}
-		}
-		else if(!stricmp("-i", argv[i]))
-		{
-			args.skip = false;
-		}
-		else if(!stricmp("-iter", argv[i]))
-		{
-			++i;
-			
-			// Make sure number is there and is greater then zero
-			if(i < argc && atol(argv[i]) > 0)
-			{
-				args.iters = atol(argv[i]);
-			}
-			else
-			{
-				cout << args.getHelpMessage();
-				fSuccess = false;
-			}
-		}
-		else
-		{
-			cout << args.getHelpMessage();
-			fSuccess = false;
-		}
-
-	} // End of for-loop
-
-	// Do we need to set the default output directory??
-	//
-	if (fsetOut)
-	{ 
-		unsigned int ii = lastIndexOf(args.base,charAt(s_pathSep,0));
-
-		if (ii < length(args.base))
-		{
-			args.output.assign(args.base, 0, ii + 1);
-		}
-
-		append(args.output,XalanDOMString(outDir));
-		checkAndCreateDir(args.output);
-		append(args.output,s_pathSep); 
-
-	}
-	// Do we need to set the default gold directory??
-	//
-	if (fsetGold)
-	{
-		args.gold = args.base;
-		append(args.gold,XalanDOMString("-gold"));
-		if ( !checkDir(args.gold) )
-		{	
-			cout << "Assumed Gold dir - " << c_str(TranscodeToLocalCodePage(args.gold)) << " - does not exist" << endl;
-			fSuccess = false;
-		}
-		append(args.gold,s_pathSep);
-	}
-	
-	// Add the path seperator to the end of the base directory 
-	// here after we've finished using it for all directory creation.
-	//
-	append(args.base,s_pathSep);
-	
-	return fSuccess;
-}
-
-
-
-//	This routine retrieves test file names from specified directories.
-//	Inputs: baseDir:	typically "conf" or "perf"
-//			relDir:		sub-directory to search.
-//
-//	Notes:	It builds the searchSpecification by concatenating all the 
-//			necessary components.
-//
-FileNameVectorType
-FileUtility::getTestFileNames(
-			const XalanDOMString&	baseDir,
-			const XalanDOMString&	relDir,
-			bool					useDirPrefix)
-{
-	const XalanDOMString	searchSuffix(XALAN_STATIC_UCODE_STRING("*.xsl"));
-	XalanDOMString	searchSpecification;
-
-	// Allow directory search w/o mandating files start with directory name. Required for files
-	// garnered from XSLTMARK performance directory exm.
-	if (useDirPrefix)
-	{
-		assign(searchSpecification, baseDir + relDir + s_pathSep + relDir + searchSuffix);
-	}
-	else
-	{
-		assign(searchSpecification, baseDir + relDir + s_pathSep + searchSuffix); 
-	}
-
-
-	DirectoryEnumeratorFunctor<FileNameVectorType, XalanDOMString>	theEnumerator;
-	FileNameVectorType	theFiles;
-	theEnumerator(searchSpecification, theFiles);
-
-	return theFiles;
-}
-
-/*	This routine retrieves all sub-directories from the specified directories.
-//	Inputs: rootDirectory:	typically "conf" or "perf"
-//
-//	Notes:	The searchSpecification in this case is just "*". 
-//																			*/	
-FileNameVectorType FileUtility::getDirectoryNames(const XalanDOMString&		rootDirectory)
-{
-	const XalanDOMString	dirSpec(XALAN_STATIC_UCODE_STRING("*"));
-
-	DirectoryEnumeratorFunctor<FileNameVectorType, XalanDOMString, DirectoryFilterPredicate> theEnumerator;
-	FileNameVectorType	theFiles;
-	theEnumerator(XalanDOMString(rootDirectory), XalanDOMString(dirSpec), theFiles);
-
-	return theFiles;
-}
-
-
-bool FileUtility::checkDir(const XalanDOMString&	directory )
-{
-	char buffer[PATH_MAX];
-
-	getcwd(buffer, PATH_MAX);
-
-	bool	fResult = false;
-
-	if ( !chdir(c_str(TranscodeToLocalCodePage(directory))) )
-	{
-		fResult = true;
-	}
-
-	chdir(buffer);
-
-	return fResult;
-}
-
-
-void FileUtility::checkAndCreateDir(const XalanDOMString&	directory)
-{
-	char buffer[PATH_MAX];
-
-	getcwd(buffer, PATH_MAX);
-
-	if ( (chdir(c_str(TranscodeToLocalCodePage(directory)))) )
-	{
-		//cout << "Couldn't change to " << directory << ", will create it." << endl;
-#if defined(WIN32)
-		if ( !mkdir(c_str(TranscodeToLocalCodePage(directory))))
-#else
-		if ( !mkdir(c_str(TranscodeToLocalCodePage(directory)), DIR_MODE_BITS))
-#endif
-		{
-			cout << directory << " created." << endl;
-		}
-		else
-		{
-			cout << directory << " NOT created." << endl;
-		}
-	}
-
-	chdir(buffer);
-}
-
-/*	This routine generates file names based on the provide suffix
-//	Inputs: theXMLFileName:	typically "conf" or "perf"
-//			suffix:			typically "xsl" or "out".
-//
-//	Notes:	
-*/	
-
-XalanDOMString
-FileUtility::generateFileName(
-			const XalanDOMString&	theXMLFileName,
-			const char*				suffix,
-			bool*					status)
-{
-	XalanDOMString	targetFile;
-	int				thePeriodIndex = -1;
-	const int		theLength = length(theXMLFileName);
-
-	for (int i = theLength - 1; i > 0; i--)
-	{
-		if (charAt(theXMLFileName, i) == XalanUnicode::charFullStop)
-		{
-			thePeriodIndex = i;        // charFullStop is the dot (x2E)
-			break;
-		}
-	}
-
-	if (thePeriodIndex != -1)
-	{
-		targetFile.assign(theXMLFileName, 0, thePeriodIndex + 1);
-
-		targetFile += XalanDOMString(suffix);
-	}
-
-	// Check the .xml file exists.
-	if (!strcmp(suffix,"xml"))
-	{
-		FILE* fileHandle = fopen(c_str(TranscodeToLocalCodePage(targetFile)), "r");
-		if (fileHandle == 0)
-		{
-			cout << "TEST ERROR: File Missing: " << targetFile << endl;
-
-			if (status != 0)
-			{
-				*status = false;
-			}
-		}
-		else
-		{
-			fclose(fileHandle);
-		}
-	}
-
-	return targetFile;
-}
-
-
-/*	This routine generates a Unique Runid. 
-//	Inputs: None
-//			
-//	Notes: The format is mmddhhmm. For example
-//		   03151046 is "Mar 15 10:46"	
-*/
-
-XalanDOMString
-FileUtility::generateUniqRunid()
-{
-	struct tm *newtime;
-	time_t long_time;
-	char tmpbuf[10];
-
-	time( &long_time );                /* Get time as long integer. */
-	newtime = localtime( &long_time ); /* Convert to local time. */
-
-	strftime( tmpbuf, 10,"%m%d%H%M",newtime );
-
-	return XalanDOMString(tmpbuf);
-}
-
-
-//	This routine gets Xerces Version number. It's used to put the Xerces Version
-//	into the output xml results file as an attribute of 'PerfData' element.
-//	Inputs: None
-//				
-
-XalanDOMString
-FileUtility::getXercesVersion()
-{
-
-	return XalanDOMString(gXercesFullVersionStr);
-}
-
-/*	This routine creates a FormatterToXML FormatterListener. This is used to format
-//	the output DOM so a comparision can be done with the expected GOLD file. 
-//	Inputs: None
-//				
-*/
-
-
-FormatterListener* 
-FileUtility::getXMLFormatter(
-			bool					shouldWriteXMLHeader,
-			bool					stripCData,
-			bool					escapeCData,
-			PrintWriter&			resultWriter,
-			int						indentAmount,
-			const XalanDOMString&	mimeEncoding,
-			const StylesheetRoot*	stylesheet)
-{
-	XalanDOMString	version;
-	bool			outputIndent= 0;
-	XalanDOMString	mediatype;
-	XalanDOMString	doctypeSystem;
-	XalanDOMString	doctypePublic;
-	XalanDOMString	standalone;
-
-	if (stylesheet != 0)
-	{
-		version = stylesheet->m_version;
-
-		mediatype = stylesheet->m_mediatype;
-		doctypeSystem = stylesheet->getOutputDoctypeSystem();
-		doctypePublic = stylesheet->getOutputDoctypePublic();
-		standalone = stylesheet->m_standalone;
-		outputIndent = stylesheet->m_indentResult;
-	}
-
-	return new FormatterToXML(
-					resultWriter,
-					version,
-					outputIndent,
-					indentAmount,
-					mimeEncoding,
-					mediatype,
-					doctypeSystem,
-					doctypePublic,
-					true,	// xmlDecl
-					standalone);
-}
-
-
-/*	This routine is used to compares the results of a transform and report the results.
-//  When a failure is detected the 'data' structure used to report detailed info about 
-//  a failure is filled in.
-//	Inputs: 
-//		goldFile    - Name of gold file
-//		outputFile  - Name of result file.
-//		logfile	    - Name of log file reporter.
-//		
-//	Returns: 
-//		Void
-*/
-void
-FileUtility::checkResults(
-			const XalanDOMString&	outputFile, 
-			const XalanDOMString&	goldFile, 
-			XMLFileReporter&		logfile)
-{
-	int ambgFlag = data.nogold;	// get the current number of tests w/o gold files.
-
-	// Compare the results, report success if compareSerializedResults returns true.
-	if(compareSerializedResults(outputFile, goldFile))
-	{
-		cout << "Passed: " << data.testOrFile << endl;
-		logfile.logCheckPass(data.testOrFile);
-		data.pass += 1;
-	}
-	else
-	{	// if the compairson fails gather up the failure data and determine if it failed 
-		// due to bad output or missing Gold file. Lastly, log the failure.
-		Hashtable attrs;
-		Hashtable actexp;
-		reportError();
-
-		attrs.insert(Hashtable::value_type(XalanDOMString("reason"), XalanDOMString(data.msg)));
-		attrs.insert(Hashtable::value_type(XalanDOMString("atNode"), data.currentNode));
-		actexp.insert(Hashtable::value_type(XalanDOMString("exp"), data.expected));
-		actexp.insert(Hashtable::value_type(XalanDOMString("act"), data.actual));
-
-		actexp.insert(Hashtable::value_type(XalanDOMString("xsl"), data.xslFileURL));
-		actexp.insert(Hashtable::value_type(XalanDOMString("xml"), data.xmlFileURL));
-		actexp.insert(Hashtable::value_type(XalanDOMString("result"), outputFile));
-		actexp.insert(Hashtable::value_type(XalanDOMString("gold"), goldFile));
-
-		if (ambgFlag < data.nogold)
-		{
-			logfile.logCheckAmbiguous(data.testOrFile);
-		}
-		else
-		{
-			logfile.logCheckFail(data.testOrFile, attrs, actexp);
-		}
-	}
-
-}
-
-void
-FileUtility::checkAPIResults(
-			const XalanDOMString&	actual, 
-			const XalanDOMString&	expected, 
-			const char*				msg,
-			XMLFileReporter&		logfile,
-			const XalanDOMString&	outputFile, 
-			const XalanDOMString&	goldFile)
-{
-	if(actual == expected)
-	{
-		data.pass += 1;
-		cout << "Passed: " << data.testOrFile << endl;
-		logfile.logCheckPass(data.testOrFile);
-	}
-	else
-	{	data.actual = actual;
-		data.expected = expected;
-		data.currentNode = "API Test";
-		data.msg = msg;
-		data.fail += 1;
-
-		reportError();
-		Hashtable actexp;
-
-		actexp.insert(Hashtable::value_type(XalanDOMString("exp"), expected));
-		actexp.insert(Hashtable::value_type(XalanDOMString("act"), actual));
-		actexp.insert(Hashtable::value_type(XalanDOMString("xsl"), data.xslFileURL));
-		actexp.insert(Hashtable::value_type(XalanDOMString("xml"), data.xmlFileURL));
-		actexp.insert(Hashtable::value_type(XalanDOMString("result"), outputFile));
-		actexp.insert(Hashtable::value_type(XalanDOMString("gold"), goldFile));
-
-		// Todo: Need to determine if I should check for missing gold in these cases.
-		logfile.logCheckFail(data.testOrFile, actexp);
-	}
-}
-
-
-
-/*	This routine compares the results of a transform with the gold file.
-//	It in turn call the domCompare routine to do the actual comparision. 
-//	Inputs: 
-//		gold - Dom tree for the expected results
-//		doc  - Dom tree created during transformation
-//		filename - Current filename
-//		
-//	Returns: 
-//		Void
-//		
-*/
-void
-FileUtility::checkDOMResults(
-			const XalanDOMString&			theOutputFile, 
-			const XalanCompiledStylesheet*	compiledSS, 
-			const XalanSourceTreeDocument*	dom,
-			const XSLTInputSource&			goldInputSource,
-			XMLFileReporter&				logfile)
-{
-	const int	ambgFlag = data.nogold;
-
-	const XalanDOMString	mimeEncoding("");
-
-	XalanFileOutputStream			myOutput(theOutputFile);
-	XalanOutputStreamPrintWriter	myResultWriter(myOutput);
-
-	FormatterListener* const	theFormatter =
-		getXMLFormatter(
-			true,
-			true,
-			true,
-			myResultWriter,
-			0,
-			mimeEncoding,
-			compiledSS->getStylesheetRoot());
-
-	FormatterTreeWalker		theTreeWalker(*theFormatter);
-
-	theTreeWalker.traverse(dom);
-
-	delete theFormatter;
-
-	XalanSourceTreeDOMSupport		domSupport;
-	XalanSourceTreeParserLiaison	parserLiaison(domSupport);
-	
-	domSupport.setParserLiaison(&parserLiaison);
-
-	const XalanDocument* const	goldDom =
-		parserLiaison.parseXMLStream(goldInputSource);
-
-	if(domCompare(*goldDom, *dom))
-	{
-		cout << "Passed: " << data.testOrFile << endl;
-		logfile.logCheckPass(data.testOrFile);
-		data.pass += 1;
-	}
-	else
-	{	// if the compairson fails gather up the failure data and determine if it failed 
-		// due to bad output or missing Gold file. Lastly, log the failure.
-		Hashtable attrs;
-		Hashtable actexp;
-		reportError();
-
-		attrs.insert(Hashtable::value_type(XalanDOMString("reason"), XalanDOMString(data.msg)));
-		attrs.insert(Hashtable::value_type(XalanDOMString("atNode"), data.currentNode));
-		actexp.insert(Hashtable::value_type(XalanDOMString("exp"), data.expected));
-		actexp.insert(Hashtable::value_type(XalanDOMString("act"), data.actual));
-
-		if (ambgFlag < data.nogold)
-		{
-			logfile.logCheckAmbiguous(data.testOrFile);
-		}
-		else
-		{
-			logfile.logCheckFail(data.testOrFile, attrs, actexp);
-		}
-	}
-}
-
-/*	This routine takes the result file and gold file and parses them.
-//  If either of the files fails to parse and a SAXException is throw,
-//  then the files are compared using a char by char file compare,
-//  otherwise the domCompare routine is used.
-//	Inputs: 
-//		outputFile:  Name of result file
-//		goldFile:	 Name of gold file
-//		
-//	Returns: 
-//		True or False
-//		
-*/
-bool
-FileUtility::compareSerializedResults(
-			const XalanDOMString&	outputFile,
-			const XalanDOMString&	goldFile)
-{
-
-	const XSLTInputSource resultInputSource(c_wstr(outputFile));
-	const XSLTInputSource goldInputSource(c_wstr(goldFile));
-
-	XalanSourceTreeDOMSupport		domSupport;
-	XalanSourceTreeParserLiaison	parserLiaison(domSupport);
-
-	domSupport.setParserLiaison(&parserLiaison);
-
-	try
-	{
-		const XalanDocument* const	transformDom =
-			parserLiaison.parseXMLStream(resultInputSource);
-		assert(transformDom != 0);
-
-		const XalanDocument* const	goldDom =
-			parserLiaison.parseXMLStream(goldInputSource);
-		assert(goldDom != 0);
-
-		return domCompare(*goldDom, *transformDom);
-	}
-	// This exception is being reported prior to this Catch, however, however, I clarify that it's a SAX exception.
-	// It's a good indication that the Gold file is not a valid XML.  When this happens the transform result needs
-	// to be compared with the Gold,  with a character by character basis,  not via the DOM compair. 
-	catch (const SAXException&)
-	{
-		cout << "SAXException: Using fileCompare to check output.\n";
-
-		return fileCompare(c_str(TranscodeToLocalCodePage(goldFile)), c_str(TranscodeToLocalCodePage(outputFile)));
-	}
- 
-}
-
-/*	This routine is used to compare the results against the gold when one or both of 
-//  fails to parse without throwing a SAXException. When a failure is detected the 'data' 
-//  structure used to report detailed info about a failure is filled in.
-//	Inputs: 
-//		outputFile:  Name of result file
-//		goldFile:	 Name of gold file
-//		
-//	Returns: 
-//		True or False
-//		
-*/
-bool
-FileUtility::fileCompare(
-			const char*		goldFile,
-			const char*		outputFile)
-{
-	char rline[132] = {'0'};	// declare buffers to hold single line from file
-	char gline[132] = {'0'};	
-	char temp[10];				// buffer to hold line number
-	char lineNum = 1;
-
-	// Set fail data incase there are i/o problems with the files to compare.
-	data.expected = XalanDOMString(" ");
-	data.actual = XalanDOMString(" ");
-	data.currentNode = XalanDOMString("Line: 0");
-
-	// Attempt to open the files. 
-	FILE* const		result = fopen(outputFile, "r");
-	FILE* const		gold = fopen(goldFile, "r");
-
-	// If the result file fails to open report this as a failure.
-	if (!result)
-	{
-		data.msg = "No Result (Transform failed)";
-		data.fail += 1;
-		return false;
-	}
-
-	// If the gold file fails to open report this as ambiguous.
-	if (!gold)
-	{
-		data.msg = "No Gold file";
-		data.nogold += 1;
-		return false;
-	}
-
-	// Start file comparison,  line by line..
-	while(!feof(result) && !feof(gold))
-	{
-		fgets(gline, sizeof(gline), gold );
-		fgets(rline, sizeof(rline), result );
-		sprintf(temp,"%d",lineNum);
-
-		if (ferror(gold) || ferror(result))
-		{
-			data.msg = "Read Error - Gold/Result file";
-			data.currentNode = XalanDOMString("Line: ") + XalanDOMString(temp);
-			return false;
-		}
-
-		// Compare the lines character by charcter ....
-		unsigned int i = 0;
-		while(i < strlen(gline)) 
-		{
-			if (gline[i] == rline[i]) 
-			{
-				i++;
-				continue;
-			}
-			else 
-			{	// If there is a mismatch collect up the fail data and return false.  To ensure that 
-				// the results can be seen in the browser enclose the actual/expected in CDATA Sections.
-				data.msg = "Text based comparison failure";
-				data.expected = XalanDOMString("<![CDATA[") + XalanDOMString(gline) + XalanDOMString("]]>");
-				data.actual = XalanDOMString("<![CDATA[") + XalanDOMString(rline) + XalanDOMString("]]>");
-				data.currentNode = XalanDOMString("Line: ") + XalanDOMString(temp);
-				data.fail += 1;
-				return false;
-			}
-		}
-
-		lineNum += 1;
-	}
-
-	return true;
-}
-
-
-
-/*	This routine performs a DOM Comparision. 
-//	Inputs: 
-//		gold - Dom tree for the expected results
-//		doc  - Dom tree created during transformation
-//		filename - Current filename
-//		
-//	Returns: 
-//		True or False
-//		
-*/
-bool 
-FileUtility::domCompare(
-			const XalanNode&	gold,
-			const XalanNode&	doc)
-{
-	const XalanNode::NodeType	docNodeType  = doc.getNodeType();
-	const XalanNode::NodeType	goldNodeType = gold.getNodeType();
-
-	const XalanDOMString&  docNodeName  = doc.getNodeName();	
-	const XalanDOMString&  goldNodeName = gold.getNodeName();
-
-	if (goldNodeType != docNodeType)
-	{
-		collectData("NodeType mismatch.",
-					docNodeName,
-					XalanDOMString(xalanNodeTypes[docNodeType]),
-					XalanDOMString(xalanNodeTypes[goldNodeType]));
-		return false;
-	}
-
-	switch (goldNodeType)
-	{
-	case XalanNode::ELEMENT_NODE:	// ATTRIBUTE_NODE's are processed with diffElement().
-	{ 
-		if ( ! diffElement(gold, doc) ) 
-		{
-			return false;
-		}
-
-		break;
-	}
-	case XalanNode::TEXT_NODE:	
-	{
-		const XalanDOMString&	docNodeValue  = doc.getNodeValue();
-		const XalanDOMString&	goldNodeValue = gold.getNodeValue();
-		
-		//debugNodeData(docNodeName, docNodeValue);
-		
-		if(goldNodeValue != docNodeValue)
-		{
-			collectData("Text node mismatch. ", 
-						 docNodeName,
-						 goldNodeValue,
-						 docNodeValue);
-			return false;
-		}
-
-		// Need to process textnode siblings.  Note that text nodes do not have child nodes.
-		const XalanNode	*goldNextNode;
-		const XalanNode	*domNextNode;
-		goldNextNode = gold.getNextSibling();
-		domNextNode = doc.getNextSibling();
-
-		if (0 != goldNextNode)
-		{
-			if (0 != domNextNode)
-			{
-				if ( ! domCompare(*goldNextNode, *domNextNode) )
-					return false;
-			}
-			else
-			{
-				collectData("Element missing SiblingNode. ", 
-						 docNodeName,
-						 goldNextNode->getNodeName(),
-						 goldNextNode->getNodeName());
-				return false;
-			}
-		}
-
-		break;
-	}
-	case XalanNode::CDATA_SECTION_NODE:
-	case XalanNode::ENTITY_REFERENCE_NODE:
-	case XalanNode::ENTITY_NODE:
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-	case XalanNode::COMMENT_NODE:
-	{
-		break;
-	}
-	case XalanNode::DOCUMENT_NODE:
-	{
-		//debugNodeData(docNodeName);
-
-		const XalanNode	*goldNextNode;
-		const XalanNode	*domNextNode;
-
-		goldNextNode = gold.getFirstChild();
-		domNextNode = doc.getFirstChild();
-
-		if (0 != goldNextNode)
-		{
-			if( ! domCompare(*goldNextNode,*domNextNode) )
-				return false;
-		}
-
-		break;
-	}
-
-	case XalanNode::DOCUMENT_TYPE_NODE:
-	case XalanNode::DOCUMENT_FRAGMENT_NODE:
-	case XalanNode::NOTATION_NODE:
-	{
-		break;
-	}
-	default:
-		cout << "What are you doing? " << endl;
-	}
-
-	return true;
-}
-
-/*	This routine compares two element nodes. 
-//	Inputs: 
-//		gold - Dom tree for the expected results
-//		doc  - Dom tree created during transformation
-//		filename - Current filenam
-//		
-//	Returns: 
-//		True or False
-//						
-*/
-
-bool
-FileUtility::diffElement(
-			const XalanNode&	gold,
-			const XalanNode&	doc)
-{
-	const XalanDOMString&  docNodeName  = doc.getNodeName();	
-	const XalanDOMString&  goldNodeName = gold.getNodeName();
-
-	const XalanDOMString&  docNsUri  = doc.getNamespaceURI();
-	const XalanDOMString&  goldNsUri = gold.getNamespaceURI();
-
-	//debugNodeData(docNodeName);
-
-	// This essentially checks 2 things, that the prefix and localname are the
-	// same.  So specific checks of these items are not necessary.
-	if (goldNodeName != docNodeName)
-	{
-		collectData("Element mismatch. ", 
-						 docNodeName,
-						 goldNodeName,
-						 docNodeName);
-		return false;
-	}
-
-	if ( goldNsUri != docNsUri)
-	{
-		collectData("Element NamespaceURI mismatch. ",
-						 docNodeName,
-						 goldNsUri,
-						 docNsUri);
-		return false;
-	}
-
-	// Get Attributes for each Element Node. 
-	const XalanNamedNodeMap* const	goldAttrs = gold.getAttributes();
-	const XalanNamedNodeMap* const	docAttrs  = doc.getAttributes();
-
-	// Get number of Attributes
-	const unsigned int	numGoldAttr = goldAttrs->getLength();
-	const unsigned int	numDomAttr  = docAttrs ->getLength();
-
-	/*
-	// This needs to be uncommented if 'compare.exe' is to work. 
-	// If this is the 'root' element strip off the xmlns:xml namespace attribute,
-	// that is lurking around on the gold file, but not the dom.  This is necessary
-	// only for the 'compare' test, that uses a pure DOM, that has not been serialized.
-	//if (goldNodeName == XalanDOMString("root"))
-	{
-		numGoldAttr -= 1;
-		XalanNode *gXMLAttr = goldAttrs->item(1);
-	}
-	*/
-	// Check that each Element has same number of Attributes. If they don't report error  
-	if ( numGoldAttr == numDomAttr )
-	{
-		// Compare Attributes one at a time.
-		//for (int i=1; i < numGoldAttr; i++)  // To be used with 'compare'
-		for (unsigned int i = 0; i < numGoldAttr; ++i)
-		{
-			// Attribute order is irrelvant, so comparision is base on Attribute name.
-			const XalanNode* const	gAttr = goldAttrs->item(i);
-			const XalanDOMString&	goldAttrName = gAttr->getNodeName();
-
-			const XalanNode* const	dAttr = docAttrs->getNamedItem(goldAttrName);
-
-			if (dAttr != 0)
-			{
-				if( ! (diffAttr(gAttr, dAttr)) )
-					return false;
-			}
-			else
-			{
-				collectData("Element missing named Attribute. ",
-						 docNodeName,
-						 goldAttrName,
-						 XalanDOMString("NOTHING"));
-
-				return false;
-			}
-		}
-	}
-	else
-	{
-		char  buf1[2], buf2[2];
-		sprintf(buf1, "%u", numGoldAttr);
-		sprintf(buf2, "%u", numDomAttr);
-		collectData("Wrong number of attributes. ",
-						 docNodeName,
-						 XalanDOMString(buf1),
-						 XalanDOMString(buf2));
-		return false;
-	}
-
-	const XalanNode*	goldNextNode = gold.getFirstChild();
-	const XalanNode*	domNextNode = doc.getFirstChild();
-
-	if (0 != goldNextNode)
-	{
-		if (0 != domNextNode)
-		{
-			if ( ! domCompare(*goldNextNode, *domNextNode) )
-				return false;
-		}
-		else
-		{
-			collectData("Element missing ChildNode. ", 
-						 docNodeName,
-						 XalanDOMString(goldNextNode->getNodeName()),
-						 XalanDOMString("NOTHING"));
-			return false;
-		}
-	}
-	else if (domNextNode != 0)
-	{
-		// The result doc has additional Children. If the additional node is a text node
-		// then gather up the text and print it out.
-		if ( domNextNode->getNodeType() == XalanNode::TEXT_NODE)
-		{
-			collectData("Result has additional Child node: ", 
-					docNodeName,
-					XalanDOMString("NOTHING"),		 
-					XalanDOMString(domNextNode->getNodeName()) + XalanDOMString("  \"") +
-					XalanDOMString(domNextNode->getNodeValue()) + XalanDOMString("\""));
-		}
-		// Additional node is NOT text, so just print it's Name.
-		else
-		{
-			collectData("Result has additional Child node: ", 
-						docNodeName,
-						XalanDOMString("NOTHING"),		 
-						XalanDOMString(domNextNode->getNodeName()));
-
-		}
-		return false;
-
-	}
-
-	goldNextNode = gold.getNextSibling();
-	domNextNode = doc.getNextSibling();
-
-	if (0 != goldNextNode)
-	{
-		if (0 != domNextNode)
-		{
-			if ( ! domCompare(*goldNextNode, *domNextNode) )
-				return false;
-		}
-		else
-		{	// domcomtest10 used to fail here,  now it is caught above, with the error
-			// "Transformed Doc has additional Child nodes:"
-			collectData("Element missing SiblingNode. ", 
-						 docNodeName,
-						 XalanDOMString(goldNextNode->getNodeName()),
-						 XalanDOMString("NOTHING"));
-			return false;
-		}
-	}
-	else if ( domNextNode)
-	{	
-			// The result doc has additional siblings. If the additional node is a text node
-			// then gather up the text and print it out.
-			if ( domNextNode->getNodeType() == XalanNode::TEXT_NODE)
-			{
-				collectData("Result has additional sibling node: ", 
-						docNodeName,
-						XalanDOMString("NOTHING"),		 
-						XalanDOMString(domNextNode->getNodeName()) + XalanDOMString("  \"") +
-						XalanDOMString(domNextNode->getNodeValue()) + XalanDOMString("\""));
-			}
-			// Additional node is NOT text, so just print it's Name.
-			else
-			{
-				collectData("Result has additional sibling node: ", 
-						docNodeName,
-						XalanDOMString("NOTHING"),		 
-						XalanDOMString(domNextNode->getNodeName()));
-
-			}
-			return false;
-
-	}
-
-	return true;
-}
-
-
-/*	This routine compares two attribute nodes. 
-//	Inputs: 
-//		gAttr - attribute from Gold dom tree 
-//		dAttr - attribute from Dom tree created during transformation
-//		fileName - Current filenam
-//		
-//	Returns: 
-//		True or False
-//				
-*/
-
-bool FileUtility::diffAttr(const XalanNode* gAttr, const XalanNode* dAttr)
-{
-
-	const XalanDOMString&	docAttrName  = dAttr->getNodeName();
-	const XalanDOMString&	goldAttrName = gAttr->getNodeName();
-
-	//debugAttributeData(goldAttrName);
-
-	const XalanDOMString&	goldAttrValue = gAttr->getNodeValue();
-	const XalanDOMString&	docAttrValue	= dAttr->getNodeValue();
-
-	if (goldAttrValue != docAttrValue)
-	{
-		collectData(
-			"Attribute Value mismatch. ",
-			docAttrName,
-			goldAttrValue,
-			docAttrValue);
-
-		return false;
-	}
-
-	const XalanDOMString&	goldAttrNsUri = gAttr->getNamespaceURI();
-	const XalanDOMString&	docAttrNsUri	= dAttr->getNamespaceURI();
-
-	if (goldAttrNsUri != docAttrNsUri)
-	{
-		collectData(
-			"Attribute NamespaceURI mismatch. ", 
-			docAttrName,
-			goldAttrNsUri,
-			docAttrNsUri);
-
-		return false;
-	}
-
-	return true;
-}
-
-/*	This routine reports DOM comparison errors. 
-//	Inputs: 
-//		file	-	Name of current file
-//		node	-	Current node that fails
-//		msg		-	Failure message
-//
-*/
-void
-FileUtility::reportError()
-{
-
-	cout << endl
-		 << "* Failed "
-		 << data.testOrFile
-		 << "  Error: "
-		 << data.msg
-		 << endl
-		 << "	"
-		 << "Processing Node: "
-		 << data.currentNode
-		 << endl
-		 << "	Expected:	"
-		 << data.expected
-		 << endl
-		 << "	Actual:		"
-		 << data.actual
-		 << endl
-		 << endl;
-}
-
-
-#if !defined(NDEBUG)
-void
-FileUtility::debugNodeData(const XalanDOMString&	value) const
-{
-	cout << "Node is: " << c_str(TranscodeToLocalCodePage(value)) << endl;
-}
-
-
-
-void
-FileUtility::debugNodeData(
-			const XalanDOMString&	node,
-			const XalanDOMString&	value) const
-{
-	cout << "Node is: " << c_str(TranscodeToLocalCodePage(node)) << "	"
-		 << "Value is: \"" << c_str(TranscodeToLocalCodePage(value)) << "\"\n";
-}
-
-
-
-void
-FileUtility::debugAttributeData(const XalanDOMString&	value) const
-{
-	cout << "Attribute is: " << c_str(TranscodeToLocalCodePage(value)) << endl;
-}
-
-#endif
-
-
-
-/*	This routine collects up data pertinent to a dom comparison failure. 
-//	Inputs: 
-//		errmsg:			Reason for the failure.
-//		currentnode:	Node in the dom tree where the mismatch occured
-//		expdata:		Expected data based on the Gold file.
-//		actdata:		Actual data returned in the result file.
-//	Returns: Void						
-*/
-void 
-FileUtility::collectData(
-			const char*				errmsg,
-			const XalanDOMString&	currentnode,
-			const XalanDOMString&	expdata,
-			const XalanDOMString&	actdata)
-{
-	data.msg = errmsg;
-	data.currentNode = currentnode;
-	data.expected = expdata;
-	data.actual = actdata;
-	data.fail += 1;
-}
-
-
-/*	Routine prints the result to the console, as well as adds summary info into the logfile. 
-//	Inputs: 
-//		logfile:	Current log file
-//		runid:		Unique runid
-//	Returns: Void						
-*/
-void
-FileUtility::reportPassFail(
-			XMLFileReporter&		logfile,
-			const XalanDOMString&	runid)
-{
-	Hashtable runResults;
-	char temp[5];
-
-	// Create entrys that contain runid, xerces version, and numbers for Pass, Fail and No Gold.
-
-	runResults.insert(Hashtable::value_type(XalanDOMString("UniqRunid"), runid));
-	runResults.insert(Hashtable::value_type(XalanDOMString("Xerces-Version "), getXercesVersion()));
-	runResults.insert(Hashtable::value_type(XalanDOMString("BaseDrive "), XalanDOMString(getDrive())));
-	runResults.insert(Hashtable::value_type(XalanDOMString("TestBase "), XalanDOMString(args.base)));
-	runResults.insert(Hashtable::value_type(XalanDOMString("xmlFormat "), data.xmlFormat));
-	sprintf(temp, "%ld", args.iters);
-	runResults.insert(Hashtable::value_type(XalanDOMString("Iters "), XalanDOMString(temp)));
-
-	sprintf(temp, "%d", data.pass);
-	runResults.insert(Hashtable::value_type(XalanDOMString("Passed"), XalanDOMString(temp)));
-	
-	sprintf(temp, "%d", data.fail);
-	runResults.insert(Hashtable::value_type(XalanDOMString("Failed"), XalanDOMString(temp)));
-
-	sprintf(temp, "%d", data.nogold);
-	runResults.insert(Hashtable::value_type(XalanDOMString("No_Gold_Files"), XalanDOMString(temp)));
-
-	logfile.logElementWAttrs(10, "RunResults", runResults, "xxx");	
-
-	cout << "\nPassed " << data.pass;
-	cout << "\nFailed " << data.fail;
-	cout << "\nMissing Gold " << data.nogold << endl;
-
-}
-
-/*	Routine runs a stylesheet on the log file and displays the results in HTML. 
-//	Inputs: 
-//		xalan:			An instance of the transformer
-//		resultsFile:	logfile 
-//	Returns: Void						
-*/
-void
-FileUtility::analyzeResults(XalanTransformer& xalan, const XalanDOMString& resultsFile)
-{
-	XalanDOMString paramValue;
-	bool	fileStatus;
-
-	// Pass the results .xml file as a parameter to the stylesheet.  It must be wrapped in single
-	// quotes so that it is not considered an expression.
-	//
-	assign(paramValue, XalanDOMString("'"));
-	append(paramValue, resultsFile);
-	append(paramValue, XalanDOMString("'"));
-
-	// Set the parameter
-	//
-	xalan.setStylesheetParam(XalanDOMString("testfile"), paramValue);
-
-	// Generate the input and output file names.
-	//
-	const XalanDOMString  theHTMLFile = generateFileName(resultsFile,"html", &fileStatus);
-	const XalanDOMString  theStylesheet = args.base + XalanDOMString("cconf.xsl");
-	const XalanDOMString  theXMLSource = args.base + XalanDOMString("cconf.xml");
-
-	// Check that we can find the stylesheet to analyze the results.
-	//
-	FILE* fileHandle = fopen(c_str(TranscodeToLocalCodePage(theStylesheet)), "r");
-	if (fileHandle == 0)
-	{
-		cout << "ANALYSIS ERROR: File Missing: " << c_str(TranscodeToLocalCodePage(theStylesheet)) << endl;
-		return;
-	}
-	else
-	{
-		fclose(fileHandle);
-	}
-
-	// Create the InputSources and ResultTarget.
-	const XSLTInputSource	xslInputSource(c_wstr(theStylesheet));
-	const XSLTInputSource	xmlInputSource(c_wstr(theXMLSource));
-	const XSLTResultTarget	resultFile(theHTMLFile);
-
-	// Do the transform, display the output HTML, or report any failure.
-	const int	result = xalan.transform(xmlInputSource, xslInputSource, resultFile);
-
-	if (result == 0)
-	{
-		system(c_str(TranscodeToLocalCodePage(theHTMLFile)));
-	}
-	else 
-	{
-		cout << "Analysis failed due to following error: "
-			 << xalan.getLastError()
-			 << endl;
-	}	
-}
-
-
-
-static XalanDOMString	s_xmlSuffix;
-static XalanDOMString	s_pathSep;
-
-
-
-const XalanDOMString&	FileUtility::s_xmlSuffix = ::s_xmlSuffix;
-const XalanDOMString&	FileUtility::s_pathSep = ::s_pathSep;
-
-
-
-void
-FileUtility::initialize()
-{
-	::s_xmlSuffix = XALAN_STATIC_UCODE_STRING(".xml");
-
-#if defined(WIN32)
-	::s_pathSep = XALAN_STATIC_UCODE_STRING("\\");
-#else
-	::s_pathSep = XALAN_STATIC_UCODE_STRING("/");
-#endif
-}
-
-
-
-void
-FileUtility::terminate()
-{
-	releaseMemory(::s_pathSep);
-	releaseMemory(::s_xmlSuffix);
-}
diff --git a/Tests/Harness/FileUtility.hpp b/Tests/Harness/FileUtility.hpp
deleted file mode 100644
index eb23d0f..0000000
--- a/Tests/Harness/FileUtility.hpp
+++ /dev/null
@@ -1,443 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * FileUtility.hpp
- */
-#if !defined(FILEUTILITY_HEADER_GUARD_1357924680)
-#define FILEUTILITY_HEADER_GUARD_1357924680
-
-#include <Harness/HarnessDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <strstream.h>
-#else
-#include <strstream>
-#endif
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Misc typedefs and Global variables.
-// These structures hold vectors of directory names and file names.
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMString>		FileNameVectorType;
-#else
-	typedef std::vector<XalanDOMString>	FileNameVectorType;
-#endif
-
-
-class FormatterListener;
-class PrintWriter;
-class StylesheetRoot;
-class XalanCompiledStylesheet;
-class XalanNode;
-class XalanSourceTreeDocument;
-class XalanTransformer;
-class XMLFileReporter;
-class XSLTInputSource;
-
-
-
-// This class is exported from the Harness.dll
-class HARNESS_API FileUtility 
-{
-public:
-
-	/**
-	 * Initialize static data.
-	 * Should be called only once per process before creating any
-	 * instances of FileUtility.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Clean-up static data.
-	 * Should be called only once per process after deleting all
-	 * instances of FileUtility.
-	 */
-	static void
-	terminate();
-
-	struct HARNESS_API reportStruct
-	{
-		XalanDOMString  theDrive;
-		XalanDOMString	testOrFile;
-		XalanDOMString  xmlFileURL;
-		XalanDOMString  xslFileURL;
-		XalanDOMString  xmlFormat;
-		const char*		msg;
-		XalanDOMString	currentNode;
-		XalanDOMString	actual;
-		XalanDOMString	expected;
-		int				pass;
-		int				fail;
-		int				nogold;
-
-		reportStruct();
-
-		void
-		reset();
-
-	} data;
-
-	struct HARNESS_API cmdParams
-	{
-	private:
-
-#if defined(XALAN_NO_NAMESPACES)
-		ostrstream			help;
-#else
-		std::ostrstream		help;
-#endif
-
-		char*				data;
-
-	public:
-
-		XalanDOMString  base;
-		XalanDOMString	output;
-		XalanDOMString  gold;
-		XalanDOMString  sub;
-		int				source;
-		bool			skip;
-		long			iters;
-
-
-		cmdParams();
-
-		~cmdParams()
-		{
-			delete [] data;
-		}
-
-		const char*
-		getHelpMessage()
-		{
-			delete [] data;
-
-			help << '\0';
-
-			data = help.str();
-
-			return data;
-		}
-
-#if defined(XALAN_NO_NAMESPACES)
-		ostream&
-#else
-		std::ostream&
-#endif
-		getHelpStream()
-		{
-			return help;
-		}
-
-	} args;
-
-	/** Simple constructor, does not perform initialization.  */
-	FileUtility();
-	
-	/** 
-	* Utility method used to get test files from a specific directory.
-	* @returns a vector containing test files.
-	*/
-
-	XalanDOMString
-	getDrive();
-
-	bool
-	getParams(	int			argc, 
-				const char*	argv[], 
-				char*		outDir,
-				bool		fsetGold = true);
-
-
-	FileNameVectorType
-	getTestFileNames(
-			const XalanDOMString&	baseDir,
-			const XalanDOMString&	relDir,
-			bool					useDirPrefix);
-
-	/** 
-	* Utility method used to get subdirectories from a specific directory.
-	* @returns a vector containing directory files.
-	*/	
-	FileNameVectorType
-	getDirectoryNames(const XalanDOMString&		rootDirectory);
-
-	/** 
-	* Utility method used to create default directories when neccessary
-	*/
-    void
-	checkAndCreateDir(const XalanDOMString&		directory);
-
-	/** 
-	* Utility method determines if directory exists.
-	*/
-	bool
-	checkDir(const XalanDOMString&	directory);
-
-	/** 
-	* Utility method used to get XSL file based on XML file.
-	* @returns a XalanDOMString.
-	*/
-	XalanDOMString
-	getXSLFileName(const XalanDOMString&	theXMLFileName);
-
-	/** 
-	* Utility method used to get OUT file based on XML file.
-	* @returns a XalanDOMString.
-	*/
-	XalanDOMString
-	generateFileName(
-			const XalanDOMString&  theXMLFileName,
-			const char*				suffix,
-			bool*					status = 0);
-
-	/** 
-	* Utility method used to generate UniqRunid.
-	* @returns a XalanDOMString.
-	*/
-	XalanDOMString
-	generateUniqRunid();
-
-	/** 
-	* Utility methods used to get Xerces Version number.
-	* @returns a XalanDOMString.
-	*/
-	XalanDOMString
-	getXercesVersion();
-
-
-	void
-	checkResults(
-			const XalanDOMString&	outputFile, 
-			const XalanDOMString&	goldFile, 
-			XMLFileReporter&		logfile);
-
-	void
-	checkAPIResults(
-			const XalanDOMString&	actual, 
-			const XalanDOMString&	expected,
-			const char*				msg,
-			XMLFileReporter&		logfile,
-			const XalanDOMString&	outputFile,
-			const XalanDOMString&	goldFile);
-
-	void
-	checkAPIResults(
-			const char*				actual,
-			const char*				expected,
-			const char*				msg,
-			XMLFileReporter&		logfile,
-			const XalanDOMString&	outputFile,
-			const XalanDOMString&	goldFile)
-	{
-		checkAPIResults(
-			XalanDOMString(actual), 
-			XalanDOMString(expected),
-			msg,
-			logfile,
-			outputFile,
-			goldFile);
-	}
-
-	/**
-	* Utility method used to compare the results. It inturn
-	* call domCompare.  
-	* @returns Void.
-	*/
-	void
-	checkDOMResults(
-			const XalanDOMString&			theOutputFile, 
-			const XalanCompiledStylesheet*	compiledSS,
-			const XalanSourceTreeDocument*	dom,
-			const XSLTInputSource&			goldInputSource,
-			XMLFileReporter&				logfile);
-
-	bool
-	compareSerializedResults(
-			const XalanDOMString&	transformResult,
-			const XalanDOMString&	goldInputSource);
-	/**
-	* Utility method used to create a FormatterToXML FormatterListener.
-	* This is required to DOM comparisions. 
-	* @returns a pointer to a FormatterListener.
-	*/
-	FormatterListener* 
-	getXMLFormatter(
-			bool					shouldWriteXMLHeader,
-			bool					stripCData,
-			bool					escapeCData,
-			PrintWriter&			resultWriter,
-			int						indentAmount,
-			const XalanDOMString&	mimeEncoding,
-			const StylesheetRoot*	stylesheet);
-
-
-	bool
-	fileCompare(
-			const char*		goldFile,
-			const char*		outputFile);
-
-	/** 
-	* Utility methods used to perform a DOM Compare
-	* @returns boolean
-	*/
-	bool 
-	domCompare(const XalanNode& gold, const XalanNode& doc);
-
-	/** 
-	* Utility methods used to diff two Element nodes.
-	* @returns boolean.
-	*/
-	bool 
-	diffElement(const XalanNode& gold, const XalanNode& doc);
-
-	/** 
-	* Utility methods used to diff two attribute nodes.
-	* @returns boolean.
-	*/
-	bool 
-	diffAttr(const XalanNode* gAttr, const XalanNode* dAttr);
-
-	/** 
-	* Utility methods used to report Pass/Fail numbers.
-	* @returns void.
-	*/
-	void
-	reportPassFail(XMLFileReporter& logfile);
-
-	void
-	reportPassFail(XMLFileReporter& logfile, const XalanDOMString& runid);
-
-	void
-	analyzeResults(XalanTransformer& xalan, const XalanDOMString& resultsFile);
-
-	static const XalanDOMString&	s_xmlSuffix;
-
-	static const XalanDOMString&	s_pathSep;
-
-private:
-
-	XalanDOMString
-	getProgramName(const char* fullName);
-
-	/** 
-	* Utility methods used to collect information about compare failures.
-	* @returns void.
-	*/
-	void 
-	collectData(
-			const char*				errmsg,
-			const XalanDOMString&	currentnode,
-			const XalanDOMString&	actdata,
-			const XalanDOMString&	expdata);
-
-	/** 
-	* Utility methods used to report DOM compare errors.
-	* @returns void.
-	*/
-	void
-	reportError();
-
-#if defined(NDEBUG)
-	void
-	debugNodeData(const XalanDOMString&		/* value */) const
-	{
-	}
-
-	void
-	debugNodeData(
-			const XalanDOMString&	/* node */,
-			const XalanDOMString&	/* value */) const
-	{
-	}
-
-	void
-	debugAttributeData(const XalanDOMString&	/* value */) const
-	{
-	}
-
-#else
-
-	void
-	debugNodeData(const XalanDOMString&		value) const;
-
-	void
-	debugNodeData(
-			const XalanDOMString&	node,
-			const XalanDOMString&	value) const;
-
-	void
-	debugAttributeData(const XalanDOMString&	value) const;
-
-#endif
-
-};        // end of class FileUtility
-
-
-
-#endif
diff --git a/Tests/Harness/Harness.dsp b/Tests/Harness/Harness.dsp
deleted file mode 100644
index ff38d9f..0000000
--- a/Tests/Harness/Harness.dsp
+++ /dev/null
@@ -1,189 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Harness" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=Harness - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Harness.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Harness.mak" CFG="Harness - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Harness - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "Harness - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "Harness - Win32 Release with symbols" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Harness - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\Harness"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HARNESS_EXPORTS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HARNESS_EXPORTS" /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\Build\Win32\VC6\Release/Harness_1_4_0.dll" /implib:"..\..\Build\Win32\VC6\Release/Harness_1.lib"
-
-!ELSEIF  "$(CFG)" == "Harness - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\Harness"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HARNESS_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /Gf /Gy /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HARNESS_EXPORTS" /Yc /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /debug /machine:I386 /out:"..\..\Build\Win32\VC6\Debug/Harness_1_4_0D.dll" /implib:"..\..\Build\Win32\VC6\Debug/Harness_1D.lib" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "Harness - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Harness___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "Harness___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\Harness"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HARNESS_EXPORTS" /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HARNESS_EXPORTS" /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\PlatformSupport.lib ..\..\Build\Win32\VC6\Release\XalanDOM.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /machine:I386
-# SUBTRACT BASE LINK32 /debug
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /debug /machine:I386 /out:"..\..\Build\Win32\VC6\Release.symbols/Harness_1_4_0S.dll" /implib:"..\..\Build\Win32\VC6\Release.symbols/Harness_1S.lib"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Harness - Win32 Release"
-# Name "Harness - Win32 Debug"
-# Name "Harness - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\FileUtility.cpp
-
-!IF  "$(CFG)" == "Harness - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "Harness - Win32 Debug"
-
-# ADD CPP /YX
-
-!ELSEIF  "$(CFG)" == "Harness - Win32 Release with symbols"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\HarnessInit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLFileReporter.cpp
-
-!IF  "$(CFG)" == "Harness - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "Harness - Win32 Debug"
-
-# ADD CPP /YX
-
-!ELSEIF  "$(CFG)" == "Harness - Win32 Release with symbols"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\FileUtility.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\HarnessDefinitions.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\HarnessInit.hpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLFileReporter.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# Begin Source File
-
-SOURCE=..\Transperf\Transperf.dsp
-# End Source File
-# End Target
-# End Project
diff --git a/Tests/Harness/HarnessDefinitions.hpp b/Tests/Harness/HarnessDefinitions.hpp
deleted file mode 100644
index 49a9f17..0000000
--- a/Tests/Harness/HarnessDefinitions.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(HARNESSDEFINITIONS_HEADER_GUARD_1357924680)
-#define HARNESSDEFINITIONS_HEADER_GUARD_1357924680
-
-#include <Include/PlatformDefinitions.hpp>
-
-#if defined(HARNESS_EXPORTS)
-#	define HARNESS_API XALAN_PLATFORM_EXPORT
-#	define HARNESS_API_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-#else
-#	define HARNESS_API XALAN_PLATFORM_IMPORT
-#	define HARNESS_API_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-#endif
-
-
-#endif	// HARNESSDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/Tests/Harness/HarnessInit.cpp b/Tests/Harness/HarnessInit.cpp
deleted file mode 100644
index 0a9d9e7..0000000
--- a/Tests/Harness/HarnessInit.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- *
- */
-
-#include "HarnessInit.hpp"
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanDOM/XalanDOMInit.hpp>
-
-
-
-#include "FileUtility.hpp"
-
-
-
-static const XalanDOMInit*	s_xalanDOMInit = 0;
-
-HarnessInit::HarnessInit()
-{
-	assert(s_xalanDOMInit == 0);
-
-	XMLPlatformUtils::Initialize();
-
-	s_xalanDOMInit = new XalanDOMInit;
-
-	FileUtility::initialize();
-}
-
-
-
-HarnessInit::~HarnessInit()
-{
-	FileUtility::terminate();
-
-	delete s_xalanDOMInit;
-
-	s_xalanDOMInit = 0;
-
-	XMLPlatformUtils::Terminate();
-}
diff --git a/Tests/Harness/HarnessInit.hpp b/Tests/Harness/HarnessInit.hpp
deleted file mode 100644
index 7ca27ea..0000000
--- a/Tests/Harness/HarnessInit.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * FileUtility.hpp
- */
-#if !defined(HARNESSINIT_HEADER_GUARD_1357924690)
-#define HARNESSINIT_HEADER_GUARD_1357924690
-
-#include <Harness/HarnessDefinitions.hpp>
-
-
-
-// This class is exported from the Harness.dll
-class HARNESS_API HarnessInit 
-{
-public:
-
-	/** Simple constructor, performs initialization.  */
-	HarnessInit();
-
-	~HarnessInit();
-};
-
-
-
-#endif
diff --git a/Tests/Harness/XMLFileReporter.cpp b/Tests/Harness/XMLFileReporter.cpp
deleted file mode 100644
index 839047f..0000000
--- a/Tests/Harness/XMLFileReporter.cpp
+++ /dev/null
@@ -1,726 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- *
- */
-
-#include "XMLFileReporter.hpp" 
-
-
-
-#include <cstdlib>
-#include <ctime>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-const XalanDOMString  XMLFileReporter::OPT_FILENAME("filename");
-const XalanDOMString  XMLFileReporter::ELEM_RESULTSFILE("resultsfile");
-const XalanDOMString  XMLFileReporter::ELEM_TESTFILE("testfile");
-const XalanDOMString  XMLFileReporter::ELEM_FILERESULT("fileresult");
-const XalanDOMString  XMLFileReporter::ELEM_TESTCASE("Test_Dir");
-const XalanDOMString  XMLFileReporter::ELEM_CASERESULT("Dir-result");
-const XalanDOMString  XMLFileReporter::ELEM_CHECKRESULT("Testcase");
-const XalanDOMString  XMLFileReporter::ELEM_STATISTIC("statistic");
-const XalanDOMString  XMLFileReporter::ELEM_LONGVAL("longval");
-const XalanDOMString  XMLFileReporter::ELEM_DOUBLEVAL("doubleval");
-const XalanDOMString  XMLFileReporter::ELEM_MESSAGE("message");
-const XalanDOMString  XMLFileReporter::ELEM_ARBITRARY("arbitrary");
-const XalanDOMString  XMLFileReporter::ELEM_HASHTABLE("hashtable");
-const XalanDOMString  XMLFileReporter::ELEM_HASHITEM("hashitem");
-const XalanDOMString  XMLFileReporter::ATTR_LEVEL("level");
-const XalanDOMString  XMLFileReporter::ATTR_DESC("desc");
-const XalanDOMString  XMLFileReporter::ATTR_TIME("time");
-const XalanDOMString  XMLFileReporter::ATTR_RESULT("result");
-const XalanDOMString  XMLFileReporter::ATTR_KEY("key");
-const XalanDOMString  XMLFileReporter::ATTR_FILENAME = XMLFileReporter::OPT_FILENAME;
-
-const XalanDOMString XMLFileReporter::TESTCASEINIT_HDR("<" + ELEM_TESTCASE + " " + ATTR_DESC + "=\"");
-const XalanDOMString XMLFileReporter::TESTCASECLOSE_HDR("<" + ELEM_CASERESULT + " " + ATTR_DESC + "=\"");
-const XalanDOMString XMLFileReporter::MESSAGE_HDR("<" + ELEM_MESSAGE + " " + ATTR_LEVEL + "=\"");
-const XalanDOMString XMLFileReporter::STATISTIC_HDR("<" + ELEM_STATISTIC + " " + ATTR_LEVEL + "=\"");
-const XalanDOMString XMLFileReporter::ARBITRARY_HDR("<" + ELEM_ARBITRARY + " " + ATTR_LEVEL + "=\"");
-const XalanDOMString XMLFileReporter::HASHTABLE_HDR("<" + ELEM_HASHTABLE + " " + ATTR_LEVEL + "=\"");
-const XalanDOMString XMLFileReporter::HASHITEM_HDR("<" + ELEM_HASHITEM + " " + ATTR_KEY + "=\"");
-const XalanDOMString XMLFileReporter::CHECKPASS_HDR("<" + ELEM_CHECKRESULT + " " + ATTR_RESULT + "=\"" + "PASS" + "\" " + ATTR_DESC + "=\"");
-const XalanDOMString XMLFileReporter::CHECKAMBG_HDR("<" + ELEM_CHECKRESULT + " " + ATTR_RESULT + "=\"" + "AMBG" + "\" " + ATTR_DESC + "=\"");
-const XalanDOMString XMLFileReporter::CHECKERRR_HDR("<" + ELEM_CHECKRESULT + " " + ATTR_RESULT + "=\"" + "ERRR" + "\" " + ATTR_DESC + "=\"");
-const XalanDOMString XMLFileReporter::CHECKFAIL_HDR("<" + ELEM_CHECKRESULT + " " + ATTR_RESULT + "=\"" + "FAIL" + "\" " + ATTR_DESC + "=\"");
-const XalanDOMString XMLFileReporter::CHECKFAIL_FTR("</" + ELEM_CHECKRESULT + ">");
-
-
-XMLFileReporter::XMLFileReporter():
-	m_anyOutput(false),
-	m_fileName(""),
-	m_fileHandle(0),
-	m_ready(false),
-	m_error(false),
-	m_flushOnCaseClose(true)
-{        
-}
-
-
-
-XMLFileReporter::XMLFileReporter(const XalanDOMString& fileName):
-	m_anyOutput(false),
-	m_fileName(fileName),
-	m_fileHandle(0),
-	m_ready(false),
-	m_error(false),
-	m_flushOnCaseClose(true)
-{         
-    m_ready = initialize();
-}
-
-XMLFileReporter::XMLFileReporter(const char* fileName):
-	m_anyOutput(false),
-	m_fileName(XalanDOMString(fileName)),
-	m_fileHandle(0),
-	m_ready(false),
-	m_error(false),
-	m_flushOnCaseClose(true)
-{         
-    m_ready = initialize();
-}
-
-bool 
-XMLFileReporter::initialize()
-{   	
-    if (length(m_fileName) == 0)
-    {
-        // We don't have a valid file, so bail
-        m_error = true;
-        m_ready = false;
-        fprintf(stderr, "XMLFileReporter.initialize() ERROR: No file name specified");
-        return(false);
-    }
-
-	// Transcode down the file name...
-	const CharVectorType	theTranscodedFileName(m_fileName.transcode());
-	const char* const		theTranscodedFileNamePointer = &theTranscodedFileName.front();
-
-    // Create a file and ensure it has a place to live
-	m_fileHandle = fopen(theTranscodedFileNamePointer, "w");
-	if (m_fileHandle == 0)
-	{
-        // Couldn't create or find the directory for the file to live in, so bail
-        m_error = true;
-        m_ready = false;
-        fprintf(stderr, "XMLFileReporter.initialize() ERROR: unble to open file, %s", theTranscodedFileNamePointer);
-        return(false);
-	}
-
-    m_ready = true;
-    startResultsFile();
-    // fprintf(stderr, "DEBUG:XMLFileReporter.initialize() complete with " + fileName);
-
-    return m_ready;
-}
-
-
-
-bool
-XMLFileReporter::getFlushOnCaseClose()
-{
-    return(m_flushOnCaseClose);
-}
-
-
-
-const XalanDOMString& 
-XMLFileReporter::getFileName() const
-{
-    return(m_fileName);
-}
-
-
-
-void 
-XMLFileReporter::setFileName(const XalanDOMString& fileName)
-{
-	m_fileName = fileName;
-}
-
-
-
-bool 
-XMLFileReporter::checkError()
-{
-    // Ensure our underlying reporter, if one, is still OK
-    if (m_fileHandle == 0)            
-    {            
-        m_error = true;        
-    }
-    return(m_error);
-}
-
-
-
-bool 
-XMLFileReporter::isReady() 
-{
-    // Ensure our underlying reporter, if one, is still OK
-    if (m_fileHandle == 0) 
-    {
-        // NEEDSWORK: should we set m_ready = false in this case?
-        //            errors in the PrintStream are not necessarily fatal
-        m_error = true;
-        m_ready = false;
-    }
-    return(m_ready);
-}
-
-
-
-void 
-XMLFileReporter::flush()
-{
-    if (isReady())
-    {
-		fflush(m_fileHandle);
-    }
-}
-
-
-
-void 
-XMLFileReporter::close()
-{
-    fflush(m_fileHandle);
-    if (isReady()) 
-    {
-		if (m_fileHandle != 0)
-		{
-			closeResultsFile();
-			fclose(m_fileHandle);
-		}
-    }
-    m_ready = false;
-}
-
-
-
-void 
-XMLFileReporter::logTestFileInit(const XalanDOMString& msg)
-{
-    if (isReady())
-    {
-        printToFile("<" + ELEM_TESTFILE 
-                              + " " + ATTR_DESC + "=\"" + escapestring(msg) + "\" " + ATTR_TIME + "=\"" + getDateTimeString() + "\">");
-    }
-}
-
-
-
-void 
-XMLFileReporter::logTestFileClose(const XalanDOMString& /* msg */, const XalanDOMString& /* result */)
-{
-    if (isReady())
-    {
-//        printToFile("<" + ELEM_FILERESULT 
-//                             + " " + ATTR_DESC + "=\"" + escapestring(msg) + "\" " + ATTR_RESULT + "=\"" + result + "\" " + ATTR_TIME + "=\"" + getDateTimeString() + "\"/>");
-        printToFile("</" + ELEM_TESTFILE + ">");
-    }
-    flush();
-}
-
-
-
-void 
-XMLFileReporter::logTestCaseInit(const XalanDOMString& msg)
-{
-    if (isReady())
-    {
-        printToFile(TESTCASEINIT_HDR + escapestring(msg) + "\">");
-    }
-}
-
-
-
-void 
-XMLFileReporter::logTestCaseClose(const XalanDOMString& /* msg */, const XalanDOMString& /* result */)
-{
-    if (isReady())
-    {
-        //printToFile(TESTCASECLOSE_HDR + escapestring(msg) + "\" " + ATTR_RESULT + "=\"" + result + "\"/>");
-        printToFile("</" + ELEM_TESTCASE + ">");
-    }
-    if (getFlushOnCaseClose())
-    {
-        flush();
-    }
-}
-
-
-
-void 
-XMLFileReporter::logMessage(int level, const XalanDOMString& msg)
-{
-	char tmp[20];
-	sprintf(tmp, "%d", level);
-
-    if (isReady())
-    {
-        printToFile(MESSAGE_HDR + tmp + "\">");
-        printToFile(escapestring(msg));
-        printToFile("</" + ELEM_MESSAGE +">");
-    }
-}
-
-void XMLFileReporter::addMetricToAttrs(char* desc, double theMetric, Hashtable& attrs)
-{
-	XalanDOMString	temp;
-
-	DoubleToDOMString(theMetric, temp);
-	attrs.insert(Hashtable::value_type(XalanDOMString(desc), temp));
-
-	return;
-}
-
-void 
-XMLFileReporter::logElementWAttrs(int /* level */, const XalanDOMString& element, Hashtable attrs, const XalanDOMString& msg)
-{
-	if (isReady() && !element.empty()&& !attrs.empty())
-    {
-//		char tmp[20];
-//		sprintf(tmp, "%d", level);
-//
-//		Took out this level attribute cuz we don't use it.
-//      printToFile("<" + element + " " + ATTR_LEVEL + "=\""
-//                      + tmp + "\"");
-        printToFile("<" + element + " ");
-	
-		Hashtable::iterator theEnd = attrs.end();	
-    
-       	for(Hashtable::iterator i = attrs.begin(); i != theEnd; ++i)
-        {            
-			
-            printToFile((*i).first + "=\""
-                                  + (*i).second + "\"");
-        }
-
-        printToFile(XalanDOMString(">"));
-        if (msg.empty() != 0)
-            printToFile(escapestring(msg));
-        printToFile("</" + element + ">");
-    }
-}
-
-void 
-XMLFileReporter::logElement(const XalanDOMString& element, const XalanDOMString& msg)
-{
-	if (isReady() && !element.empty() && !msg.empty())
-    {
-		printToFile("<" + element + ">");
-		printToFile(escapestring(msg));
-		printToFile("</" + element + ">");
-    }
-}
-
-void 
-XMLFileReporter::logStatistic (int level, long lVal, double dVal, const XalanDOMString& msg)
-{
-	if (isReady())
-    {
-		char tmp[40];
-
-		sprintf(tmp, "%d", level);
-        printToFile(STATISTIC_HDR + tmp + "\" " + ATTR_DESC + "=\"" + escapestring(msg) + "\">");
-		
-		sprintf(tmp, "%ld", lVal);
-		printToFile("<" + ELEM_LONGVAL + ">" + tmp + "</" + ELEM_LONGVAL + ">");
-		
-		sprintf(tmp, "%f", dVal);
-        printToFile("<" + ELEM_DOUBLEVAL + ">" + tmp + "</" + ELEM_DOUBLEVAL + ">");
-        
-		printToFile("</" + ELEM_STATISTIC + ">");
-		
-    }
-}
-
-
-
-void 
-XMLFileReporter::logArbitraryMessage (int level, const XalanDOMString& msg)
-{
-	char tmp[20];
-	sprintf(tmp, "%d", level);
-
-    if (isReady())
-    {            
-		printToFile(ARBITRARY_HDR + tmp + "\">");
-        printToFile(escapestring(msg));
-        printToFile("</" + ELEM_ARBITRARY +">");
-    }
-}
-
-/*
-void logHashtable (int level, Hashtable hash, XalanDOMString msg)
-{
-    if (isReady())
-    {
-        printToFile(HASHTABLE_HDR + level + "\" " + ATTR_DESC + "=\"" + msg + "\">");
-        if (hash == null)
-        {
-            printToFile("<" + ELEM_HASHITEM + " " + ATTR_KEY + "=\"null\">");
-            printToFile("</" + ELEM_HASHITEM + ">");
-        }
-        try
-        {
-            for (Enumeration enum = hash.keys(); enum.hasMoreElements();)
-            {
-                Object key = enum.nextElement();
-                // Ensure we'll have clean output by pre-fetching value before outputting anything
-                XalanDOMString value = hash.get(key).tostring();
-                printToFile(HASHITEM_HDR + key.tostring() + "\">");
-                printToFile(value);
-                printToFile("</" + ELEM_HASHITEM + ">");
-            }
-        } 
-        catch (Exception e)
-        {
-            // No-op: should ensure we have clean output
-        }
-        printToFile("</" + ELEM_HASHTABLE +">");
-    }
-}
-*/
-
-
-
-void 
-XMLFileReporter::logCheckPass(const XalanDOMString& comment)
-{
-    if (isReady())
-    {
-        printToFile(CHECKPASS_HDR + escapestring(comment) + "\"/>");
-    }
-}
-
-
-void 
-XMLFileReporter::logCheckFail(const XalanDOMString& comment)
-{
-    if (isReady())
-    {
-        printToFile(CHECKFAIL_HDR + escapestring(comment) + "\"/>");
-
-    }
-}
-
-
-void 
-XMLFileReporter::logCheckFail(const XalanDOMString& test, Hashtable actexp)
-{
-    if (isReady())
-    {
-        printToFile(CHECKFAIL_HDR + escapestring(test) + "\"");
-
-		printToFile(XalanDOMString(">"));
-		
-		Hashtable::iterator aeEnd = actexp.end();
-       	for(Hashtable::iterator ii = actexp.begin(); ii != aeEnd; ++ii)
-        {            
-			logElement((*ii).first, (*ii).second);
-        }
-
-		printToFile(CHECKFAIL_FTR);
-    }
-}
-
-void 
-XMLFileReporter::logCheckFail(const XalanDOMString& test, Hashtable attrs, Hashtable actexp)
-{
-    if (isReady())
-    {
-        printToFile(CHECKFAIL_HDR + escapestring(test) + "\"");
-
-		Hashtable::iterator fdEnd = attrs.end();	
-       	for(Hashtable::iterator i = attrs.begin(); i != fdEnd; ++i)
-        {            
-            printToFile((*i).first + "=\""
-                                  + (*i).second + "\"");
-        }
-
-		printToFile(XalanDOMString(">"));
-		
-		Hashtable::iterator aeEnd = actexp.end();
-       	for(Hashtable::iterator ii = actexp.begin(); ii != aeEnd; ++ii)
-        {            
-			logElement((*ii).first, (*ii).second);
-        }
-
-		printToFile(CHECKFAIL_FTR);
-    }
-}
-
-void 
-XMLFileReporter::logCheckAmbiguous(const XalanDOMString& comment)
-{
-    if (isReady())
-    {
-        printToFile(CHECKAMBG_HDR + escapestring(comment) + "\"/>");
-    }
-}
-
-
-void 
-XMLFileReporter::logErrorResult(const XalanDOMString& test, const XalanDOMString& reason)
-{
-    if (isReady())
-    {
-        printToFile(CHECKFAIL_HDR + escapestring(test) + "\" " + XalanDOMString("reason=\"") + escapestring(reason)  + "\"/>");
-
-    }
-}
-
-
-void 
-XMLFileReporter::logCheckErr(const XalanDOMString& comment)
-{
-    if (isReady())
-    {
-        printToFile(CHECKERRR_HDR + escapestring(comment) + "\"/>");
-    }
-}
-
-
-
-static const XalanDOMChar	theAmpersandString[] =
-{
-	XalanUnicode::charAmpersand,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charSemicolon,
-	0
-};
-
-
-
-static const XalanDOMChar	theApostropheString[] =
-{
-	XalanUnicode::charAmpersand,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charSemicolon,
-	0
-};
-
-
-
-static const XalanDOMChar	theLessThanString[] =
-{
-	XalanUnicode::charAmpersand,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charSemicolon,
-	0
-};
-
-
-
-static const XalanDOMChar	theGreaterThanString[] =
-{
-	XalanUnicode::charAmpersand,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charSemicolon,
-	0
-};
-
-
-
-static const XalanDOMChar	theQuoteString[] =
-{
-	XalanUnicode::charAmpersand,
-	XalanUnicode::charLetter_q,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charSemicolon,
-	0
-};
-
-
-
-XalanDOMString
-XMLFileReporter::escapestring(const XalanDOMString&  s)
-{
-    XalanDOMString		sb;
-
-    const XalanDOMString::size_type		length = s.length();
-
-	sb.reserve(length);
-
-    for (XalanDOMString::size_type i = 0; i < length; i++)
-    {
-        const XalanDOMChar	ch = charAt(s, i);
-
-        if (XalanUnicode::charLessThanSign == ch)
-        {
-			append(sb, theLessThanString);
-        }
-        else if (XalanUnicode::charGreaterThanSign == ch)
-        {
-			append(sb, theGreaterThanString);
-        }
-		else if (XalanUnicode::charAmpersand == ch) 
-		{
-			append(sb, theAmpersandString);
-		}
-		else if (XalanUnicode::charQuoteMark == ch) 
-		{
-			append(sb, theQuoteString);
-		}
-		else if (XalanUnicode::charApostrophe == ch) 
-		{
-			append(sb, theApostropheString);
-		}
-        else
-        {
-            append(sb, ch);
-        }
-    }
-
-	return sb;
-}
-
-
-
-bool 
-XMLFileReporter::startResultsFile()
-{
-    if (isReady())
-    {
-        // Write out XML header and root test result element
-        printToFile(XalanDOMString("<?xml version=\"1.0\"?>"));
-
-        // Note: this tag is closed in our .close() method, which the caller had better call!
-        printToFile("<" + ELEM_RESULTSFILE + " " + ATTR_FILENAME + "=\"" + m_fileName + "\">");
-
-        return true;
-    }
-    else
-	{
-        return false;
-	}
-}
-
-
-
-bool 
-XMLFileReporter::closeResultsFile()
-{
-    if (isReady() == false)
-	{
-        return false;
-	}
-	else
-    {            
-		printToFile("</" + ELEM_RESULTSFILE + ">");
-        return true;
-    }
-}
-
-
-bool 
-XMLFileReporter::printToFile(const XalanDOMString&	output) 
-{
-    if (isReady() == false)
-	{
-		return false;
-	}
-	else
-    {
-		CharVectorType	theResult(TranscodeToLocalCodePage(output));
-
-		if(!theResult.size())
-		{
-			fputs("Error transcoding text to local codepage", m_fileHandle);
-		}
-		else 
-		{
-			fputs(c_str(theResult), m_fileHandle);
-		}
-
-		fputs("\n", m_fileHandle);
-
-        return true;
-    }
-}
-
-
-
-XalanDOMString 
-XMLFileReporter::getDateTimeString() 
-{
-	struct tm *tmNow;
-	time_t time_tNow;
-
-	time(&time_tNow);     
-	tmNow = localtime(&time_tNow);
-	
-	const char* const	theTime = asctime(tmNow);
-
-	return XalanDOMString(theTime, strlen(theTime) - 1);
-}
diff --git a/Tests/Harness/XMLFileReporter.hpp b/Tests/Harness/XMLFileReporter.hpp
deleted file mode 100644
index 8102f80..0000000
--- a/Tests/Harness/XMLFileReporter.hpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- *
- */
-#if !defined(HARNESS_HEADER_GUARD_1357924680)
-#define HARNESS_HEADER_GUARD_1357924680
-
-
-
-#include <Harness/HarnessDefinitions.hpp>
-
-
-
-#include <map>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-/**
- * Reporter that saves output to a simple XML-format file.  
- * @author Shane_Curcuru@lotus.com
- * @version $Id$
- */
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString, XalanDOMString, less<XalanDOMString> >	Hashtable;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>	Hashtable;
-#endif
-
-
-// This class is exported from the Harness.dll
-class HARNESS_API XMLFileReporter 
-{
-
-
-public:
-
-
-	// Simple constructor, does not perform initialization.
-	XMLFileReporter();   
-
-
-	// Construct and initialize this reporter with specified filename.
-	XMLFileReporter(const XalanDOMString& fileName);
-
-	// Construct and initialize this reporter with specified filename.
-	XMLFileReporter(const char* fileName);
-
-	// Initialize this XMLFileReporter.  Must be called before attempting to log anything.
-	bool initialize();
-
-	// Accessor for flushing; is set from properties.
-	bool getFlushOnCaseClose();
-
-	// Accessor methods for our properties block.
-	const XalanDOMString& getFileName() const;
-
-	// Accessor methods for our properties block.
-	void setFileName(const XalanDOMString& fileName);
-
-	// Accessor methods for our properties block.
-	void setFileName(const char* fileName)
-	{
-		setFileName(XalanDOMString(fileName));
-	}
-
-	//
-	// Is this Reporter still running OK?  
-	// @returns status - true if an error has occoured, false if it's still working fine
-	// <P>XMLFileReporter should just about never have errors.</P>
-	bool checkError();
-
-	  
-	//
-	// Is this Reporter ready to log results?  
-	// @returns status - true if it's ready to report, false otherwise
-	bool isReady();
-
-	// Flush this reporter - ensure our File is flushed.
-	void flush();
-
-
-	// Close this reporter - ensure our File, etc. are closed.
-	void close();
-
-	//-----------------------------------------------------
-	//-------- Testfile / Testcase start and stop routines --------
-	//-----------------------------------------------------
-
-	/**
-	* Report that a testfile has started.  
-	* @param msg message to log out
-	*/
-	void logTestFileInit(const XalanDOMString& msg);
-
-	void logTestFileInit(const char*	msg)
-	{
-		logTestFileInit(XalanDOMString(msg));
-	}
-
-	/**
-	* Report that a testfile has finished, and report it's result.  
-	* @param msg message to log out
-	* @param result result of testfile
-	*/
-	void logTestFileClose(const XalanDOMString& msg, const XalanDOMString& result);
-
-	void logTestFileClose(const char* msg, const char* result)
-	{
-		logTestFileClose(XalanDOMString(msg), XalanDOMString(result));	
-	}
-
-	void logTestCaseInit(const XalanDOMString& msg);
-
-	void logTestCaseInit(const char*	msg)
-	{
-		logTestCaseInit(XalanDOMString(msg));
-	}
-
-	/**
-	* Report that a testcase has finished, and report it's result.  
-	* @param msg message to log out
-	* @param result result of testfile
-	*/
-	void logTestCaseClose(const XalanDOMString& msg, const XalanDOMString& result);
-
-	void logTestCaseClose(const char* msg, const char* result)
-	{
-		logTestCaseClose(XalanDOMString(msg), XalanDOMString(result));
-	}
-	//-----------------------------------------------------
-	//-------- Test results reporting and logging routines --------
-	//-----------------------------------------------------
-
-
-	/**
-	* Report a comment to result file with specified severity.  
-	* <P>Record format: &lt;message level="##"&gt;msg&lt;/message&gt;</P>
-	* @param level severity or class of message.
-	* @param msg comment to log out.
-	*/
-	void logMessage(int level, const XalanDOMString& msg);
-
-	/**
-	* Logs out statistics to result file with specified severity.  
-	* <P>Record format: &lt;statistic level="##" desc="msg"&gt;&lt;longval&gt;1234&lt;/longval&gt;&lt;doubleval&gt;1.234&lt;/doubleval&gt;&lt;/statistic&gt;</P>
-	* @param level severity of message.
-	* @param lVal statistic in long format.
-	* @param dVal statistic in double format.
-	* @param msg comment to log out.
-	*/
-	void logStatistic (int level, long lVal, double dVal, const XalanDOMString& msg);
-
-	void logStatistic (int level, long lVal, double dVal, const char*	msg)
-	{
-		logStatistic(level, lVal, dVal, XalanDOMString(msg));
-	}
-
-	// This routine will add an attribute to the attribute list.
-	void addMetricToAttrs(char* desc, double theMetric, Hashtable& attrs);
-
-	/**
-    * Logs out a element to results with specified severity.
-    * Uses user-supplied element name and attribute list.  Currently
-    * attribute values and msg are forced .toString().  Also,
-    * 'level' is forced to be the first attribute of the element.
-    * @param level severity of message.
-    * @param element name of enclosing element
-    * @param attrs hash of name=value attributes; note that the
-    * caller must ensure they're legal XML
-	* @param msg comment to log out.
-	*/
-	void logElementWAttrs(int level, const XalanDOMString& element, Hashtable attrs, const XalanDOMString& msg);
-
-	void logElementWAttrs(int level,  const char* element, Hashtable attrs, const char* msg)
-	{
-		logElementWAttrs(level, XalanDOMString(element), attrs, XalanDOMString(msg));
-	}
-
-	void logElement(int level, const XalanDOMString& element, const XalanDOMString& msg);
-
-	void logElement(const XalanDOMString& element, const XalanDOMString& msg);
-	/**
-	* Report an arbitrary XalanDOMString to result file with specified severity.  
-	* <P>Appends and prepends \\n newline characters at the start and 
-	* end of the message to separate it from the tags.</P>
-	* <P>Record format: &lt;arbitrary level="##"&gt;<BR/>
-	* msg<BR/>
-	* &lt;/arbitrary&gt;
-	* </P>
-	* @param level severity or class of message.
-	* @param msg arbitrary XalanDOMString to log out.
-	*/
-	void logArbitraryMessage (int level, const XalanDOMString& msg);
-
-	/**
-	* Report a complete Hashtable to result file with specified severity.  
-	* <P>Indents each hashitem within the table.</P>
-	* <P>Record format: &lt;hashtable level="##" desc="msg"/&gt;<BR/>
-	* &nbsp;&nbsp;&lt;hashitem key="key1"&gt;value1&lt;/hashitem&gt;<BR/>
-	* &nbsp;&nbsp;&lt;hashitem key="key2"&gt;value2&lt;/hashitem&gt;<BR/>
-	* &lt;/hashtable&gt;
-	* </P>
-	* @param level severity or class of message.
-	* @param hash Hashtable to log the contents of. 
-	* @param msg decription of the Hashtable.
-	*/
-	/*
-	void logHashtable (int level, Hashtable hash, const XalanDOMString& msg);
-	*/
-
-	/**
-	* Writes out a Pass record with comment.  
-	* <P>Record format: &lt;checkresult result="PASS" desc="comment"/&gt;</P>
-	* @param comment comment to log with the pass record.
-	*/
-	void logCheckPass(const XalanDOMString& comment);
-
-	/**
-	* Writes out an ambiguous record with comment.  
-	* <P>Record format: &lt;checkresult result="AMBG" desc="comment"/&gt;</P>
-	* @param comment comment to log with the ambg record.
-	*/
-	void logCheckAmbiguous(const XalanDOMString& comment);
-
-	/**
-	* Writes out a Fail record with comment.  
-	* <P>Record format: &lt;checkresult result="FAIL" desc="comment"/&gt;</P>
-	* @param comment comment to log with the fail record.
-	*/
-	void logCheckFail(const XalanDOMString& comment);
-
-	void logCheckFail(const XalanDOMString& test, Hashtable faildata, Hashtable actexp);
-
-	void logCheckFail(const XalanDOMString& test, Hashtable actexp);
-
-	void logErrorResult(const XalanDOMString& test, const XalanDOMString& reason);
-
-	/**
-	* Writes out a Error record with comment.  
-	* <P>Record format: &lt;checkresult result="ERRR" desc="comment"/&gt;</P>
-	* @param comment comment to log with the error record.
-	*/
-	void logCheckErr(const XalanDOMString& comment);
-
-	/**
-	* Escapes a XalanDOMString to remove < and > so it's valid XML.  
-	* <P>Stolen mostly from Xalan applet sample.</P>
-	* @param s XalanDOMString to escape.
-	* @return XalanDOMString that has been escaped.
-	*/
-	XalanDOMString escapestring(const XalanDOMString& s);
-
-
-private:
-
-	/**
-	* worker method to dump the xml header and open the resultsfile element.  
-	*/
-	bool startResultsFile();
-
-	/**
-	* worker method to close the resultsfile element.  
-	*/
-	bool closeResultsFile();
-
-	/**
-	* worker method to prints to the resultsfile.  
-	*/
-	bool printToFile(const XalanDOMString& output);
-
-	/**
-	* worker method to prints to the resultsfile.  
-	*/
-	XalanDOMString getDateTimeString();
-	
-	/** Key for Properties block that denotes our output filename.  */
-	static const XalanDOMString OPT_FILENAME;
-
-	/** XML tagnames for results file structure.  */
-	static const XalanDOMString ELEM_RESULTSFILE;
-	static const XalanDOMString ELEM_TESTFILE;
-	static const XalanDOMString ELEM_FILERESULT;
-	static const XalanDOMString ELEM_TESTCASE;
-	static const XalanDOMString ELEM_CASERESULT;
-	static const XalanDOMString ELEM_CHECKRESULT;
-	static const XalanDOMString ELEM_STATISTIC;
-	static const XalanDOMString ELEM_LONGVAL;
-	static const XalanDOMString ELEM_DOUBLEVAL;
-	static const XalanDOMString ELEM_MESSAGE;
-	static const XalanDOMString ELEM_ARBITRARY;
-	static const XalanDOMString ELEM_HASHTABLE;
-	static const XalanDOMString ELEM_HASHITEM;
-
-	/** XML attribute names for results file structure.  */
-	static const XalanDOMString ATTR_LEVEL;
-	static const XalanDOMString ATTR_DESC;
-	static const XalanDOMString ATTR_TIME;
-	static const XalanDOMString ATTR_RESULT;
-	static const XalanDOMString ATTR_KEY;
-	static const XalanDOMString ATTR_FILENAME;
-
-	/** 
-	* Optimization: for heavy use methods, form pre-defined constants to save on XalanDOMString concatenation.  
-	* <P>Note the indent; must be updated if we ever switch to another indenting method.</P>
-	*/
-	static const XalanDOMString TESTCASEINIT_HDR;
-	static const XalanDOMString TESTCASECLOSE_HDR;
-	static const XalanDOMString MESSAGE_HDR;
-	static const XalanDOMString STATISTIC_HDR;
-	static const XalanDOMString ARBITRARY_HDR;
-	static const XalanDOMString HASHTABLE_HDR;
-	static const XalanDOMString HASHITEM_HDR;
-	static const XalanDOMString CHECKPASS_HDR;
-	static const XalanDOMString CHECKAMBG_HDR;
-	static const XalanDOMString CHECKERRR_HDR;
-	static const XalanDOMString CHECKFAIL_HDR;
-	static const XalanDOMString CHECKFAIL_FTR;
-
-	/** If we have output anything yet.  */
-	bool m_anyOutput;
-
-	/** Name of the file we're outputing to.  */
-	XalanDOMString m_fileName;
-
-	/** File reference and other internal convenience variables.  */
-	FILE* m_fileHandle;
-
-	/** If we're ready to start outputting yet.  */
-	bool m_ready;
-
-	/** If an error has occoured in this Reporter.  */
-	bool m_error;
-
-	/** If we should flush after every logTestCaseClose.  */
-	bool m_flushOnCaseClose;
-
-};        // end of class XMLFileReporter
-
-
-
-#endif
diff --git a/Tests/InputSource/inputsource.cpp b/Tests/InputSource/inputsource.cpp
deleted file mode 100644
index f313a09..0000000
--- a/Tests/InputSource/inputsource.cpp
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-#include <vector>
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-// XERCES HEADERS...
-#include <xercesc/parsers/DOMParser.hpp>
-
-
-// XALAN HEADERS...
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-#include <XSLT/XSLTEngineImpl.hpp>
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-#include <XalanTransformer/XercesDOMWrapperParsedSource.hpp>
-
-// HARNESS HEADERS...
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-
-	
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-				<< "inputsource dirname [-out]"
-				<< endl
-				<< endl
-				<< "dirname		(base directory for testcases)"
-				<< endl
-				<< "-out dirname	(base directory for output)"
-				<< endl;
-}
-
-// TestCase1 will use the following method of XSLTInputSource
-//		- XSLTInputSource(const XMLCh* systemId)
-//		- XSLTInputSource(const XMLCh* systemId,
-//						  const XMLCh* publicId)
-void
-testCase1(
-			XalanTransformer&		xalan,
-			XMLFileReporter&		logFile, 
-			const XalanDOMString&	xml,
-			const XalanDOMString&	xsl, 
-			const XalanDOMString&	outBase,
-			const XalanDOMString&	theGoldFile,
-			FileUtility&			h)
-{
-	const XalanDOMString	publicID("public-smublic");
-
-	const XalanDOMString	theOutputFile = outBase + XalanDOMString("\\InputSource-TestCase1.out");
-	const XSLTResultTarget	theResultTarget(theOutputFile);
-
-	h.data.testOrFile = "InputSource-TestCase1";
-
-	// This code exercised the stated methods of XSLTInputSource
-	const XSLTInputSource	xmlInputSource(c_wstr(xml));
-	const XSLTInputSource	xslInputSource(c_wstr(xsl), c_wstr(publicID));
-
-	// Do the transform and report the results.
-	xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-}
-
-
-// TestCase2 will use the following methods of XSLTInputSource
-//		- XSLTInputSource(const char* systemId)
-//		- XSLTInputSource(const char* systemId,
-//						  const char* publicId)
-void
-testCase2(
-			XalanTransformer&		xalan,
-			XMLFileReporter&		logFile, 
-			const XalanDOMString&	outBase,
-			const XalanDOMString&	theGoldFile,
-			FileUtility&			h)
-
-{
-	const XalanDOMString	theOutputFile = outBase + XalanDOMString("\\InputSource-TestCase2.out");
-	const XSLTResultTarget	theResultTarget2(theOutputFile);
-
-	h.data.testOrFile = "InputSource-TestCase2";
-
-	// This code excersized the stated methods of XSLTInputSource
-	const XSLTInputSource	xslStringSource("\\xml-xalan\\test\\tests\\capi\\smoke\\smoke01.xsl","public-smublic");
-	const XSLTInputSource	xmlStringSource("\\xml-xalan\\test\\tests\\capi\\smoke\\smoke01.xml");
-
-
-	// Do the transform and report the results.
-	xalan.transform(xmlStringSource, xslStringSource, theResultTarget2);
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-
-}
-
-// TestCase3 will use the following methods of XSLTInputSource
-//		- XSLTInputSource()
-//		- XSLTInputSource(XalanNode* node)
-//		- XSLTInputSource::setNode(XalanNode* node)
-//		- XSLTInputSource::getNode()
-//		- NOTE:  We can't use the XalanTransformer Class with this test. So we create the processor directly.
-
-void testCase3(
-			XMLFileReporter&		logFile, 
-			const XalanDOMString&	outBase,
-			const XalanDOMString&	theGoldFile,
-			FileUtility&			h)
-{
-	XalanDOMString			name, value;	
-
-	const XalanDOMString	theOutputFile = outBase + XalanDOMString("\\InputSource-TestCase3.out");
-	XSLTResultTarget		theResultTarget3(theOutputFile);
-
-	h.data.testOrFile = "InputSource-TestCase3a";
-
-	// Create necessary Infrastructure to perform transform without the XalanTransformer Class.
-	// Can't use it because it doesn't take a DOM.
-	XalanSourceTreeDOMSupport		domSupport;
-	XalanSourceTreeParserLiaison	parserLiaison(domSupport);
-	domSupport.setParserLiaison(&parserLiaison);
-
-	XSLTProcessorEnvSupportDefault	envSupport;
-	XObjectFactoryDefault			xObjectFactory;
-	XPathFactoryDefault				xPathFactory;
-	
-	// Create a processor and connect to ProcessorEnvSupport object
-	XSLTEngineImpl	theProcessor(parserLiaison,
-							envSupport,
-							domSupport,
-							xObjectFactory,
-							xPathFactory);
-
-	// Hook up the processor the the support object.
-	envSupport.setProcessor(&theProcessor);
-
-	// Create separate factory support object, so the stylesheet's
-	// factory-created XPath instance are independent from processor's.
-	XPathFactoryDefault		ssXPathFactory;
-
-	// Create a stylesheet construction context, using the
-	// stylesheet's factory support objects.
-	StylesheetConstructionContextDefault constContext(	theProcessor,
-														envSupport,
-														ssXPathFactory);
-
-	StylesheetExecutionContextDefault	execuContext(
-											theProcessor,
-											envSupport,
-											domSupport,
-											xObjectFactory);
-
-	// Create the XSL Input Source
-	const XSLTInputSource	xslStringSource("\\xml-xalan\\test\\tests\\capi\\smoke\\smoke01.xsl");
-
-	XalanDocument* const	domXSL = parserLiaison.parseXMLStream(xslStringSource);
-
-	// Here is one of the tests. It will be verified when we do the transform.
-	XSLTInputSource	xslXalanNode(domXSL);
-
-	// Set the system ID, so relative URIs are resolved properly...
-	xslXalanNode.setSystemId(xslStringSource.getSystemId());
-
-	XalanNode	*theNode, *firstChild;
-
-	// Here is another test 
-	theNode = xslXalanNode.getNode();
-
-	firstChild = theNode->getFirstChild();
-	value = firstChild->getNodeValue();
-
-	h.checkAPIResults(value, XalanDOMString(" This is THE Smoke Test "), "XSLTInputSource.getNode()", logFile,
-							theOutputFile, theGoldFile);
-
-	// Create the XML Input Source
-	const XSLTInputSource	xmlStringSource("\\xml-xalan\\test\\tests\\capi\\smoke\\smoke01.xml");
-
-	XalanDocument* const	domXML = parserLiaison.parseXMLStream(xmlStringSource);
-
-	// Here is the final test. It too will be verified when we do the transform.
-	XSLTInputSource	xmlXalanNode;
-	xmlXalanNode.setNode(domXML);
-
-	// Do the transform and report the results. 
-	theProcessor.process(xmlXalanNode,		//inputSource, 
-			        	xslXalanNode,		//stylesheetSource,
-				    	theResultTarget3,	//outputTarget,
-						constContext,
-						execuContext);
-
-	// Reset testcase name
-	h.data.testOrFile = "InputSource-TestCase3b";
-	h.checkResults(theOutputFile, 
-					  theGoldFile, 
-					  logFile);
-}
-
-// TestCase4 will use the following API.  Default constructor of XSLTInputSource will take a string.
-//		- XSLTInputSource(const char*)
-//		- XSLTInputSource(const char*)
-void testCase4(
-			XalanTransformer&		xalan,
-			XMLFileReporter&		logFile, 
-			const XalanDOMString&	outBase,
-			const XalanDOMString&	theGoldFile,
-			FileUtility&			h)
-{
-
-	const XalanDOMString theOutputFile = outBase + XalanDOMString("\\InputSource-TestCase4.out");
-
-	XSLTResultTarget theResultTarget(theOutputFile);
-
-	h.data.testOrFile = "InputSource-TestCase4";
-
-	// This code exercises the stated methods of XSLTInputSource
-	// Do the transform and report the results.
-	xalan.transform("\\xml-xalan\\test\\tests\\capi\\smoke\\smoke01.xml", 
-					"\\xml-xalan\\test\\tests\\capi\\smoke\\smoke01.xsl",
-					theResultTarget);
-
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-}
-
-// TestCase5 uses XercesDOMWrapperParsedSource class to wrap a xerces generated dom. 
-//
-void 
-testCase5(
-			XalanTransformer&		xalan,
-			XMLFileReporter&		logFile,
-			const XalanDOMString&	xml,
-			const XalanDOMString&	xsl,
-			const XalanDOMString&	outBase,
-			const XalanDOMString&	theGoldFile,
-			FileUtility&			h)
-{
-	h.data.testOrFile = "InputSource-TestCase5";
-	const XSLTInputSource	xmlInputSource(c_wstr(xml));
-		 
-	DOMParser  theParser;
-	theParser.setToCreateXMLDeclTypeNode(false);
-	theParser.parse(xmlInputSource);
-	const DOM_Document theDOM = theParser.getDocument();
-
-	XercesDOMSupport	theDOMSupport;
-	XercesParserLiaison theParserLiaison(theDOMSupport);
-
-	// This is the wrapper class for Xerces DOM. 
-	const XercesDOMWrapperParsedSource	xmlDocWrapper(theDOM, 
-													 theParserLiaison, 
-													 theDOMSupport, 
-													 xml);
-
-	const XalanDOMString theOutputFile(outBase + XalanDOMString("\\InputSource-TestCase5.out"));
-
-	const XSLTInputSource	xslInputSource(c_wstr(xsl));
-	const XSLTResultTarget	theResultTarget(theOutputFile);
-
-	// Do the transform and report the results.
-	xalan.transform(xmlDocWrapper, xslInputSource, theResultTarget);
-
-	h.checkResults(theOutputFile, theGoldFile, logFile);
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit		xmlPlatformUtils;
-
-	FileUtility		h;
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	setHelp(h);
-
-	if (h.getParams(argc, argv, "INPUTSOURCE-RESULTS") == true)
-	{
-		// Call the static initializers...
-		XalanTransformer::initialize();
-
-		// Generate and Initialize Unique result logfile, and get drive designation
-		//
-		const XalanDOMString UniqRunid = h.generateUniqRunid();
-		const XalanDOMString drive(h.getDrive());
-		const XalanDOMString  resultFilePrefix("isource");
-		const XalanDOMString  resultsFile(drive + h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-			
-		XMLFileReporter	logFile(resultsFile);
-		logFile.logTestFileInit("XSLTInputSource Testing: Give various types of allowable Inputs. ");
-
-		try
-		{
-			// Call the static initializers...
-			//
-			XalanTransformer xalan;
-
-			{
-				XalanDOMString		fileName;
-					
-				// Get testfiles from the capi\smoke directory, create output directory, .
-				//
-				const XalanDOMString  currentDir("smoke");
-				const XalanDOMString  theOutputDir = h.args.output + currentDir;
-				
-				h.checkAndCreateDir(theOutputDir);
-
-				// Get the single file found in the "smoke" directory, and run tests.
-				//
-				const FileNameVectorType	files = h.getTestFileNames(h.args.base, currentDir, true);
-				logFile.logTestCaseInit(currentDir);
-
-				for(FileNameVectorType::size_type i = 0; i < files.size(); ++i)
-				{
-					fileName = files[i];
-					h.data.testOrFile = fileName;
-
-					// Set up the input/output files.
-					const XalanDOMString  theXSLFile= h.args.base + currentDir + FileUtility::s_pathSep + fileName;
-					const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
-					h.data.xmlFileURL = theXMLFile;
-					h.data.xslFileURL = theXSLFile;
-
-					// Set the gold file.
-					XalanDOMString  theGoldFile = h.args.gold + currentDir + FileUtility::s_pathSep + fileName;
-					theGoldFile = h.generateFileName(theGoldFile, "out");
-						
-					// Execute the test cases. 
-					//
-					testCase1(xalan, logFile, theXMLFile, theXSLFile, theOutputDir, theGoldFile, h);
-					testCase2(xalan, logFile, theOutputDir, theGoldFile, h);
-					testCase3(logFile, theOutputDir, theGoldFile, h);
-					testCase4(xalan, logFile, theOutputDir, theGoldFile, h);
-					testCase5(xalan, logFile, theXMLFile, theXSLFile, theOutputDir, theGoldFile, h);
-				}
-
-				logFile.logTestCaseClose("Done", "Pass");	
-			}
-
-			h.reportPassFail(logFile, UniqRunid);
-			logFile.logTestFileClose("ISource Testing: ", "Done");
-			logFile.close();
-
-			h.analyzeResults(xalan, resultsFile);
-		}
-		catch(...)
-		{
-			cerr << "Exception caught!!!" << endl << endl;
-		}
-
-		XalanTransformer::terminate();
-	}
-
-	return 0;
-}
diff --git a/Tests/InputSource/inputsource.dsp b/Tests/InputSource/inputsource.dsp
deleted file mode 100644
index 11fc4e0..0000000
--- a/Tests/InputSource/inputsource.dsp
+++ /dev/null
@@ -1,148 +0,0 @@
-# Microsoft Developer Studio Project File - Name="inputsource" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=inputsource - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "inputsource.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "inputsource.mak" CFG="inputsource - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "inputsource - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "inputsource - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "inputsource - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "inputsource - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\inputsource"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "inputsource - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\inputsource"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "inputsource - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "inputsource___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "inputsource___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\inputsource"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/inputsource.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386
-
-!ENDIF 
-
-# Begin Target
-
-# Name "inputsource - Win32 Release"
-# Name "inputsource - Win32 Debug"
-# Name "inputsource - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\inputsource.cpp
-
-!IF  "$(CFG)" == "inputsource - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "inputsource - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\inputsource"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "inputsource - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Memory/Memory.dsp b/Tests/Memory/Memory.dsp
deleted file mode 100644
index c430ef3..0000000
--- a/Tests/Memory/Memory.dsp
+++ /dev/null
@@ -1,149 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Memory" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Memory - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Memory.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Memory.mak" CFG="Memory - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Memory - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "Memory - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "Memory - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Memory - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\Memory"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386 /out:"..\..\Build\Win32\VC6\Release/stressmem.exe"
-
-!ELSEIF  "$(CFG)" == "Memory - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\Memory"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /out:"..\..\Build\Win32\VC6\Debug/stressmem.exe" /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "Memory - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Memory___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "Memory___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\Memory"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/stressmem.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /out:"..\..\Build\Win32\VC6\Release.symbols/stressmem.exe" /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Memory - Win32 Release"
-# Name "Memory - Win32 Debug"
-# Name "Memory - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Stressmem.cpp
-
-!IF  "$(CFG)" == "Memory - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "Memory - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\Memory"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "Memory - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Memory/Stressmem.cpp b/Tests/Memory/Stressmem.cpp
deleted file mode 100644
index 974dd05..0000000
--- a/Tests/Memory/Stressmem.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-//#include <direct.h>
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-#include <vector>
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-
-
-static const char* const	excludeStylesheets[] =
-{
-//	"impincl16.xml",
-	0
-};
-
-
-
-inline bool
-checkForExclusion(const XalanDOMString&		currentFile)
-{
-	for (int i = 0; excludeStylesheets[i] != 0; ++i)
-	{	
-		if (equals(currentFile, XalanDOMString(excludeStylesheets[i])))
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "stressmem dirname [-out -sub]"
-		 << endl
-		 << endl
-		 << "dirname		(base directory for testcases)"
-		 << endl
-		 << "-out dirname	(base directory for output)"
-		 << endl
-		 << "-sub dirname (run files only from a specific directory)"
-		 << endl;
-}
-
-
-
-int
-main(int			argc,
-	 const char*	argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	try
-	{
-		HarnessInit		xmlPlatformUtils;
-
-		FileUtility		h;
-
-		setHelp(h);
-
-		bool setGold = false;
-
-		if (h.getParams(argc, argv, "MEM-RESULTS", setGold) == true)
-		{
-			// Get the list of Directories that are below perf
-			const FileNameVectorType	dirs = h.getDirectoryNames(h.args.base);
-
-			// Generate Unique Run id. (Only used to name the result logfile.)
-			const XalanDOMString		UniqRunid = h.generateUniqRunid();
-
-			// Defined basic constants for file manipulation 
-
-			const XalanDOMString  resultFilePrefix(XalanDOMString("cpp-mem"));
-			const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-
-			XMLFileReporter		logFile(resultsFile);
-
-			logFile.logTestFileInit("Memory Testing - Memory leaks detected during ConformanceTests. ");
-
-			// Call the static initializers...
-			XalanTransformer::initialize();
-
-			try
-			{
-				bool foundDir = false;
-
-				XalanTransformer		transformEngine;
-
-				for(FileNameVectorType::size_type	j = 0; j < dirs.size(); ++j)
-				{
-					// Skip all but the specified directory if the -sub cmd-line option was used.
-					//
-					if (length(h.args.sub) > 0 && !equals(dirs[j], h.args.sub))
-					{
-						continue;
-					}					
-						
-					// Check that output directory is there.
-					const XalanDOMString  theOutputDir = h.args.output + dirs[j];
-					h.checkAndCreateDir(theOutputDir);
-
-					const FileNameVectorType	files = h.getTestFileNames(h.args.base, dirs[j],true);
-					foundDir = true;
-
-					for(FileNameVectorType::size_type i = 0; i < files.size(); ++i)
-					{
-						if (checkForExclusion(files[i]) == false)
-						{
-							// Output file name to result log and console.
-							logFile.logTestCaseInit(files[i]);
-							cout << files[i] << endl;
-
-							const XalanDOMString  theXSLFile = h.args.base + dirs[j] + FileUtility::s_pathSep + files[i];
-							const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
-							const XalanDOMString  theOutput =  h.args.output + dirs[j] + FileUtility::s_pathSep + files[i]; 
-							const XalanDOMString  theOutputFile = h.generateFileName(theOutput, "out");
-
-							// Do a total end to end transform with no pre parsing of either xsl or xml files.
-							const XSLTResultTarget	theResultTarget(theOutputFile);
-
-							const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-							const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-
-							const int	theResult =
-									transformEngine.transform(xmlInputSource, xslInputSource, theResultTarget);
-
-							if(theResult != 0)
-							{
-								logFile.logTestCaseClose("Done","Fail");
-								cerr << "XalanError: \n" << transformEngine.getLastError();
-							}
-							else
-							{
-								logFile.logTestCaseClose("Done","Pass");
-							}
-						}
-					}
-				}
-
-				// Check to see if -sub cmd-line directory was processed correctly.
-				if (!foundDir)
-				{
-					cout << "Specified test directory: \"" << c_str(TranscodeToLocalCodePage(h.args.sub)) << "\" not found" << endl;
-				}
-
-				logFile.logTestFileClose("Memory Testing: ", "Done");
-				logFile.close();
-			}
-			catch(...)
-			{
-				cerr << "Exception caught!!!" << endl << endl;
-			}
-		}
-
-		XalanTransformer::terminate();
-	}
-	catch(...)
-	{
-		cerr << "Initialization failed!!!" << endl << endl;
-	}
-
-	return 0;
-}
diff --git a/Tests/Memory/TestBlock.cpp b/Tests/Memory/TestBlock.cpp
deleted file mode 100644
index 881960e..0000000
--- a/Tests/Memory/TestBlock.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-#if defined(_MSC_VER)
-
-#pragma warning(disable: 4127 4251 4511 4512 4514 4702 4710 4711 4786 4097; error: 4150 4172 4238 4239 4715)
-
-#if defined(_DEBUG)
-
-#include <crtdbg.h>
-
-#endif
-
-#endif
-
-
-
-#include "ArenaBlock.hpp"
-#include "ReusableArenaBlock.hpp"
-#include "ArenaAllocator.hpp"
-#include "ReusableArenaAllocator.hpp"
-#include "StringArenaAllocator.hpp"
-#include "ReusableStringArenaAllocator.hpp"
-
-
-#include <cstdio>
-#include <ctime>
-#include <iostream>
-#include <string>
-#include <vector>
-
-
-
-template<class Type>
-class NullFunctor
-{
-public:
-
-	void
-	operator()(const Type*	/* theType */) const
-	{
-	}
-};
-
-
-
-template<class Type>
-class DeleteFunctor
-{
-public:
-
-	void
-	operator()(const Type*	theType) const
-	{
-		delete theType;
-	}
-};
-
-
-
-using std::cin;
-using std::cout;
-using std::endl;
-using std::for_each;
-using std::string;
-using std::vector;
-
-
-
-void
-Usage()
-{
-	cout << endl
-		 << "Usage: ArenaBlock <count> <block size>"
-		 << endl;
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-	if (argc != 3)
-	{
-		Usage();
-	}
-	else
-	{
-		const size_t	theCount = atol(argv[1]);
-		const size_t	theBlockCount = atol(argv[2]);
-
-		if (theCount <= 0 || theBlockCount <= 0)
-		{
-			Usage();
-		}
-		else
-		{
-			vector<string*>		theStringVector;
-
-			theStringVector.reserve(theCount);
-
-			clock_t	theStartClock = 0;
-
-#if defined(_MSC_VER) && defined(_DEBUG)
-			// Send all reports to STDOUT
-			_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-			_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDOUT);
-			_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
-			_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDOUT);
-			_CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
-			_CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDOUT);
-
-#endif
-
-			{
-				theStartClock = clock();
-
-#if defined(_MSC_VER) && defined(_DEBUG)
-				_CrtMemState	theStartState;
-
-				_CrtMemCheckpoint(&theStartState);
-#endif
-
-				StringArenaAllocator	m_allocator(theBlockCount);
-
-				for (unsigned int i = 0; i < theCount; ++i)
-				{
-					theStringVector.push_back(m_allocator.create("Test string"));
-				}
-
-#if defined(_MSC_VER) && defined(_DEBUG)
-				_CrtMemState	theEndState;
-
-				_CrtMemCheckpoint(&theEndState);
-
-				_CrtMemState	theDiffs;
-
-				_CrtMemDifference(&theDiffs, &theStartState, &theEndState);
-
-				_CrtMemDumpStatistics(&theDiffs);
-#endif
-
-				cout << "Create complete, hit <Enter> to continue..."
-					 << endl;
-
-//				cin.get();
-
-				for_each(theStringVector.begin(),
-						 theStringVector.end(),
-						 NullFunctor<string>());
-			}
-
-			clock_t		theEndClock = clock();
-
-			cout << "Time to create and delete "
-				 << theCount
-				 << " strings using the arena allocator was "
-				 << theEndClock - theStartClock
-				 << " clock ticks."
-				 << endl
-				 << endl;
-
-			theStringVector.clear();
-
-			{
-#if defined(_MSC_VER) && defined(_DEBUG)
-				_CrtMemState	theStartState;
-
-				_CrtMemCheckpoint(&theStartState);
-#endif
-
-				theStartClock = clock();
-
-				ReusableStringArenaAllocator	m_allocator(theBlockCount);
-
-				for (unsigned int i = 0; i < theCount; ++i)
-				{
-					theStringVector.push_back(m_allocator.create("Test string"));
-				}
-
-#if defined(_MSC_VER) && defined(_DEBUG)
-				_CrtMemState	theEndState;
-
-				_CrtMemCheckpoint(&theEndState);
-
-				_CrtMemState	theDiffs;
-
-				_CrtMemDifference(&theDiffs, &theStartState, &theEndState);
-
-				_CrtMemDumpStatistics(&theDiffs);
-#endif
-
-				cout << "Create complete, hit <Enter> to continue..."
-					 << endl;
-
-//				cin.get();
-
-				for_each(theStringVector.begin(),
-						 theStringVector.end(),
-						 NullFunctor<string>());
-
-				for (unsigned int j = 0; j < theCount; ++j)
-				{
-					m_allocator.destroy(theStringVector[j]);
-				}
-			}
-
-			theEndClock = clock();
-
-			cout << "Time to create and delete "
-				 << theCount
-				 << " strings using the reusable arena allocator was "
-				 << theEndClock - theStartClock
-				 << " clock ticks."
-				 << endl
-				 << endl;
-
-			theStringVector.clear();
-
-			{
-				theStartClock = clock();
-
-#if defined(_MSC_VER) && defined(_DEBUG)
-				_CrtMemState	theStartState;
-
-				_CrtMemCheckpoint(&theStartState);
-#endif
-
-				for (unsigned int i = 0; i < theCount; ++i)
-				{
-					theStringVector.push_back(new string("Test string"));
-				}
-
-#if defined(_MSC_VER) && defined(_DEBUG)
-				_CrtMemState	theEndState;
-
-				_CrtMemCheckpoint(&theEndState);
-
-				_CrtMemState	theDiffs;
-
-				_CrtMemDifference(&theDiffs, &theStartState, &theEndState);
-
-				_CrtMemDumpStatistics(&theDiffs);
-#endif
-
-				cout << "Create complete, hit <Enter> to continue..."
-					 << endl;
-
-//				cin.get();
-
-				for_each(theStringVector.begin(),
-						 theStringVector.end(),
-						 DeleteFunctor<string>());
-
-			}
-
-			theEndClock = clock();
-
-			cout << "Time to create and delete "
-				 << theCount
-				 << " strings using standard new and delete was "
-				 << theEndClock - theStartClock
-				 << " clock ticks."
-				 << endl
-				 << endl;
-		}
-	}
-
-	return 0;
-}
diff --git a/Tests/Params/Params.cpp b/Tests/Params/Params.cpp
deleted file mode 100644
index 342fb1a..0000000
--- a/Tests/Params/Params.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-#include <vector>
-
-// This is here for memory leak testing. 
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTResultTarget.hpp>
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "params dirname [-out]"
-		 << endl
-		 << endl
-		 << "dirname		(base directory for \'capi\' testcases)"
-		 << endl
-		 << "-out dirname	(base directory for output)"
-		 << endl;
-}
-
-//	This function returns the testcase number.  All of these tests are called
-//	params0X, and there are only 6 of them,  so we can pick off the
-//	second X to determine what test number we're dealing with.  We need to
-//	know which test because each test gets different parameters. This code will
-//  need modification if the number of tests changes.
-unsigned short
-getTestNumber(const XalanDOMString& theFile)
-{
-	assert(8 < length(theFile));
-
-	return charAt(theFile, 7) - XalanUnicode::charDigit_0;
-}
-
-
-int
-main(int			argc,
-	 const char*	argv [])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit		xmlPlatformUtils;
-
-	FileUtility		h;
-
-	char testCase[15];
-	XalanDOMString fileName, theGoldFile;
-	const XalanDOMString  currentDir("params");
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	setHelp(h);
-
-	// Get the command line parameters.
-	//
-	if (h.getParams(argc, argv, "PARAMS-RESULTS") == true)
-	{
-		const XalanDOMString	extDir(h.args.base + currentDir);
-
-		// Check that the base directory is correct.
-		if ( !h.checkDir(extDir) )
-		{
-			cout << "Invalid base directory - " << c_str(TranscodeToLocalCodePage(extDir)) << endl;
-			cout << h.args.getHelpMessage();
-			return 0;
-		}
-
-		// Call the static initializers...
-		XalanTransformer::initialize();
-		{
-			XalanTransformer	xalan;
-
-			// Generate Unique Run id. (Only used to name the result logfile.)
-			const XalanDOMString UniqRunid = h.generateUniqRunid();
-
-			// Defined basic constants for file manipulation
-			const XalanDOMString  drive(h.getDrive());
-			const XalanDOMString  resultFilePrefix("params");
-			const XalanDOMString  resultsFile(drive + h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-			
-			XMLFileReporter	logFile(resultsFile);
-			logFile.logTestFileInit("Param Testing: Testing ability to pass parameters to stylesheets. ");
-
-			try
-			{
-				bool embedFlag =  false;
-					
-				// Get the files found in the "params" directory
-				const XalanDOMString  theOutputDir = h.args.output + currentDir;
-
-				// Check that output directory is there.
-				h.checkAndCreateDir(theOutputDir);
-
-				const FileNameVectorType	files = h.getTestFileNames(h.args.base, currentDir, true);
-				logFile.logTestCaseInit(currentDir);
-
-				for(FileNameVectorType::size_type i = 0; i < files.size(); ++i)
-				{
-					fileName = files[i];
-					sprintf(testCase, "%s%d","TestCase",i+1);
-					h.data.testOrFile = testCase;
-
-					// Set up the input/output files.
-					const XalanDOMString  theXSLFile= h.args.base + currentDir + FileUtility::s_pathSep + fileName;
-					XalanDOMString		  theXMLFile;
-					
-					// Neither testcase 7 nor 8 utilize xml source files. Both use fragment identifiers,
-					// so the generation of xml file is unnecessary.
-					// Testcase 7 tests: <?xml-stylesheet type="text/xsl" href="#style1-23.34.123456789_345"?>
-					// Testcase 8 tests: <?xml-stylesheet type="text/xsl" href="foo.xsl"?>
-					if ( i+1 <= 6 )
-					{
-						assign(theXMLFile, h.generateFileName(theXSLFile,"xml"));
-					}
-
-					h.data.xmlFileURL = theXMLFile;
-					h.data.xslFileURL = theXSLFile;
-
-					const XalanDOMString  theOutput =  h.args.output + currentDir + FileUtility::s_pathSep + fileName; 
-					const XalanDOMString  theOutputFile = h.generateFileName(theOutput, "out");
-					theGoldFile = h.args.gold + currentDir + FileUtility::s_pathSep + fileName;
-					theGoldFile = h.generateFileName(theGoldFile, "out");
-
-					XSLTResultTarget		theResultTarget(theOutputFile);
-					const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-					const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-							
-					// Set the desired parameters
-					switch (getTestNumber(fileName))
-					{	
-						case 2:
-							xalan.setStylesheetParam("in1", "'A '");
-
-							xalan.setStylesheetParam("in2", "'B '");
-
-							xalan.setStylesheetParam(
-								XalanDOMString("in3"),
-								XalanDOMString("'C '"));
-							xalan.setStylesheetParam(
-								XalanDOMString("in4"),
-								XalanDOMString("'D '"));
-							xalan.setStylesheetParam(
-								XalanDOMString("in5"),
-								XalanDOMString("'E '"));
-							break;
-
-						case 3:
-							xalan.setStylesheetParam(
-								XalanDOMString("'xyz:in1'"),
-								XalanDOMString("'DATA'"));
-							break;
-
-						case 7:
-							{
-								const XSLTInputSource	embed07InputSource(c_wstr(theXSLFile));
-								xalan.transform(embed07InputSource, theResultTarget);
-								append(h.data.testOrFile, " (Embed01)" );
-								embedFlag = true;
-								break;
-							}
-
-						case 8:
-							{
-								const XSLTInputSource	embed08InputSource(c_wstr(theXSLFile));
-								xalan.transform(embed08InputSource, theResultTarget);
-								append(h.data.testOrFile, " (Embed02)" );
-								embedFlag = true;
-								break;
-							}
-						default:
-							xalan.setStylesheetParam(
-								XalanDOMString("input"),
-								XalanDOMString("'testing 1 2 3'"));
-							break;
-					}
-
-					// Do a total end to end transform with no pre parsing of either xsl or xml files.
-					if (!embedFlag)
-					{
-						xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-					}
-
-					// Check and report the results.
-					h.checkResults(theOutputFile, theGoldFile, logFile);
-				}
-								
-				logFile.logTestCaseClose("Done", "Pass");
-			}
-
-			catch(...)
-			{
-				cerr << "Exception caught!!!" << endl << endl;
-			}
-
-			h.reportPassFail(logFile, UniqRunid);
-			logFile.logTestFileClose("Param Testing: ", "Done");
-			logFile.close();
-
-			h.analyzeResults(xalan, resultsFile);
-		}
-
-		XalanTransformer::terminate();
-	}
-
-	return 0;
-
-}
diff --git a/Tests/Params/Params.dsp b/Tests/Params/Params.dsp
deleted file mode 100644
index 7f8ce27..0000000
--- a/Tests/Params/Params.dsp
+++ /dev/null
@@ -1,149 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Params" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Params - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Params.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Params.mak" CFG="Params - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Params - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "Params - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "Params - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Params - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\Params"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "Params - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\Params"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "Params - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Params___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "Params___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\Params"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/Params.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release.symbols\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Params - Win32 Release"
-# Name "Params - Win32 Debug"
-# Name "Params - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Params.cpp
-
-!IF  "$(CFG)" == "Params - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "Params - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\Params"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "Params - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/PerfT/PerfT.dsp b/Tests/PerfT/PerfT.dsp
deleted file mode 100644
index 2972e61..0000000
--- a/Tests/PerfT/PerfT.dsp
+++ /dev/null
@@ -1,149 +0,0 @@
-# Microsoft Developer Studio Project File - Name="PerfT" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=PerfT - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "PerfT.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "PerfT.mak" CFG="PerfT - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "PerfT - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "PerfT - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "PerfT - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "PerfT - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\PerfT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "PerfT - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\PerfT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "PerfT - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "PerfT___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "PerfT___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\PerfT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\Build\Win32\VC6\Release/perft.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release.symbols\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "PerfT - Win32 Release"
-# Name "PerfT - Win32 Debug"
-# Name "PerfT - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\perft.cpp
-
-!IF  "$(CFG)" == "PerfT - Win32 Release"
-
-# ADD CPP /MD /Zi
-
-!ELSEIF  "$(CFG)" == "PerfT - Win32 Debug"
-
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\PerfT"
-# ADD CPP /MDd /Zi
-
-!ELSEIF  "$(CFG)" == "PerfT - Win32 Release with symbols"
-
-# ADD BASE CPP /MD /Zi
-# ADD CPP /MD /Zi
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/PerfT/perft.cpp b/Tests/PerfT/perft.cpp
deleted file mode 100644
index 60a6bc2..0000000
--- a/Tests/PerfT/perft.cpp
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <ctime>
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <XalanTransformer/XalanTransformer.hpp>
-
-// HARNESS HEADERS...
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString, XalanDOMString, less<XalanDOMString> >	Hashtable;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>  Hashtable;
-#endif
-
-// This is here for memory leak testing.
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-const char* const 	excludeStylesheets[] =
-{
-	"large-evans_large.xsl",
-	0
-};
-
-
-inline bool
-checkForExclusion(XalanDOMString currentFile)
-{
-	for (int i=0; excludeStylesheets[i] != 0; i++)
-	{	
-		if (equals(currentFile, XalanDOMString(excludeStylesheets[i])))
-		{
-			return true;
-		}
-	}
-	return false;
-}
-
-inline double
-calculateElapsedTime(
-			clock_t		theStartTime,
-			clock_t		theEndTime)
-{
-	return double(theEndTime - theStartTime) / CLOCKS_PER_SEC * 1000.0;
-}
-
-
-inline double
-calculateAvgTime(
-			clock_t		accTime,
-			long		theIterationCount)
-{
-	assert(theIterationCount > 1);
-
-	return double(accTime) / theIterationCount;
-}
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "Perft dir [-out -sub -i -iter]"
-		 << endl
-		 << endl
-		 << "dir		( base directory for testcases)"
-		 << endl
-		 << "-out dir	( base directory for output)"
-		 << endl
-		 << "-sub dir	( run files only from a specific directory)"
-		 << endl
-		 << "-i		( include all testcases )"
-		 << endl
-		 << "-iter num	(specifies number of iterations; must be > 0)"
-		 << endl;
-}
-
-int
-main(int			argc,
-	 const char*	argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	HarnessInit		xmlPlatformUtils;
-
-	FileUtility		h;
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	setHelp(h);
-
-	bool setGold = false;
-	{
-		const XalanDOMString	processorType(XALAN_STATIC_UCODE_STRING("XalanC"));
-		long iterCount;			// Default number of iterations
-		bool skip = true;		// Default will skip long tests
-
-		if (h.getParams(argc, argv, "PERFT-RESULTS", setGold) == true)
-		{
-			//
-			// Call the static initializers for xerces and xalan, and create a transformer
-			//
-			XalanTransformer::initialize();
-			{
-				XalanTransformer xalan;
-
-				// Generate Unique Run id and processor info
-				const XalanDOMString UniqRunid = h.generateUniqRunid();
-
-
-				// Defined basic constants for file manipulation and open results file
-				const XalanDOMString  resultFilePrefix("cpp");
-				const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-
-
-				XMLFileReporter	logFile(resultsFile);
-				logFile.logTestFileInit("Performance Testing - Reports various performance metrics using the Transformer");
-
-
-				// Get the list of sub-directories below "base" and iterate through them
-				bool foundDir = false;		// Flag indicates directory found. Used in conjunction with -sub cmd-line arg.
-				const FileNameVectorType dirs = h.getDirectoryNames(h.args.base);
-
-				for(FileNameVectorType::size_type	j = 0; j < dirs.size(); j++)
-				{
-					// Run specific category of files from given directory
-					if (length(h.args.sub) > 0 && !equals(dirs[j], h.args.sub))
-					{
-						continue;
-					}
-
-					cout << "Processing files in Directory: " << dirs[j] << endl;
-
-					// Check that output directory is there.
-					const XalanDOMString  theOutputDir = h.args.output + dirs[j];
-					h.checkAndCreateDir(theOutputDir);
-
-					
-					// Indicate that directory was processed and get test files from the directory
-					foundDir = true;
-					const FileNameVectorType files = h.getTestFileNames(h.args.base, dirs[j], false);
-					logFile.logTestCaseInit(XalanDOMString("Performance Directory: ") + dirs[j] ); 
-
-					for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
-					{
-						// Define  variables used for timing and reporting ...
-						clock_t startTime, endTime, accmTime, avgEtoe;
-						double timeinMilliseconds = 0, theAverage =0;
-						int transformResult = 0;
-						Hashtable attrs;
-
-						attrs.insert(Hashtable::value_type(XalanDOMString("idref"), files[i]));
-						attrs.insert(Hashtable::value_type(XalanDOMString("UniqRunid"),UniqRunid));
-						attrs.insert(Hashtable::value_type(XalanDOMString("processor"),processorType));
-						logFile.addMetricToAttrs("Iterations",iterCount, attrs);
-								
-						if (h.args.skip)
-						{
-							if (checkForExclusion(files[i]))
-								continue;
-						}
-
-						const XalanDOMString  theXSLFile= h.args.base + dirs[j] + FileUtility::s_pathSep + files[i];
-						const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
-
-						const XalanDOMString  outbase =  h.args.output + dirs[j] + FileUtility::s_pathSep + files[i]; 
-						const XalanDOMString  theOutputFile = h.generateFileName(outbase, "out");
-
-						const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-						const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-						const XSLTResultTarget	theResultTarget(theOutputFile);
-
-						attrs.insert(Hashtable::value_type(XalanDOMString("href"), theXSLFile));
-						cout << endl << files[i] << endl;
-
-						// Time the parsing(compile) of the XSL stylesheet and report the results..
-						//
-						startTime = clock();
-						const XalanCompiledStylesheet*	compiledSS = 0;
-						xalan.compileStylesheet(xslInputSource, compiledSS);
-						endTime = clock();
-
-						if (compiledSS == 0)
-						{
-							continue;
-						}
-
-						timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-						cout << "   XSL: " << timeinMilliseconds << " milliseconds, Parse" << endl;
-						logFile.addMetricToAttrs("parsexsl",timeinMilliseconds, attrs);	
-
-						// Time the parsing of the input XML and report the results..
-						//
-						startTime = clock();
-						const XalanParsedSource*	parsedSource = 0;
-						xalan.parseSource(xmlInputSource, parsedSource);
-						endTime = clock();
-
-						if (parsedSource == 0)
-						{
-							continue;
-						}
-
-						timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-						cout << "   XML: " << timeinMilliseconds << " milliseconds, Parse" <<endl;
-						logFile.addMetricToAttrs("parsexml",timeinMilliseconds, attrs);
-
-						// Perform One transform using parsed stylesheet and unparsed xml source, report results...
-						// 
-						startTime = clock();
-							transformResult = xalan.transform(xmlInputSource, compiledSS, theResultTarget);
-						endTime = clock();
-						if(!transformResult)
-						{
-							timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-							cout << endl << "   One: " << timeinMilliseconds << " w/Parsed XSL." << endl;
-							logFile.addMetricToAttrs("single", timeinMilliseconds, attrs);	
-						}
-						else
-						{
-							cout << xalan.getLastError();
-							return 0;
-						}
-
-						// Do One eTOe transform with no pre parsing of either xsl or xml files.
-						// And output metrics to console and result log
-						//
-						startTime = clock();
-							transformResult = xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-						endTime = clock();
-						if(!transformResult)
-						{
-							timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-							cout << "   One: " << timeinMilliseconds << " eTOe." << endl;
-							logFile.addMetricToAttrs("etoe", timeinMilliseconds, attrs);	
-						}
-						else
-						{
-							cout << xalan.getLastError();
-							return 0;
-						}
-
-
-						// Perform multiple transforms and calculate the average time ..
-						// These are done 3 different ways.
-						//
-						// FIRST: Parsed XSL Stylesheet and Parsed XML Source.
-						//
-						iterCount = h.args.iters;
-						accmTime = 0;
-						for(int j = 0; j < iterCount; ++j)
-						{	
-							startTime = clock();
-								transformResult = xalan.transform(*parsedSource, compiledSS, theResultTarget);
-							endTime = clock();
-					
-							accmTime += endTime - startTime;
-						}
-
-						theAverage = calculateAvgTime(accmTime, iterCount); 
-						cout << endl << "   Avg: " << theAverage << " for " << iterCount << " iter's w/Parsed files" << endl;
-						logFile.addMetricToAttrs("avgparsedxml",theAverage, attrs);
-				
-
-						// SECOND: Parsed Stylesheet and UnParsed XML Source.
-						// This is currently how the XalanJ 2.0 is performing transforms
-						//
-						accmTime = 0;
-						for(int k = 0; k < iterCount; ++k)
-						{
-							startTime = clock();
-								transformResult = xalan.transform(xmlInputSource, compiledSS, theResultTarget);
-							endTime = clock();
-					
-							accmTime += endTime - startTime;						
-						}
-						theAverage = calculateAvgTime(accmTime, iterCount);
-						cout << "   Avg: " << theAverage << " for " << iterCount << " iter's w/UnParsed XML" << endl;
-						logFile.addMetricToAttrs("avgunparsedxml",theAverage, attrs);
-
-
-						// THIRD: Neither Stylesheet nor XML Source are parsed.
-						// Perform multiple etoe transforms and calculate the average ...
-						//
-						avgEtoe = 0;
-						for(int jj = 0; jj < iterCount; ++jj)
-						{	
-							startTime = clock();
-								transformResult = xalan.transform(xmlInputSource, xslInputSource, theResultTarget);
-							endTime = clock();
-					
-							avgEtoe += endTime - startTime;						
-						}
-						theAverage = calculateAvgTime(avgEtoe,iterCount);
-
-						// Output average transform time to console and result log
-						cout << "   Avg: " << theAverage << " for " << iterCount << " iter's of eToe" << endl;
-						logFile.addMetricToAttrs("avgetoe",theAverage, attrs);
-
-						logFile.logElementWAttrs(10, "perf", attrs, "xxx");
-
-						xalan.destroyParsedSource(parsedSource);
-						xalan.destroyStylesheet(compiledSS);
-
-					}
-
-				logFile.logTestCaseClose(XalanDOMString("Performance Directory: ") + dirs[j], XalanDOMString("Done") );
-				}
-
-			// Check to see if -sub cmd-line directory was processed correctly.
-			if (!foundDir)
-			{
-				cout << "Specified test directory: \"" << c_str(TranscodeToLocalCodePage(h.args.sub)) << "\" not found" << endl;
-			}
-
-			h.reportPassFail(logFile, UniqRunid);
-			logFile.logTestFileClose("Performance", "Done");
-			logFile.close();
-
-			}
-		}
-	
-		XalanTransformer::terminate();
-	}
-
-	return 0;
-}
diff --git a/Tests/Performance/perf.cpp b/Tests/Performance/perf.cpp
deleted file mode 100644
index d165daa..0000000
--- a/Tests/Performance/perf.cpp
+++ /dev/null
@@ -1,578 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <iostream>
-#include <strstream>
-#include <stdio.h>
-#include <direct.h>
-
-
-// This is here for memory leak testing.
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-#include <vector>
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanFileOutputStream.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/StylesheetRoot.hpp>
-#include <XSLT/XSLTEngineImpl.hpp>
-#include <XSLT/XSLTInit.hpp>
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-#include <XSLT/XSLTResultTarget.hpp>  
-
-#include <Harness/XMLFileReporter.hpp>
-#include <Harness/FileUtility.hpp>
-#include <Harness/HarnessInit.hpp>
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString, XalanDOMString, less<XalanDOMString> >	Hashtable;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>	Hashtable;
-#endif
-
-
-
-	const char* const 	excludeStylesheets[] =
-{
-	"large-evans_large.xsl",
-	0
-};
-
-
-inline bool
-checkForExclusion(const XalanDOMString&		currentFile)
-{
-
-		for (int i=0; excludeStylesheets[i] != 0; i++)
-			{	
-				if (equals(currentFile, XalanDOMString(excludeStylesheets[i])))
-					{
-						return true;
-					}
-			}
-		return false;
-}
-
-inline StylesheetRoot*
-processStylesheet(
-			const XalanDOMString&			theFileName,
-			XSLTProcessor&					theProcessor,
-			StylesheetConstructionContext&	theConstructionContext)
-{
-	const XSLTInputSource	theInputSource(c_wstr(theFileName));
-
-	return theProcessor.processStylesheet(theInputSource, theConstructionContext);
-}
-
-
-
-inline XalanNode*
-parseSourceDocument(
-			const XalanDOMString&	theFileName,
-			XSLTProcessor&			theProcessor)
-{
-	const XSLTInputSource	theInputSource(c_wstr(theFileName));
-
-	return theProcessor.getSourceTreeFromInput(theInputSource);
-}
-
-
-
-inline double
-calculateElapsedTime(
-			clock_t		theStartTime,
-			clock_t		theEndTime)
-{
-	return double(theEndTime - theStartTime) / CLOCKS_PER_SEC * 1000.0;
-}
-
-
-
-inline double
-calculateAvgTime(
-			clock_t		accTime,
-			long		theIterationCount)
-{
-	assert(theIterationCount > 0);
-
-	return double(accTime) / theIterationCount;
-}
-
-
-
-inline double
-calculateAverageElapsedTime( 
-			clock_t			theStartTime,
-			clock_t			theEndTime,
-			long			theIterationCount)
-{
-	assert(theIterationCount > 0);
-
-	return calculateElapsedTime(theStartTime, theEndTime) / theIterationCount;
-}
-
-
-
-inline clock_t
-transformWUnparsedSource(const XalanDOMString&	theFileName,
-				 XSLTProcessor&			theProcessor,
-				 const StylesheetRoot*	theStylesheetRoot,
-				 XSLTResultTarget&	theResults,
-				 StylesheetExecutionContextDefault&  theExecutionContext)
-{
-	const XSLTInputSource	csSourceXML(c_wstr(theFileName));
-
-	theProcessor.setStylesheetRoot(theStylesheetRoot);
-
-	const clock_t startTime = clock();
-
-	theProcessor.process(csSourceXML, theResults, theExecutionContext);
-
-	return clock() - startTime;
-
-}
-
-
-
-inline clock_t
-transformWParsedSource(
-			XalanNode*							theParsedSource,
-			XSLTProcessor&						theProcessor,
-			const StylesheetRoot*				theStylesheetRoot,
-			XSLTResultTarget&					theResults,
-			StylesheetExecutionContextDefault&	theExecutionContext)
-{
-	// Put the parsed document into an XSLTInputSource, 
-	// and set stylesheet root in the processor
-	const XSLTInputSource	csSourceDocument(theParsedSource);
-
-	theProcessor.setStylesheetRoot(theStylesheetRoot);
-
-	const clock_t startTime = clock();
-
-	theProcessor.process(csSourceDocument, theResults, theExecutionContext);
-	
-	return clock() - startTime;
-}
-
-
-
-inline long
-eTOeTransform(const XSLTInputSource&		inputSource, 
-	        const XSLTInputSource&			stylesheetSource,
-	        XSLTResultTarget&				outputTarget,
-			StylesheetConstructionContext&	constructionContext,
-			StylesheetExecutionContext&		executionContext,
-			XSLTProcessor&					theProcessor)
-{
-	const clock_t startTime=clock();
-	theProcessor.process(inputSource, 
-			        	stylesheetSource,
-				    	outputTarget,
-						constructionContext,
-						executionContext);
-	const clock_t endTime=clock();
-
-	return endTime - startTime;
-}
-
-
-
-void
-setHelp(FileUtility&	h)
-{
-	h.args.getHelpStream() << endl
-		 << "Perf dir [-out -sub -i -iter]"
-		 << endl
-		 << endl
-		 << "dir		(base directory for testcases)"
-		 << endl
-		 << "-out dir	(base directory for output)"
-		 << endl
-		 << "-sub dir (run files only from a specific directory)"
-		 << endl
-		 << "-i                (include all testcases)"
-		 << endl
-		 << "-iter n           (specifies number of iterations; must be > 0)"
-		 << endl;
-}
-
-int
-main(int			argc,
-	 const char*	argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-
-	const XalanDOMString	processorType(XALAN_STATIC_UCODE_STRING("XalanC"));
-	long iterCount;			// Default number of iterations
-	bool skip = true;		// Default will skip long tests
-	bool setGold = false;
-
-	HarnessInit		xmlPlatformUtils;
-
-	FileUtility		h;
-
-	// Set the program help string,  then get the command line parameters.
-	//
-	setHelp(h);
-
-	if (h.getParams(argc, argv, "PERF-RESULTS", setGold) == true)
-	{
-
-		// Generate Unique Run id and processor info
-		const XalanDOMString UniqRunid = h.generateUniqRunid();
-		const XalanDOMString  resultFilePrefix(XalanDOMString("cpp"));
-		const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + FileUtility::s_xmlSuffix);
-
-		XMLFileReporter	logFile(resultsFile);
-		logFile.logTestFileInit("Performance Testing - Reports performance times for single transform, and average for multiple transforms using compiled stylesheet");
-
-		try
-		{
-			// Call the static initializers... and define file suffixes
-			// Having xmlplatformutils in it's own class like this means that if there are
-			// exceptions then terminate() is sure to run because it will automatically get
-			// cleaned up when this instance goes out of scope.
-			bool foundDir = false;	// Flag indicates directory found. Used in conjunction with -sub cmd-line arg.
-			{
-				XSLTInit	theInit;  
-		
-				// Get the list of Directories that are below perf and iterate through them
-				const FileNameVectorType dirs = h.getDirectoryNames(h.args.base);
-
-				for(FileNameVectorType::size_type	j = 0; j < dirs.size(); j++)
-				{
-					// Run specific sub of files from given directory
-					if (length(h.args.sub) > 0 && !equals(dirs[j], h.args.sub))
-					{
-						continue;
-					}
-
-					// Check that output directory is there.
-					const XalanDOMString  theOutputDir = h.args.output + dirs[j];
-					h.checkAndCreateDir(theOutputDir);
-
-					logFile.logTestCaseInit(XalanDOMString("Performance Directory: ") + dirs[j] );
-					
-					// Indicate that directory was processed and get test files from the directory
-					foundDir = true;
-					const FileNameVectorType files = h.getTestFileNames(h.args.base, dirs[j], false);
-
-					for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
-					{
-						// Define  variables used for timing and reporting ...
-						clock_t startTime, endTime, accmTime, avgEtoe;
-						double timeinMilliseconds, theAverage;
-						Hashtable attrs;
-					
-						if (skip)
-						{
-							if (checkForExclusion(files[i]))
-								continue;
-						}
-
-						const XalanDOMString  theXSLFile= h.args.base + dirs[j] + FileUtility::s_pathSep + files[i];
-						const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
-
-						const XalanDOMString  theOutput =  h.args.output + dirs[j] + FileUtility::s_pathSep + files[i]; 
-						const XalanDOMString  theOutputFile = h.generateFileName(theOutput, "out");
-
-
-						attrs.insert(Hashtable::value_type(XalanDOMString("href"), theXSLFile));
-						// Create the necessary support objects to instantiate a processor.
-
-						XercesDOMSupport				csDOMSupport;
-						XercesParserLiaison				csParserLiaison(csDOMSupport);
-
-						/*XalanSourceTreeDOMSupport		csDOMSupport;
-						XalanSourceTreeParserLiaison	csParserLiaison(csDOMSupport);
-
-						csDOMSupport.setParserLiaison(&csParserLiaison);
-						*/
-
-						XSLTProcessorEnvSupportDefault	csXSLTProcessorEnvSupport;
-						XObjectFactoryDefault			csXObjectFactory;
-						XPathFactoryDefault				csXPathFactory;
-	
-						// Create a processor and connect to ProcessorEnvSupport object
-						XSLTEngineImpl	csProcessor(
-								csParserLiaison,
-								csXSLTProcessorEnvSupport,
-								csDOMSupport,
-								csXObjectFactory,
-								csXPathFactory);
-
-						// Hook up the processor the the support object.
-						csXSLTProcessorEnvSupport.setProcessor(&csProcessor);
-
-						// Create separate factory support object, so the stylesheet's
-						// factory-created XPath instance are independent from processor's.
-						XPathFactoryDefault			ssXPathFactory;
-
-						// Create a stylesheet construction context, using the
-						// stylesheet's factory support objects.
-						StylesheetConstructionContextDefault	csConstructionContext(
-														csProcessor,
-														csXSLTProcessorEnvSupport,
-														ssXPathFactory);
-						cout << endl << files[i] << endl;
-
-						// Create a parsed stylesheet (StylesheetRoot) for the
-						// specified input XSL. We don't have to delete it, since
-						// it is owned by the StylesheetConstructionContextDefault
-						// instance. Time it as well...
-	
-						startTime = clock();
-						const StylesheetRoot* const glbStylesheetRoot = processStylesheet(
-																theXSLFile,
-																csProcessor,
-																csConstructionContext);
-						endTime = clock();
-						assert(glbStylesheetRoot != 0);
-
-						// Calculate & report performance on stylesheet parse to console and log file.
-						timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-						cout << "   XSL: " << timeinMilliseconds << " milliseconds, Parse" << endl;
-						logFile.addMetricToAttrs("parsexsl",timeinMilliseconds, attrs);						
-
-						
-						// Parse the input XML and report how long it took...                             
-						startTime = clock();
-						XalanNode* const  glbSourceXML = parseSourceDocument(theXMLFile, 
-																	csProcessor);
-						endTime = clock();
-						assert(glbSourceXML != 0);
-
-						// Calculate & report performance on source document parse to console and log file.
-						timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-						cout << "   XML: " << timeinMilliseconds << " milliseconds, Parse" << endl;
-						logFile.addMetricToAttrs("parsexml",timeinMilliseconds, attrs);
-
-
-
-						// The execution context uses the same factory support objects as
-						// the processor, since those objects have the same lifetime as
-						// other objects created as a result of the execution.
-
-						XSLTResultTarget		theResultTarget(theOutputFile);
-						const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
-						const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
-
-						StylesheetExecutionContextDefault	psExecutionContext(
-											csProcessor,
-											csXSLTProcessorEnvSupport,
-											csDOMSupport,
-											csXObjectFactory);
-
-						// Perform a single transform using parsed stylesheet and unparsed xml source, report results...
-						csProcessor.setStylesheetRoot(glbStylesheetRoot);
-						//const XSLTInputSource	csSourceDocument(glbSourceXML);
-
-						startTime = clock();
-						csProcessor.process(xmlInputSource, 
-									theResultTarget, 
-									psExecutionContext);
-						endTime = clock();
-
-						psExecutionContext.reset();	// Reset the execution context...
-						timeinMilliseconds = calculateElapsedTime(startTime, endTime);
-
-						// Output single transform time to console and result log
-						cout << endl << "   One: " << timeinMilliseconds << " w/Parsed XSL" << endl;
-						logFile.addMetricToAttrs("single",timeinMilliseconds, attrs);
-
-
-						// Do a total end to end transform with no pre parsing of either xsl or xml files.
-						const etoetran = eTOeTransform(xmlInputSource, 
-													xslInputSource,
-													theResultTarget,
-													csConstructionContext,
-													psExecutionContext,
-													csProcessor);
-	
-						// Output single etoe transform time to console and result log
-						cout << "   One: " << etoetran << " eToe" << endl;
-						logFile.addMetricToAttrs("etoe", etoetran, attrs);
-
-
-						// Perform multiple transforms and calculate the average time ..
-						// These are done 3 different ways.
-						// FIRST: Parsed XSL Stylesheet and Parsed XML Source.
-
-						iterCount = h.args.iters;
-						accmTime = 0;
-						for(int j = 0; j < iterCount; ++j)
-						{	
-							accmTime += transformWParsedSource(glbSourceXML,
-														 csProcessor,
-														 glbStylesheetRoot,
-														 theResultTarget,
-														 psExecutionContext);
-							psExecutionContext.reset();							
-						}
-						csParserLiaison.reset();
-						theAverage = calculateAvgTime(accmTime, iterCount); 
-
-						// Output average transform time to console and result log
-						cout << endl  << "   Avg: " << theAverage << " for " << iterCount << " iter's w/Parsed files" << endl;
-						logFile.addMetricToAttrs("avgparsedxml",theAverage, attrs);
-
-						// SECOND: Parsed Stylesheet and UnParsed XML Source.
-						// This is currently how the XalanJ 2.0 is performing transforms,
-						// i.e. with the unparsed XML Source.
-						
-						accmTime = 0;
-						for(int k = 0; k < iterCount; ++k)
-						{
-							accmTime += transformWUnparsedSource(theXMLFile,
-														 csProcessor,
-														 glbStylesheetRoot,
-														 theResultTarget,
-														 psExecutionContext);
-							psExecutionContext.reset();		// Resets the execution context
-							csParserLiaison.reset();		// This deletes the document
-						}
-
-						theAverage = calculateAvgTime(accmTime, iterCount);
-						cout << "   Avg: " << theAverage << " for " << iterCount << " iter's w/UnParsed XML" << endl;
-
-						logFile.addMetricToAttrs("avgunparsedxml",theAverage, attrs);
-
-						// THIRD: Neither Stylesheet nor XML Source are parsed.
-						// Perform multiple etoe transforms and calculate the average ...
-		
-						avgEtoe = 0;
-						for(int jj = 0; jj < iterCount; ++jj)
-						{	
-						avgEtoe += eTOeTransform(xmlInputSource, 
-													xslInputSource,
-													theResultTarget,
-													csConstructionContext,
-													psExecutionContext,
-													csProcessor);
-						psExecutionContext.reset();	
-						csParserLiaison.reset();						
-						}
-
-						theAverage = calculateAvgTime(avgEtoe,iterCount);
-
-						// Output average transform time to console and result log
-						cout << "   Avg: " << theAverage << " for " << iterCount << " iter's of eToe" << endl;
-						logFile.addMetricToAttrs("avgetoe",theAverage, attrs);
-						logFile.logElementWAttrs(10, "perf", attrs, "xxx");
-					}
-
-					logFile.logTestCaseClose(XalanDOMString("Performance Directory: ") + dirs[j], XalanDOMString("Done") );
-				}
-
-			}
-
-		// Check to see if -sub cmd-line directory was processed correctly.
-		if (!foundDir)
-		{
-			cout << "Specified test directory: \"" << c_str(TranscodeToLocalCodePage(h.args.sub)) << "\" not found" << endl;
-		}
-
-		h.reportPassFail(logFile, UniqRunid);
-		logFile.logTestFileClose("Performance", "Done");
-		logFile.close();
-
-		}//try
-
-		catch(const XalanFileOutputStream::XalanFileOutputStreamOpenException& ex)
-		{
-			cerr << ex.getMessage() << endl << endl;
-		}
-
-		catch(...)
-		{
-			cerr << "Exception caught!!!" << endl  << endl;
-		}
-		
-
-	} //if getParams
-
-	return 0;
-}
diff --git a/Tests/Performance/perf.dsp b/Tests/Performance/perf.dsp
deleted file mode 100644
index 2b18643..0000000
--- a/Tests/Performance/perf.dsp
+++ /dev/null
@@ -1,123 +0,0 @@
-# Microsoft Developer Studio Project File - Name="perf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=perf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "perf.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "perf.mak" CFG="perf - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "perf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "perf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "perf - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "perf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\Performance"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386 /libpath:"..\Harness\Release\\"
-
-!ELSEIF  "$(CFG)" == "perf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\Performance"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /Gf /Gy /I "..\..\..\..\xml-xerces\c\src\\" /I "..\..\src\\" /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# SUBTRACT CPP /X
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib ..\..\Build\Win32\VC6\Debug\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\Harness\Debug\\"
-# SUBTRACT LINK32 /incremental:no
-
-!ELSEIF  "$(CFG)" == "perf - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "perf___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "perf___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\Performance"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\Harness\Release\\"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release.symbols\*.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /libpath:"..\Harness\Release\\" /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "perf - Win32 Release"
-# Name "perf - Win32 Debug"
-# Name "perf - Win32 Release with symbols"
-# Begin Source File
-
-SOURCE=.\perf.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Tests/Threads/ThreadTest.cpp b/Tests/Threads/ThreadTest.cpp
deleted file mode 100644
index f2aa4cf..0000000
--- a/Tests/Threads/ThreadTest.cpp
+++ /dev/null
@@ -1,602 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <ctime>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/util/Mutexes.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-#if defined(WIN32)
-
-#include <csignal>
-#include <process.h>
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#elif defined(XALAN_POSIX2_AVAILABLE)
-
-#include <csignal>
-
-// This is a workaround for a Tru64 compiler bug...
-#if defined(XALAN_STRICT_ANSI_HEADERS) && defined(TRU64)
-#include <setjmp.h>
-#endif
-#include <pthread.h>
-#include <unistd.h>
-
-#else
-#error Unsupported platform!
-#endif
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::atoi;
-	using std::signal;
-	using std::strcmp;
-#endif
-#endif
-
-
-	
-// This is here for memory leak testing.
-#if defined(_DEBUG)
-#include <crtdbg.h>
-#endif
-
-
-
-class SynchronizedCounter
-{
-public:
-
-	SynchronizedCounter();
-
-	~SynchronizedCounter();
-
-	void
-	increment();
-
-	void
-	decrement();
-
-	long
-	getCounter() const;
-
-private:
-
-	mutable XMLMutex	m_mutex;
-
-	long				m_counter;
-};
-
-
-
-SynchronizedCounter::SynchronizedCounter() :
-	m_mutex(),
-	m_counter(0)
-{
-}
-
-
-
-SynchronizedCounter::~SynchronizedCounter()
-{
-}
-
-
-
-void
-SynchronizedCounter::increment()
-{
-	XMLMutexLock	theLock(&m_mutex);
-
-	if (m_counter < ULONG_MAX)
-	{
-		++m_counter;
-	}
-}
-
-
-
-void
-SynchronizedCounter::decrement()
-{
-	XMLMutexLock	theLock(&m_mutex);
-
-	if (m_counter > 0)
-	{
-		--m_counter;
-	}
-}
-
-
-
-long
-SynchronizedCounter::getCounter() const
-{
-	return m_counter;
-}
-
-
-
-struct
-ThreadInfo
-{
-	ThreadInfo(
-			unsigned int			theThreadNumber = 0,
-			SynchronizedCounter*	theCounter = 0) :
-		m_threadNumber(theThreadNumber),
-		m_counter(theCounter),
-		m_done(false)
-	{
-	}
-
-	unsigned int			m_threadNumber;
-
-	SynchronizedCounter*	m_counter;
-
-	bool					m_done;
-};
-
-
-
-// Used to hold compiled stylesheet and pre-parsed source...
-const XalanCompiledStylesheet*	glbCompiledStylesheet = 0;
-const XalanParsedSource*		glbParsedSource = 0;
-bool							fContinue = true;
-
-
-#if defined(WIN32)
-static BOOL __stdcall
-signalHandler(DWORD		theSignalType)
-{
-	if (theSignalType == CTRL_C_EVENT ||
-		theSignalType == CTRL_BREAK_EVENT)
-	{
-		fContinue = false;
-
-		return TRUE;
-	}
-	else
-	{
-		return FALSE;
-	}
-}
-#elif defined(XALAN_POSIX2_AVAILABLE)
-extern "C"
-{
-static void
-signalHandler(int)
-{
-	fContinue = false;
-}
-}
-#else
-#error Unsupported platform!
-#endif
-
-
-
-#if defined(WIN32)
-
-extern "C" void theThreadRoutine(void* param);
-
-void
-#elif defined(XALAN_POSIX2_AVAILABLE)
-
-extern "C" void* theThreadRoutine(void* param);
-
-void*
-#else
-#error Unsupported platform!
-#endif
-theThreadRoutine(void*		param)
-{
-// This routine uses compiled stylesheet (glbStylesheetRoot), which is set using the 
-// theProcessor.setStylesheetRoot method. The transform is done using the theProcessor's
-// process() method.
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	ThreadInfo* const		theInfo = (ThreadInfo*)param;
-#else
-	ThreadInfo* const		theInfo = reinterpret_cast<ThreadInfo*>(param);
-#endif
-
-	assert(theInfo != 0);
-
-	theInfo->m_counter->increment();
-
-	try
-	{
-		// Our input file.  The assumption is that the executable will be run
-		// from same directory as the input files.
-
-		// Generate the output file name.
-		const XalanDOMString	theOutputFile(
-				XalanDOMString("birds") +
-				UnsignedLongToDOMString(theInfo->m_threadNumber) +
-				XalanDOMString(".out"));
-
-		// Create a transformer...
-		XalanTransformer	theTransformer;
-
-		// Do the transform...
-		theTransformer.transform(*glbParsedSource, glbCompiledStylesheet, XSLTResultTarget(theOutputFile));
-	}
-	catch(...)
-	{
-		cerr << "Exception caught in thread " << theInfo->m_threadNumber;
-	}
-
-	// Decrement the counter because we're done...
-	theInfo->m_counter->decrement();
-
-	theInfo->m_done = true;
-
-#if defined(XALAN_POSIX2_AVAILABLE)
-	return 0;
-#endif
-}
-
-
-
-inline void
-doSleep(unsigned int	theMilliseconds)
-{
-#if defined(WIN32)
-	Sleep(theMilliseconds);
-#elif defined(XALAN_POSIX2_AVAILABLE)
-	usleep(theMilliseconds * 10);
-#else
-#error Unsupported platform!
-#endif
-}
-
-
-
-bool
-createThread(ThreadInfo&	theThreadInfo)
-{
-	theThreadInfo.m_done = false;
-
-#if defined(WIN32)
-
-	const unsigned long		theThreadID =
-			_beginthread(theThreadRoutine, 4096, reinterpret_cast<LPVOID>(&theThreadInfo));
-
-	if (theThreadID == unsigned(-1))
-	{
-		theThreadInfo.m_done = true;
-
-		return false;
-	}
-	else
-	{
-		return true;
-	}
-
-#elif defined(XALAN_POSIX2_AVAILABLE)
-
-	pthread_t	theThread;
-
-	const int	theResult = pthread_create(&theThread, 0, theThreadRoutine, (void*)&theThreadInfo);
-
-	if (theResult != 0)
-	{
-		theThreadInfo.m_done = true;
-
-		return false;
-	}
-	else
-	{
-#if defined(OS390)
-		pthread_detach(&theThread);
-#else
-		pthread_detach(theThread);
-#endif
-
-		return true;
-	}
-#else
-#error Unsupported platform!
-#endif
-}
-
-
-
-void
-doCountedThreads(
-			const SynchronizedCounter&	theCounter,
-			clock_t&					theClock)
-{
-	cout << "Waiting for active threads to finish..." << endl;
-
-	unsigned int	theCheckCount = 0;
-
-	do
-	{
-		doSleep(2000);
-
-		// Check a couple of times, just in case, since
-		// getCounter() is not synchronized...
-		if (theCounter.getCounter() == 0)
-		{
-			if (theCheckCount == 0)
-			{
-				theClock = clock();
-			}
-
-			++theCheckCount;
-		}
-	}
-	while(theCheckCount < 2);
-}
-
-
-
-void
-doContinuousThreads(
-			const SynchronizedCounter&	theCounter,
-			ThreadInfo					theThreadInfo[],
-			long						theThreadCount,
-			clock_t&					theClock)
-{
-	while(fContinue == true)
-	{
-//		doSleep(100);
-
-		if (theCounter.getCounter() < theThreadCount)
-		{
-			for (long i = 0; i < theThreadCount && fContinue == true; ++i)
-			{
-				if (theThreadInfo[i].m_done == true)
-				{
-					if (createThread(theThreadInfo[i]) == false)
-					{
-						cerr << endl << "Unable to create thread!" << endl;
-					}
-					else
-					{
-						cout << "Started thread number " << i << "." << endl;
-					}
-				}
-			}
-		}
-	}
-
-	doCountedThreads(theCounter, theClock);
-}
-
-
-
-void
-doThreads(
-			long	theThreadCount,
-			bool	fContinuous)
-{
-	if (fContinuous == true)
-	{
-#if defined(WIN32)
-		SetConsoleCtrlHandler(
-				signalHandler,
-				TRUE);
-#elif defined(XALAN_POSIX2_AVAILABLE)
-#if defined(XALAN_SIGNAL_IN_STD)
-		std::signal(SIGINT, signalHandler);
-#else
-		signal(SIGINT, signalHandler);
-#endif
-#else
-#error Unsupported platform!
-#endif
-
-		cout << endl << "Running in continuous mode." << endl;
-	}
-
-	cout << endl << "Starting " << theThreadCount << " threads." << endl;
-
-	XalanArrayAutoPtr<ThreadInfo>	theThreadInfo(new ThreadInfo[theThreadCount]);
-
-	try
-	{
-		cout << endl << "Clock before starting threads: " << clock() << endl;
-
-		SynchronizedCounter		theCounter;
-
-		long	i = 0;
-
-		while (i < theThreadCount && fContinue == true)
-		{
-			theThreadInfo[i].m_threadNumber = i;
-			theThreadInfo[i].m_counter = &theCounter;
-
-			if (createThread(theThreadInfo[i]) == false)
-			{
-				cerr << endl << "Unable to create thread!" << endl;
-			}
-			else
-			{
-				cout << "Started thread number " << i << "." << endl;
-			}
-
-			++i;
-		}
-
-		clock_t		theClock = 0;
-
-		if (i == 0)
-		{
-			cerr << endl << "No threads were created!" << endl;
-		}
-		else
-		{
-			if (fContinuous == true)
-			{
-				doContinuousThreads(
-					theCounter,
-					theThreadInfo.get(),
-					theThreadCount,
-					theClock);
-			}
-			else
-			{
-				doCountedThreads(theCounter, theClock);
-			}
-		}
-
-		cout << endl << "Clock after threads: " << theClock << endl;
-	}
-	catch(...)
-	{
-		cerr << "Exception caught!!!"
-			 << endl
-			<< endl;
-	}
-}
-
-
-
-void
-Usage()
-{
-	cerr << "Usage: ThreadTest [-c] [count]"
-		 << endl
-		 << endl;
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	if (argc > 3)
-	{
-		Usage();
-	}
-	else
-	{
-		bool	fContinuous = false;
-		int		threadCount = 0;
-
-		if (argc == 1)
-		{
-			threadCount = 60;
-		}
-		else
-		{
-			if (strcmp(argv[1], "-c") == 0)
-			{
-				fContinuous = true;
-			}
-
-			if (argc == 2)
-			{
-				if (fContinuous == true)
-				{
-					threadCount = 60;
-				}
-				else
-				{
-					threadCount = atoi(argv[1]);
-				}
-			}
-			else if (argc == 3)
-			{
-				if (fContinuous == true)
-				{
-					threadCount = atoi(argv[2]);
-				}
-				else
-				{
-					Usage();
-				}
-			}
-		}
-
-		if (threadCount > 0)
-		{
-			try
-			{
-				// Initialize Xerces...
-				XMLPlatformUtils::Initialize();
-
-				// Initialize Xalan...
-				XalanTransformer::initialize();
-
-				{
-					// Create a XalanTransformer.  We won't actually use this to transform --
-					// it's just acting as a factory for the compiled stylesheet and
-					// pre-parsed source document.  Note that we can't let the individual
-					// threads use this as a factory without serializing access to it, but
-					// we can share the stylesheet and source document.
-					XalanTransformer	theXalanTransformer;
-
-					const char* const	theXSLFileName = "birds.xsl";
-
-					theXalanTransformer.compileStylesheet(theXSLFileName, glbCompiledStylesheet);
-					assert(glbCompiledStylesheet != 0);
-
-					// Compile the XML source document as well. All threads will use
-					// this binary representation of the source tree.
-					const char* const	theXMLFileName = "birds.xml";
-
-					theXalanTransformer.parseSource(theXMLFileName, glbParsedSource);
-					assert(glbParsedSource != 0);
-
-					doThreads(threadCount, fContinuous);
-				}
-
-				// Terminate Xalan...
-				XalanTransformer::terminate();
-
-				// Terminate Xerces...
-				XMLPlatformUtils::Terminate();
-			}
-			catch(...)
-			{
-				cerr << "Exception caught!!!"
-					 << endl
-					 << endl;
-			}
-		}
-	} 
-
-	return 0;
-}
diff --git a/Tests/Threads/ThreadTest.dsp b/Tests/Threads/ThreadTest.dsp
deleted file mode 100644
index 339f5fe..0000000
--- a/Tests/Threads/ThreadTest.dsp
+++ /dev/null
@@ -1,134 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ThreadTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=ThreadTest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "ThreadTest.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "ThreadTest.mak" CFG="ThreadTest - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "ThreadTest - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "ThreadTest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "ThreadTest - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "ThreadTest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\ThreadTest"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "ThreadTest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\ThreadTest"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# SUBTRACT CPP /X
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "ThreadTest - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ThreadTest___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "ThreadTest___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\ThreadTest"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"..\..\..\c\Build\Win32\VC6\Release/ThreadTest.exe"
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "ThreadTest - Win32 Release"
-# Name "ThreadTest - Win32 Debug"
-# Name "ThreadTest - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\threadtest.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Tests/Threads/ThreadTestold.cpp b/Tests/Threads/ThreadTestold.cpp
deleted file mode 100644
index 8f91dad..0000000
--- a/Tests/Threads/ThreadTestold.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-#include <cassert>
-#include <fstream>
-#include <iostream>
-#include <strstream>
-
-#include <util/PlatformUtils.hpp>
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <DOMSupport/DOMSupportDefault.hpp>
-
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathSupportDefault.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/StylesheetRoot.hpp>
-#include <XSLT/XSLTEngineImpl.hpp>
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-#include <XSLT/XSLTResultTarget.hpp>
-
-#include <XercesParserLiaison/XercesParserLiaison.hpp>
-
-#include <XercesPlatformSupport/TextFileOutputStream.hpp>
-#include <XercesPlatformSupport/XercesDOMPrintWriter.hpp>
-
-//This is here for the threads.
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <winbase.h>
-#define THREADFUNCTIONRETURN DWORD WINAPI
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-	using std::ifstream;
-	using std::ios_base;
-	using std::ostrstream;
-	using std::string;
-#endif
-
-// Used to hold compiled stylesheet, and source document.
-StylesheetRoot* glbStylesheetRoot;
-//XalanNode*		glbSourceDoc;
-
-void outputMessage(DWORD id, char msg[])
-{
-		ostrstream threadMsg;
-	
-		threadMsg << "\n" << msg << " Thread: " << id << '\0';
-		cout << threadMsg.str();
-		threadMsg.freeze(false);
-}
-
-
-THREADFUNCTIONRETURN theThread(LPVOID	param)
-{
-// This routine uses compiled stylesheet (glbStylesheetRoot), which is set using the 
-// theProcessor.setStylesheetRoot method. The transform is done using the theProcessor's
-// process() method.
-
-	const int	number = reinterpret_cast<int>(param);
-	const DWORD		theThreadID = GetCurrentThreadId();
-
-	// Create the support objects that are necessary for running the processor...
-	DOMSupportDefault				theDOMSupport;
-	XercesParserLiaison				theParserLiaison(theDOMSupport);
-	XPathSupportDefault				theXPathSupport(theDOMSupport);
-	XSLTProcessorEnvSupportDefault	theXSLTProcessorEnvSupport;
-	XObjectFactoryDefault			theXObjectFactory(theXSLTProcessorEnvSupport,
-													  theXPathSupport);
-	XPathFactoryDefault				theXPathFactory;
-
-	// Create a processor...and output start message.
-	XSLTEngineImpl	theProcessor(
-					theParserLiaison,
-					theXPathSupport,
-					theXSLTProcessorEnvSupport,
-					theXObjectFactory,
-					theXPathFactory);
-	outputMessage(theThreadID,"Starting ");
-
-	// Connect the processor to the support object...
-	theXSLTProcessorEnvSupport.setProcessor(&theProcessor);
-
-	// The execution context uses the same factory support objects as
-	// the processor, since those objects have the same lifetime as
-	// other objects created as a result of the execution.
-	StylesheetExecutionContextDefault	ssExecutionContext(
-						theProcessor,
-						theXSLTProcessorEnvSupport,
-						theXPathSupport,
-						theXObjectFactory);
-
-	// Our input files.  The assumption is that the executable will be run
-	// from same directory as the input files.
-
-	// Generate the input and output file names.
-    ostrstream theFormatterIn, theFormatterOut;
-	theFormatterIn << "Birds.xml" << '\0';
-    theFormatterOut << "Birds" << number << ".out" << '\0';
-
-	//Generate the XML input and output objects.
-	XSLTInputSource		theInputSource(theFormatterIn.str());
-	XSLTResultTarget	theResultTarget(theFormatterOut.str());
-
-	// Unfreeze the ostrstreams, so the memory is returned...
-	theFormatterIn.freeze(false);
-	theFormatterOut.freeze(false);
-
-	// Set the stylesheet to be the compiled stylesheet. Then do the transform. 
-	// Report both the start of the transform and end of the thread.
-	theProcessor.setStylesheetRoot(glbStylesheetRoot);
-	outputMessage(theThreadID,"Transforming");
-	theProcessor.process(theInputSource,theResultTarget,ssExecutionContext);
-	outputMessage(theThreadID,"Finishing");
-	return (0);
-}
-void doThreads(int x)
-{
-	DWORD dwStackSize = 4096;              	// initial thread stack size
-	LPTHREAD_START_ROUTINE lpStartAddress = (LPTHREAD_START_ROUTINE)theThread;
-	DWORD dwCreationFlags = 0;             	// creation flags
- 	int nThreads = x;
-
-	std::vector<HANDLE> hThreads;
-	hThreads.reserve(nThreads);
- 	int i=0;
-	
-	try
-	{
-		cout << endl << "Clock before starting threads: " << clock() << endl;
-
-		for (i=0; i< nThreads; i++)
-			{
-				HANDLE hThread;
-				DWORD  threadID;
-
-				hThread = CreateThread(
-					0, dwStackSize,
-					lpStartAddress,					// pointer to thread function
-					reinterpret_cast<LPVOID>(i),	// argument for new thread
-					dwCreationFlags,				// creation flags
-					&threadID);
-				assert(hThread != 0);
-				hThreads.push_back(hThread);
-			}
-		WaitForMultipleObjects(hThreads.size(), &hThreads[0], TRUE, INFINITE);
-
-		cout << endl << "Clock after threads: " << clock() << endl;
-
-		for (i=0; i< nThreads; i++)
-			CloseHandle(hThreads[i]);
-	}
-	catch(...)
-	{
-		cerr << "Exception caught!!!"
-			 << endl
-			<< endl;
-	}
-}
-
-
-int main(int argc, const char*	/* argv */[])
-{
-
-	if (argc != 1)
-	{
-		cerr << "Usage: ThreadTest"
-			 << endl
-			 << endl;
-	}
-	else
-	{
-		try
-		{
-			// Call the static initializers...
-			XMLPlatformUtils::Initialize();
-			XSLTEngineImpl::Initialize();
-
-			// Create the necessary stuff of compile the stylesheet.
-			DOMSupportDefault				ssDOMSupport;
-			XercesParserLiaison				ssParserLiaison(ssDOMSupport);
-			XPathSupportDefault				ssXPathSupport(ssDOMSupport);
-			XSLTProcessorEnvSupportDefault	ssXSLTProcessorEnvSupport;
-			XObjectFactoryDefault			ssXObjectFactory(ssXSLTProcessorEnvSupport,
-															ssXPathSupport);
-			XPathFactoryDefault				ssXPathFactory;
-
-			// Create a processor to compile the stylesheet...
-			XSLTEngineImpl	ssProcessor(
-					ssParserLiaison,
-					ssXPathSupport,
-					ssXSLTProcessorEnvSupport,
-					ssXObjectFactory,
-					ssXPathFactory);
-
-			// Create separate factory support objects so the stylesheet's
-			// factory-created XObject and XPath instances are independent 
-			// from processor's.
-			XObjectFactoryDefault	ssStylesheetXObjectFactory(
-									ssXSLTProcessorEnvSupport,
-									ssXPathSupport);
-			XPathFactoryDefault		ssStylesheetXPathFactory;
-
-			// Create a stylesheet construction context, using the
-			// stylesheet's factory support objects.
-			StylesheetConstructionContextDefault	ssConstructionContext(
-													ssProcessor,
-													ssXSLTProcessorEnvSupport,
-													ssStylesheetXObjectFactory,
-													ssStylesheetXPathFactory);
-
-			const XalanDOMString  theXSLFileName("Birds.xsl");
-			const XalanDOMString  theXMLFileName("Birds.xml");
-
-			// Our stylesheet input source...
-			XSLTInputSource		ssStylesheetSourceXSL(c_wstr(theXSLFileName));
-			XSLTInputSource		ssStylesheetSourceXML(c_wstr(theXMLFileName));
-
-			// Ask the processor to create a StylesheetRoot for the specified
-			// input XSL.  This is the compiled stylesheet.  We don't have to
-			// delete it, since it is owned by the StylesheetConstructionContext
-			// instance.
-			glbStylesheetRoot = ssProcessor.processStylesheet(ssStylesheetSourceXSL,
-													   ssConstructionContext);
-			assert(glbStylesheetRoot != 0);
-			
-			// Create a compiled source tree as well, to use with perThreadCC
-			// glbSourceDoc = ssProcessor.getSourceTreeFromInput(ssStylesheetSourceXML);
-			// assert(glbSourceDoc != 0);
-
-			doThreads(10);
-		}
-		catch(...)
-		{
-			cerr << "Exception caught!!!"
-				 << endl
-				 << endl;
-		}
-	}
-
-	return 0;
-}
diff --git a/Tests/Threads/birds.xml b/Tests/Threads/birds.xml
deleted file mode 100644
index 3082754..0000000
--- a/Tests/Threads/birds.xml
+++ /dev/null
@@ -1,1289 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Class xmlns:LXT="www.bogus.com">
-<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>
-
-
-
-<Order Name="CICONIIFORMES">
-        <Family Name="ARDEIDAE">
-            <Species Scientific_Name="Botaurus pinnatus">Pinnated Bittern.</Species>
-            <Species Scientific_Name="Botaurus lentiginosus">American Bittern.</Species>
-            <Species Scientific_Name="Ixobrychus sinensis ">Yellow Bittern. (A)</Species>
-            <Species Scientific_Name="Ixobrychus exilis">Least Bittern.</Species>
-            <Species Scientific_Name="Tigrisoma lineatum">Rufescent Tiger-Heron.</Species>
-            <Species Scientific_Name="Tigrisoma fasciatum">Fasciated Tiger-Heron.</Species>
-            <Species Scientific_Name="Tigrisoma mexicanum">Bare-throated Tiger-Heron.</Species>
-            <Species Scientific_Name="Ardea herodias">Great Blue Heron.</Species>
-            <Species Scientific_Name="Ardea cinerea">Gray Heron. (A)</Species>
-            <Species Scientific_Name="Ardea cocoi">Cocoi Heron.</Species>
-            <Species Scientific_Name="Ardea alba">Great Egret.</Species>
-            <Species Scientific_Name="Egretta eulophotes">Chinese Egret. (A)</Species>
-            <Species Scientific_Name="Egretta garzetta">Little Egret. (A)</Species>
-            <Species Scientific_Name="Egretta gularis">Western Reef-Heron. (A)</Species>
-            <Species Scientific_Name="Egretta thula">Snowy Egret.</Species>
-            <Species Scientific_Name="Egretta caerulea">Little Blue Heron.</Species>
-            <Species Scientific_Name="Egretta tricolor">Tricolored Heron.</Species>
-            <Species Scientific_Name="Egretta rufescens">Reddish Egret.</Species>
-            <Species Scientific_Name="Bubulcus ibis">Cattle Egret.</Species>
-            <Species Scientific_Name="Butorides virescens">Green Heron.</Species>
-            <Species Scientific_Name="Butorides striatus">Striated Heron.</Species>
-            <Species Scientific_Name="Agamia agami">Agami Heron.</Species>
-            <Species Scientific_Name="Pilherodius pileatus">Capped Heron.</Species>
-            <Species Scientific_Name="Nycticorax nycticorax">Black-crowned Night-Heron. </Species>
-            <Species Scientific_Name="Nyctanassa violacea">Yellow-crowned Night-Heron.</Species>
-            <Species Scientific_Name="Cochlearius cochlearius">Boat-billed Heron.</Species>
-        </Family>
-        <Family Name="THRESKIORNITHIDAE">
-            <SubFamily Name="Threskiornithinae">
-                <Species Scientific_Name="Eudocimus albus">White Ibis.</Species>
-                <Species Scientific_Name="Eudocimus ruber">Scarlet Ibis. (A)</Species>
-                <Species Scientific_Name="Plegadis falcinellus">Glossy Ibis.</Species>
-                <Species Scientific_Name="Plegadis chihi">White-faced Ibis.</Species>
-                <Species Scientific_Name="Mesembrinibis cayennensis">Green Ibis.</Species>
-                <Species Scientific_Name="Theristicus caudatus">Buff-necked Ibis. (A)</Species>
-            </SubFamily>
-            <SubFamily Name="Plataleinae">
-                <Species Scientific_Name="Ajaia ajaja">Roseate Spoonbill.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="CICONIIDAE">
-            <Species Scientific_Name="Jabiru mycteria">Jabiru.</Species>
-            <Species Scientific_Name="Mycteria americana">Wood Stork.</Species>
-        </Family>
-        <Family Name="CATHARTIDAE">
-            <Species Scientific_Name="Coragyps atratus">Black Vulture.</Species>
-            <Species Scientific_Name="Cathartes aura">Turkey Vulture.</Species>
-            <Species Scientific_Name="Cathartes burrovianus">Lesser Yellow-headed Vulture.</Species>
-            <Species Scientific_Name="Gymnogyps californianus">California Condor.</Species>
-            <Species Scientific_Name="Sarcoramphus papa">King Vulture.</Species>
-        </Family>
-    </Order>
-
-
-
-<Order Name="PHOENICOPTERIFORMES">
-        <Family Name="PHOENICOPTERIDAE">
-            <Species Scientific_Name="Phoenicopterus ruber">Greater Flamingo.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="ANSERIFORMES">
-        <Family Name="ANATIDAE">
-            <SubFamily Name="Dendrocygninae">
-                <Species Scientific_Name="Dendrocygna viduata">White-faced Whistling-Duck.</Species>
-                <Species Scientific_Name="Dendrocygna autumnalis">Black-bellied Whistling-Duck.</Species>
-                <Species Scientific_Name="Dendrocygna arborea">West Indian Whistling-Duck.</Species>
-                <Species Scientific_Name="Dendrocygna bicolor">Fulvous Whistling-Duck.</Species>
-            </SubFamily>
-            <SubFamily Name="Anserinae">
-                <Species Scientific_Name="Anser fabalis">Bean Goose. (A)</Species>
-                <Species Scientific_Name="Anser brachyrhynchus">Pink-footed Goose. (A)</Species>
-                <Species Scientific_Name="Anser albifrons">Greater White-fronted Goose.</Species>
-                <Species Scientific_Name="Anser erythropus">Lesser White-fronted Goose. (A)</Species>
-                <Species Scientific_Name="Chen canagica">Emperor Goose.</Species>
-                <Species Scientific_Name="Chen caerulescens">Snow Goose.</Species>
-                <Species Scientific_Name="Chen rossii">Ross's Goose.</Species>
-                <Species Scientific_Name="Branta canadensis">Canada Goose.</Species>
-                <Species Scientific_Name="Branta sandvicensis">Hawaiian Goose. (H)</Species>
-                <Species Scientific_Name="Branta bernicla">Brant.</Species>
-                <Species Scientific_Name="Branta leucopsis">Barnacle Goose. (A)</Species>
-                <Species Scientific_Name="Cygnus olor">Mute Swan. (I)</Species>
-                <Species Scientific_Name="Cygnus buccinator">Trumpeter Swan.</Species>
-                <Species Scientific_Name="Cygnus columbianus">Tundra Swan.</Species>
-                <Species Scientific_Name="Cygnus cygnus">Whooper Swan.</Species>
-            </SubFamily>
-            <SubFamily Name="Tadorninae">
-                <Species Scientific_Name="Sarkidiornis melanotos">Comb Duck.</Species>
-                <Species Scientific_Name="Neochen jubata">Orinoco Goose. (A)</Species>
-            </SubFamily>
-            <SubFamily Name="Anatinae">
-                <Species Scientific_Name="Cairina moschata">Muscovy Duck.</Species>
-                <Species Scientific_Name="Aix sponsa">Wood Duck.</Species>
-                <Species Scientific_Name="Anas strepera">Gadwall.</Species>
-                <Species Scientific_Name="Anas falcata">Falcated Duck. (A)</Species>
-                <Species Scientific_Name="Anas penelope">Eurasian Wigeon. (N)</Species>
-                <Species Scientific_Name="Anas americana">American Wigeon.</Species>
-                <Species Scientific_Name="Anas rubripes">American Black Duck.</Species>
-                <Species Scientific_Name="Anas platyrhynchos">Mallard.</Species>
-                <Species Scientific_Name="Anas fulvigula">Mottled Duck.</Species>
-                <Species Scientific_Name="Anas wyvilliana">Hawaiian Duck. (H)</Species>
-                <Species Scientific_Name="Anas laysanensis">Laysan Duck. (H)</Species>
-                <Species Scientific_Name="Anas poecilorhyncha">Spot-billed Duck. (A)</Species>
-                <Species Scientific_Name="Anas discors">Blue-winged Teal.</Species>
-                <Species Scientific_Name="Anas cyanoptera">Cinnamon Teal.</Species>
-                <Species Scientific_Name="Anas clypeata">Northern Shoveler.</Species>
-                <Species Scientific_Name="Anas bahamensis">White-cheeked Pintail.</Species>
-                <Species Scientific_Name="Anas acuta">Northern Pintail.</Species>
-                <Species Scientific_Name="Anas querquedula">Garganey. (N)</Species>
-                <Species Scientific_Name="Anas formosa">Baikal Teal. (A)</Species>
-                <Species Scientific_Name="Anas crecca">Green-winged Teal.</Species>
-                <Species Scientific_Name="Aythya valisineria">Canvasback.</Species>
-                <Species Scientific_Name="Aythya americana">Redhead.</Species>
-                <Species Scientific_Name="Aythya ferina">Common Pochard. (A)</Species>
-                <Species Scientific_Name="Aythya collaris">Ring-necked Duck.</Species>
-                <Species Scientific_Name="Aythya fuligula">Tufted Duck.</Species>
-                <Species Scientific_Name="Aythya marila">Greater Scaup.</Species>
-                <Species Scientific_Name="Aythya affinis">Lesser Scaup.</Species>
-                <Species Scientific_Name="Polysticta stelleri">Steller's Eider.</Species>
-                <Species Scientific_Name="Somateria fischeri">Spectacled Eider.</Species>
-                <Species Scientific_Name="Somateria spectabilis">King Eider.</Species>
-                <Species Scientific_Name="Somateria mollissima">Common Eider.</Species>
-                <Species Scientific_Name="Histrionicus histrionicus">Harlequin Duck.</Species>
-                <Species Scientific_Name="Camptorhynchus labradorius">Labrador Duck.</Species>
-                <Species Scientific_Name="Melanitta perspicillata">Surf Scoter.</Species>
-                <Species Scientific_Name="Melanitta fusca">White-winged Scoter.</Species>
-                <Species Scientific_Name="Melanitta nigra">Black Scoter.</Species>
-                <Species Scientific_Name="Clangula hyemalis">Oldsquaw.</Species>
-                <Species Scientific_Name="Bucephala albeola">Bufflehead.</Species>
-                <Species Scientific_Name="Bucephala clangula">Common Goldeneye.</Species>
-                <Species Scientific_Name="Bucephala islandica">Barrow's Goldeneye.</Species>
-                <Species Scientific_Name="Mergellus albellus">Smew. (N)</Species>
-                <Species Scientific_Name="Lophodytes cucullatus">Hooded Merganser.</Species>
-                <Species Scientific_Name="Mergus merganser">Common Merganser.</Species>
-                <Species Scientific_Name="Mergus serrator">Red-breasted Merganser.</Species>
-                <Species Scientific_Name="Nomonyx">Masked Duck.</Species>
-                <Species Scientific_Name="Oxyura jamaicensis">Ruddy Duck.</Species>
-            </SubFamily>
-        </Family>
-    </Order>
-
-
-<Order Name="FALCONIFORMES">
-        <Family Name="ACCIPITRIDAE">
-            <SubFamily Name="Pandioninae">
-                <Species Scientific_Name="Pandion haliaetus">Osprey.</Species>
-            </SubFamily>
-            <SubFamily Name="Accipitrinae">
-                <Species Scientific_Name="Leptodon cayanensis">Gray-headed Kite.</Species>
-                <Species Scientific_Name="Chondrohierax uncinatus">Hook-billed Kite.</Species>
-                <Species Scientific_Name="Elanoides forficatus">Swallow-tailed Kite.</Species>
-                <Species Scientific_Name="Gampsonyx swainsonii">Pearl Kite.</Species>
-                <Species Scientific_Name="Elanus leucurus">White-tailed Kite.</Species>
-                <Species Scientific_Name="Rostrhamus sociabilis">Snail Kite.</Species>
-                <Species Scientific_Name="Rostrhamus hamatus">Slender-billed Kite.</Species>
-                <Species Scientific_Name="Harpagus bidentatus">Double-toothed Kite.</Species>
-                <Species Scientific_Name="Ictinia mississippiensis">Mississippi Kite.</Species>
-                <Species Scientific_Name="Ictinia plumbea">Plumbeous Kite.</Species>
-                <Species Scientific_Name="Haliaeetus leucocephalus">Bald Eagle.</Species>
-                <Species Scientific_Name="Haliaeetus albicilla">White-tailed Eagle.</Species>
-                <Species Scientific_Name="Haliaeetus pelagicus">Steller's Sea-Eagle. (A)</Species>
-                <Species Scientific_Name="Busarellus nigricollis">Black-collared Hawk.</Species>
-                <Species Scientific_Name="Circus cyaneus">Northern Harrier.</Species>
-                <Species Scientific_Name="Accipiter soloensis">Gray Frog-Hawk. (H, A)</Species>
-                <Species Scientific_Name="Accipiter superciliosus">Tiny Hawk.</Species>
-                <Species Scientific_Name="Accipiter striatus">Sharp-shinned Hawk.</Species>
-                <Species Scientific_Name="Accipiter cooperii">Cooper's Hawk.</Species>
-                <Species Scientific_Name="Accipiter gundlachi">Gundlach's Hawk.</Species>
-                <Species Scientific_Name="Accipiter bicolor">Bicolored Hawk.</Species>
-                <Species Scientific_Name="Accipiter gentilis">Northern Goshawk.</Species>
-                <Species Scientific_Name="Geranospiza caerulescens">Crane Hawk.</Species>
-                <Species Scientific_Name="Leucopternis plumbea">Plumbeous Hawk.</Species>
-                <Species Scientific_Name="Leucopternis princeps">Barred Hawk.</Species>
-                <Species Scientific_Name="Leucopternis semiplumbea">Semiplumbeous Hawk.</Species>
-                <Species Scientific_Name="Leucopternis albicollis">White Hawk.</Species>
-                <Species Scientific_Name="Asturina nitida">Gray Hawk.</Species>
-                <Species Scientific_Name="Buteogallus anthracinus">Common Black-Hawk.</Species>
-                <Species Scientific_Name="Buteogallus subtilis">Mangrove Black-Hawk.</Species>
-                <Species Scientific_Name="Buteogallus urubitinga">Great Black-Hawk.</Species>
-                <Species Scientific_Name="Buteogallus meridionalis">Savanna Hawk.</Species>
-                <Species Scientific_Name="Parabuteo unicinctus">Harris's Hawk.</Species>
-                <Species Scientific_Name="Harpyhaliaetus solitarius">Solitary Eagle.</Species>
-                <Species Scientific_Name="Buteo magnirostris">Roadside Hawk.</Species>
-                <Species Scientific_Name="Buteo lineatus">Red-shouldered Hawk.</Species>
-                <Species Scientific_Name="Buteo ridgwayi">Ridgway's Hawk.</Species>
-                <Species Scientific_Name="Buteo platypterus">Broad-winged Hawk.</Species>
-                <Species Scientific_Name="Buteo brachyurus">Short-tailed Hawk.</Species>
-                <Species Scientific_Name="Buteo swainsoni">Swainson's Hawk.</Species>
-                <Species Scientific_Name="Buteo albicaudatus">White-tailed Hawk.</Species>
-                <Species Scientific_Name="Buteo albonotatus">Zone-tailed Hawk.</Species>
-                <Species Scientific_Name="Buteo solitarius">Hawaiian Hawk. (H)</Species>
-                <Species Scientific_Name="Buteo jamaicensis">Red-tailed Hawk.</Species>
-                <Species Scientific_Name="Buteo regalis">Ferruginous Hawk.</Species>
-                <Species Scientific_Name="Buteo lagopus">Rough-legged Hawk.</Species>
-                <Species Scientific_Name="Morphnus guianensis">Crested Eagle.</Species>
-                <Species Scientific_Name="Harpia harpyja">Harpy Eagle.</Species>
-                <Species Scientific_Name="Aquila chrysaetos">Golden Eagle.</Species>
-                <Species Scientific_Name="Spizastur melanoleucus">Black-and-white Hawk-Eagle.</Species>
-                <Species Scientific_Name="Spizaetus tyrannus">Black Hawk-Eagle.</Species>
-                <Species Scientific_Name="Spizaetus ornatus">Ornate Hawk-Eagle.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="FALCONIDAE">
-            <SubFamily Name="Micrasturinae">
-                <Species Scientific_Name="Micrastur ruficollis">Barred Forest-Falcon.</Species>
-                <Species Scientific_Name="Micrastur mirandollei">Slaty-backed Forest-Falcon.</Species>
-                <Species Scientific_Name="Micrastur semitorquatus">Collared Forest-Falcon.</Species>
-            </SubFamily>
-            <SubFamily Name="Caracarinae">
-                <Species Scientific_Name="Daptrius americanus">Red-throated Caracara.</Species>
-                <Species Scientific_Name="Caracara plancus">Crested Caracara.</Species>
-                <Species Scientific_Name="Milvago chimachima">Yellow-headed Caracara.</Species>
-            </SubFamily>
-            <SubFamily Name="Falconinae">
-                <Species Scientific_Name="Herpetotheres cachinnans">Laughing Falcon.</Species>
-                <Species Scientific_Name="Falco tinnunculus">Eurasian Kestrel. (A)</Species>
-                <Species Scientific_Name="Falco sparverius">American Kestrel.</Species>
-                <Species Scientific_Name="Falco columbarius">Merlin.</Species>
-                <Species Scientific_Name="Falco subbuteo">Eurasian Hobby. (A)</Species>
-                <Species Scientific_Name="Falco femoralis">Aplomado Falcon.</Species>
-                <Species Scientific_Name="Falco rufigularis">Bat Falcon.</Species>
-                <Species Scientific_Name="Falco deiroleucus">Orange-breasted Falcon.</Species>
-                <Species Scientific_Name="Falco rusticolus">Gyrfalcon.</Species>
-                <Species Scientific_Name="Falco peregrinus">Peregrine Falcon.</Species>
-                <Species Scientific_Name="Falco mexicanus">Prairie Falcon.</Species>
-            </SubFamily>
-        </Family>
-    </Order>
-
-
-<Order Name="GALLIFORMES">
-        <Family Name="CRACIDAE">
-            <Species Scientific_Name="Ortalis vetula">Plain Chachalaca.</Species>
-            <Species Scientific_Name="Ortalis cinereiceps">Gray-headed Chachalaca.</Species>
-            <Species Scientific_Name="Ortalis ruficauda">Rufous-vented Chachalaca.</Species>
-            <Species Scientific_Name="Ortalis wagleri">Rufous-bellied Chachalaca.</Species>
-            <Species Scientific_Name="Ortalis poliocephala">West Mexican Chachalaca.</Species>
-            <Species Scientific_Name="Ortalis leucogastra">White-bellied Chachalaca.</Species>
-            <Species Scientific_Name="Penelope purpurascens">Crested Guan.</Species>
-            <Species Scientific_Name="Chamaepetes unicolor">Black Guan.</Species>
-            <Species Scientific_Name="Penelopina nigra">Highland Guan.</Species>
-            <Species Scientific_Name="Oreophasis derbianus">Horned Guan.</Species>
-            <Species Scientific_Name="Crax rubra">Great Curassow.</Species>
-        </Family>
-        <Family Name="PHASIANIDAE">
-            <SubFamily Name="Phasianinae">
-                <Species Scientific_Name="Alectoris chukar">Chukar. (I)</Species>
-                <Species Scientific_Name="Francolinus pondicerianus">Gray Francolin. (H, I)</Species>
-                <Species Scientific_Name="Francolinus francolinus">Black Francolin. (H, I)</Species>
-                <Species Scientific_Name="Francolinus erckelii">Erckel's Francolin. (H, I)</Species>
-                <Species Scientific_Name="Tetraogallus himalayensis">Himalayan Snowcock. (I)</Species>
-                <Species Scientific_Name="Perdix perdix">Gray Partridge. (I)</Species>
-                <Species Scientific_Name="Coturnix japonica">Japanese Quail. (H, I)</Species>
-                <Species Scientific_Name="Gallus gallus">Red Junglefowl. (H, I)</Species>
-                <Species Scientific_Name="Lophura leucomelanos">Kalij Pheasant. (H, I)</Species>
-                <Species Scientific_Name="Phasianus colchicus">Ring-necked Pheasant. (I)</Species>
-                <Species Scientific_Name="Pavo cristatus">Common Peafowl. (I)</Species>
-            </SubFamily>
-            <SubFamily Name="Tetraoninae">
-                <Species Scientific_Name="Bonasa umbellus">Ruffed Grouse.</Species>
-                <Species Scientific_Name="Centrocercus urophasianus">Sage Grouse.</Species>
-                <Species Scientific_Name="Falcipennis canadensis">Spruce Grouse.</Species>
-                <Species Scientific_Name="Lagopus lagopus">Willow Ptarmigan.</Species>
-                <Species Scientific_Name="Lagopus mutus">Rock Ptarmigan.</Species>
-                <Species Scientific_Name="Lagopus leucurus">White-tailed Ptarmigan.</Species>
-                <Species Scientific_Name="Dendragapus obscurus">Blue Grouse.</Species>
-                <Species Scientific_Name="Tympanuchus phasianellus">Sharp-tailed Grouse.</Species>
-                <Species Scientific_Name="Tympanuchus cupido">Greater Prairie-Chicken.</Species>
-                <Species Scientific_Name="Tympanuchus pallidicinctus">Lesser Prairie-Chicken.</Species>
-            </SubFamily>
-            <SubFamily Name="Meleagridinae">
-                <Species Scientific_Name="Meleagris gallopavo">Wild Turkey.</Species>
-                <Species Scientific_Name="Meleagris ocellata">Ocellated Turkey.</Species>
-            </SubFamily>
-            <SubFamily Name="Numidinae">
-                <Species Scientific_Name="Numida meleagris ">Helmeted Guineafowl. (I)</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="ODONTOPHORIDAE">
-            <Species Scientific_Name="Dendrortyx barbatus">Bearded Wood-Partridge.</Species>
-            <Species Scientific_Name="Dendrortyx macroura">Long-tailed Wood-Partridge.</Species>
-            <Species Scientific_Name="Dendrortyx leucophrys">Buffy-crowned Wood-Partridge.</Species>
-            <Species Scientific_Name="Oreortyx pictus">Mountain Quail.</Species>
-            <Species Scientific_Name="Callipepla squamata">Scaled Quail.</Species>
-            <Species Scientific_Name="Callipepla douglasii">Elegant Quail.</Species>
-            <Species Scientific_Name="Callipepla californica">California Quail.</Species>
-            <Species Scientific_Name="Callipepla gambelii">Gambel's Quail.</Species>
-            <Species Scientific_Name="Philortyx fasciatus">Banded Quail.</Species>
-            <Species Scientific_Name="Colinus virginianus">Northern Bobwhite.</Species>
-            <Species Scientific_Name="Colinus nigrogularis">Black-throated Bobwhite.</Species>
-            <Species Scientific_Name="Colinus cristatus">Crested Bobwhite.</Species>
-            <Species Scientific_Name="Odontophorus gujanensis">Marbled Wood-Quail.</Species>
-            <Species Scientific_Name="Odontophorus melanotis">Black-eared Wood-Quail.</Species>
-            <Species Scientific_Name="Odontophorus dialeucos">Tacarcuna Wood-Quail.</Species>
-            <Species Scientific_Name="Odontophorus leucolaemus">Black-breasted Wood-Quail.</Species>
-            <Species Scientific_Name="Odontophorus guttatus">Spotted Wood-Quail.</Species>
-            <Species Scientific_Name="Dactylortyx thoracicus">Singing Quail.</Species>
-            <Species Scientific_Name="Cyrtonyx montezumae">Montezuma Quail.</Species>
-            <Species Scientific_Name="Cyrtonyx ocellatus">Ocellated Quail.</Species>
-            <Species Scientific_Name="Rhynchortyx cinctus">Tawny-faced Quail.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="GRUIFORMES">
-        <Family Name="RALLIDAE">
-            <Species Scientific_Name="Coturnicops noveboracensis">Yellow Rail.</Species>
-            <Species Scientific_Name="Micropygia schomburgkii">Ocellated Crake. (A)</Species>
-            <Species Scientific_Name="Laterallus ruber">Ruddy Crake.</Species>
-            <Species Scientific_Name="Laterallus albigularis">White-throated Crake.</Species>
-            <Species Scientific_Name="Laterallus exilis">Gray-breasted Crake.</Species>
-            <Species Scientific_Name="Laterallus jamaicensis">Black Rail.</Species>
-            <Species Scientific_Name="Crex crex">Corn Crake. (A)</Species>
-            <Species Scientific_Name="Rallus longirostris">Clapper Rail.</Species>
-            <Species Scientific_Name="Rallus elegans">King Rail.</Species>
-            <Species Scientific_Name="Rallus limicola">Virginia Rail.</Species>
-            <Species Scientific_Name="Aramides axillaris">Rufous-necked Wood-Rail.</Species>
-            <Species Scientific_Name="Aramides cajanea">Gray-necked Wood-Rail.</Species>
-            <Species Scientific_Name="Amaurolimnas concolor">Uniform Crake.</Species>
-            <Species Scientific_Name="">Laysan Rail. (H)</Species>
-            <Species Scientific_Name="">Spotted Crake. (A)</Species>
-            <Species Scientific_Name="">Sora.</Species>
-            <Species Scientific_Name="">Hawaiian Rail. (H)</Species>
-            <Species Scientific_Name="Porzana sandwichensis">Hawaiian Rail. (H)</Species>
-            <Species Scientific_Name="Porzana flaviventer">Yellow-breasted Crake.</Species>
-            <Species Scientific_Name="Neocrex colombianus">Colombian Crake.</Species>
-            <Species Scientific_Name="Neocrex erythrops">Paint-billed Crake.</Species>
-            <Species Scientific_Name="Cyanolimnas cerverai">Zapata Rail.</Species>
-            <Species Scientific_Name="Pardirallus maculatus">Spotted Rail.</Species>
-            <Species Scientific_Name="Porphyrula martinica">Purple Gallinule.</Species>
-            <Species Scientific_Name="Porphyrula flavirostris">Azure Gallinule. (A)</Species>
-            <Species Scientific_Name="Gallinula chloropus">Common Moorhen.</Species>
-            <Species Scientific_Name="Fulica atra">Eurasian Coot. (A)</Species>
-            <Species Scientific_Name="Fulica alai">Hawaiian Coot. (H)</Species>
-            <Species Scientific_Name="Fulica americana">American Coot.</Species>
-            <Species Scientific_Name="Fulica caribaea">Caribbean Coot.</Species>
-        </Family>
-        <Family Name="HELIORNITHIDAE">
-            <Species Scientific_Name="Heliornis fulica">Sungrebe.</Species>
-        </Family>
-        <Family Name="EURYPYGIDAE">
-            <Species Scientific_Name="Eurypyga helias">Sunbittern.</Species>
-        </Family>
-        <Family Name="ARAMIDAE">
-            <Species Scientific_Name="Aramus guarauna">Limpkin.</Species>
-        </Family>
-        <Family Name="GRUIDAE">
-            <Species Scientific_Name="">Sandhill Crane.</Species>
-            <Species Scientific_Name="">Common Crane. (A)</Species>
-            <Species Scientific_Name="">Whooping Crane.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="CHARADRIIFORMES">
-        <Family Name="BURHINIDAE">
-            <Species Scientific_Name="Burhinus bistriatus">Double-striped Thick-knee.</Species>
-        </Family>
-        <Family Name="CHARADRIIDAE">
-            <SubFamily Name="Vanellinae">
-                <Species Scientific_Name="Vanellus vanellus">Northern Lapwing. (A)</Species>
-                <Species Scientific_Name="Vanellus chilensis">Southern Lapwing. (N)</Species>
-            </SubFamily>
-            <SubFamily Name="Charadriinae">
-                <Species Scientific_Name="Pluvialis squatarola">Black-bellied Plover.</Species>
-                <Species Scientific_Name="Pluvialis apricaria">European Golden-Plover. (A)</Species>
-                <Species Scientific_Name="Pluvialis dominica">American Golden-Plover.</Species>
-                <Species Scientific_Name="Pluvialis fulva">Pacific Golden-Plover.</Species>
-                <Species Scientific_Name="Charadrius mongolus">Mongolian Plover. (N)</Species>
-                <Species Scientific_Name="Charadrius collaris">Collared Plover.</Species>
-                <Species Scientific_Name="Charadrius alexandrinus">Snowy Plover.</Species>
-                <Species Scientific_Name="Charadrius wilsonia">Wilson's Plover.</Species>
-                <Species Scientific_Name="Charadrius hiaticula">Common Ringed Plover.</Species>
-                <Species Scientific_Name="Charadrius semipalmatus">Semipalmated Plover.</Species>
-                <Species Scientific_Name="Charadrius melodus">Piping Plover.</Species>
-                <Species Scientific_Name="Charadrius dubius">Little Ringed Plover. (A)</Species>
-                <Species Scientific_Name="Charadrius vociferus">Killdeer.</Species>
-                <Species Scientific_Name="Charadrius montanus">Mountain Plover.</Species>
-                <Species Scientific_Name="Charadrius morinellus">Eurasian Dotterel.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="HAEMATOPODIDAE">
-            <Species Scientific_Name="Haematopus ostralegus">Eurasian Oystercatcher. (A)</Species>
-            <Species Scientific_Name="Haematopus palliatus">American Oystercatcher.</Species>
-            <Species Scientific_Name="Haematopus bachmani">Black Oystercatcher.</Species>
-        </Family>
-        <Family Name="RECURVIROSTRIDAE">
-            <Species Scientific_Name="Himantopus himantopus">Black-winged Stilt. (A)</Species>
-            <Species Scientific_Name="Himantopus mexicanus">Black-necked Stilt.</Species>
-            <Species Scientific_Name="Recurvirostra americana">American Avocet.</Species>
-        </Family>
-        <Family Name="JACANIDAE">
-            <Species Scientific_Name="Jacana spinosa">Northern Jacana.</Species>
-            <Species Scientific_Name="Jacana jacana">Wattled Jacana.</Species>
-        </Family>
-        <Family Name="SCOLOPACIDAE">
-            <SubFamily Name="Scolopacinae">
-                <Species Scientific_Name="Tringa nebularia">Common Greenshank. (N)</Species>
-                <Species Scientific_Name="Tringa melanoleuca">Greater Yellowlegs.</Species>
-                <Species Scientific_Name="Tringa flavipes">Lesser Yellowlegs.</Species>
-                <Species Scientific_Name="Tringa stagnatilis">Marsh Sandpiper. (A)</Species>
-                <Species Scientific_Name="Tringa totanus">Common Redshank. (A)</Species>
-                <Species Scientific_Name="Tringa erythropus">Spotted Redshank. (N)</Species>
-                <Species Scientific_Name="Tringa glareola">Wood Sandpiper.</Species>
-                <Species Scientific_Name="Tringa ochropus">Green Sandpiper. (A)</Species>
-                <Species Scientific_Name="Tringa solitaria">Solitary Sandpiper.</Species>
-                <Species Scientific_Name="Catoptrophorus semipalmatus">Willet.</Species>
-                <Species Scientific_Name="Heteroscelus incanus">Wandering Tattler.</Species>
-                <Species Scientific_Name="Heteroscelus brevipes">Gray-tailed Tattler. (N)</Species>
-                <Species Scientific_Name="Actitis hypoleucos">Common Sandpiper. (N)</Species>
-                <Species Scientific_Name="Actitis macularia">Spotted Sandpiper.</Species>
-                <Species Scientific_Name="Xenus cinereus">Terek Sandpiper. (N)</Species>
-                <Species Scientific_Name="Bartramia longicauda">Upland Sandpiper.</Species>
-                <Species Scientific_Name="Numenius minutus">Little Curlew. (A)</Species>
-                <Species Scientific_Name="Numenius borealis">Eskimo Curlew.</Species>
-                <Species Scientific_Name="Numenius phaeopus">Whimbrel.</Species>
-                <Species Scientific_Name="Numenius tahitiensis">Bristle-thighed Curlew.</Species>
-                <Species Scientific_Name="Numenius madagascariensis">Far Eastern Curlew. (N)</Species>
-                <Species Scientific_Name="Numenius tenuirostris">Slender-billed Curlew. (A)</Species>
-                <Species Scientific_Name="Numenius arquata">Eurasian Curlew. (A)</Species>
-                <Species Scientific_Name="Numenius americanus">Long-billed Curlew.</Species>
-                <Species Scientific_Name="Limosa limosa">Black-tailed Godwit. (N)</Species>
-                <Species Scientific_Name="Limosa haemastica">Hudsonian Godwit.</Species>
-                <Species Scientific_Name="Limosa lapponica">Bar-tailed Godwit.</Species>
-                <Species Scientific_Name="Limosa fedoa">Marbled Godwit.</Species>
-                <Species Scientific_Name="Arenaria interpres">Ruddy Turnstone.</Species>
-                <Species Scientific_Name="Arenaria melanocephala">Black Turnstone.</Species>
-                <Species Scientific_Name="Aphriza virgata">Surfbird.</Species>
-                <Species Scientific_Name="Calidris tenuirostris">Great Knot. (A)</Species>
-                <Species Scientific_Name="Calidris canutus">Red Knot.</Species>
-                <Species Scientific_Name="Calidris alba">Sanderling.</Species>
-                <Species Scientific_Name="Calidris pusilla">Semipalmated Sandpiper.</Species>
-                <Species Scientific_Name="Calidris mauri">Western Sandpiper.</Species>
-                <Species Scientific_Name="Calidris ruficollis">Red-necked Stint.</Species>
-                <Species Scientific_Name="Calidris minuta">Little Stint. (N)</Species>
-                <Species Scientific_Name="Calidris temminckii">Temminck's Stint. (A)</Species>
-                <Species Scientific_Name="Calidris subminuta">Long-toed Stint. (N)</Species>
-                <Species Scientific_Name="Calidris minutilla">Least Sandpiper.</Species>
-                <Species Scientific_Name="Calidris fuscicollis">White-rumped Sandpiper.</Species>
-                <Species Scientific_Name="Calidris bairdii">Baird's Sandpiper.</Species>
-                <Species Scientific_Name="Calidris melanotos">Pectoral Sandpiper.</Species>
-                <Species Scientific_Name="Calidris acuminata">Sharp-tailed Sandpiper. (N)</Species>
-                <Species Scientific_Name="Calidris maritima">Purple Sandpiper.</Species>
-                <Species Scientific_Name="Calidris ptilocnemis">Rock Sandpiper.</Species>
-                <Species Scientific_Name="Calidris alpina">Dunlin.</Species>
-                <Species Scientific_Name="Calidris ferruginea">Curlew Sandpiper.</Species>
-                <Species Scientific_Name="Calidris himantopus">Stilt Sandpiper.</Species>
-                <Species Scientific_Name="Eurynorhynchus pygmeus">Spoonbill Sandpiper. (A)</Species>
-                <Species Scientific_Name="Limicola falcinellus">Broad-billed Sandpiper. (A)</Species>
-                <Species Scientific_Name="Tryngites subruficollis">Buff-breasted Sandpiper.</Species>
-                <Species Scientific_Name="Philomachus pugnax">Ruff.</Species>
-                <Species Scientific_Name="Limnodromus griseus">Short-billed Dowitcher.</Species>
-                <Species Scientific_Name="Limnodromus scolopaceus">Long-billed Dowitcher.</Species>
-                <Species Scientific_Name="Lymnocryptes minimus">Jack Snipe. (A)</Species>
-                <Species Scientific_Name="Gallinago gallinago">Common Snipe.</Species>
-                <Species Scientific_Name="Gallinago stenura">Pin-tailed Snipe. (A)</Species>
-                <Species Scientific_Name="Scolopax rusticola">Eurasian Woodcock. (A)</Species>
-                <Species Scientific_Name="Scolopax minor">American Woodcock.</Species>
-            </SubFamily>
-            <SubFamily Name="Phalaropodinae">
-                <Species Scientific_Name="Phalaropus tricolor">Wilson's Phalarope.</Species>
-                <Species Scientific_Name="Phalaropus lobatus">Red-necked Phalarope.</Species>
-                <Species Scientific_Name="Phalaropus fulicaria">Red Phalarope.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="GLAREOLIDAE">
-            <Species Scientific_Name="">Oriental Pratincole. (A)</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-        <Family Name="LARIDAE">
-            <SubFamily Name="Stercorariinae">
-                <Species Scientific_Name="Catharacta skua">Great Skua. (N)</Species>
-                <Species Scientific_Name="Catharacta maccormicki">South Polar Skua. (N)</Species>
-                <Species Scientific_Name="Stercorarius pomarinus">Pomarine Jaeger.</Species>
-                <Species Scientific_Name="Stercorarius parasiticus">Parasitic Jaeger.</Species>
-                <Species Scientific_Name="Stercorarius longicaudus">Long-tailed Jaeger.</Species>
-            </SubFamily>
-            <SubFamily Name="Larinae">
-                <Species Scientific_Name="Larus atricilla">Laughing Gull.</Species>
-                <Species Scientific_Name="Larus pipixcan">Franklin's Gull.</Species>
-                <Species Scientific_Name="Larus minutus">Little Gull.</Species>
-                <Species Scientific_Name="Larus ridibundus">Black-headed Gull.</Species>
-                <Species Scientific_Name="Larus philadelphia">Bonaparte's Gull.</Species>
-                <Species Scientific_Name="Larus heermanni">Heermann's Gull.</Species>
-                <Species Scientific_Name="Larus modestus">Gray Gull. (A)</Species>
-                <Species Scientific_Name="Larus belcheri">Band-tailed Gull. (A)</Species>
-                <Species Scientific_Name="Larus crassirostris">Black-tailed Gull. (A)</Species>
-                <Species Scientific_Name="Larus canus">Mew Gull.</Species>
-                <Species Scientific_Name="Larus delawarensis">Ring-billed Gull.</Species>
-                <Species Scientific_Name="Larus californicus">California Gull.</Species>
-                <Species Scientific_Name="Larus argentatus">Herring Gull.</Species>
-                <Species Scientific_Name="Larus cachinnans">Yellow-legged Gull. (A)</Species>
-                <Species Scientific_Name="Larus thayeri">Thayer's Gull.</Species>
-                <Species Scientific_Name="Larus glaucoides">Iceland Gull.</Species>
-                <Species Scientific_Name="Larus fuscus">Lesser Black-backed Gull. (N)</Species>
-                <Species Scientific_Name="Larus schistisagus">Slaty-backed Gull.</Species>
-                <Species Scientific_Name="Larus livens">Yellow-footed Gull.</Species>
-                <Species Scientific_Name="Larus occidentalis">Western Gull.</Species>
-                <Species Scientific_Name="Larus glaucescens">Glaucous-winged Gull.</Species>
-                <Species Scientific_Name="Larus hyperboreus">Glaucous Gull.</Species>
-                <Species Scientific_Name="Larus marinus">Great Black-backed Gull.</Species>
-                <Species Scientific_Name="Xema sabini">Sabine's Gull.</Species>
-                <Species Scientific_Name="Rissa tridactyla">Black-legged Kittiwake.</Species>
-                <Species Scientific_Name="Rissa brevirostris">Red-legged Kittiwake.</Species>
-                <Species Scientific_Name="Rhodostethia rosea">Ross's Gull.</Species>
-                <Species Scientific_Name="Pagophila eburnea">Ivory Gull.</Species>
-            </SubFamily>
-            <SubFamily Name="Sterninae">
-                <Species Scientific_Name="Sterna nilotica">Gull-billed Tern.</Species>
-                <Species Scientific_Name="Sterna caspia">Caspian Tern.</Species>
-                <Species Scientific_Name="Sterna maxima">Royal Tern.</Species>
-                <Species Scientific_Name="Sterna elegans">Elegant Tern.</Species>
-                <Species Scientific_Name="Sterna bergii">Great Crested Tern. (H, A)</Species>
-                <Species Scientific_Name="Sterna sandvicensis">Sandwich Tern.</Species>
-                <Species Scientific_Name="Sterna dougallii">Roseate Tern.</Species>
-                <Species Scientific_Name="Sterna hirundo">Common Tern.</Species>
-                <Species Scientific_Name="Sterna paradisaea">Arctic Tern.</Species>
-                <Species Scientific_Name="Sterna forsteri">Forster's Tern.</Species>
-                <Species Scientific_Name="Sterna albifrons">Little Tern. (H, A)</Species>
-                <Species Scientific_Name="Sterna antillarum">Least Tern.</Species>
-                <Species Scientific_Name="Sterna superciliaris">Yellow-billed Tern. (A)</Species>
-                <Species Scientific_Name="Sterna aleutica">Aleutian Tern.</Species>
-                <Species Scientific_Name="Sterna lunata">Gray-backed Tern. (H)</Species>
-                <Species Scientific_Name="Sterna anaethetus">Bridled Tern.</Species>
-                <Species Scientific_Name="Sterna fuscata">Sooty Tern.</Species>
-                <Species Scientific_Name="Phaetusa simplex">Large-billed Tern. (A)</Species>
-                <Species Scientific_Name="Chlidonias leucopterus">White-winged Tern. (A)</Species>
-                <Species Scientific_Name="Chlidonias hybridus">Whiskered Tern. (A)</Species>
-                <Species Scientific_Name="Chlidonias niger">Black Tern.</Species>
-                <Species Scientific_Name="Larosterna inca">Inca Tern. (A)</Species>
-                <Species Scientific_Name="Anous stolidus">Brown Noddy.</Species>
-                <Species Scientific_Name="Anous minutus">Black Noddy.</Species>
-                <Species Scientific_Name="Procelsterna cerulea">Blue-gray Noddy. (H)</Species>
-                <Species Scientific_Name="Gygis alba">Common White-Tern. (H)</Species>
-            </SubFamily>
-            <SubFamily Name="Rynchopinae">
-                <Species Scientific_Name="Rynchops niger">Black Skimmer.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="ALCIDAE">
-            <Species Scientific_Name="Alle alle">Dovekie.</Species>
-            <Species Scientific_Name="Uria aalge">Common Murre.</Species>
-            <Species Scientific_Name="Uria lomvia">Thick-billed Murre.</Species>
-            <Species Scientific_Name="Alca torda">Razorbill.</Species>
-            <Species Scientific_Name="">Great Auk.</Species>
-            <Species Scientific_Name="">Black Guillemot.</Species>
-            <Species Scientific_Name="">Pigeon Guillemot.</Species>
-            <Species Scientific_Name="">Long-billed Murrelet. (A)</Species>
-            <Species Scientific_Name="">Marbled Murrelet.</Species>
-            <Species Scientific_Name="">Kittlitz's Murrelet.</Species>
-            <Species Scientific_Name="">Xantus's Murrelet.</Species>
-            <Species Scientific_Name="">Craveri's Murrelet.</Species>
-            <Species Scientific_Name="">Ancient Murrelet.</Species>
-            <Species Scientific_Name="">Cassin's Auklet.</Species>
-            <Species Scientific_Name="">Parakeet Auklet.</Species>
-            <Species Scientific_Name="">Least Auklet.</Species>
-            <Species Scientific_Name="">Whiskered Auklet.</Species>
-            <Species Scientific_Name="">Crested Auklet.</Species>
-            <Species Scientific_Name="">Rhinoceros Auklet.</Species>
-            <Species Scientific_Name="">Atlantic Puffin.</Species>
-            <Species Scientific_Name="">Horned Puffin.</Species>
-            <Species Scientific_Name="">Tufted Puffin.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-        <Family Name="PTEROCLIDIDAE">
-            <Species Scientific_Name="Pterocles exustus">Chestnut-bellied Sandgrouse. (H, I)</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="COLUMBIFORMES">
-        <Family Name="COLUMBIDAE">
-            <Species Scientific_Name="Columba livia">Rock Dove. (I)</Species>
-            <Species Scientific_Name="Columba cayennensis">Pale-vented Pigeon.</Species>
-            <Species Scientific_Name="Columba speciosa">Scaled Pigeon.</Species>
-            <Species Scientific_Name="Columba squamosa">Scaly-naped Pigeon.</Species>
-            <Species Scientific_Name="Columba leucocephala">White-crowned Pigeon.</Species>
-            <Species Scientific_Name="Columba flavirostris">Red-billed Pigeon.</Species>
-            <Species Scientific_Name="Columba inornata">Plain Pigeon.</Species>
-            <Species Scientific_Name="Columba fasciata">Band-tailed Pigeon.</Species>
-            <Species Scientific_Name="Columba caribaea">Ring-tailed Pigeon.</Species>
-            <Species Scientific_Name="Columba subvinacea">Ruddy Pigeon.</Species>
-            <Species Scientific_Name="Columba nigrirostris">Short-billed Pigeon.</Species>
-            <Species Scientific_Name="Streptopelia orientalis">Oriental Turtle-Dove. (A)</Species>
-            <Species Scientific_Name="Streptopelia risoria">Ringed Turtle-Dove. (I)</Species>
-            <Species Scientific_Name="Streptopelia turtur">European Turtle-Dove. (A)</Species>
-            <Species Scientific_Name="Streptopelia decaocto">Eurasian Collared-Dove. (I)</Species>
-            <Species Scientific_Name="Streptopelia chinensis">Spotted Dove. (I)</Species>
-            <Species Scientific_Name="Geopelia striata">Zebra Dove. (H, I)</Species>
-            <Species Scientific_Name="Zenaida asiatica">White-winged Dove.</Species>
-            <Species Scientific_Name="Zenaida aurita">Zenaida Dove.</Species>
-            <Species Scientific_Name="Zenaida auriculata">Eared Dove.</Species>
-            <Species Scientific_Name="Zenaida macroura">Mourning Dove.</Species>
-            <Species Scientific_Name="Zenaida graysoni">Socorro Dove.</Species>
-            <Species Scientific_Name="">Passenger Pigeon.</Species>
-            <Species Scientific_Name="">Inca Dove.</Species>
-            <Species Scientific_Name="">Common Ground-Dove.</Species>
-            <Species Scientific_Name="">Plain-breasted Ground-Dove.</Species>
-            <Species Scientific_Name="">Ruddy Ground-Dove.</Species>
-            <Species Scientific_Name="">Blue Ground-Dove.</Species>
-            <Species Scientific_Name="">Maroon-chested Ground-Dove.</Species>
-            <Species Scientific_Name="">White-tipped Dove.</Species>
-            <Species Scientific_Name="">Gray-fronted Dove.</Species>
-            <Species Scientific_Name="">Grenada Dove.</Species>
-            <Species Scientific_Name="">Caribbean Dove.</Species>
-            <Species Scientific_Name="">Gray-chested Dove.</Species>
-            <Species Scientific_Name="">Olive-backed Quail-Dove.</Species>
-            <Species Scientific_Name="">Key West Quail-Dove.</Species>
-            <Species Scientific_Name="">Bridled Quail-Dove.</Species>
-            <Species Scientific_Name="">White-faced Quail-Dove.</Species>
-            <Species Scientific_Name="">Chiriqui Quail-Dove.</Species>
-            <Species Scientific_Name="">Tuxtla Quail-Dove.</Species>
-            <Species Scientific_Name="">Purplish-backed Quail-Dove.</Species>
-            <Species Scientific_Name="">Buff-fronted Quail-Dove.</Species>
-            <Species Scientific_Name="">Russet-crowned Quail-Dove.</Species>
-            <Species Scientific_Name="">Gray-headed Quail-Dove.</Species>
-            <Species Scientific_Name="">Crested Quail-Dove.</Species>
-            <Species Scientific_Name="">Violaceous Quail-Dove.</Species>
-            <Species Scientific_Name="">Ruddy Quail-Dove.</Species>
-            <Species Scientific_Name="">Blue-headed Quail-Dove.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PSITTACIFORMES">
-        <Family Name="PSITTACIDAE">
-            <SubFamily Name="Platycercinae">
-                <Species Scientific_Name="Melopsittacus undulatus">Budgerigar. (I)</Species>
-            </SubFamily>
-            <SubFamily Name="Psittacinae">
-                <Species Scientific_Name="Psittacula krameri">Rose-ringed Parakeet. (I)</Species>
-            </SubFamily>
-            <SubFamily Name="Arinae">
-                <Species Scientific_Name="Pyrrhura picta">Painted Parakeet.</Species>
-                <Species Scientific_Name="Pyrrhura hoffmanni">Sulphur-winged Parakeet.</Species>
-                <Species Scientific_Name="Myiopsitta monachus">Monk Parakeet. (I)</Species>
-                <Species Scientific_Name="Conuropsis carolinensis">Carolina Parakeet.</Species>
-                <Species Scientific_Name="Aratinga holochlora">Green Parakeet.</Species>
-                <Species Scientific_Name="Aratinga strenua">Pacific Parakeet.</Species>
-                <Species Scientific_Name="Aratinga finschi">Crimson-fronted Parakeet.</Species>
-                <Species Scientific_Name="Aratinga chloroptera">Hispaniolan Parakeet.</Species>
-                <Species Scientific_Name="Aratinga euops">Cuban Parakeet.</Species>
-                <Species Scientific_Name="Aratinga nana">Olive-throated Parakeet.</Species>
-                <Species Scientific_Name="Aratinga canicularis">Orange-fronted Parakeet.</Species>
-                <Species Scientific_Name="Aratinga pertinax">Brown-throated Parakeet.</Species>
-                <Species Scientific_Name="Ara severa">Chestnut-fronted Macaw.</Species>
-                <Species Scientific_Name="Ara militaris">Military Macaw.</Species>
-                <Species Scientific_Name="Ara ambigua">Great Green Macaw.</Species>
-                <Species Scientific_Name="Ara chloropterus">Red-and-green Macaw.</Species>
-                <Species Scientific_Name="Ara macao">Scarlet Macaw.</Species>
-                <Species Scientific_Name="Ara tricolor">Cuban Macaw.</Species>
-                <Species Scientific_Name="Ara ararauna">Blue-and-yellow Macaw.</Species>
-                <Species Scientific_Name="Rhynchopsitta pachyrhyncha">Thick-billed Parrot.</Species>
-                <Species Scientific_Name="Rhynchopsitta terrisi">Maroon-fronted Parrot.</Species>
-                <Species Scientific_Name="Bolborhynchus lineola">Barred Parakeet.</Species>
-                <Species Scientific_Name="Forpus passerinus">Green-rumped Parrotlet.</Species>
-                <Species Scientific_Name="Forpus cyanopygius">Mexican Parrotlet.</Species>
-                <Species Scientific_Name="Forpus conspicillatus">Spectacled Parrotlet.</Species>
-                <Species Scientific_Name="Brotogeris jugularis">Orange-chinned Parakeet.</Species>
-                <Species Scientific_Name="Brotogeris versicolurus">White-winged Parakeet. (I)</Species>
-                <Species Scientific_Name="Touit costaricensis">Red-fronted Parrotlet.</Species>
-                <Species Scientific_Name="Touit dilectissima">Blue-fronted Parrotlet.</Species>
-                <Species Scientific_Name="Pionopsitta pyrilia">Saffron-headed Parrot.</Species>
-                <Species Scientific_Name="Pionopsitta haematotis">Brown-hooded Parrot.</Species>
-                <Species Scientific_Name="Pionus menstruus">Blue-headed Parrot.</Species>
-                <Species Scientific_Name="Pionus senilis">White-crowned Parrot.</Species>
-                <Species Scientific_Name="Amazona albifrons">White-fronted Parrot.</Species>
-                <Species Scientific_Name="Amazona xantholora">Yellow-lored Parrot.</Species>
-                <Species Scientific_Name="Amazona leucocephala">Cuban Parrot.</Species>
-                <Species Scientific_Name="Amazona collaria">Yellow-billed Parrot.</Species>
-                <Species Scientific_Name="Amazona ventralis">Hispaniolan Parrot.</Species>
-                <Species Scientific_Name="Amazona vittata">Puerto Rican Parrot.</Species>
-                <Species Scientific_Name="Amazona agilis">Black-billed Parrot.</Species>
-                <Species Scientific_Name="Amazona viridigenalis">Red-crowned Parrot.</Species>
-                <Species Scientific_Name="Amazona finschi">Lilac-crowned Parrot.</Species>
-                <Species Scientific_Name="Amazona autumnalis">Red-lored Parrot.</Species>
-                <Species Scientific_Name="Amazona farinosa">Mealy Parrot.</Species>
-                <Species Scientific_Name="Amazona oratrix">Yellow-headed Parrot.</Species>
-                <Species Scientific_Name="Amazona auropalliata">Yellow-naped Parrot.</Species>
-                <Species Scientific_Name="Amazona ochrocephala">Yellow-crowned Parrot.</Species>
-                <Species Scientific_Name="Amazona arausiaca">Red-necked Parrot.</Species>
-                <Species Scientific_Name="Amazona versicolor">St. Lucia Parrot.</Species>
-                <Species Scientific_Name="Amazona guildingii">St. Vincent Parrot.</Species>
-                <Species Scientific_Name="Amazona imperialis">Imperial Parrot.</Species>
-            </SubFamily>
-        </Family>
-    </Order>
-
-
-<Order Name="CUCULIFORMES">
-        <Family Name="CUCULIDAE">
-            <SubFamily Name="Cuculinae">
-                <Species Scientific_Name="Cuculus canorus">Common Cuckoo. (A)</Species>
-                <Species Scientific_Name="Cuculus saturatus">Oriental Cuckoo. (A)</Species>
-            </SubFamily>
-            <SubFamily Name="Coccyzinae">
-                <Species Scientific_Name="Coccyzus erythropthalmus">Black-billed Cuckoo.</Species>
-                <Species Scientific_Name="Coccyzus americanus">Yellow-billed Cuckoo.</Species>
-                <Species Scientific_Name="Coccyzus euleri ">Pearly-breasted Cuckoo. (A)</Species>
-                <Species Scientific_Name="Coccyzus minor">Mangrove Cuckoo.</Species>
-                <Species Scientific_Name="Coccyzus ferrugineus">Cocos Cuckoo.</Species>
-                <Species Scientific_Name="Coccyzus melacoryphus">Dark-billed Cuckoo. (A)</Species>
-                <Species Scientific_Name="Saurothera merlini">Great Lizard-Cuckoo.</Species>
-                <Species Scientific_Name="Saurothera vetula">Jamaican Lizard-Cuckoo.</Species>
-                <Species Scientific_Name="Saurothera longirostris">Hispaniolan Lizard-Cuckoo.</Species>
-                <Species Scientific_Name="Saurothera vieilloti">Puerto Rican Lizard-Cuckoo.</Species>
-                <Species Scientific_Name="Hyetornis rufigularis">Bay-breasted Cuckoo.</Species>
-                <Species Scientific_Name="Hyetornis pluvialis">Chestnut-bellied Cuckoo.</Species>
-                <Species Scientific_Name="Piaya cayana">Squirrel Cuckoo.</Species>
-                <Species Scientific_Name="Piaya minuta">Little Cuckoo.</Species>
-            </SubFamily>
-            <SubFamily Name="Neomorphinae">
-                <Species Scientific_Name="Tapera naevia">Striped Cuckoo.</Species>
-                <Species Scientific_Name="Dromococcyx phasianellus">Pheasant Cuckoo.</Species>
-                <Species Scientific_Name="Morococcyx erythropygus">Lesser Ground-Cuckoo.</Species>
-                <Species Scientific_Name="Geococcyx velox">Lesser Roadrunner.</Species>
-                <Species Scientific_Name="Geococcyx californianus">Greater Roadrunner.</Species>
-                <Species Scientific_Name="Neomorphus geoffroyi">Rufous-vented Ground-Cuckoo.</Species>
-            </SubFamily>
-            <SubFamily Name="Crotophaginae">
-                <Species Scientific_Name="Crotophaga major">Greater Ani.</Species>
-                <Species Scientific_Name="Crotophaga ani">Smooth-billed Ani.</Species>
-                <Species Scientific_Name="Crotophaga sulcirostris">Groove-billed Ani.</Species>
-            </SubFamily>
-        </Family>
-    </Order>
-
-
-<Order Name="STRIGIFORMES">
-        <Family Name="TYTONIDAE">
-            <Species Scientific_Name="Tyto alba">Barn Owl.</Species>
-            <Species Scientific_Name="Tyto glaucops">Ashy-faced Owl.</Species>
-        </Family>
-        <Family Name="STRIGIDAE">
-            <Species Scientific_Name="Otus flammeolus">Flammulated Owl.</Species>
-            <Species Scientific_Name="Otus sunia">Oriental Scops-Owl. (A)</Species>
-            <Species Scientific_Name="Otus kennicottii">Western Screech-Owl.</Species>
-            <Species Scientific_Name="Otus asio">Eastern Screech-Owl.</Species>
-            <Species Scientific_Name="Otus seductus">Balsas Screech-Owl.</Species>
-            <Species Scientific_Name="Otus cooperi">Pacific Screech-Owl.</Species>
-            <Species Scientific_Name="Otus trichopsis">Whiskered Screech-Owl.</Species>
-            <Species Scientific_Name="Otus choliba">Tropical Screech-Owl.</Species>
-            <Species Scientific_Name="Otus barbarus">Bearded Screech-Owl.</Species>
-            <Species Scientific_Name="Otus guatemalae">Vermiculated Screech-Owl.</Species>
-            <Species Scientific_Name="Otus clarkii">Bare-shanked Screech-Owl.</Species>
-            <Species Scientific_Name="Otus nudipes">Puerto Rican Screech-Owl.</Species>
-            <Species Scientific_Name="Otus lawrencii">Cuban Screech-Owl.</Species>
-            <Species Scientific_Name="Lophostrix cristata">Crested Owl.</Species>
-            <Species Scientific_Name="Pulsatrix perspicillata">Spectacled Owl.</Species>
-            <Species Scientific_Name="Bubo virginianus">Great Horned Owl.</Species>
-            <Species Scientific_Name="Nyctea scandiaca">Snowy Owl.</Species>
-            <Species Scientific_Name="Surnia ulula">Northern Hawk Owl.</Species>
-            <Species Scientific_Name="Glaucidium gnoma">Northern Pygmy-Owl.</Species>
-            <Species Scientific_Name="Glaucidium jardinii">Andean Pygmy-Owl.</Species>
-            <Species Scientific_Name="Glaucidium griseiceps">Central American Pygmy-Owl.</Species>
-            <Species Scientific_Name="Glaucidium sanchezi">Tamaulipas Pygmy-Owl.</Species>
-            <Species Scientific_Name="Glaucidium palmarum">Colima Pygmy-Owl.</Species>
-            <Species Scientific_Name="Glaucidium brasilianum">Ferruginous Pygmy-Owl.</Species>
-            <Species Scientific_Name="Glaucidium siju">Cuban Pygmy-Owl.</Species>
-            <Species Scientific_Name="Micrathene whitneyi">Elf Owl.</Species>
-            <Species Scientific_Name="Athene cunicularia">Burrowing Owl.</Species>
-            <Species Scientific_Name="Ciccaba virgata">Mottled Owl.</Species>
-            <Species Scientific_Name="Ciccaba nigrolineata">Black-and-white Owl.</Species>
-            <Species Scientific_Name="Strix occidentalis">Spotted Owl.</Species>
-            <Species Scientific_Name="Strix varia">Barred Owl.</Species>
-            <Species Scientific_Name="Strix fulvescens">Fulvous Owl.</Species>
-            <Species Scientific_Name="Strix nebulosa">Great Gray Owl.</Species>
-            <Species Scientific_Name="Asio otus">Long-eared Owl.</Species>
-            <Species Scientific_Name="Asio stygius">Stygian Owl.</Species>
-            <Species Scientific_Name="Asio flammeus">Short-eared Owl.</Species>
-            <Species Scientific_Name="Pseudoscops clamator">Striped Owl.</Species>
-            <Species Scientific_Name="Pseudoscops grammicus">Jamaican Owl.</Species>
-            <Species Scientific_Name="Aegolius funereus">Boreal Owl.</Species>
-            <Species Scientific_Name="Aegolius acadicus">Northern Saw-whet Owl.</Species>
-            <Species Scientific_Name="Aegolius ridgwayi">Unspotted Saw-whet Owl.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="CAPRIMULGIFORMES">
-        <Family Name="CAPRIMULGIDAE">
-            <SubFamily Name="Chordeilinae">
-                <Species Scientific_Name="Lurocalis semitorquatus">Short-tailed Nighthawk.</Species>
-                <Species Scientific_Name="Chordeiles acutipennis">Lesser Nighthawk.</Species>
-                <Species Scientific_Name="Chordeiles minor">Common Nighthawk.</Species>
-                <Species Scientific_Name="Chordeiles gundlachii">Antillean Nighthawk.</Species>
-            </SubFamily>
-            <SubFamily Name="Caprimulginae">
-                <Species Scientific_Name="Nyctidromus albicollis">Common Pauraque.</Species>
-                <Species Scientific_Name="Phalaenoptilus nuttallii">Common Poorwill.</Species>
-                <Species Scientific_Name="Siphonorhis americanus">Jamaican Pauraque.</Species>
-                <Species Scientific_Name="Siphonorhis brewsteri">Least Pauraque.</Species>
-                <Species Scientific_Name="Nyctiphrynus mcleodii">Eared Poorwill.</Species>
-                <Species Scientific_Name="Nyctiphrynus yucatanicus">Yucatan Poorwill.</Species>
-                <Species Scientific_Name="Nyctiphrynus ocellatus">Ocellated Poorwill.</Species>
-                <Species Scientific_Name="Caprimulgus carolinensis">Chuck-will's-widow.</Species>
-                <Species Scientific_Name="Caprimulgus rufus">Rufous Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus cubanensis">Greater Antillean Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus salvini">Tawny-collared Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus badius">Yucatan Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus ridgwayi">Buff-collared Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus vociferus">Whip-poor-will.</Species>
-                <Species Scientific_Name="Caprimulgus noctitherus">Puerto Rican Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus saturatus">Dusky Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus cayennensis">White-tailed Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus maculicaudus">Spot-tailed Nightjar.</Species>
-                <Species Scientific_Name="Caprimulgus indicus">Jungle Nightjar. (A)</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="NYCTIBIIDAE">
-            <Species Scientific_Name="Nyctibius grandis">Great Potoo.</Species>
-            <Species Scientific_Name="Nyctibius griseus">Common Potoo.</Species>
-            <Species Scientific_Name="Nyctibius jamaicensis">Northern Potoo.</Species>
-        </Family>
-        <Family Name="STEATORNITHIDAE">
-            <Species Scientific_Name="Steatornis caripensis">Oilbird. (A)</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="APODIFORMES">
-        <Family Name="APODIDAE">
-            <SubFamily Name="Cypseloidinae">
-                <Species Scientific_Name="Cypseloides niger">Black Swift.</Species>
-                <Species Scientific_Name="Cypseloides storeri">White-fronted Swift.</Species>
-                <Species Scientific_Name="Cypseloides cryptus">White-chinned Swift.</Species>
-                <Species Scientific_Name="Cypseloides cherriei">Spot-fronted Swift.</Species>
-                <Species Scientific_Name="Streptoprocne rutila">Chestnut-collared Swift.</Species>
-                <Species Scientific_Name="Streptoprocne zonaris">White-collared Swift.</Species>
-                <Species Scientific_Name="Streptoprocne semicollaris">White-naped Swift.</Species>
-            </SubFamily>
-            <SubFamily Name="Chaeturinae">
-                <Species Scientific_Name="Chaetura pelagica">Chimney Swift.</Species>
-                <Species Scientific_Name="Chaetura vauxi">Vaux's Swift.</Species>
-                <Species Scientific_Name="Chaetura chapmani">Chapman's Swift. (A)</Species>
-                <Species Scientific_Name="Chaetura brachyura">Short-tailed Swift.</Species>
-                <Species Scientific_Name="Chaetura andrei">Ashy-tailed Swift. (A)</Species>
-                <Species Scientific_Name="Chaetura spinicauda">Band-rumped Swift.</Species>
-                <Species Scientific_Name="Chaetura cinereiventris">Gray-rumped Swift.</Species>
-                <Species Scientific_Name="Chaetura martinica">Lesser Antillean Swift.</Species>
-                <Species Scientific_Name="Hirundapus caudacutus">White-throated Needletail. (A)</Species>
-                <Species Scientific_Name="Aerodramus bartschi">Guam Swiftlet. (H, I)</Species>
-            </SubFamily>
-            <SubFamily Name="Apodinae">
-                <Species Scientific_Name="Apus apus">Common Swift. (A)</Species>
-                <Species Scientific_Name="Apus pacificus">Fork-tailed Swift. (A)</Species>
-                <Species Scientific_Name="Apus melba">Alpine Swift. (A)</Species>
-                <Species Scientific_Name="Aeronautes saxatalis">White-throated Swift.</Species>
-                <Species Scientific_Name="Panyptila cayennensis">Lesser Swallow-tailed Swift.</Species>
-                <Species Scientific_Name="Panyptila sanctihieronymi">Great Swallow-tailed Swift.</Species>
-                <Species Scientific_Name="Tachornis phoenicobia">Antillean Palm-Swift.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="TROCHILIDAE">
-            <SubFamily Name="Phaethornithinae">
-                <Species Scientific_Name="Glaucis aenea">Bronzy Hermit.</Species>
-                <Species Scientific_Name="Glaucis hirsuta">Rufous-breasted Hermit.</Species>
-                <Species Scientific_Name="Threnetes ruckeri">Band-tailed Barbthroat.</Species>
-                <Species Scientific_Name="Phaethornis guy">Green Hermit.</Species>
-                <Species Scientific_Name="Phaethornis superciliosus">Long-tailed Hermit.</Species>
-                <Species Scientific_Name="Phaethornis anthophilus">Pale-bellied Hermit.</Species>
-                <Species Scientific_Name="Phaethornis longuemareus">Little Hermit.</Species>
-                <Species Scientific_Name="Eutoxeres aquila">White-tipped Sicklebill.</Species>
-            </SubFamily>
-            <SubFamily Name="Trochilinae">
-                <Species Scientific_Name="Androdon aequatorialis">Tooth-billed Hummingbird.</Species>
-                <Species Scientific_Name="Doryfera ludovicae">Green-fronted Lancebill.</Species>
-                <Species Scientific_Name="Phaeochroa cuvierii">Scaly-breasted Hummingbird.</Species>
-                <Species Scientific_Name="Campylopterus curvipennis">Wedge-tailed Sabrewing.</Species>
-                <Species Scientific_Name="Campylopterus excellens">Long-tailed Sabrewing.</Species>
-                <Species Scientific_Name="Campylopterus rufus">Rufous Sabrewing.</Species>
-                <Species Scientific_Name="Campylopterus hemileucurus">Violet Sabrewing.</Species>
-                <Species Scientific_Name="Florisuga mellivora">White-necked Jacobin.</Species>
-                <Species Scientific_Name="Colibri delphinae">Brown Violet-ear.</Species>
-                <Species Scientific_Name="Colibri thalassinus">Green Violet-ear.</Species>
-                <Species Scientific_Name="Anthracothorax prevostii">Green-breasted Mango.</Species>
-                <Species Scientific_Name="Anthracothorax nigricollis">Black-throated Mango.</Species>
-                <Species Scientific_Name="Anthracothorax veraguensis">Veraguan Mango.</Species>
-                <Species Scientific_Name="Anthracothorax dominicus">Antillean Mango.</Species>
-                <Species Scientific_Name="Anthracothorax viridis">Green Mango.</Species>
-                <Species Scientific_Name="Anthracothorax mango">Jamaican Mango.</Species>
-                <Species Scientific_Name="Eulampis jugularis">Purple-throated Carib.</Species>
-                <Species Scientific_Name="Eulampis holosericeus">Green-throated Carib.</Species>
-                <Species Scientific_Name="Chrysolampis mosquitus">Ruby-topaz Hummingbird.</Species>
-                <Species Scientific_Name="Orthorhyncus cristatus">Antillean Crested Hummingbird.</Species>
-                <Species Scientific_Name="Klais guimeti">Violet-headed Hummingbird.</Species>
-                <Species Scientific_Name="Abeillia abeillei">Emerald-chinned Hummingbird.</Species>
-                <Species Scientific_Name="Lophornis brachylopha">Short-crested Coquette.</Species>
-                <Species Scientific_Name="Lophornis delattrei">Rufous-crested Coquette.</Species>
-                <Species Scientific_Name="Lophornis helenae">Black-crested Coquette.</Species>
-                <Species Scientific_Name="Lophornis adorabilis">White-crested Coquette.</Species>
-                <Species Scientific_Name="Discosura conversii">Green Thorntail.</Species>
-                <Species Scientific_Name="Chlorostilbon auriceps">Golden-crowned Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon forficatus">Cozumel Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon canivetii">Canivet's Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon assimilis">Garden Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon ricordii">Cuban Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon bracei">Brace's Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon swainsonii">Hispaniolan Emerald.</Species>
-                <Species Scientific_Name="Chlorostilbon maugaeus">Puerto Rican Emerald.</Species>
-                <Species Scientific_Name="Cynanthus sordidus">Dusky Hummingbird.</Species>
-                <Species Scientific_Name="Cynanthus latirostris">Broad-billed Hummingbird.</Species>
-                <Species Scientific_Name="Cyanophaia bicolor">Blue-headed Hummingbird.</Species>
-                <Species Scientific_Name="Thalurania ridgwayi">Mexican Woodnymph.</Species>
-                <Species Scientific_Name="Thalurania colombica">Violet-crowned Woodnymph.</Species>
-                <Species Scientific_Name="Thalurania fannyi">Green-crowned Woodnymph.</Species>
-                <Species Scientific_Name="Panterpe insignis">Fiery-throated Hummingbird.</Species>
-                <Species Scientific_Name="Damophila julie">Violet-bellied Hummingbird.</Species>
-                <Species Scientific_Name="Lepidopyga coeruleogularis">Sapphire-throated Hummingbird.</Species>
-                <Species Scientific_Name="Hylocharis grayi">Blue-headed Sapphire.</Species>
-                <Species Scientific_Name="Hylocharis eliciae">Blue-throated Goldentail.</Species>
-                <Species Scientific_Name="Hylocharis leucotis">White-eared Hummingbird.</Species>
-                <Species Scientific_Name="Hylocharis xantusii">Xantus's Hummingbird.</Species>
-                <Species Scientific_Name="Goldmania violiceps">Violet-capped Hummingbird.</Species>
-                <Species Scientific_Name="Goethalsia bella">Rufous-cheeked Hummingbird.</Species>
-                <Species Scientific_Name="Trochilus polytmus">Streamertail.</Species>
-                <Species Scientific_Name="Amazilia candida">White-bellied Emerald.</Species>
-                <Species Scientific_Name="Amazilia luciae">Honduran Emerald.</Species>
-                <Species Scientific_Name="Amazilia amabilis">Blue-chested Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia decora">Charming Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia boucardi">Mangrove Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia cyanocephala">Azure-crowned Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia cyanifrons">Indigo-capped Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia beryllina">Berylline Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia cyanura">Blue-tailed Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia saucerrottei">Steely-vented Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia edward">Snowy-bellied Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia tzacatl">Rufous-tailed Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia yucatanensis">Buff-bellied Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia rutila">Cinnamon Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia violiceps">Violet-crowned Hummingbird.</Species>
-                <Species Scientific_Name="Amazilia viridifrons">Green-fronted Hummingbird.</Species>
-                <Species Scientific_Name="Eupherusa eximia">Stripe-tailed Hummingbird.</Species>
-                <Species Scientific_Name="Eupherusa cyanophrys">Blue-capped Hummingbird.</Species>
-                <Species Scientific_Name="Eupherusa poliocerca">White-tailed Hummingbird.</Species>
-                <Species Scientific_Name="Eupherusa nigriventris">Black-bellied Hummingbird.</Species>
-                <Species Scientific_Name="Elvira chionura">White-tailed Emerald.</Species>
-                <Species Scientific_Name="Elvira cupreiceps">Coppery-headed Emerald.</Species>
-                <Species Scientific_Name="Microchera albocoronata">Snowcap.</Species>
-                <Species Scientific_Name="Chalybura buffonii">White-vented Plumeleteer.</Species>
-                <Species Scientific_Name="Chalybura urochrysia">Bronze-tailed Plumeleteer.</Species>
-                <Species Scientific_Name="Lampornis viridipallens">Green-throated Mountain-gem.</Species>
-                <Species Scientific_Name="Lampornis sybillae">Green-breasted Mountain-gem.</Species>
-                <Species Scientific_Name="Lampornis amethystinus">Amethyst-throated Hummingbird.</Species>
-                <Species Scientific_Name="Lampornis clemenciae">Blue-throated Hummingbird.</Species>
-                <Species Scientific_Name="Lampornis hemileucus">White-bellied Mountain-gem.</Species>
-                <Species Scientific_Name="Lampornis calolaema">Purple-throated Mountain-gem.</Species>
-                <Species Scientific_Name="Lampornis castaneoventris">White-throated Mountain-gem.</Species>
-                <Species Scientific_Name="Lamprolaima rhami">Garnet-throated Hummingbird.</Species>
-                <Species Scientific_Name="Heliodoxa jacula">Green-crowned Brilliant.</Species>
-                <Species Scientific_Name="Eugenes fulgens">Magnificent Hummingbird.</Species>
-                <Species Scientific_Name="Haplophaedia aureliae">Greenish Puffleg.</Species>
-                <Species Scientific_Name="Heliothryx barroti">Purple-crowned Fairy.</Species>
-                <Species Scientific_Name="Heliomaster longirostris">Long-billed Starthroat.</Species>
-                <Species Scientific_Name="Heliomaster constantii">Plain-capped Starthroat.</Species>
-                <Species Scientific_Name="Calliphlox evelynae">Bahama Woodstar.</Species>
-                <Species Scientific_Name="Calliphlox bryantae">Magenta-throated Woodstar.</Species>
-                <Species Scientific_Name="Calliphlox mitchellii">Purple-throated Woodstar.</Species>
-                <Species Scientific_Name="Doricha enicura">Slender Sheartail.</Species>
-                <Species Scientific_Name="Doricha eliza">Mexican Sheartail.</Species>
-                <Species Scientific_Name="Tilmatura dupontii">Sparkling-tailed Hummingbird.</Species>
-                <Species Scientific_Name="Calothorax lucifer">Lucifer Hummingbird.</Species>
-                <Species Scientific_Name="Calothorax pulcher">Beautiful Hummingbird.</Species>
-                <Species Scientific_Name="Archilochus colubris">Ruby-throated Hummingbird.</Species>
-                <Species Scientific_Name="Archilochus alexandri">Black-chinned Hummingbird.</Species>
-                <Species Scientific_Name="Mellisuga minima">Vervain Hummingbird.</Species>
-                <Species Scientific_Name="Mellisuga helenae">Bee Hummingbird.</Species>
-                <Species Scientific_Name="Calypte anna">Anna's Hummingbird.</Species>
-                <Species Scientific_Name="Calypte costae">Costa's Hummingbird.</Species>
-                <Species Scientific_Name="Stellula calliope">Calliope Hummingbird.</Species>
-                <Species Scientific_Name="Atthis heloisa">Bumblebee Hummingbird.</Species>
-                <Species Scientific_Name="Atthis ellioti">Wine-throated Hummingbird.</Species>
-                <Species Scientific_Name="Selasphorus platycercus">Broad-tailed Hummingbird.</Species>
-                <Species Scientific_Name="Selasphorus rufus">Rufous Hummingbird.</Species>
-                <Species Scientific_Name="Selasphorus sasin">Allen's Hummingbird.</Species>
-                <Species Scientific_Name="Selasphorus flammula">Volcano Hummingbird.</Species>
-                <Species Scientific_Name="Selasphorus ardens">Glow-throated Hummingbird.</Species>
-                <Species Scientific_Name="Selasphorus scintilla">Scintillant Hummingbird.</Species>
-            </SubFamily>
-        </Family>
-    </Order>
-
-
-<Order Name="TROGONIFORMES">
-        <Family Name="TROGONIDAE">
-            <Species Scientific_Name="">Cuban Trogon.</Species>
-            <Species Scientific_Name="">Hispaniolan Trogon.</Species>
-            <Species Scientific_Name="">Black-headed Trogon.</Species>
-            <Species Scientific_Name="">Citreoline Trogon.</Species>
-            <Species Scientific_Name="">White-tailed Trogon.</Species>
-            <Species Scientific_Name="">Baird's Trogon.</Species>
-            <Species Scientific_Name="">Violaceous Trogon.</Species>
-            <Species Scientific_Name="">Mountain Trogon.</Species>
-            <Species Scientific_Name="">Elegant Trogon.</Species>
-            <Species Scientific_Name="">Collared Trogon.</Species>
-            <Species Scientific_Name="">Orange-bellied Trogon.</Species>
-            <Species Scientific_Name="">Black-throated Trogon.</Species>
-            <Species Scientific_Name="">Black-tailed Trogon.</Species>
-            <Species Scientific_Name="">Slaty-tailed Trogon.</Species>
-            <Species Scientific_Name="">Lattice-tailed Trogon.</Species>
-            <Species Scientific_Name="">Eared Trogon.</Species>
-            <Species Scientific_Name="">Golden-headed Quetzal.</Species>
-            <Species Scientific_Name="">Resplendent Quetzal.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="UPUPIFORMES">
-        <Family Name="UPUPIDAE">
-            <Species Scientific_Name="Upupa epops">Eurasian Hoopoe. (A)</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="CORACIIFORMES">
-        <Family Name="TODIDAE">
-            <Species Scientific_Name="Todus multicolor">Cuban Tody.</Species>
-            <Species Scientific_Name="Todus subulatus">Broad-billed Tody.</Species>
-            <Species Scientific_Name="Todus angustirostris">Narrow-billed Tody.</Species>
-            <Species Scientific_Name="Todus todus">Jamaican Tody.</Species>
-            <Species Scientific_Name="Todus mexicanus">Puerto Rican Tody.</Species>
-        </Family>
-        <Family Name="MOMOTIDAE">
-            <Species Scientific_Name="Hylomanes momotula">Tody Motmot.</Species>
-            <Species Scientific_Name="Aspatha gularis">Blue-throated Motmot.</Species>
-            <Species Scientific_Name="Momotus mexicanus">Russet-crowned Motmot.</Species>
-            <Species Scientific_Name="Momotus momota">Blue-crowned Motmot.</Species>
-            <Species Scientific_Name="Baryphthengus martii">Rufous Motmot.</Species>
-            <Species Scientific_Name="Electron carinatum">Keel-billed Motmot.</Species>
-            <Species Scientific_Name="Electron platyrhynchum">Broad-billed Motmot.</Species>
-            <Species Scientific_Name="Eumomota superciliosa">Turquoise-browed Motmot.</Species>
-        </Family>
-        <Family Name="ALCEDINIDAE">
-            <Species Scientific_Name="">Ringed Kingfisher.</Species>
-            <Species Scientific_Name="">Belted Kingfisher.</Species>
-            <Species Scientific_Name="">Amazon Kingfisher.</Species>
-            <Species Scientific_Name="">Green Kingfisher.</Species>
-            <Species Scientific_Name="">Green-and-rufous Kingfisher.</Species>
-            <Species Scientific_Name="">American Pygmy Kingfisher.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PICIFORMES">
-        <Family Name="BUCCONIDAE">
-            <Species Scientific_Name="Nystalus radiatus">Barred Puffbird.</Species>
-            <Species Scientific_Name="Notharchus macrorhynchos">White-necked Puffbird.</Species>
-            <Species Scientific_Name="Notharchus pectoralis">Black-breasted Puffbird.</Species>
-            <Species Scientific_Name="Notharchus tectus">Pied Puffbird.</Species>
-            <Species Scientific_Name="Malacoptila panamensis">White-whiskered Puffbird.</Species>
-            <Species Scientific_Name="Micromonacha lanceolata">Lanceolated Monklet.</Species>
-            <Species Scientific_Name="Nonnula ruficapilla">Gray-cheeked Nunlet.</Species>
-            <Species Scientific_Name="Monasa morphoeus">White-fronted Nunbird.</Species>
-        </Family>
-        <Family Name="GALBULIDAE">
-            <Species Scientific_Name="Brachygalba salmoni">Dusky-backed Jacamar.</Species>
-            <Species Scientific_Name="Galbula ruficauda">Rufous-tailed Jacamar.</Species>
-            <Species Scientific_Name="Jacamerops aurea">Great Jacamar.</Species>
-        </Family>
-        <Family Name="RAMPHASTIDAE">
-            <SubFamily Name="Capitoninae">
-                <Species Scientific_Name="Capito maculicoronatus">Spot-crowned Barbet.</Species>
-                <Species Scientific_Name="Eubucco bourcierii">Red-headed Barbet.</Species>
-            </SubFamily>
-            <SubFamily Name="Semnornithinae">
-                <Species Scientific_Name="Semnornis frantzii">Prong-billed Barbet.</Species>
-            </SubFamily>
-            <SubFamily Name="Ramphastinae">
-                <Species Scientific_Name="Aulacorhynchus prasinus">Emerald Toucanet.</Species>
-                <Species Scientific_Name="Pteroglossus torquatus">Collared Aracari.</Species>
-                <Species Scientific_Name="Pteroglossus frantzii">Fiery-billed Aracari.</Species>
-                <Species Scientific_Name="Selenidera spectabilis">Yellow-eared Toucanet.</Species>
-                <Species Scientific_Name="Ramphastos sulfuratus">Keel-billed Toucan.</Species>
-                <Species Scientific_Name="Ramphastos swainsonii">Chestnut-mandibled Toucan.</Species>
-            </SubFamily>
-        </Family>
-        <Family Name="PICIDAE">
-            <SubFamily Name="Jynginae">
-                <Species Scientific_Name="Jynx torquilla">Eurasian Wryneck. (A)</Species>
-            </SubFamily>
-            <SubFamily Name="Picumninae">
-                <Species Scientific_Name="Picumnus olivaceus">Olivaceous Piculet.</Species>
-                <Species Scientific_Name="Nesoctites micromegas">Antillean Piculet.</Species>
-            </SubFamily>
-            <SubFamily Name="Picinae">
-                <Species Scientific_Name="Melanerpes lewis">Lewis's Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes herminieri">Guadeloupe Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes portoricensis">Puerto Rican Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes erythrocephalus">Red-headed Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes formicivorus">Acorn Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes chrysauchen">Golden-naped Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes pucherani">Black-cheeked Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes striatus">Hispaniolan Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes radiolatus">Jamaican Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes chrysogenys">Golden-cheeked Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes hypopolius">Gray-breasted Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes pygmaeus">Red-vented Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes rubricapillus">Red-crowned Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes uropygialis">Gila Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes hoffmannii">Hoffmann's Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes aurifrons">Golden-fronted Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes carolinus">Red-bellied Woodpecker.</Species>
-                <Species Scientific_Name="Melanerpes superciliaris">West Indian Woodpecker.</Species>
-                <Species Scientific_Name="Sphyrapicus thyroideus">Williamson's Sapsucker.</Species>
-                <Species Scientific_Name="Sphyrapicus varius">Yellow-bellied Sapsucker.</Species>
-                <Species Scientific_Name="Sphyrapicus nuchalis">Red-naped Sapsucker.</Species>
-                <Species Scientific_Name="Sphyrapicus ruber">Red-breasted Sapsucker.</Species>
-                <Species Scientific_Name="Xiphidiopicus percussus">Cuban Green Woodpecker.</Species>
-                <Species Scientific_Name="Dendrocopos major">Great Spotted Woodpecker. (A)</Species>
-                <Species Scientific_Name="Picoides scalaris">Ladder-backed Woodpecker.</Species>
-                <Species Scientific_Name="Picoides nuttallii">Nuttall's Woodpecker.</Species>
-                <Species Scientific_Name="Picoides pubescens">Downy Woodpecker.</Species>
-                <Species Scientific_Name="Picoides villosus">Hairy Woodpecker.</Species>
-                <Species Scientific_Name="Picoides stricklandi">Strickland's Woodpecker.</Species>
-                <Species Scientific_Name="Picoides borealis">Red-cockaded Woodpecker.</Species>
-                <Species Scientific_Name="Picoides albolarvatus">White-headed Woodpecker.</Species>
-                <Species Scientific_Name="Picoides tridactylus">Three-toed Woodpecker.</Species>
-                <Species Scientific_Name="Picoides arcticus">Black-backed Woodpecker.</Species>
-                <Species Scientific_Name="Veniliornis fumigatus">Smoky-brown Woodpecker.</Species>
-                <Species Scientific_Name="Veniliornis kirkii">Red-rumped Woodpecker.</Species>
-                <Species Scientific_Name="Piculus simplex">Rufous-winged Woodpecker.</Species>
-                <Species Scientific_Name="Piculus callopterus">Stripe-cheeked Woodpecker.</Species>
-                <Species Scientific_Name="Piculus chrysochloros">Golden-green Woodpecker.</Species>
-                <Species Scientific_Name="Piculus rubiginosus">Golden-olive Woodpecker.</Species>
-                <Species Scientific_Name="Piculus auricularis">Gray-crowned Woodpecker.</Species>
-                <Species Scientific_Name="Colaptes punctigula">Spot-breasted Woodpecker.</Species>
-                <Species Scientific_Name="Colaptes auratus">Northern Flicker.</Species>
-                <Species Scientific_Name="Colaptes chrysoides">Gilded Flicker.</Species>
-                <Species Scientific_Name="Colaptes fernandinae">Fernandina's Flicker.</Species>
-                <Species Scientific_Name="Celeus loricatus">Cinnamon Woodpecker.</Species>
-                <Species Scientific_Name="Celeus castaneus">Chestnut-colored Woodpecker.</Species>
-                <Species Scientific_Name="Dryocopus lineatus">Lineated Woodpecker.</Species>
-                <Species Scientific_Name="Dryocopus pileatus">Pileated Woodpecker.</Species>
-                <Species Scientific_Name="Campephilus haematogaster">Crimson-bellied Woodpecker.</Species>
-                <Species Scientific_Name="Campephilus melanoleucos">Crimson-crested Woodpecker.</Species>
-                <Species Scientific_Name="Campephilus guatemalensis">Pale-billed Woodpecker.</Species>
-                <Species Scientific_Name="Campephilus principalis">Ivory-billed Woodpecker.</Species>
-                <Species Scientific_Name="Campephilus imperialis">Imperial Woodpecker.</Species>
-            </SubFamily>
-        </Family>
-    </Order>
-
-
-</Class>
diff --git a/Tests/Threads/birds.xsl b/Tests/Threads/birds.xsl
deleted file mode 100644
index 1a354da..0000000
--- a/Tests/Threads/birds.xsl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" 
-              doctype-system="html.dtd" 
-              doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"
-              encoding="UTF-8"
-              omit-xml-declaration="yes"
-              standalone="no"
-              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/Tests/Transformer/TestXalanTransformer.cpp b/Tests/Transformer/TestXalanTransformer.cpp
deleted file mode 100644
index 21852ce..0000000
--- a/Tests/Transformer/TestXalanTransformer.cpp
+++ /dev/null
@@ -1,353 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-#define TEST_XALAN_CPP
-
-
-// This is here for memory leak testing.
-#if defined(_DEBUG)
-#include <crtdbg.h>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-#if defined(TEST_XALAN_CPP)
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstream.h>
-#else
-#include <iostream>
-#include <strstream>
-#endif
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::ostrstream;
-using std::cout;
-#endif
-
-#else
-
-#include <XalanTransformer/XalanCAPI.h>
-
-#include <cstdio>
-
-#endif
-
-
-static unsigned long xalan_output_handler(const void *data, unsigned long length, const void *handle)
-{
-	FILE *fp = (FILE*)handle;
-
-	char* d = (char *)data;
-
-	
-	fwrite( d, sizeof( char ), length, stdout );
-
-	return fwrite( d, sizeof( char ), length, fp );
-}
-
-
-
-static void xalan_flush_handler(const void *handle)
-{
-	FILE *fp = (FILE*)handle;
-
-	fflush(fp);
-}
-
-
-
-int
-main(
-			int				/* argc */,
-			const char*		/* argv[] */)
-{
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	const char* const		theXMLFileName = "d:\\xslt\\xsl-test\\perf\\basic\\basic-all_well.xml";
-	const char* const 		theXSLFileName = "d:\\xslt\\xsl-test\\perf\\basic\\basic-all_well.xsl";
-	const char* const		theOutFileName = "d:\\Transformer-Results\\basic-all_well.out";
-
-	const char* const 		theXMLFileName2 = "d:\\xslt\\xsl-test\\perf\\basic\\miscfam.xml";
-	const char* const		theXSLFileName2 = "d:\\xslt\\xsl-test\\perf\\basic\\miscfam.xsl";
-
-	const char* const 		theXMLFileName3 = "d:\\xslt\\xsl-test\\conf\\embed\\embed01.xml";	
-	const char* const		theOutFileName3 = "d:\\Transformer-Results\\embed01.out";
-
-	const char* const 		theXMLFileName4 = "d:\\xml-xalan\\c\\samples\\UseStylesheetParam\\foo.xml";	
-	const char* const 		theXSLFileName4 = "d:\\xml-xalan\\c\\samples\\UseStylesheetParam\\foo.xsl";	
-
-#if defined(TEST_XALAN_CPP)
-
-	// Call the static initializer for Xerces.
-	XMLPlatformUtils::Initialize();
-
-    // Initialize Xalan.
-    XalanTransformer::initialize();
-
-	XalanTransformer xalan;
-
-	const XalanCompiledStylesheet*	css = 0;
-	
-	if (xalan.compileStylesheet(theXSLFileName, css) != 0)
-	{
-		cout << xalan.getLastError();
-
-		return 0;	
-	}
-
-	for(int i=0; i<1; ++i)
-	{
-
-		if(xalan.transform(theXMLFileName, css, "d:\\transformer-results\\css.out"))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-		
-		if(xalan.transform(theXMLFileName3, theOutFileName3))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-
-		if(xalan.transform(theXMLFileName, theXSLFileName, theOutFileName))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-
-		ostrstream	theOutput;
-
-		if(xalan.transform(theXMLFileName2, theXSLFileName2, &theOutput))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-
-		theOutput << '\0';
-
-		cout << theOutput.str();
-
-		theOutput.freeze(false);
-
-		ostrstream	theOutput3;
-
-		if(xalan.transform(theXMLFileName3, theOutput3))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-/*		
-		if(xalan.transform(theXMLFileName, css, cout))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-*/		
-		xalan.setStylesheetParam(XalanDOMString("param1"),
-								 XalanDOMString("'What is Up'"));
-
-		if(xalan.transform(theXMLFileName4, theXSLFileName4, &cout))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-
-		if(xalan.transform(theXMLFileName4, theXSLFileName4, &cout))
-		{
-			cout << xalan.getLastError();
-
-			return 0;	
-		}
-	}
-
-   // Terminate Xalan.
-	XalanTransformer::terminate();
-
-	// Call the static terminator for Xerces.
-	XMLPlatformUtils::Terminate();
-
-#else
-	XalanInitialize();
-
-	XalanHandle xalan = CreateXalanTransformer();
-	XalanCSSHandle theXalanCSS2;
-	XalanCSSHandle theXalanCSS4;
-
-	if (XalanCompileStylesheet(theXSLFileName2, xalan, &theXalanCSS2) != 0)
-	{
-		puts("Error");
-		puts(XalanGetLastError(xalan));
-
-		return 0;	
-	}
-
-	XalanCompileStylesheet(theXSLFileName4, xalan, &theXalanCSS4) != 0)
-	{
-		puts("Error");
-		puts(XalanGetLastError(xalan));
-
-		return 0;	
-	}
-
-	for(int i=0; i<2; ++i)
-	{
-		if(XalanTransformToFile(theXMLFileName, theXSLFileName, theOutFileName, xalan))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;	
-		}
-
-		char* 		theOutput;
-
-		if(XalanTransformToData(theXMLFileName2, theXSLFileName2, &theOutput, xalan))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;	
-		}
-
-		puts(theOutput);
-
-		XalanFreeData(theOutput);
-
-		if(XalanTransformToFile(theXMLFileName3, NULL, theOutFileName3, xalan))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;	
-		}
-		
-		if(XalanTransformToData(theXMLFileName3, NULL, &theOutput, xalan))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;	
-		}
-
-		puts(theOutput);
-
-		XalanFreeData(theOutput);
-
-		if(XalanTransformToDataCSS(theXMLFileName2, theXalanCSS2, &theOutput, xalan))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;	
-		}
-
-		puts(theOutput);
-
-		XalanFreeData(theOutput);
-
-		FILE* fp =0;
-		fp = fopen("c:\\temp\\test.out", "w");
-
-		if(XalanTransformToHandlerCSS(theXMLFileName2, theXalanCSS2, xalan, fp, xalan_output_handler, xalan_flush_handler))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;	
-		}
-
-		fclose(fp);
-
-		XalanSetStylesheetParam("param1", "'hi'", xalan);
-
-		//if(xalan.transform(theXMLFileName4, theXSLFileName4, &cout))
-		if(XalanTransformToDataCSS(theXMLFileName4, theXalanCSS4, &theOutput, xalan))
-		{
-			puts("Error");
-			puts(XalanGetLastError(xalan));
-			return 0;
-		}
-
-		puts(theOutput);
-
-		XalanFreeData(theOutput);
-
-	}
-
-	DeleteXalanTransformer(xalan);
-
-	XalanTerminate();
-#endif
-
-	return 0;
-}
\ No newline at end of file
diff --git a/Tests/Transformer/Transformer.dsp b/Tests/Transformer/Transformer.dsp
deleted file mode 100644
index 83ba9b2..0000000
--- a/Tests/Transformer/Transformer.dsp
+++ /dev/null
@@ -1,140 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Transformer" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-
-CFG=Transformer - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Transformer.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Transformer.mak" CFG="Transformer - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Transformer - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "Transformer - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE "Transformer - Win32 Release with symbols" (based on "Win32 (x86) Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Transformer - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\Transformer"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-
-!ELSEIF  "$(CFG)" == "Transformer - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\Transformer"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /stack:0x1f4000 /subsystem:console /debug /machine:I386 /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "Transformer - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Transformer___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "Transformer___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\Transformer"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib ..\..\Build\Win32\VC6\Release\*.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /stack:0x1f4000 /subsystem:console /pdb:none /debug /machine:I386 /fixed:no
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Transformer - Win32 Release"
-# Name "Transformer - Win32 Debug"
-# Name "Transformer - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\TestXalanTransformer.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/build.xml b/build.xml
deleted file mode 100644
index d92023a..0000000
--- a/build.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<project name="XalanC" default="docs" basedir=".">
-
-  <property name="name" value="xalan"/>
-  <property name="Name" value="Xalan-C++"/>
-  <property name="year" value="2001"/>
-
-  <property name="xdocs.dir" value="./xdocs"/>
-  <property name="xdocs.book" value="${xdocs.dir}/sources/xalanLocal.xml"/>
-  <property name="xdocs.site" value="${xdocs.dir}/sources/xalan.xml"/>  
-  <property name="xdocs.style" value="${xdocs.dir}/style"/>
-  <property name="xdocs.apidocs" value="${xdocs.dir}/html/apiDocs"/>  
-
-  <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="build.dir" value="./build"/>
-
-  <property name="build.docs" value="${build.dir}/docs"/>
-  <property name="build.apidocs" value="${build.docs}/apidocs"/>  
-  <property name="site.dir" value="./xml-site"/>
-
-  <target name="prepare">
-    <gunzip src="${doc.generator.styletargz}"/>
-    <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
-	<delete file="${doc.generator.styletar}"/>
-    <mkdir dir="${build.apidocs}"/>
-    <mkdir dir="${site.dir}/apidocs"/>
-    <echo message="Transform commits.xml and put the result in ${xdocs.dir}/DONE"/>
-    <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}">
-      <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done-c.xsl -out xdocs/sources/xalan/DONE"/>
-    </java>        
-    
-  </target>
-
-  <target name="docs" depends="prepare">
-    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}">
-      <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>    
-    </java>  
-  </target>
-
-  <target name="apidocs" depends="prepare">
-    <copy todir="${build.apidocs}">
-      <fileset dir="${xdocs.apidocs}"/>
-    </copy>
-    <exec executable="doxygen.exe" dir="${xdocs.dir}">
-      <arg value="DoxyFileXalan"/>
-    </exec>  
-  </target>
-    
-  <target name="site" depends="prepare">
-    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}">
-      <arg line="targetDirectory=${site.dir} ${xdocs.site} ${xdocs.style}"/>    
-    </java>
-    <copy todir="${site.dir}/apidocs">
-      <fileset dir="${build.apidocs}"/>
-    </copy>      
-      
-  </target>
-  
-  <target name="clean">
-    <delete dir="${build.dir}"/>
-    <delete dir="${site.dir}"/>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Use FOP to create preliminary print (pdf) doc                       -->
-  <!-- Note: fop.jar and xml.jar (from xml-fop) must be on classpath       -->
-
-  <!-- This is VERY preliminary, not yet for inclusion in distribution     -->
-  <!-- =================================================================== -->
-
-  <!--Collate the xml sources into a single xml source with a litle extra structure -->
-  <target name="print.docs" depends="prepare">
-    <echo message="fop.jar and xml.jar must be on the classpath"/>
-    <java fork="yes" classname="org.apache.xalan.xslt.Process"
-      classpath="${java.class.path}:${build.dir}/xalan.jar">
-      <arg line="-xsl ${xdocs.dir}/sources/xalan-c-collate.xsl 
-                 -out ${xdocs.dir}/sources/xalan/xalan-c-collate.xml"/>
-    </java>
-    
-    <!-- Transform collation into Formatting Objects 
-         (with a little work on links along the way) -->    
-    <java fork="yes" classname="org.apache.xalan.xslt.Process"
-      classpath="${java.class.path}:${build.dir}/xalan.jar">
-      <arg line="-in  ${xdocs.dir}/sources/xalan/xalan-c-collate.xml
-                 -param resourceFile '../../sources/xalan/resources.xml'
-                 -param project ${Name}
-                 -xsl ${xdocs.style}/stylesheets/xml2fo.xsl 
-                 -out ${build.docs}/xalan-c-collate.fo"/>
-    </java>
-    
-    <!-- Use FOP to generate a pdf file -->
-    <java fork="yes" classname="org.apache.fop.apps.CommandLine"
-      classpath="${java.class.path}:${build.dir}/xalan.jar:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
-      <arg line="${build.docs}/xalan-c-collate.fo build/docs/xalan-c.pdf"/>
-    </java>
-  </target>
-
-  <!-- pack doc for distribution -->
- <target name="pack.distribdocs">
-    <!--tar tarfile="./build/xalan-c-apidocs.tar" basedir="./build/docs/apidocs" includes="*"/>
-    <gzip src="./build/xalan-c-apidocs.tar" zipfile="./build/xalan-c-apidocs.tar.gz"/-->
-    <zip zipfile="./build/xalan-c-distribdocs.zip" basedir="./build/docs" includes="**"/>
-  </target>
-
-  <!-- pack user guide doc for transfer to website -->
- <target name="pack.docs">
-    <!--tar tarfile="./build/xalan-c-docs.tar" basedir="./build/docs" includes="**"/>
-    <gzip src="./build/xalan-c-docs.tar" zipfile="./build/xalan-c-docs.tar.gz"/-->
-    <zip zipfile="./build/xalan-c-docs.zip" basedir="./xml-site" includes="**" excludes="apidocs/*"/>
-  </target>
-  <!-- pack all doc for transfer to website -->
- <target name="pack.webdocs">
-    <!--tar tarfile="./build/xalan-c-docs.tar" basedir="./build/docs" includes="**"/>
-    <gzip src="./build/xalan-c-docs.tar" zipfile="./build/xalan-c-docs.tar.gz"/-->
-    <zip zipfile="./build/xalan-c-webdocs.zip" basedir="./xml-site" includes="**"/>
-  </target>
-  
-</project>
\ No newline at end of file
diff --git a/commits.xml b/commits.xml
deleted file mode 100644
index 769a641..0000000
--- a/commits.xml
+++ /dev/null
@@ -1,1789 +0,0 @@
-<?xml version="1.0"?>
-<Commits>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/21/2001</DateCommitted>
-<Modified>c/src/Include GCCDefinitions.hpp</Modified>
-<Log>Added new #define for POSIX.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>02/23/2001</DateCommitted>
-<Modified>c/src/Include HPUXDefinitions.hpp</Modified>
-<Log>HP has posix thread support.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>02/23/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToHTML.cpp</Modified>
-<Log>Ignore % in URI to avoid escaping. Bug fix reported by Holger Floerke.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>02/23/2001</DateCommitted>
-<Modified>c/src/Include SolarisDefinitions.hpp</Modified>
-<Log>Solaris has posix thread support.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/26/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanReferenceCountedObject.hpp</Modified>
-<Log>Added accessor for reference count.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XSLT ElemValueOf.cpp</Modified>
-<Log>Moved fire of selection event into if().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XPath XObjectFactoryDefault.cpp
- XObjectFactoryDefault.hpp</Modified>
-<Log>Made static global XBooleans into instance members to solve thread-safety 
-issues.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XSLT Constants.cpp</Modified>
-<Log>Removed extraneous ;</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XalanDOM XalanDOMException.hpp</Modified>
-<Log>Changed UNKNOWN to UNKNOWN_ERR to avoid conflicts with UNKNOWN.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesDOMException.cpp
- XercesDOMException.hpp</Modified>
-<Log>Changed UNKNOWN to UNKNOWN_ERR to avoid conflicts with UNKNOWN.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XSLT ElemValueOf.cpp</Modified>
-<Log>Removed code that was commented out.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XSLT ElemSort.cpp ElemSort.hpp ElemTemplateElement.cpp</Modified>
-<Log>Updated ElemSort to use AVT's.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>02/27/2001</DateCommitted>
-<Modified>c/src/XSLT ElemSort.cpp</Modified>
-<Log>Clean up left over comments.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>02/28/2001</DateCommitted>
-<Added>c/src/XPath XPathAllocator.cpp XPathAllocator.hpp
- XPathFactoryBlock.cpp XPathFactoryBlock.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/01/2001</DateCommitted>
-<Modified>c/src/PlatformSupport StdBinInputStream.cpp</Modified>
-<Log>Fixed bug where one too many characters was read.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/01/2001</DateCommitted>
-<Modified>c/src/XPath XObjectFactoryDefault.cpp
- XObjectFactoryDefault.hpp</Modified>
-<Log>Use vector instead of set for holding instances.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/01/2001</DateCommitted>
-<Modified>c/src/XSLT ElemPI.cpp ElemPI.hpp
- StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- XSLTEngineImpl.cpp XSLTEngineImpl.hpp
- XSLTProcessor.hpp</Modified>
-<Log>Removed evaluateAttrVal.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/01/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToHTML.cpp</Modified>
-<Log>Fixed bug where we were looking for the wrong qname separator character..</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/XSLT ElemPI.cpp</Modified>
-<Log>Fix memory leak bug.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/XSLT ElemApplyImport.cpp ElemApplyImport.hpp
- ElemApplyTemplates.cpp ElemApplyTemplates.hpp
- ElemAttribute.cpp ElemAttribute.hpp
- ElemAttributeSet.cpp ElemAttributeSet.hpp
- ElemCallTemplate.cpp ElemCallTemplate.hpp
- ElemChoose.cpp ElemChoose.hpp ElemComment.cpp
- ElemComment.hpp ElemCopy.cpp ElemCopy.hpp
- ElemCopyOf.cpp ElemCopyOf.hpp ElemDecimalFormat.cpp
- ElemDecimalFormat.hpp ElemElement.cpp
- ElemElement.hpp ElemEmpty.cpp ElemEmpty.hpp
- ElemExtensionCall.cpp ElemExtensionCall.hpp
- ElemFallback.cpp ElemFallback.hpp ElemForEach.cpp
- ElemForEach.hpp ElemIf.cpp ElemIf.hpp
- ElemLiteralResult.cpp ElemLiteralResult.hpp
- ElemMessage.cpp ElemMessage.hpp ElemNumber.cpp
- ElemNumber.hpp ElemParam.cpp ElemParam.hpp
- ElemPI.cpp ElemPI.hpp ElemTemplate.cpp
- ElemTemplate.hpp ElemTemplateElement.cpp
- ElemTemplateElement.hpp ElemTextLiteral.cpp
- ElemTextLiteral.hpp ElemUse.cpp ElemUse.hpp
- ElemValueOf.cpp ElemValueOf.hpp ElemVariable.cpp
- ElemVariable.hpp Stylesheet.cpp Stylesheet.hpp
- StylesheetExecutionContext.cpp
- StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetRoot.cpp TracerEvent.cpp TracerEvent.hpp
- VariablesStack.cpp XSLTEngineImpl.cpp
- XSLTEngineImpl.hpp XSLTProcessor.hpp</Modified>
-<Log>Removed the sourceTree paramater from most element execution functions.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/PlatformSupport ArenaAllocator.hpp
- ReusableArenaAllocator.hpp</Modified>
-<Log>Moved part of function into base class.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree FormatterToSourceTree.cpp
- FormatterToSourceTree.hpp
- XalanSourceTreeDocument.cpp
- XalanSourceTreeDocument.hpp</Modified>
-<Log>Added PrefixResolver support.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToDOM.cpp FormatterToDOM.hpp</Modified>
-<Log>Added PrefixResolver support.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/XSLT StylesheetExecutionContextDefault.cpp
- XSLTEngineImpl.cpp</Modified>
-<Log>Added PrefixResolver support.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Integrated new XPathFactory implementation and new PrefixResolver 
-functionality.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/02/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp
- XalanTransformer.hpp</Modified>
-<Log>Use new XPathFactory for stylesheets.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/03/2001</DateCommitted>
-<Modified>c/src/XSLT ElemTemplateElement.cpp</Modified>
-<Log>Allow extender and combining characters in NCNames.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/04/2001</DateCommitted>
-<Modified>c/src/Include XalanArrayKeyMap.hpp</Modified>
-<Log>Fixed compiler error when iterator is not a pointer.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/04/2001</DateCommitted>
-<Modified>c/src/PlatformSupport AttributeListImpl.cpp</Modified>
-<Log>Fixed compiler error when iterator is not a pointer, and iterator bug in 
-operator=().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/04/2001</DateCommitted>
-<Modified>c/src/XPath XPathExecutionContext.hpp</Modified>
-<Log>New constructor for PrefixResolverSetAndRestore() whenthe old resolver is 
-already known.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/04/2001</DateCommitted>
-<Modified>c/src/XPath SimpleNodeLocator.cpp</Modified>
-<Log>Better variable scope.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/05/2001</DateCommitted>
-<Modified>c/src/XSLT ElemPI.cpp ElemTemplateElement.cpp
- XSLTEngineImpl.cpp</Modified>
-<Log>Replaced embedded string, and changed toCharArray() to c_wstr().</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/06/2001</DateCommitted>
-<Modified>c/src/XSLT ElemApplyImport.cpp ElemApplyImport.hpp
- ElemApplyTemplates.cpp ElemApplyTemplates.hpp
- ElemAttribute.cpp ElemAttribute.hpp
- ElemAttributeSet.cpp ElemAttributeSet.hpp
- ElemCallTemplate.cpp ElemCallTemplate.hpp
- ElemChoose.cpp ElemChoose.hpp ElemComment.cpp
- ElemComment.hpp ElemCopy.cpp ElemCopy.hpp
- ElemCopyOf.cpp ElemCopyOf.hpp ElemDecimalFormat.cpp
- ElemDecimalFormat.hpp ElemElement.cpp
- ElemElement.hpp ElemEmpty.cpp ElemEmpty.hpp
- ElemExtensionCall.cpp ElemExtensionCall.hpp
- ElemFallback.cpp ElemFallback.hpp ElemForEach.cpp
- ElemForEach.hpp ElemIf.cpp ElemIf.hpp
- ElemLiteralResult.cpp ElemLiteralResult.hpp
- ElemMessage.cpp ElemMessage.hpp ElemNumber.cpp
- ElemNumber.hpp ElemParam.cpp ElemParam.hpp
- ElemPI.cpp ElemPI.hpp ElemTemplate.cpp
- ElemTemplate.hpp ElemTemplateElement.cpp
- ElemTemplateElement.hpp ElemTextLiteral.cpp
- ElemTextLiteral.hpp ElemUse.cpp ElemUse.hpp
- ElemValueOf.cpp ElemValueOf.hpp ElemVariable.cpp
- ElemVariable.hpp SelectionEvent.cpp Stylesheet.cpp
- Stylesheet.hpp StylesheetExecutionContext.cpp
- StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetRoot.cpp TracerEvent.cpp TracerEvent.hpp</Modified>
-<Log>Added mode to the execution context and removed mode parameter from several 
-functions.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/09/2001</DateCommitted>
-<Modified>c/src/XSLT TracerEvent.hpp TracerEvent.cpp
- StylesheetRoot.cpp Stylesheet.cpp ElemVariable.hpp
- ElemVariable.cpp ElemValueOf.hpp ElemValueOf.cpp
- ElemUse.hpp ElemUse.cpp ElemTextLiteral.hpp
- ElemTextLiteral.cpp ElemTemplateElement.hpp
- ElemTemplateElement.cpp ElemTemplate.hpp
- ElemTemplate.cpp ElemPI.hpp ElemPI.cpp
- ElemParam.hpp ElemParam.cpp ElemNumber.hpp
- ElemNumber.cpp ElemMessage.hpp ElemMessage.cpp
- ElemLiteralResult.hpp ElemLiteralResult.cpp
- ElemIf.hpp ElemIf.cpp ElemForEach.hpp
- ElemForEach.cpp ElemFallback.hpp ElemFallback.cpp
- ElemExtensionCall.hpp ElemExtensionCall.cpp
- ElemEmpty.hpp ElemEmpty.cpp ElemElement.hpp
- ElemElement.cpp ElemDecimalFormat.hpp
- ElemDecimalFormat.cpp ElemCopyOf.hpp ElemCopyOf.cpp
- ElemCopy.hpp ElemCopy.cpp ElemComment.hpp
- ElemComment.cpp ElemChoose.hpp ElemChoose.cpp
- ElemCallTemplate.hpp ElemCallTemplate.cpp
- ElemAttributeSet.hpp ElemAttributeSet.cpp
- ElemAttribute.hpp ElemAttribute.cpp
- ElemApplyTemplates.hpp ElemApplyTemplates.cpp
- ElemApplyImport.hpp ElemApplyImport.cpp</Modified>
-<Log>Removed the sourceNode paramater from most element execution functions.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/09/2001</DateCommitted>
-<Modified>c/src/XPath XPathExecutionContextDefault.cpp</Modified>
-<Log>Re-initialized additional member variables in reset function.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/09/2001</DateCommitted>
-<Modified>c/src/XPath XPath.cpp</Modified>
-<Log>No longer setting the current node in execute since it is already being done.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/09/2001</DateCommitted>
-<Modified>c/src/XPath XPath.cpp</Modified>
-<Log>I guess not!</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/09/2001</DateCommitted>
-<Modified>c/src/XPath XPathAllocator.hpp</Modified>
-<Log>Added #ifdef.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/11/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDocument.cpp</Modified>
-<Log>Removed bogus assert and changed default allocation sizes.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/11/2001</DateCommitted>
-<Modified>c/src/XSLT StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp</Modified>
-<Log>Fixed bug with recursive execution of pushParams().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/11/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToHTML.cpp FormatterToHTML.hpp</Modified>
-<Log>Changed XalanDOMString parameter to pass by const reference, rather than by 
-value.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/12/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Changes for AIX.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/14/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesParserLiaison.cpp</Modified>
-<Log>Turn off xml decl nodes.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/15/2001</DateCommitted>
-<Modified>c/src/XSLT XSLTResultTarget.cpp XSLTResultTarget.hpp</Modified>
-<Log>Added constructor overloades for const char * and std ostream to allow 
-implicit conversion of these types.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/16/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformerOutputStream.hpp</Modified>
-<Log>Changed call back to extern "C" to fix compiler problems for some UNIX 
-platforms.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/16/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp
- XalanTransformer.hpp</Modified>
-<Log>Added (c++) support for compiled stylesheets and stylesheet parameters.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/16/2001</DateCommitted>
-<Added>c/src/XalanTransformer XalanCompiledStylesheet.cpp
- XalanCompiledStylesheet.hpp</Added>
-<Log>Added (c++) support for compiled stylesheets and stylesheet parameters.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/19/2001</DateCommitted>
-<Modified>c/samples/ApacheModuleXSLT ApacheModuleXSLT.dsp</Modified>
-<Log>Removed XalanTransformer form link line and updated the dependencies.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp XalanCAPI.h
- XalanTransformer.hpp</Modified>
-<Log>Added (c) support for compiled stylesheets and stylesheet parameters.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/ICUBridge ICUBridgeCollationCompareFunctor.cpp
- ICUBridgeCollationCompareFunctor.hpp</Modified>
-<Log>New operator() for locale string.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/PlatformSupport AttributeListImpl.cpp
- AttributeListImpl.hpp</Modified>
-<Log>Moved AttributeVectorEntry out.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Added>c/src/PlatformSupport AttributesImpl.cpp AttributesImpl.hpp
- AttributeVectorEntry.hpp
- AttributeVectorEntryExtended.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DOMStringHelper.cpp</Modified>
-<Log>Better implementation for TranscodeFromLocalCodePage. Changed 
-DOMStringToDouble to use long conversion when possible.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanDOMStringPool.cpp
- XalanDOMStringPool.hpp</Modified>
-<Log>Keep a pointer to string in the index, instead of an iterator into to deque.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XalanDOM XalanDOMString.cpp XalanDOMString.hpp</Modified>
-<Log>Enabled caching of size and fixed a few bugs related to caching.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeParserLiaison.cpp</Modified>
-<Log>Set entity resolver.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDOMSupport.cpp</Modified>
-<Log>Fixed typo in assert().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Added>c/src/XPath XPathEvaluator.cpp XPathEvaluator.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XObject.cpp XObject.hpp</Modified>
-<Log>Better exception throwing.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPathEnvSupport.hpp</Modified>
-<Log>Removed XLocator-related interfaces.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XResultTreeFrag.cpp XResultTreeFrag.hpp</Modified>
-<Log>Disabled auto-conversion to nodeset.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPathException.cpp XPathException.hpp</Modified>
-<Log>Pass text string to base class.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPath.cpp XPath.hpp</Modified>
-<Log>Removed dead code and re-structured code a bit.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPathEnvSupportDefault.cpp
- XPathEnvSupportDefault.hpp</Modified>
-<Log>Removed XLocator-related interfaces.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPathExecutionContext.hpp</Modified>
-<Log>Removed XLocator-related interfaces.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPathExecutionContextDefault.cpp
- XPathExecutionContextDefault.hpp</Modified>
-<Log>Allow support classe instances to be changed.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XSLT VariablesStack.cpp</Modified>
-<Log>Removed extraneous call to function.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XSLT ElemChoose.cpp</Modified>
-<Log>Removed embedded string.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XSLT NodeSorter.cpp NodeSortKey.cpp NodeSortKey.hpp</Modified>
-<Log>Implement sort for xsl:sort lang attribute.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XSLT OutputContextStack.hpp</Modified>
-<Log>Added header file.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XSLT ElemApplyImport.cpp ElemApplyTemplates.cpp
- ElemForEach.cpp ElemTemplateElement.cpp
- ElemTemplateElement.hpp ElemTextLiteral.cpp
- ElemTextLiteral.hpp
- StylesheetConstructionContextDefault.cpp
- StylesheetConstructionContextDefault.hpp
- StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetHandler.cpp StylesheetRoot.cpp
- XSLTEngineImpl.cpp XSLTEngineImpl.hpp
- XSLTProcessor.hpp XSLTProcessorEnvSupport.hpp
- XSLTProcessorEnvSupportDefault.cpp
- XSLTProcessorEnvSupportDefault.hpp</Modified>
-<Log>Allow for support class instances to be changed.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XalanDOM XalanDOMString.hpp</Modified>
-<Log>Added explicit scope for swap() call.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XPath XPathEvaluator.cpp</Modified>
-<Log>Make return explicit.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/29/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp</Modified>
-<Log>Fixed typo.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/30/2001</DateCommitted>
-<Modified>c/src/XalanDOM XalanDOMString.hpp</Modified>
-<Log>Minor change to add swap to the namespace.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/30/2001</DateCommitted>
-<Modified>c/src/XSLT StylesheetExecutionContextDefault.hpp</Modified>
-<Log>Fixed the name of a member function.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/30/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp XalanCAPI.h
- XalanTransformer.cpp XalanTransformer.hpp</Modified>
-<Log>Added support for parsed xml source.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>03/30/2001</DateCommitted>
-<Added>c/src/XalanTransformer XalanDefaultParsedSource.cpp
- XalanDefaultParsedSource.hpp XalanParsedSource.cpp
- XalanParsedSource.hpp XercesDOMParsedSource.cpp
- XercesDOMParsedSource.hpp</Added>
-<Log>Added support for parsed xml source.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/31/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp</Modified>
-<Log>Put header file in the correct location.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>03/31/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.hpp</Modified>
-<Log>Fixed template parameter.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/03/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Re-arranged object creation order to fix call of reset() on a dead object.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp</Modified>
-<Log>Added support for parameters.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.hpp</Modified>
-<Log>Added support for parameters.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XSLT VariablesStack.hpp</Modified>
-<Log>Fixed doc bug and added export of StackEntry for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XSLT TopLevelArg.hpp</Modified>
-<Log>Fixed export of class for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XSLT ElemVariable.cpp</Modified>
-<Log>xsl:variable without select and empty now creates an empty string, not a 
-result tree fragment.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Added>c/src/Include OS390Definitions.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DirectoryEnumerator.hpp</Modified>
-<Log>Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DOMStringHelper.cpp
- DOMStringHelper.hpp DoubleSupport.cpp
- XalanDOMStringPool.hpp</Modified>
-<Log>Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XPath XPath.cpp XPath.hpp XPathExpression.cpp
- XPathExpression.hpp XPathProcessorImpl.cpp</Modified>
-<Log>When possible, encode numbers directly into the op map. Short-cut the normal 
-evaluation process when such a situation is encountered during expression 
-evalution. Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/Include PlatformDefinitions.hpp</Modified>
-<Log>Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToHTML.cpp</Modified>
-<Log>Commented out unused parameter.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToText.cpp FormatterToText.hpp</Modified>
-<Log>Changes to allow for reusing instances.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToXML.cpp</Modified>
-<Log>Handle ignorableWhitespace() without calling up to characters().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XSLT NodeSorter.cpp NodeSorter.hpp</Modified>
-<Log>Make caching of sort results a compile time option, which is not enabled by 
-default.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Removed unused includes.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/XSLT ElemTemplateElement.cpp
- StylesheetExecutionContext.cpp
- StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetRoot.cpp</Modified>
-<Log>Changes to allow for caching of FormatterToText instances.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/10/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XSLT StylesheetRoot.cpp</Modified>
-<Log>Commented out VQ stuff.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DoubleSupport.cpp</Modified>
-<Log>Fix build problems.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/ICUBridge ICUBridgeCollationCompareFunctor.cpp</Modified>
-<Log>Added hack for platforms where it ICU uses wchar_t.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Removed use of numeric_limits.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Fixed scoping issue with AttributeVector entry and included header file.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/ICUBridge ICUBridgeCollationCompareFunctor.cpp</Modified>
-<Log>Fixed typo.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Removed OS/390-specific code, which is no longer needed.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XalanDOM XalanDOMString.cpp</Modified>
-<Log>Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Added back OS/390 stuff and moved initialization of Xerces.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/ICUBridge ICUBridgeCollationCompareFunctor.cpp</Modified>
-<Log>Fixed another type.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesParserLiaison.cpp</Modified>
-<Log>Changed order of header files for OS/390 compiler bug.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp
- XalanTransformer.hpp</Modified>
-<Log>Removed const qualifier from vector typedefs. Removed use of SetParamFunctor 
-because of problems with AIX and OS/390 builds.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Lots more stuff.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/11/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Fixed some errors.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Changes for OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/XSLT Stylesheet.cpp</Modified>
-<Log>Removed disabled code.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/XPath XPath.cpp</Modified>
-<Log>Removed some agressive asserts so TestXPath works again.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/samples/StreamTransform StreamTransform.cpp</Modified>
-<Log>Changes for the OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Changes for the OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/Include OS390Definitions.hpp</Modified>
-<Log>Changes for the OS/390 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDocument.cpp</Modified>
-<Log>Removed unreachable returns.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/PlatformSupport STLHelper.hpp</Modified>
-<Log>Removed incorrect typenames.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanDOMStringPool.cpp</Modified>
-<Log>Added cast.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/XSLT ElemTemplateElement.cpp</Modified>
-<Log>Fixed return/exception throw problem.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/12/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DirectoryEnumerator.hpp</Modified>
-<Log>Changes for the TRU64 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/17/2001</DateCommitted>
-<Modified>c/src/PlatformSupport AttributeVectorEntryExtended.hpp</Modified>
-<Log>Error compiling on AIX.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/18/2001</DateCommitted>
-<Modified>c/src/XPath XPath.cpp XPath.hpp XPathExpression.cpp
- XPathExpression.hpp XPathProcessorImpl.cpp</Modified>
-<Log>Better implementation for immediate numeric literals.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/18/2001</DateCommitted>
-<Modified>c/src/Include PlatformDefinitions.hpp</Modified>
-<Added>c/src/Include TRU64Definitions.hpp</Added>
-<Log>Changes for Tru64 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/18/2001</DateCommitted>
-<Added>c/src/XalanTransformer XalanDefaultDocumentBuilder.cpp
- XalanDefaultDocumentBuilder.hpp
- XalanDocumentBuilder.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/18/2001</DateCommitted>
-<Modified>c/src/XSLT Stylesheet.hpp</Modified>
-<Log>Work-around for Tru64 compiler.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/18/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanDocumentBuilder.hpp</Modified>
-<Log>Added inline destructor and removed constructor.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/19/2001</DateCommitted>
-<Modified>c/samples/CompileStylesheet CompileStylesheet.cpp</Modified>
-<Log>Updated to use the XalanTransformer class.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/19/2001</DateCommitted>
-<Modified>c/samples/SimpleTransform SimpleTransform.cpp</Modified>
-<Log>Updated to use the XalanTransformer class.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/19/2001</DateCommitted>
-<Modified>c/samples/StreamTransform StreamTransform.cpp</Modified>
-<Log>Updated to use the XalanTransformer class.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/19/2001</DateCommitted>
-<Modified>c/samples/UseStylesheetParam UseStylesheetParam.cpp</Modified>
-<Log>Updated to use the XalanTransformer class.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/19/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCompiledStylesheet.hpp</Modified>
-<Log>Fixes some tabs.</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/20/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp
- XalanTransformer.hpp</Modified>
-<Log>Added support for external functions.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/20/2001</DateCommitted>
-<Modified>c/samples/ExternalFunction ExternalFunction.cpp foo.xsl</Modified>
-<Log>Updated to use the XalanTransformer class.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/20/2001</DateCommitted>
-<Added>c/src/Include XalanObjectCache.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/23/2001</DateCommitted>
-<Modified>c/src/XPath QName.cpp QName.hpp</Modified>
-<Log>Changes for Tru64 port.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/24/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DOMStringHelper.cpp</Modified>
-<Log>Fixed some assertions.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/26/2001</DateCommitted>
-<Added>c/samples/SimpleXPathAPI SimpleXPathAPI.dsp
- SimpleXPathAPI.cpp foo.xml</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/samples/SimpleXPathAPI SimpleXPathAPI.cpp</Modified>
-<Log>Fixed compiler error.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/src/PlatformSupport AttributesImpl.cpp AttributesImpl.hpp</Modified>
-<Log>Make sure attribute URIs and localNames are never null.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanDOMStringPool.cpp
- XalanDOMStringPool.hpp</Modified>
-<Log>Improve insertion speed of keys.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDocument.cpp
- XalanSourceTreeDocument.hpp</Modified>
-<Log>Fixed problems with creating source documents.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeParserLiaison.cpp
- XalanSourceTreeParserLiaison.hpp</Modified>
-<Log>Fixed problems with creating source documents.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToHTML.cpp FormatterToXML.cpp</Modified>
-<Log>Fixed problem with writing comments.</Log>
-</Commit>
-<Commit category="samples">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/samples/ThreadSafe ThreadSafe.cpp</Modified>
-<Log>Updated to use the XalanTransformer class.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/samples/ThreadSafe ThreadSafe.cpp</Modified>
-<Log>A little clean-up.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanDefaultDocumentBuilder.cpp
- XalanDefaultDocumentBuilder.hpp
- XalanDefaultParsedSource.cpp
- XalanDefaultParsedSource.hpp
- XalanDocumentBuilder.hpp XalanParsedSource.hpp
- XalanTransformer.cpp XalanTransformer.hpp
- XercesDOMParsedSource.cpp XercesDOMParsedSource.hpp</Modified>
-<Log>Changes for new document builder.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/27/2001</DateCommitted>
-<Added>c/samples/DocumentBuilder DocumentBuilder.cpp
- DocumentBuilder.dsp foo.out foo.xsl</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/Include XalanObjectCache.hpp</Modified>
-<Log>Finished implementation.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Added>c/src/Include STLHelper.hpp</Added>
-<Log>Moved here from PlatformSupport.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/PlatformSupport AttributeListImpl.cpp
- AttributesImpl.cpp DOMStringHelper.cpp
- URISupport.cpp XalanDOMStringCache.cpp
- XalanNumberFormat.cpp</Modified>
-<Removed>c/src/PlatformSupport STLHelper.hpp</Removed>
-<Log>Changes required to move STLHelper.hpp to Include.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDocument.hpp
- XalanSourceTreeParserLiaison.cpp</Modified>
-<Log>Changes required to move STLHelper.hpp to Include.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesDocumentBridge.cpp
- XercesNamedNodeListCache.cpp
- XercesParserLiaison.cpp</Modified>
-<Log>Changes required to move STLHelper.hpp to Include.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/XPath QName.cpp XPath.cpp XPathEnvSupportDefault.cpp
- XPathExecutionContextDefault.cpp
- XPathExecutionContextDefault.hpp
- XPathFunctionTable.hpp</Modified>
-<Log>Changes required to move STLHelper.hpp to Include. Use new cache template.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/XSLT AVT.cpp ElemForEach.cpp ElemLiteralResult.cpp
- Stylesheet.cpp
- StylesheetConstructionContextDefault.cpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetHandler.cpp XSLTEngineImpl.cpp
- XSLTProcessorEnvSupportDefault.cpp</Modified>
-<Log>Changes required to move STLHelper.hpp to Include. Use new cache template.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanDOMStringPool.cpp</Modified>
-<Log>Added cast for Solaris compiler.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree FormatterToSourceTree.cpp
- FormatterToSourceTree.hpp</Modified>
-<Log>Allow for default construction.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/src/Include XalanObjectCache.hpp</Modified>
-<Log>Use typedef for iterator, and improve exception safety of get().</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/samples/ExternalFunction ExternalFunction.cpp</Modified>
-<Log>Fixed include files.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>04/30/2001</DateCommitted>
-<Modified>c/samples/XPathWrapper XPathWrapper.cpp</Modified>
-<Log>Fixed include file.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/DOMSupport DOMServices.cpp DOMServices.hpp</Modified>
-<Log>New getNodeData() functions.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/PlatformSupport PlatformSupportInit.cpp</Modified>
-<Added>c/src/PlatformSupport FormatterListener.cpp
- FormatterListener.hpp</Added>
-<Log>Moved FormatterListener from XMLSupport to PlatformSupport.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Removed option to use DOM for RTFs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree FormatterToSourceTree.hpp</Modified>
-<Log>Moved FormatterListener from XMLSupport to PlatformSupport.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToDOM.hpp FormatterToNull.hpp
- FormatterToText.hpp FormatterToXML.hpp
- XMLSupportInit.cpp</Modified>
-<Removed>c/src/XMLSupport Formatter.cpp Formatter.hpp
- FormatterListener.cpp FormatterListener.hpp</Removed>
-<Log>Moved FormatterListener from XMLSupport to PlatformSupport.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/XPath XPathExpression.cpp</Modified>
-<Log>Don't assume that vector::iterator is a pointer.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/XPath SimpleNodeLocator.cpp SimpleNodeLocator.hpp
- XBoolean.cpp XBoolean.hpp XNodeSet.cpp XNodeSet.hpp
- XNull.cpp XNull.hpp XNumber.cpp XNumber.hpp
- XNumberBase.hpp XObject.cpp XObject.hpp
- XResultTreeFrag.cpp XResultTreeFrag.hpp XString.cpp
- XString.hpp XStringAdapter.cpp XStringAdapter.hpp
- XStringBase.hpp XStringCached.cpp XStringCached.hpp
- XStringReference.cpp XStringReference.hpp
- XToken.cpp XToken.hpp XTokenNumberAdapter.cpp
- XTokenNumberAdapter.hpp XTokenStringAdapter.cpp
- XTokenStringAdapter.hpp XUnknown.cpp XUnknown.hpp</Modified>
-<Log>New implementation to push character data to the result tree.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/XSLT ElemCopyOf.cpp ElemValueOf.cpp ElemValueOf.hpp
- StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetHandler.cpp StylesheetHandler.hpp
- StylesheetRoot.cpp StylesheetRoot.hpp
- XSLTEngineImpl.cpp XSLTEngineImpl.hpp
- XSLTResultTarget.hpp</Modified>
-<Log>New implementation to push character data to the result tree.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/02/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterTreeWalker.cpp</Modified>
-<Log>Fixed include file.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/03/2001</DateCommitted>
-<Modified>c/samples/ApacheModuleXSLT mod_xslt.c</Modified>
-<Log>Hopefully, a fix for bug 1149.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/03/2001</DateCommitted>
-<Modified>c/samples/ApacheModuleXSLT mod_xslt.c</Modified>
-<Log>Oops, this is the real fix for bug 1149.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/03/2001</DateCommitted>
-<Modified>c/src/XPath FunctionNormalizeSpace.cpp</Modified>
-<Log>Used cached string instead of stack-based vector.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/03/2001</DateCommitted>
-<Modified>c/src/XPath SimpleNodeLocator.cpp SimpleNodeLocator.hpp</Modified>
-<Log>Removed nodeTest() overload.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/09/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DOMStringHelper.cpp</Modified>
-<Log>Removed unused #ifdef.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/Include XalanObjectCache.hpp</Modified>
-<Log>Add #ifdef to avoid tracking objects.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Added>c/src/PlatformSupport XalanDOMStringHashTable.cpp
- XalanDOMStringHashTable.hpp</Added>
-<Log>Initial revision.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanDOMStringPool.cpp
- XalanDOMStringPool.hpp</Modified>
-<Log>New hashtable and allocator implementations.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDocument.cpp
- XalanSourceTreeDocument.hpp</Modified>
-<Log>Exposed new string pool constructor parameters.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeParserLiaison.cpp
- XalanSourceTreeParserLiaison.hpp</Modified>
-<Log>Moved getEntityResolver() into XMLParserLiaison.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison
- XercesLiaisonXalanDOMStringPool.cpp
- XercesLiaisonXalanDOMStringPool.hpp</Modified>
-<Log>Changes for new XalanDOMStringPool implementation.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesParserLiaison.cpp
- XercesParserLiaison.hpp</Modified>
-<Log>Moved getEntityResolver() into XMLParserLiaison.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XMLSupport XMLParserLiaison.hpp
- XMLParserLiaisonDefault.cpp
- XMLParserLiaisonDefault.hpp</Modified>
-<Log>Moved getEntityResolver() into XMLParserLiaison.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XPath XObject.cpp</Modified>
-<Log>Allow XUnknown in comparisons.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XPath XObject.hpp</Modified>
-<Log>Added operator&lt;() so XObjectPtr can be a key in a map or a value in a set.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XPath XPathExecutionContextDefault.cpp
- XPathExecutionContextDefault.hpp</Modified>
-<Log>Changes for new XalanObjectCache implementation.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT ElemTemplateElement.cpp ElemTemplateElement.hpp</Modified>
-<Log>Changes for caching NodeSorters.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT NodeSorter.cpp NodeSorter.hpp</Modified>
-<Log>New and improved sort caching implementation.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT XSLTEngineImpl.cpp XSLTEngineImpl.hpp</Modified>
-<Log>Changes to use the EntityResolver before using an internal InputSource.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT VariablesStack.cpp VariablesStack.hpp</Modified>
-<Log>Fix for bug 1682/1702.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT XSLTEngineImpl.cpp</Modified>
-<Log>Make sure an InputSource from an EntityResolver is deleted.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp</Modified>
-<Log>Removed option to use Xerces DOM for RTFs. Added new NodeSorter caching. 
-Return XUnknown when a variable is not found.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanDOMStringHashTable.cpp</Modified>
-<Log>Changed hash to hashString since Solaris seems to have a conflicting hash() 
-function. The evils of global functions...</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/10/2001</DateCommitted>
-<Modified>c/src/XSLT NodeSorter.hpp</Modified>
-<Log>Fixed typo.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/11/2001</DateCommitted>
-<Modified>c/src/PlatformSupport DoubleSupport.cpp</Modified>
-<Log>Fixed problem with conversion of large number.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/11/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.cpp
- XalanTransformer.hpp</Modified>
-<Log>Make sure resets happen, even if an uncaught exception is thrown.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/11/2001</DateCommitted>
-<Modified>c/src/XSLT ElemLiteralResult.cpp ElemLiteralResult.hpp
- NamespacesHandler.cpp NamespacesHandler.hpp</Modified>
-<Log>Make sure the NamespacesHandler knows which prefixes are being used, so that 
-it emits the appropriate namespace declarations (lre10).</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/11/2001</DateCommitted>
-<Modified>c/src/XSLT ResultNamespacesStack.cpp</Modified>
-<Log>Make sure namespace declarations are searched in reverse order (namespace99).</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/DOMSupport PrefixResolver.hpp DOMSupportDefault.hpp
- DOMSupportDefault.cpp DOMSupport.hpp
- DOMServices.hpp DOMServices.cpp</Modified>
-<Log>Return pointers to string instead of references for namespace-related 
-functions, to support empty namespace URIs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/TestXPath TestXPath.cpp</Modified>
-<Log>Fixed type of argv.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesDOMSupport.hpp
- XercesDOMSupport.cpp</Modified>
-<Log>Return pointers to string instead of references for namespace-related 
-functions, to support empty namespace URIs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDOMSupport.hpp
- XalanSourceTreeDOMSupport.cpp
- XalanSourceTreeDocument.hpp
- XalanSourceTreeDocument.cpp</Modified>
-<Log>Return pointers to string instead of references for namespace-related 
-functions, to support empty namespace URIs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToHTML.cpp FormatterToDOM.hpp
- FormatterToDOM.cpp</Modified>
-<Log>Return pointers to string instead of references for namespace-related 
-functions, to support empty namespace URIs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/XPath ElementPrefixResolverProxy.cpp
- ElementPrefixResolverProxy.hpp QName.cpp QName.hpp
- QNameByValue.cpp XPathExecutionContext.hpp
- XPathExecutionContextDefault.cpp
- XPathExecutionContextDefault.hpp
- XPathProcessorImpl.cpp</Modified>
-<Log>Return pointers to string instead of references for namespace-related 
-functions, to support empty namespace URIs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/13/2001</DateCommitted>
-<Modified>c/src/XSLT ElemAttribute.cpp ElemElement.cpp
- ElemLiteralResult.cpp ElemTemplateElement.cpp
- ElemTemplateElement.hpp
- FunctionElementAvailable.cpp
- FunctionFunctionAvailable.cpp
- FunctionFunctionAvailable.hpp
- FunctionSystemProperty.cpp NamespacesHandler.cpp
- NamespacesHandler.hpp ResultNamespacesStack.cpp
- ResultNamespacesStack.hpp Stylesheet.cpp
- Stylesheet.hpp StylesheetExecutionContext.hpp
- StylesheetExecutionContextDefault.cpp
- StylesheetExecutionContextDefault.hpp
- StylesheetHandler.cpp StylesheetHandler.hpp
- XSLTEngineImpl.cpp XSLTEngineImpl.hpp</Modified>
-<Log>Return pointers to string instead of references for namespace-related 
-functions, to support empty namespace URIs.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/14/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp</Modified>
-<Log>Added newline to supress warning on HP.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/14/2001</DateCommitted>
-<Modified>c/src/XSLT ElemElement.cpp ElemElement.hpp
- NamespacesHandler.cpp NamespacesHandler.hpp</Modified>
-<Log>Fixed more namespace bugs (76 and 80).</Log>
-</Commit>
-<Commit category="core">
-<Who>auriemma@apache.org</Who>
-<DateCommitted>05/15/2001</DateCommitted>
-<Modified>c/src/XSLT NodeSorter.hpp</Modified>
-<Log>Added default parameters to constructor.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/17/2001</DateCommitted>
-<Modified>c/src/XSLT ElemLiteralResult.hpp</Modified>
-<Log>Minor clean-up.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/17/2001</DateCommitted>
-<Modified>c/src/XSLT ElemElement.cpp</Modified>
-<Log>Minor clean-up.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/17/2001</DateCommitted>
-<Modified>c/src/XPath XObjectFactoryDefault.cpp
- XObjectFactoryDefault.hpp XPath.cpp
- XPathExecutionContext.hpp XResultTreeFrag.cpp
- XResultTreeFrag.hpp</Modified>
-<Log>Allow for caching of XResultTreeFrag instances.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/17/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Updates for new templates.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/17/2001</DateCommitted>
-<Modified>c/src/XSLT ElemElement.cpp</Modified>
-<Log>Removed bogus const.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/18/2001</DateCommitted>
-<Modified>c/src/XPath XPathProcessorImpl.cpp</Modified>
-<Log>Report error for missing node test. Fixes bug 1805.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/18/2001</DateCommitted>
-<Modified>c/src/XSLT ElemAttribute.cpp</Modified>
-<Log>Generate a new prefix for xsl:attribute if that prefix is already mapped to a 
-different namespace.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>05/21/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanTransformer.hpp
- XalanTransformer.cpp</Modified>
-<Log>Fixed problem with not destroying parsed source. Fixed some error handling 
-problems.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/DOMSupport DOMServices.cpp</Modified>
-<Log>Fixed bug where attributes were being ordered after other node types.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/DOMSupport DOMServices.hpp</Modified>
-<Log>Get parent of attribute node by calling getOwnerElement(). Deprecated 
-findOwnerElement().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeDOMSupport.hpp</Modified>
-<Log>Made pointer to parser liaison const.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XalanSourceTree XalanSourceTreeParserLiaison.cpp
- XalanSourceTreeParserLiaison.hpp</Modified>
-<Log>Allow for documents that persist between resets.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp XalanCAPI.h
- XalanDefaultDocumentBuilder.cpp
- XalanDefaultDocumentBuilder.hpp
- XalanDefaultParsedSource.cpp
- XalanDefaultParsedSource.hpp
- XalanDocumentBuilder.hpp XalanParsedSource.hpp
- XalanTransformer.cpp XalanTransformer.hpp
- XercesDOMParsedSource.cpp XercesDOMParsedSource.hpp</Modified>
-<Log>Re-vamp of interfaces.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesParserLiaison.cpp
- XercesParserLiaison.hpp</Modified>
-<Log>A DOMSupport instance is no longer required.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XercesParserLiaison XercesDocumentBridge.cpp
- XercesDocumentBridge.hpp</Modified>
-<Log>Made some fixes so the bridge nodes can always be rebuilt.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XMLSupport FormatterToXML.cpp</Modified>
-<Log>Removed commented out line.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XPath SimpleNodeLocator.cpp</Modified>
-<Log>Fixed bug with certain match patterns. Fix courtesy of mfpeng@excite.com.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XPath XNodeSet.cpp XNodeSet.hpp XNumber.cpp
- XNumber.hpp XObject.cpp XObject.hpp
- XResultTreeFrag.cpp XResultTreeFrag.hpp</Modified>
-<Log>Added an overload for str() that allows for string data to be appended to a 
-buffer.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XPath XObjectFactoryDefault.cpp</Modified>
-<Log>Fixed bug were result tree cache wasn't cleared in reset().</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XPath XPathFactoryDefault.cpp XPathFactoryDefault.hpp</Modified>
-<Log>Removed instance count stuff.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XPath XPathExpression.cpp XPathExpression.hpp</Modified>
-<Log>Replaced set with static array.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XPath XPathProcessorImpl.cpp XPathProcessorImpl.hpp</Modified>
-<Log>Arguments to id() and key() in match patterns must be literals.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XSLT ResultNamespacesStack.cpp</Modified>
-<Log>Make sure both prefix and namespace URI are empty.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XSLT XSLTInputSource.cpp</Modified>
-<Log>Do sanity check for null systemId.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XSLT XalanTemplate.cpp</Modified>
-<Log>Update for new typedef.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/XSLT AVT.cpp AVT.hpp AVTPartXPath.cpp AVTPartXPath.hpp
- ElemApplyImport.cpp ElemApplyTemplates.cpp
- ElemAttribute.cpp ElemAttribute.hpp
- ElemCallTemplate.cpp ElemCallTemplate.hpp
- ElemComment.cpp ElemForEach.cpp ElemForEach.hpp
- ElemLiteralResult.cpp ElemLiteralResult.hpp
- ElemMessage.cpp ElemPI.cpp ElemTemplateElement.cpp
- ElemTemplateElement.hpp ElemTextLiteral.cpp
- ElemTextLiteral.hpp Stylesheet.cpp Stylesheet.hpp
- StylesheetExecutionContext.cpp
- StylesheetExecutionContext.hpp XSLTEngineImpl.cpp</Modified>
-<Log>Optimization work.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/TestXSLT process.cpp</Modified>
-<Log>Removed EER options for controlling entity reference expansion.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/src/PlatformSupport XalanFileOutputStream.cpp
- XalanFileOutputStream.hpp</Modified>
-<Log>New native Win32 file handling.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/samples/DocumentBuilder DocumentBuilder.cpp</Modified>
-<Log>Simplified sample.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/samples/ExternalFunction ExternalFunction.cpp</Modified>
-<Log>Simplified sample.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/samples/SimpleTransform SimpleTransform.dsp</Modified>
-<Log>Added new configuration.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/samples/SimpleTransform SimpleTransform.cpp</Modified>
-<Log>Simplified sample.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/samples/ThreadSafe ThreadSafe.cpp</Modified>
-<Log>Simplified sample.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/06/2001</DateCommitted>
-<Modified>c/samples/UseStylesheetParam UseStylesheetParam.cpp</Modified>
-<Log>Simplified sample.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp</Modified>
-<Log>Added header file to get appropriate definitions.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCAPI.cpp</Modified>
-<Log>Fixed header file name.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/samples/ThreadSafe ThreadSafe.cpp</Modified>
-<Log>Made globals pointers to const objects.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/samples/XalanTransform XalanTransform.cpp</Modified>
-<Log>Added missing header files.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/samples/XalanTransform XalanTransform.cpp</Modified>
-<Log>Simplified sample.</Log>
-</Commit>
-<Commit category="samples">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/samples/DocumentBuilder DocumentBuilder.cpp
- c/samples/ExternalFunction ExternalFunction.cpp
- c/samples/SimpleTransform SimpleTransform.cpp
- c/samples/UseStylesheetParam UseStylesheetParam.cpp</Modified>
-<Log>Added missing header files.</Log>
-</Commit>
-<Commit category="core">
-<Who>dbertoni@apache.org</Who>
-<DateCommitted>06/07/2001</DateCommitted>
-<Modified>c/src/XalanTransformer XalanCompiledStylesheet.hpp
- XalanTransformer.cpp XalanTransformer.hpp</Modified>
-<Added>c/src/XalanTransformer XalanCompiledStylesheetDefault.cpp
- XalanCompiledStylesheetDefault.hpp</Added>
-<Removed>c/src/XalanTransformer XalanCompiledStylesheet.cpp</Removed>
-<Log>Cleaned up stuff.</Log>
-</Commit>
-</Commits>
diff --git a/readme.html b/readme.html
deleted file mode 100644
index 0513413..0000000
--- a/readme.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<title>
-</title>
-</head>
-<body>
-<meta content="0; URL=c/docs/overview.html" http-equiv="Refresh">
-      Redirecting to <a href="overview.html">Xalan-C++ Overview</a>
-</body>
-</html>
diff --git a/samples/ApacheModuleXSLT/ApacheModuleXSLT.dsp b/samples/ApacheModuleXSLT/ApacheModuleXSLT.dsp
deleted file mode 100644
index d9800d7..0000000
--- a/samples/ApacheModuleXSLT/ApacheModuleXSLT.dsp
+++ /dev/null
@@ -1,106 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ApacheModuleXSLT" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=ApacheModuleXSLT - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "ApacheModuleXSLT.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "ApacheModuleXSLT.mak" CFG="ApacheModuleXSLT - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "ApacheModuleXSLT - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ApacheModuleXSLT - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "ApacheModuleXSLT - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\ApacheModuleXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "APACHEMODULEXSLT_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GX /O2 /Ob2 /I "..\..\src" /I "\Apache Group\Apache\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "APACHEMODULEXSLT_EXPORTS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 "\Apache Group\Apache\libexec\ApacheCore.lib" /nologo /dll /machine:I386
-
-!ELSEIF  "$(CFG)" == "ApacheModuleXSLT - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\ApacheModuleXSLT"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "APACHEMODULEXSLT_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "\Apache Group\Apache\include" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "APACHEMODULEXSLT_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 "\Apache Group\Apache\libexec\ApacheCore.lib" /nologo /dll /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "ApacheModuleXSLT - Win32 Release"
-# Name "ApacheModuleXSLT - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\mod_xslt.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/ApacheModuleXSLT/mod_xslt.c b/samples/ApacheModuleXSLT/mod_xslt.c
deleted file mode 100644
index 5d436bc..0000000
--- a/samples/ApacheModuleXSLT/mod_xslt.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* ====================================================================
- * Copyright (c) 1995-1999 The Apache Group.  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. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgment:
- *    "This product includes software developed by the Apache Group
- *    for use in the Apache HTTP server project (http://www.apache.org/)."
- *
- * 4. The names "Apache Server" and "Apache Group" 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 names without prior written
- *    permission of the Apache Group.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- *    acknowledgment:
- *    "This product includes software developed by the Apache Group
- *    for use in the Apache HTTP server project (http://www.apache.org/)."
- *
- * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``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 GROUP 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 Group and was originally based
- * on public domain software written at the National Center for
- * Supercomputing Applications, University of Illinois, Urbana-Champaign.
- * For more information on the Apache Group and the Apache HTTP server
- * project, please see <http://www.apache.org/>.
- *
- */
-/* 
- * ====================================================================
- * Configuration information for httpd.conf:
- * ====================================================================
-	<Location /xslt>
-			AddHandler mod_xslt .html
-			AddHandler mod_xslt .txt
-	</Location>
- * ====================================================================
-*/
-#include "httpd.h"
-#include "http_config.h"
-#include "http_protocol.h"
-#include "http_log.h"
-#include "util_script.h"
-#include "http_main.h"
-#include "http_request.h"
-
-
-
-#include <XalanTransformer/XalanCAPI.h>
-
-
-
-static void xslt_init(server_rec *s, pool *p)
-{
-	ap_add_version_component("mod_xslt/Xalan/1.0");
-}
-
-
-
-static void xslt_child_init(server_rec *s, pool *p)
-{
-	XalanInitialize();
-}
-
-
-
-static void xslt_child_exit(server_rec *s, pool *p)
-{
-	XalanTerminate();
-}
-
-
-
-typedef struct CONTROL_STRUCT_TAG
-{
-	request_rec*	r;
-	int				fHeaderSent;
-} CONTROL_STRUCT;
-
-
-
-static CallbackSizeType xalan_output_handler(const char *data, CallbackSizeType length, void *handle)
-{
-	CONTROL_STRUCT* c = (CONTROL_STRUCT*)handle;
-
-	if (c->fHeaderSent == 0)
-	{
-		c->fHeaderSent = 1;
-
-		ap_send_http_header(c->r);
-	}
-
-	return ap_rwrite(data, length, c->r);
-}
-
-
-
-static void xalan_flush_handler(void *handle)
-{
-	CONTROL_STRUCT* c = (CONTROL_STRUCT*)handle;
-
-	ap_rflush(c->r);
-}
-
-
-
-static int xslt_handler(request_rec *r)
-{
-	char * mimetype		= NULL;
-	char * filename		= NULL;
-	char * xmlfilename	= NULL;
-	char * xslfilename	= NULL;
-
-	XalanHandle xalan = NULL;
-
-	int	error = DECLINED;
-
-	CONTROL_STRUCT	control_struct =
-	{
-		0,
-		0
-	};
-
-	control_struct.r = r;
-
-	mimetype = ap_pstrcat(r->pool, r->filename, NULL);
-
-	filename = ap_getword_nulls_nc(r->pool, &mimetype,'.');
-
-	xmlfilename = ap_pstrcat(r->pool,filename,".xml",NULL); 
-
-	xslfilename = ap_pstrcat(r->pool,filename,".xsl",NULL); 
-	
-	xalan = CreateXalanTransformer();
-	
-	error = XalanTransformToHandler(xmlfilename, xslfilename, xalan, &control_struct, xalan_output_handler, xalan_flush_handler);
-
-	if(error)
-	{
-		r->uri = filename;
-
-		return DECLINED;
-	}
-
-	DeleteXalanTransformer(xalan);
-
-	return OK;
-}
-
-
-
-static const handler_rec xslt_handlers[] =
-{ 
-    {"mod_xslt", xslt_handler},
-    {NULL, NULL}
-};
-
-
-
-module MODULE_VAR_EXPORT xslt_module =
-{
-    STANDARD_MODULE_STUFF,
-    xslt_init,		/* initializer */
-    NULL,			/* create per-directory config structure */
-    NULL,			/* merge per-directory config structures */
-    NULL,			/* create per-server config structure */
-    NULL,			/* merge per-server config structures */
-    NULL,			/* command table */
-    xslt_handlers,	/* handlers */
-    NULL,			/* translate_handler */
-    NULL,			/* check_user_id */
-    NULL,			/* check auth */
-    NULL,			/* check access */
-    NULL,			/* type_checker */
-    NULL,			/* pre-run fixups */
-    NULL,			/* logger */
-    NULL,			/* header parser */
-    xslt_child_init,/* child_init */
-    xslt_child_exit,/* child_exit */
-    NULL			/* post read-request */
-};
diff --git a/samples/ApacheModuleXSLT/xslt/apachemod.xml b/samples/ApacheModuleXSLT/xslt/apachemod.xml
deleted file mode 100644
index 0f9f182..0000000
--- a/samples/ApacheModuleXSLT/xslt/apachemod.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<s1 title="About ApacheModuleXSLT">
- <s2 title="Using ApacheModuleXSLT to perform XSL transfomrations">
-  <p>ApacheModuleXSLT is an Apache Web server module that responds to appropriate URLs by performing transformations and returning the output
-  to the client Web browser. The module responds to a request for a given output file (html or txt as configured below) by applying an xsl
-  stylesheet file with that name to an xml document with the same name. The requested "output file" is created on the fly and returned as a 
-  text stream to the client.</p>
-  <p>To use this module, do the following:</p>
-  <ol>
-    <li>Add LoadModule and (UNIX only) AddModule entries to the Apache configuration file: httpd.conf.<br/><br/>
-    Windows: <code>LoadModule mod_xslt xml-xalan\c\Build\Win32\VC6\Release\ApacheModuleXSLT.dll</code><br/><br/>
-    UNIX: <code>AddModule mod_xslt.c</code><br/>
-    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;and<br/>
-    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<code>LoadModule mod_xslt usr/lib/mod_xslt.<ref>xx</ref></code><br/><br/>
-    where <ref>xx</ref> is the appropriate library suffix for the UNIX platform.<br/><br/></li>
-    <li>Add a &lt;Location&gt; entry to httpd.conf that indicates where xml/xsl file pairs are to be found, and what target file extensions
-    to recognize. We suggest the following:<br/><br/>
-    <code>&lt;Location /xslt&gt;</code><br/>
-    &#160;&#160;<code>AddHandler .html</code><br/>
-    &#160;&#160;<code>AddHandler .txt</code><br/>
-    <code>&lt;/Location&gt;</code><br/><br/>
-    This &lt;Location&gt; element instructs the module to respond to requests for <ref>xxx</ref>.html and <ref>xxx</ref>.txt files in the 
-    in the xslt subdirectory (under the document root; see next item) by applying the <ref>xxx</ref>.xsl stylesheet to <ref>xxx</ref>.xml 
-    (both in that directory) and returning the transformation result to the browser.<br/><br/>
-    Note: It is up to the stylesheet to apply the appropriate xsl:output method to the output. Whether the user specifies html or txt is, of
-    itself, immaterial.<br/><br/></li>
-    <li>Put xml/xsl file pairs in the &lt;Location&gt; subdirectory (xslt in the example)) under the document root directory specified in httpd.conf by the 
-    DocumentRoot and &lt;Directory&gt; settings. Alternatively, you can modify these settings to point to xml-xalan/c/samples/ApacheModuleXSLT,
-    which includes an xslt subdirectory with xml/xsl file pairs.<br/><br/></li>
-    <li>Start the Apache server.<br/><br/></li>
-    <li>From a Web browser, call the module with a URL as follows:<br/>
-    <code>http://<ref>serverName</ref>/xslt/<ref>xxx</ref>.html</code><br/>
-    where <ref>serverName</ref> is the Apache server (such as www.myServer.com) and <ref>xxx</ref> is the name of an xml/xsl pair of files 
-    (such as foo.xml and foo.xsl) in the xslt subdirectory under the DocumentRoot directory.<br/><br/>
-    For example,<br/>
-    <code>http://www.myServer.com/xslt/foo.html</code><br/>
-    instructs ApacheModuleXSLT to apply the foo.xsl stylesheet to the foo.xml XML document (both files in the xslt directory under the 
-    Apache DocumentRoot directory) and return the transformation result to the browser.</li>
-  </ol>
- </s2>  
-</s1>
\ No newline at end of file
diff --git a/samples/ApacheModuleXSLT/xslt/apachemod.xsl b/samples/ApacheModuleXSLT/xslt/apachemod.xsl
deleted file mode 100644
index d571a58..0000000
--- a/samples/ApacheModuleXSLT/xslt/apachemod.xsl
+++ /dev/null
@@ -1,140 +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/ApacheModuleXSLT/xslt/foo.xml b/samples/ApacheModuleXSLT/xslt/foo.xml
deleted file mode 100644
index e8ce033..0000000
--- a/samples/ApacheModuleXSLT/xslt/foo.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/ApacheModuleXSLT/xslt/foo.xsl b/samples/ApacheModuleXSLT/xslt/foo.xsl
deleted file mode 100644
index e652dd3..0000000
--- a/samples/ApacheModuleXSLT/xslt/foo.xsl
+++ /dev/null
@@ -1,37 +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:stylesheet>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/CompileStylesheet.cpp b/samples/CompileStylesheet/CompileStylesheet.cpp
deleted file mode 100644
index d93dbff..0000000
--- a/samples/CompileStylesheet/CompileStylesheet.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cassert>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <fstream.h>
-#include <iostream.h>
-#include <strstream.h>
-#else
-#include <fstream>
-#include <iostream>
-#include <strstream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-int
-main(
-			int				argc,
-			const char*		/* argv */[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::endl;
-	using std::ifstream;
-	using std::ostrstream;
-#endif
-
-	int	theResult = 0;
-
-	if (argc != 1)
-	{
-		cerr << "Usage: CompileStylesheet"
-			 << endl
-			 << endl;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer.
-			XalanTransformer theXalanTransformer;
-
-			// Our input files...The assumption is that the executable will be run
-			// from same directory as the input files.
-			const char*		theXSLFileName = "foo.xsl";
-			
-			// Compile the stylesheet.
-			const XalanCompiledStylesheet*	theCompiledStylesheet = 0;
-
-			theResult =	theXalanTransformer.compileStylesheet(theXSLFileName, theCompiledStylesheet);
-
-			if (theResult == 0)
-			{
-				assert(theCompiledStylesheet != 0);
-
-				for (unsigned int i = 0; i < 10; ++i)
-				{		
-					// Buffers passed in to ostrstream.
-					char	inBuffer[10];
-					char	outBuffer[10];	
-
-					// Generate the input and output file names.
-					ostrstream	theFormatterIn(inBuffer, sizeof(inBuffer));
-					ostrstream	theFormatterOut(outBuffer, sizeof(outBuffer));
-
-					theFormatterIn << "foo" << i + 1 << ".xml" << '\0';
-					theFormatterOut << "foo" << i + 1 << ".out" << '\0';
-
-					// Do the transform.
-					theResult = theXalanTransformer.transform(
-							inBuffer,
-							theCompiledStylesheet,
-							outBuffer);
-				}
-
-				// I don't have to do this, since the transformer will
-				// clean this up when it's destroyed, but why not...
-				theResult = theXalanTransformer.destroyStylesheet(theCompiledStylesheet);
-			}
-   
-			if(theResult != 0)
-			{
-				cerr << "CompileStylesheet Error: " << theXalanTransformer.getLastError()
-					 << endl
-					 << endl;
-			}
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/samples/CompileStylesheet/CompileStylesheet.dsp b/samples/CompileStylesheet/CompileStylesheet.dsp
deleted file mode 100644
index 2d50701..0000000
--- a/samples/CompileStylesheet/CompileStylesheet.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="CompileStylesheet" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=CompileStylesheet - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "CompileStylesheet.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "CompileStylesheet.mak" CFG="CompileStylesheet - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "CompileStylesheet - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "CompileStylesheet - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "CompileStylesheet - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\CompileStylesheet"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "CompileStylesheet - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\CompileStylesheet"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "CompileStylesheet - Win32 Release"
-# Name "CompileStylesheet - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\CompileStylesheet.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/CompileStylesheet/foo.xml b/samples/CompileStylesheet/foo.xml
deleted file mode 100644
index 03c32b5..0000000
--- a/samples/CompileStylesheet/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
diff --git a/samples/CompileStylesheet/foo.xsl b/samples/CompileStylesheet/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/CompileStylesheet/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/CompileStylesheet/foo1.xml b/samples/CompileStylesheet/foo1.xml
deleted file mode 100644
index ba08c44..0000000
--- a/samples/CompileStylesheet/foo1.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 1</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo10.xml b/samples/CompileStylesheet/foo10.xml
deleted file mode 100644
index c91ca19..0000000
--- a/samples/CompileStylesheet/foo10.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 10</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo2.xml b/samples/CompileStylesheet/foo2.xml
deleted file mode 100644
index aedb474..0000000
--- a/samples/CompileStylesheet/foo2.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 2</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo3.xml b/samples/CompileStylesheet/foo3.xml
deleted file mode 100644
index 10cd64e..0000000
--- a/samples/CompileStylesheet/foo3.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 3</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo4.xml b/samples/CompileStylesheet/foo4.xml
deleted file mode 100644
index 3210874..0000000
--- a/samples/CompileStylesheet/foo4.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 4</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo5.xml b/samples/CompileStylesheet/foo5.xml
deleted file mode 100644
index 58e8ef3..0000000
--- a/samples/CompileStylesheet/foo5.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 5</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo6.xml b/samples/CompileStylesheet/foo6.xml
deleted file mode 100644
index ce9974b..0000000
--- a/samples/CompileStylesheet/foo6.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 6</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo7.xml b/samples/CompileStylesheet/foo7.xml
deleted file mode 100644
index fe1cb66..0000000
--- a/samples/CompileStylesheet/foo7.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 7</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo8.xml b/samples/CompileStylesheet/foo8.xml
deleted file mode 100644
index 318cda5..0000000
--- a/samples/CompileStylesheet/foo8.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 8</doc>
\ No newline at end of file
diff --git a/samples/CompileStylesheet/foo9.xml b/samples/CompileStylesheet/foo9.xml
deleted file mode 100644
index ba0c8df..0000000
--- a/samples/CompileStylesheet/foo9.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc>Hello 9</doc>
\ No newline at end of file
diff --git a/samples/DocumentBuilder/DocumentBuilder.cpp b/samples/DocumentBuilder/DocumentBuilder.cpp
deleted file mode 100644
index bdd60d7..0000000
--- a/samples/DocumentBuilder/DocumentBuilder.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/sax2/ContentHandler.hpp>
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <PlatformSupport/AttributesImpl.hpp>
-
-
-
-#include <XalanTransformer/XalanDocumentBuilder.hpp>
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-void
-BuildDocument(XalanDocumentBuilder*		theBuilder)
-{
-	// Get the SAX2 ContentHandler from the builder...
-	ContentHandler* const	theContentHandler = theBuilder->getContentHandler();
-	assert(theContentHandler != 0);
-
-	// This will hold the attributes for the elements we create...
-	AttributesImpl	theAttributes;
-
-	// Some handy scratch strings for adding elements, attributes, and text nodes...
-	XalanDOMString			theElementName;
-	XalanDOMString			theAttributeName;
-	XalanDOMString			theAttributeValue;
-	const XalanDOMString	theAttributeType("CDATA");
-	XalanDOMString			theTextValue;
-	const XalanDOMChar		theEmptyString = 0;
-
-	// start the document...
-	theContentHandler->startDocument();
-
-	// start the document element...
-	assign(theElementName, XALAN_STATIC_UCODE_STRING("foo"));
-
-	theContentHandler->startElement(&theEmptyString, &theEmptyString, c_wstr(theElementName), theAttributes);
-
-	// Create an element child...
-
-	// Set the name of the element...
-	assign(theElementName, XALAN_STATIC_UCODE_STRING("foobar"));
-
-	// Add an attribute...
-	assign(theAttributeName, XALAN_STATIC_UCODE_STRING("attribute1"));
-	assign(theAttributeValue, XALAN_STATIC_UCODE_STRING("value1"));
-	theAttributes.addAttribute(c_wstr(theAttributeName), c_wstr(theAttributeType), c_wstr(theAttributeValue));
-
-	theContentHandler->startElement(&theEmptyString, &theEmptyString, c_wstr(theElementName), theAttributes);
-
-	// Add a text node...
-	assign(theTextValue, XALAN_STATIC_UCODE_STRING("The first foobar"));
-	theContentHandler->characters(c_wstr(theTextValue), length(theTextValue));
-
-	// End the element...
-	theContentHandler->endElement(&theEmptyString, &theEmptyString, c_wstr(theElementName));
-
-	theAttributes.clear();
-	assign(theAttributeName, XALAN_STATIC_UCODE_STRING("attribute2"));
-	assign(theAttributeValue, XALAN_STATIC_UCODE_STRING("value2"));
-	theAttributes.addAttribute(c_wstr(theAttributeName), c_wstr(theAttributeType), c_wstr(theAttributeValue));
-
-	theContentHandler->startElement(&theEmptyString, &theEmptyString, c_wstr(theElementName), theAttributes);
-
-	assign(theTextValue, XALAN_STATIC_UCODE_STRING("The second foobar"));
-	theContentHandler->characters(c_wstr(theTextValue), length(theTextValue));
-
-	theContentHandler->endElement(&theEmptyString, &theEmptyString, c_wstr(theElementName));
-
-	theAttributes.clear();
-	assign(theAttributeName, XALAN_STATIC_UCODE_STRING("attribute3"));
-	assign(theAttributeValue, XALAN_STATIC_UCODE_STRING("value3"));
-	theAttributes.addAttribute(c_wstr(theAttributeName), c_wstr(theAttributeType), c_wstr(theAttributeValue));
-
-	theContentHandler->startElement(&theEmptyString, &theEmptyString, c_wstr(theElementName), theAttributes);
-
-	assign(theTextValue, XALAN_STATIC_UCODE_STRING("The third foobar"));
-	theContentHandler->characters(c_wstr(theTextValue), length(theTextValue));
-
-	theContentHandler->endElement(&theEmptyString, &theEmptyString, c_wstr(theElementName));
-
-	// end the document element...
-	assign(theElementName, XALAN_STATIC_UCODE_STRING("foo"));
-
-	theContentHandler->endElement(&theEmptyString, &theEmptyString, c_wstr(theElementName));
-
-	// end the document...
-	theContentHandler->endDocument();
-}
-
-
-
-int
-main(
-		  int			argc,
-		  const char*	/* argv */ [])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-  using std::cerr;
-  using std::endl;
-#endif
-
-	int	theResult = 0;
-
-	if (argc != 1)
-	{
-		cerr << "Usage: DocumentBuilder" << endl;
-
-		theResult = -1;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer.
-			XalanTransformer	theXalanTransformer;
-
-			// Get a document builder from the transformer...
-			XalanDocumentBuilder* const		theBuilder = theXalanTransformer.createDocumentBuilder();
-
-			BuildDocument(theBuilder);
-
-			// The assumption is that the executable will be run
-			// from same directory as the stylesheet file.
-
-			// Do the transform.
-			theResult = theXalanTransformer.transform(*theBuilder, "foo.xsl", "foo.out");
-    
-			if(theResult != 0)
-			{
-				cerr << "DocumentBuilder error: \n" << theXalanTransformer.getLastError()
-					 << endl
-					 << endl;
-			}
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/samples/DocumentBuilder/DocumentBuilder.dsp b/samples/DocumentBuilder/DocumentBuilder.dsp
deleted file mode 100644
index e846eb3..0000000
--- a/samples/DocumentBuilder/DocumentBuilder.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="DocumentBuilder" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=DocumentBuilder - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "DocumentBuilder.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "DocumentBuilder.mak" CFG="DocumentBuilder - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "DocumentBuilder - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "DocumentBuilder - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "DocumentBuilder - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\DocumentBuilder"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "DocumentBuilder - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\DocumentBuilder"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "DocumentBuilder - Win32 Release"
-# Name "DocumentBuilder - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\DocumentBuilder.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/DocumentBuilder/foo.xsl b/samples/DocumentBuilder/foo.xsl
deleted file mode 100644
index fb9be97..0000000
--- a/samples/DocumentBuilder/foo.xsl
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:template match="foo">
-    <out><xsl:apply-templates select="*"/></out>
-  </xsl:template>
-
-  <xsl:template match="foobar">
-    <xsl:copy-of select="."/>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/ExternalFunction/ExternalFunction.cpp b/samples/ExternalFunction/ExternalFunction.cpp
deleted file mode 100644
index 1bece5c..0000000
--- a/samples/ExternalFunction/ExternalFunction.cpp
+++ /dev/null
@@ -1,353 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cmath>
-#include <ctime>
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-#include <XPath/Function.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-// This class defines a function that will return the square root
-// of its argument.
-class FunctionSquareRoot : public Function
-{
-public:
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object.  Extension functions should override this version of execute(),
-	 * rather than one of the other calls designed for a specific number of
-	 * arguments.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param args             vector of pointers to XObject arguments
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-	{
-		if (args.size() != 1)
-		{
-			executionContext.error(getError(), context, locator);
-		}
-
-		assert(args[0].null() == false);	
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using std::sqrt;
-#endif
-
-		return executionContext.getXObjectFactory().createNumber(sqrt(args[0]->num()));
-	}
-
-	/**
-	 * Create a copy of the function object.
-	 *
-	 * @return pointer to the new object
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionSquareRoot*
-#endif
-	clone() const
-	{
-		return new FunctionSquareRoot(*this);
-	}
-
-protected:
-
-	/**
-	 * Get the error message to report when
-	 * the function is called with the wrong
-	 * number of arguments.
-	 *
-	 * @return function error message
-	 */
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The square-root() function accepts one argument!"));
-	}
-
-private:
-
-	// Not implemented...
-	FunctionSquareRoot&
-	operator=(const FunctionSquareRoot&);
-
-	bool
-	operator==(const FunctionSquareRoot&) const;
-};
-
-
-
-// This class defines a function that will return the cube
-// of its argument.
-class FunctionCube : public Function
-{
-public:
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object.  Extension functions should override this version of execute(),
-	 * rather than one of the other calls designed for a specific number of
-	 * arguments.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param args             vector of pointers to XObject arguments
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-	{
-		if (args.size() != 1)
-		{
-			executionContext.error(getError(), context, locator);
-		}
-
-		assert(args[0].null() == false);	
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using std::pow;
-#endif
-
-		return executionContext.getXObjectFactory().createNumber(pow(args[0]->num(), 3));
-	}
-
-	/**
-	 * Create a copy of the function object.
-	 *
-	 * @return pointer to the new object
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionCube*
-#endif
-	clone() const
-	{
-		return new FunctionCube(*this);
-	}
-
-protected:
-
-	/**
-	 * Get the error message to report when
-	 * the function is called with the wrong
-	 * number of arguments.
-	 *
-	 * @return function error message
-	 */
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The cube() function accepts one argument!"));
-	}
-
-private:
-
-	// Not implemented...
-	FunctionCube&
-	operator=(const FunctionCube&);
-
-	bool
-	operator==(const FunctionCube&) const;
-};
-
-
-
-// This class defines a function that runs the C function
-// asctime() using the current system time.
-class FunctionAsctime : public Function
-{
-public:
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object.  Extension functions should override this version of execute(),
-	 * rather than one of the other calls designed for a specific number of
-	 * arguments.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param args             vector of pointers to XObject arguments
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-	{
-		if (args.size() != 0)
-		{
-			executionContext.error(getError(), context, locator);
-		}
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using std::time;
-		using std::time_t;
-		using std::localtime;
-		using std::asctime;
-		using std::strlen;
-#endif
-
-		time_t	theTime;
-
-		time(&theTime);
-
-		char* const	theTimeString = asctime(localtime(&theTime));
-		assert(theTimeString != 0);
-
-		// The resulting string has a newline character at the end,
-		// so get rid of it.
-		theTimeString[strlen(theTimeString) - 1] = '\0';
-
-		return executionContext.getXObjectFactory().createString(XalanDOMString(theTimeString));
-	}
-
-	/**
-	 * Create a copy of the function object.
-	 *
-	 * @return pointer to the new object
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionAsctime*
-#endif
-	clone() const
-	{
-		return new FunctionAsctime(*this);
-	}
-
-protected:
-
-	/**
-	 * Get the error message to report when
-	 * the function is called with the wrong
-	 * number of arguments.
-	 *
-	 * @return function error message
-	 */
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The asctime() function accepts one argument!"));
-	}
-
-private:
-
-	// Not implemented...
-	FunctionAsctime&
-	operator=(const FunctionAsctime&);
-
-	bool
-	operator==(const FunctionAsctime&) const;
-};
-
-
-
-int
-main(
-			int				argc,
-			const char*		/* argv */[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::endl;
-#endif
-
-	int	theResult = 0;
-
-	if (argc != 1)
-	{
-		cerr << "Usage: ExternalFunction"
-			 << endl
-			 << endl;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		// Create a XalanTransformer.
-		XalanTransformer theXalanTransformer;
-
-		// The namespace for our functions...
-		const XalanDOMString	theNamespace("http://ExternalFunction.xalan-c++.xml.apache.org");
-
-		// Install the functions in the local space.  They will only
-		// be installed in this instance, so no other instances
-		// will know about them...
-		theXalanTransformer.installExternalFunction(
-			theNamespace,
-			XalanDOMString("asctime"),
-			FunctionAsctime());
-
-		theXalanTransformer.installExternalFunction(
-			theNamespace,
-			XalanDOMString("square-root"),
-			FunctionSquareRoot());
-
-		theXalanTransformer.installExternalFunction(
-			theNamespace,
-			XalanDOMString("cube"),
-			FunctionCube());
-
-		// Do the transform.
-		theResult = theXalanTransformer.transform("foo.xml", "foo.xsl", "foo.out");
-    
-		if(theResult != 0)
-		{
-			cerr << "ExternalFunction Error: \n" << theXalanTransformer.getLastError()
-				 << endl
-				 << endl;
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/samples/ExternalFunction/ExternalFunction.dsp b/samples/ExternalFunction/ExternalFunction.dsp
deleted file mode 100644
index fd16472..0000000
--- a/samples/ExternalFunction/ExternalFunction.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ExternalFunction" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=ExternalFunction - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "ExternalFunction.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "ExternalFunction.mak" CFG="ExternalFunction - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "ExternalFunction - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "ExternalFunction - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "ExternalFunction - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\ExternalFunction"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "ExternalFunction - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\ExternalFunction"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "ExternalFunction - Win32 Release"
-# Name "ExternalFunction - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\ExternalFunction.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/ExternalFunction/foo.xml b/samples/ExternalFunction/foo.xml
deleted file mode 100644
index fbec573..0000000
--- a/samples/ExternalFunction/foo.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <area value="397" units="mm"/>
-  <now/>
-</doc>
diff --git a/samples/ExternalFunction/foo.xsl b/samples/ExternalFunction/foo.xsl
deleted file mode 100644
index 0ccac64..0000000
--- a/samples/ExternalFunction/foo.xsl
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-				xmlns:external="http://ExternalFunction.xalan-c++.xml.apache.org"
-        exclude-result-prefixes="external">
-
-  <xsl:template match="area">
-    <xsl:choose>
-	  <xsl:when test="function-available('external:square-root') and function-available('external:cube')"> 
-        <given>
-          The area of each face of the cube is <xsl:value-of select="@value"/>
-          <xsl:text> square units </xsl:text> <xsl:value-of select="@units"/>. 
-        </given>    
-        <result>
-          Accordingly, the length of each side is <xsl:value-of select="external:square-root(@value)"/>
-          <xsl:text> </xsl:text><xsl:value-of select="@units"/> and the volume of the cube is 
-          <xsl:value-of select="external:cube(external:square-root(@value))"/>
-          <xsl:text> cubic </xsl:text> <xsl:value-of select="@units"/>.
-        </result>
-	  </xsl:when>
-	  <xsl:otherwise>
-        <result>
-		  The functions external:square-root() and external cube() are not available!
-		</result>
-	  </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template match="now">       
-    <when>
-      Date and time when we figured all this out: <xsl:value-of select="external:asctime()"/>.
-    </when>
-  </xsl:template>
-
-</xsl:stylesheet>
-
-
diff --git a/samples/Samples.dsw b/samples/Samples.dsw
deleted file mode 100644
index 576e34c..0000000
--- a/samples/Samples.dsw
+++ /dev/null
@@ -1,641 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ApacheModuleXSLT"=".\ApacheModuleXSLT\ApacheModuleXSLT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "CompileStylesheet"=".\CompileStylesheet\CompileStylesheet.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "DLL"=".\XPathWrapper\DLL.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "DOMSupport"="..\Projects\Win32\VC6\DOMSupport\DOMSupport.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "DocumentBuilder"=".\DocumentBuilder\DocumentBuilder.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ExternalFunction"=".\ExternalFunction\ExternalFunction.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "PlatformSupport"="..\Projects\Win32\VC6\PlatformSupport\PlatformSupport.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SerializeNodeSet"=".\SerializeNodeSet\SerializeNodeSet.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SimpleTransform"=".\SimpleTransform\SimpleTransform.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SimpleXPathAPI"=".\SimpleXPathAPI\SimpleXPathAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "SimpleXPathCAPI"=".\SimpleXPathCAPI\SimpleXPathCAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XPathCAPI
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "StreamTransform"=".\StreamTransform\StreamTransform.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TestDriver"=".\XPathWrapper\TestDriver.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DLL
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ThreadSafe"=".\ThreadSafe\ThreadSafe.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TraceListen"=".\TraceListen\TraceListen.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "UseStylesheetParam"=".\UseStylesheetParam\UseStylesheetParam.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XMLSupport"="..\Projects\Win32\VC6\XMLSupport\XMLSupport.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XPath"="..\Projects\Win32\VC6\XPath\XPath.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XPathCAPI"="..\Projects\Win32\VC6\XPathCAPI\XPathCAPI.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XSLT"="..\Projects\Win32\VC6\XSLT\XSLT.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanDOM"="..\Projects\Win32\VC6\XalanDOM\XalanDOM.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "XalanExtensions"="..\Projects\Win32\VC6\XalanExtensions\XalanExtensions.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanSourceTree"="..\Projects\Win32\VC6\XalanSourceTree\XalanSourceTree.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanTransform"=".\XalanTransform\XalanTransform.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanTransformer"="..\Projects\Win32\VC6\XalanTransformer\XalanTransformer.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanSourceTree
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XercesParserLiaison
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XPath
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanExtensions
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XalanTransformerCallback"=".\XalanTransformerCallback\XalanTransformerCallback.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name XalanTransformer
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XSLT
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "XercesParserLiaison"="..\Projects\Win32\VC6\XercesParserLiaison\XercesParserLiaison.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name DOMSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name PlatformSupport
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XalanDOM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name XMLSupport
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/samples/SerializeNodeSet/SerializeNodeSet.cpp b/samples/SerializeNodeSet/SerializeNodeSet.cpp
deleted file mode 100644
index e3b444d..0000000
--- a/samples/SerializeNodeSet/SerializeNodeSet.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cassert>
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/framework/LocalFileInputSource.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanStdOutputStream.hpp>
-
-
-
-#include <XPath/NodeRefList.hpp>
-#include <XPath/XObject.hpp>
-#include <XPath/XPathEvaluator.hpp>
-
-
-
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterTreeWalker.hpp>
-#include <XMLSupport/XMLSupportInit.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeInit.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-	int		theResult = 0;
-
-	if (argc != 4)
-	{
-		cerr << "Usage: SerializeNodeSet XMLFilePath Context XPathExpression" << endl;
-
-		theResult = -1;
-	}
-	else
-	{
-		try
-		{
-			XMLPlatformUtils::Initialize();
-
-			XPathEvaluator::initialize();
-
-			{
-				// Initialize the XalanSourceTree subsystem...
-				XalanSourceTreeInit		theSourceTreeInit;
-
-				// Initialize the XMLSupport subsystem...
-				XMLSupportInit		theXMLSupportInit;
-
-				// We'll use these to parse the XML file.
-				XalanSourceTreeDOMSupport		theDOMSupport;
-				XalanSourceTreeParserLiaison	theLiaison(theDOMSupport);
-
-				// Hook the two together...
-				theDOMSupport.setParserLiaison(&theLiaison);
-
-				// Create an input source that represents a local file...
-				const LocalFileInputSource	theInputSource(c_wstr(XalanDOMString(argv[1])));
-
-				// Parse the document...
-				XalanDocument* const	theDocument =
-						theLiaison.parseXMLStream(theInputSource);
-				assert(theDocument != 0);
-
-				XPathEvaluator	theEvaluator;
-
-				// OK, let's find the context node...
-				XalanNode* const	theContextNode =
-						theEvaluator.selectSingleNode(
-							theDOMSupport,
-							theDocument,
-							XalanDOMString(argv[2]).c_str(),
-							theDocument->getDocumentElement());
-
-				if (theContextNode == 0)
-				{
-					cerr << "Error: No nodes matched the location path \""
-						 << argv[2]
-						 << "\"."
-						 << endl
-						 << "Execution cannot continue."
-						 << endl
-						 << endl;
-				}
-				else
-				{
-					// OK, let's evaluate the expression...
-					const NodeRefList	theResult =
-						theEvaluator.selectNodeList(
-								theDOMSupport,
-								theContextNode,
-								XalanDOMString(argv[3]).c_str(),
-								theDocument->getDocumentElement());
-
-					const NodeRefList::size_type	theLength = theResult.getLength();
-
-					if (theLength == 0)
-					{
-						cerr << endl
-							 << "Warning: No nodes matched the location path \""
-							 << argv[3]
-							 << "\"."
-							 << endl
-							 << endl;
-					}
-					else
-					{
-						// OK, we're going to serialize the nodes that were
-						// found.  We should really check to make sure the
-						// root (document) has not been selected, since we
-						// really can't serialize a node list with the root.
-						XalanStdOutputStream			theStream(cout);
-						XalanOutputStreamPrintWriter	thePrintWriter(theStream);
-
-						FormatterToXML			theFormatter(thePrintWriter);
-						FormatterTreeWalker		theWalker(theFormatter);
-
-						// Don't write a header...
-						theFormatter.setShouldWriteXMLHeader(false);
-
-						// It's required that we do this...
-						theFormatter.startDocument();
-
-						// Traverse the subtree of the document rooted at
-						// each node we've selected...
-						for (NodeRefList::size_type i = 0; i < theLength; ++i)
-						{
-							const XalanNode* const	theNode = theResult.item(i);
-							assert(theNode != 0);
-
-							const XalanNode::NodeType	theNodeType =
-								theNode->getNodeType();
-
-							if (theNodeType == XalanNode::DOCUMENT_NODE)
-							{
-								cerr << endl
-									 << "Warning: The root was selected.  The root cannot be serialized."
-									 << endl;
-							}
-							else if (theNodeType == XalanNode::ATTRIBUTE_NODE)
-							{
-								cerr << endl
-									 << "Warning: An attribute or namespace node was selected.  Attribute and namespace nodes cannot be serialized."
-									 << endl;
-							}
-							else
-							{
-								theWalker.traverseSubtree(theNode);
-							}
-						}
-
-						// It's required that we do this...
-						theFormatter.endDocument();
-					}
-				}
-			}
-
-			XPathEvaluator::terminate();
-
-			XMLPlatformUtils::Terminate();
-		}
-		catch(...)
-		{
-			cerr << "Exception caught!" << endl;
-
-			theResult = -1;
-		}
-	}
-
-	return theResult;
-}
diff --git a/samples/SerializeNodeSet/SerializeNodeSet.dsp b/samples/SerializeNodeSet/SerializeNodeSet.dsp
deleted file mode 100644
index 07f9e3f..0000000
--- a/samples/SerializeNodeSet/SerializeNodeSet.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SerializeNodeSet" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=SerializeNodeSet - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "SerializeNodeSet.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "SerializeNodeSet.mak" CFG="SerializeNodeSet - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "SerializeNodeSet - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "SerializeNodeSet - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "SerializeNodeSet - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\SerializeNodeSet"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "SerializeNodeSet - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\SerializeNodeSet"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /map /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "SerializeNodeSet - Win32 Release"
-# Name "SerializeNodeSet - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\SerializeNodeSet.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/SerializeNodeSet/foo.xml b/samples/SerializeNodeSet/foo.xml
deleted file mode 100644
index 14f51a8..0000000
--- a/samples/SerializeNodeSet/foo.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <name first="David" last="Marston">Mr. Marston</name>
-  <name first="David" last="Bertoni">Mr. Bertoni</name>
-  <name first="Donald" last="Leslie">Mr. Leslie</name>
-  <name first="Emily" last="Farmer">Ms. Farmer</name>
-  <name first="Myriam" last="Midy">Ms. Midy</name>
-  <name first="Paul" last="Dick">Mr. Dick</name>
-  <name first="Scott" last="Boag">Mr. Boag</name>
-  <name first="Shane" last="Curcuru">Mr. Curcuru</name>
-  <name first="Joseph" last="Kesselman">Mr. Kesselman</name>
-  <name first="Stephen" last="Auriemma">Mr. Auriemma</name>
-</doc>
\ No newline at end of file
diff --git a/samples/SimpleTransform/SimpleTransform.cpp b/samples/SimpleTransform/SimpleTransform.cpp
deleted file mode 100644
index ffcec32..0000000
--- a/samples/SimpleTransform/SimpleTransform.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-int
-main(
-			int				argc,
-			const char*		/* argv */[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::endl;
-#endif
-
-	int	theResult = 0;
-
-	if (argc != 1)
-	{
-		cerr << "Usage: SimpleTransform"
-			 << endl
-			 << endl;
-
-		theResult = -1;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer.
-			XalanTransformer theXalanTransformer;
-
-			// The assumption is that the executable will be run
-			// from same directory as the input files.
-			theResult = theXalanTransformer.transform("foo.xml", "foo.xsl", "foo.out");
-
-			if(theResult != 0)
-			{
-				cerr << "SimpleTransform Error: \n" << theXalanTransformer.getLastError()
-					 << endl
-					 << endl;
-			}
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/samples/SimpleTransform/SimpleTransform.dsp b/samples/SimpleTransform/SimpleTransform.dsp
deleted file mode 100644
index 1aaeb57..0000000
--- a/samples/SimpleTransform/SimpleTransform.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SimpleTransform" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=SimpleTransform - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "SimpleTransform.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "SimpleTransform.mak" CFG="SimpleTransform - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "SimpleTransform - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "SimpleTransform - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "SimpleTransform - Win32 Release with symbols" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "SimpleTransform - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\SimpleTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "SimpleTransform - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\SimpleTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ELSEIF  "$(CFG)" == "SimpleTransform - Win32 Release with symbols"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "SimpleTransform___Win32_Release_with_symbols"
-# PROP BASE Intermediate_Dir "SimpleTransform___Win32_Release_with_symbols"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\SimpleTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /debug /machine:I386
-
-!ENDIF 
-
-# Begin Target
-
-# Name "SimpleTransform - Win32 Release"
-# Name "SimpleTransform - Win32 Debug"
-# Name "SimpleTransform - Win32 Release with symbols"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\SimpleTransform.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/SimpleTransform/foo.xml b/samples/SimpleTransform/foo.xml
deleted file mode 100644
index 03c32b5..0000000
--- a/samples/SimpleTransform/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
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/SimpleXPathAPI/SimpleXPathAPI.cpp b/samples/SimpleXPathAPI/SimpleXPathAPI.cpp
deleted file mode 100644
index 8afbb93..0000000
--- a/samples/SimpleXPathAPI/SimpleXPathAPI.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cassert>
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/framework/LocalFileInputSource.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <XPath/XObject.hpp>
-#include <XPath/XPathEvaluator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeInit.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-#endif
-
-	int		theResult = 0;
-
-	if (argc != 4)
-	{
-		cerr << "Usage: SimpleXPathAPI XMLFilePath Context XPathExpression" << endl;
-
-		theResult = -1;
-	}
-	else
-	{
-		try
-		{
-			XMLPlatformUtils::Initialize();
-
-			XPathEvaluator::initialize();
-
-			{
-				// Initialize the XalanSourceTree subsystem...
-				XalanSourceTreeInit		theSourceTreeInit;
-
-				// We'll use these to parse the XML file.
-				XalanSourceTreeDOMSupport		theDOMSupport;
-				XalanSourceTreeParserLiaison	theLiaison(theDOMSupport);
-
-				// Hook the two together...
-				theDOMSupport.setParserLiaison(&theLiaison);
-
-				// Create an input source that represents a local file...
-				const LocalFileInputSource	theInputSource(c_wstr(XalanDOMString(argv[1])));
-
-				// Parse the document...
-				XalanDocument* const	theDocument =
-						theLiaison.parseXMLStream(theInputSource);
-				assert(theDocument != 0);
-
-				XPathEvaluator	theEvaluator;
-
-				// OK, let's find the context node...
-				XalanNode* const	theContextNode =
-						theEvaluator.selectSingleNode(
-							theDOMSupport,
-							theDocument,
-							XalanDOMString(argv[2]).c_str(),
-							theDocument->getDocumentElement());
-
-				if (theContextNode == 0)
-				{
-					cerr << "Warning -- No nodes matched the location path \""
-						 << argv[2]
-						 << "\"."
-						 << endl
-						 << "Execution cannot continue..."
-						 << endl
-						 << endl;
-				}
-				else
-				{
-					// OK, let's evaluate the expression...
-					const XObjectPtr	theResult(
-						theEvaluator.evaluate(
-								theDOMSupport,
-								theContextNode,
-								XalanDOMString(argv[3]).c_str(),
-								theDocument->getDocumentElement()));
-
-					assert(theResult.null() == false);
-
-					cout << "The string value of the result is:"
-						 << endl
-						 << theResult->str()
-						 << endl
-						 << endl;
-				}
-			}
-
-			XPathEvaluator::terminate();
-
-			XMLPlatformUtils::Terminate();
-		}
-		catch(...)
-		{
-			cerr << "Exception caught!" << endl;
-
-			theResult = -1;
-		}
-	}
-
-	return theResult;
-}
diff --git a/samples/SimpleXPathAPI/SimpleXPathAPI.dsp b/samples/SimpleXPathAPI/SimpleXPathAPI.dsp
deleted file mode 100644
index 2c22c2b..0000000
--- a/samples/SimpleXPathAPI/SimpleXPathAPI.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SimpleXPathAPI" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=SimpleXPathAPI - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "SimpleXPathAPI.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "SimpleXPathAPI.mak" CFG="SimpleXPathAPI - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "SimpleXPathAPI - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "SimpleXPathAPI - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "SimpleXPathAPI - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\SimpleXPathAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "SimpleXPathAPI - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\SimpleXPathAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /map /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "SimpleXPathAPI - Win32 Release"
-# Name "SimpleXPathAPI - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\SimpleXPathAPI.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/SimpleXPathAPI/foo.xml b/samples/SimpleXPathAPI/foo.xml
deleted file mode 100644
index 14f51a8..0000000
--- a/samples/SimpleXPathAPI/foo.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <name first="David" last="Marston">Mr. Marston</name>
-  <name first="David" last="Bertoni">Mr. Bertoni</name>
-  <name first="Donald" last="Leslie">Mr. Leslie</name>
-  <name first="Emily" last="Farmer">Ms. Farmer</name>
-  <name first="Myriam" last="Midy">Ms. Midy</name>
-  <name first="Paul" last="Dick">Mr. Dick</name>
-  <name first="Scott" last="Boag">Mr. Boag</name>
-  <name first="Shane" last="Curcuru">Mr. Curcuru</name>
-  <name first="Joseph" last="Kesselman">Mr. Kesselman</name>
-  <name first="Stephen" last="Auriemma">Mr. Auriemma</name>
-</doc>
\ No newline at end of file
diff --git a/samples/SimpleXPathCAPI/SimpleXPathCAPI.c b/samples/SimpleXPathCAPI/SimpleXPathCAPI.c
deleted file mode 100644
index 12df05c..0000000
--- a/samples/SimpleXPathCAPI/SimpleXPathCAPI.c
+++ /dev/null
@@ -1,194 +0,0 @@
-#include <XPathCAPI/XPathCAPI.h>
-
-
-
-#include <assert.h>
-#include <malloc.h>
-#include <stdio.h>
-
-
-
-int
-CreateXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			const char*					theXPathExpression,
-			XalanXPathHandle*			theXPathHandle)
-{
-	int					theResult = 0;
-
-	assert(theXalanHandle);
-	assert(theXPathHandle);
-
-	theResult = XalanCreateXPath(theXalanHandle, theXPathExpression, 0, theXPathHandle);
-
-	if (theResult != XALAN_XPATH_API_SUCCESS)
-	{
-		fprintf(stderr, "Error creating XPath.  Error code was %d.\n", theResult);
-	}
-
-	return theResult;
-}
-
-
-
-int
-DestroyXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			XalanXPathHandle			theXPathHandle)
-{
-	int					theResult = 0;
-
-	theResult = XalanDestroyXPath(theXalanHandle, theXPathHandle);
-
-	if (theResult != XALAN_XPATH_API_SUCCESS)
-	{
-		fprintf(stderr, "Error creating XPath.  Error code was %d.\n", theResult);
-	}
-
-	return theResult;
-}
-
-
-
-char*
-ReadFile(const char*	theXMLFileName)
-{
-	char*	theBuffer = 0;
-	FILE*	theFile = fopen(theXMLFileName, "rb");
-
-	if (theFile == 0)
-	{
-		fprintf(stderr, "Unable to open input file %s\n", theXMLFileName);
-	}
-	else
-	{
-		fseek(theFile, 0, SEEK_END);
-
-		{
-			const int	theSize = ftell(theFile);
-
-			if (theSize == -1)
-			{
-				fprintf(stderr, "Unable to determine the size of the input file\n");
-			}
-			else
-			{
-				fseek(theFile, SEEK_SET, 0);
-
-				theBuffer = (char*)malloc(theSize + 1);
-
-				if (theBuffer == 0)
-				{
-					fprintf(stderr, "Unable to allocate enough memory.  The input file size is %d\n", theSize);
-				}
-				else
-				{
-					fread(theBuffer, 1, theSize, theFile);
-
-					theBuffer[theSize] = '\0';
-				}
-			}
-		}
-	}
-
-	return theBuffer;
-}
-
-
-
-int
-EvaluateXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			const char*					theXMLFileName,
-			const char*					theXPathExpression,
-			int*						theBoolean)
-{
-	XalanXPathHandle	theXPathHandle;
-
-	int					theResult = CreateXPath(theXalanHandle, theXPathExpression, &theXPathHandle);
-
-	if (theResult == XALAN_XPATH_API_SUCCESS)
-	{
-		char*	theBuffer = ReadFile(theXMLFileName);
-
-		if (theBuffer != NULL)
-		{
-			theResult = XalanEvaluateXPathAsBoolean(theXalanHandle, theXPathHandle, theBuffer, theBoolean);
-
-			if (theResult != XALAN_XPATH_API_SUCCESS)
-			{
-				fprintf(stderr, "Unable to evaluate XPath expression.  Error code was %d.\n", theResult);
-			}
-
-			free(theBuffer);
-		}
-
-		DestroyXPath(theXalanHandle, theXPathHandle);
-	}
-
-	return theResult;
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-	int		theResult = 0;
-
-	if (argc != 3)
-	{
-		fprintf(stderr, "Usage: SimpleXPathAPI XMLFilePath XPathExpression\n");
-
-		theResult = -1;
-	}
-	else
-	{
-		theResult = XalanXPathAPIInitialize();
-
-		if (theResult != XALAN_XPATH_API_SUCCESS)
-		{
-			fprintf(stderr, "Unable to initialize the API.  Error code was %d.\n", theResult);
-		}
-		else
-		{
-			XalanXPathEvaluatorHandle	theXalanHandle;
-
-			theResult = XalanCreateXPathEvaluator(&theXalanHandle);
-
-			if (theResult != XALAN_XPATH_API_SUCCESS)
-			{
-				fprintf(stderr, "Error creating evaluator.  Error code was %d.\n", theResult);
-			}
-			else
-			{
-				int	theBoolean = 0;
-
-				theResult = EvaluateXPath(theXalanHandle, argv[1], argv[2], &theBoolean);
-
-				if (theResult == XALAN_XPATH_API_SUCCESS)
-				{
-					fprintf(stdout, "The result of the expression was '%s'.\n", theBoolean == 0 ? "false" : "true");
-				}
-
-				theResult = XalanDestroyXPathEvaluator(theXalanHandle);
-
-				if (theResult != XALAN_XPATH_API_SUCCESS)
-				{
-					fprintf(stderr, "Error destroying evaluator.  Error code was %d.\n", theResult);
-				}
-			}
-
-			theResult = XalanXPathAPITerminate();
-
-			if (theResult != XALAN_XPATH_API_SUCCESS)
-			{
-				fprintf(stderr, "Error terminating the API.  Error code was %d.\n", theResult);
-			}
-		}
-	}
-
-	return theResult;
-}
diff --git a/samples/SimpleXPathCAPI/SimpleXPathCAPI.dsp b/samples/SimpleXPathCAPI/SimpleXPathCAPI.dsp
deleted file mode 100644
index 8adbf1a..0000000
--- a/samples/SimpleXPathCAPI/SimpleXPathCAPI.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SimpleXPathCAPI" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=SimpleXPathCAPI - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "SimpleXPathCAPI.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "SimpleXPathCAPI.mak" CFG="SimpleXPathCAPI - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "SimpleXPathCAPI - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "SimpleXPathCAPI - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "SimpleXPathCAPI - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\SimpleXPathCAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "SimpleXPathCAPI - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\SimpleXPathCAPI"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /map /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "SimpleXPathCAPI - Win32 Release"
-# Name "SimpleXPathCAPI - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\SimpleXPathCAPI.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/SimpleXPathCAPI/foo.xml b/samples/SimpleXPathCAPI/foo.xml
deleted file mode 100644
index 4364266..0000000
--- a/samples/SimpleXPathCAPI/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="Myriam" last="Midy"/>
-  <name first="Paul" last="Dick"/>
-  <name first="Scott" last="Boag"/>
-  <name first="Shane" last="Curcuru"/>
-  <name first="Joseph" last="Kesselman"/>
-  <name first="Stephen" last="Auriemma"/>
-</doc>
\ No newline at end of file
diff --git a/samples/StreamTransform/StreamTransform.cpp b/samples/StreamTransform/StreamTransform.cpp
deleted file mode 100644
index d6f2555..0000000
--- a/samples/StreamTransform/StreamTransform.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstream.h>
-#include <fstream.h>
-#else
-#include <iostream>
-#include <strstream>
-#include <fstream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-int
-main(
-			int				argc,
-			const char*		/* argv */[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-	using std::istrstream;
-	using std::ofstream;
-	using std::ostrstream;
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using std::strlen;
-#endif
-#endif
-
-	int	theResult = 0;
-
-	if (argc != 1)
-	{
-		cerr << "Usage: StreamTransform"
-			 << endl
-			 << endl;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		// Create a XalanTransformer.
-		XalanTransformer theXalanTransformer;
-
-		// A simple input document...
-#if defined(XALAN_NON_ASCII_PLATFORM)
-		const char* const  theInputDocument = "<?xml version='1.0' encoding='EBCDIC-CP-US' ?><doc>Hello world!</doc>";
-#else
-		const char* const  theInputDocument = "<?xml version='1.0' encoding='ISO-8859-1' ?><doc>Hello world!</doc>";
-#endif
-
-		// A "hello world" stylesheet.  Note that the encoding for the output is platform-dependent,
-		// since we're writing to a string.  It could be any encoding, but "binary" encodings,
-		// or encodings that could produce multi-byte characters would require transcoding on
-		// some platforms.
-		const char* const  theStylesheet =
-#if defined(XALAN_NON_ASCII_PLATFORM)
-"<?xml version='1.0' encoding='EBCDIC-CP-US'?>\
-<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>\
-<xsl:output encoding='EBCDIC-CP-US'/>\
-<xsl:template match='doc'>\
-<out><xsl:value-of select='.'/></out>\
-</xsl:template>\
-</xsl:stylesheet>";
-#else
-"<?xml version='1.0'?>\
-<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>\
-<xsl:output encoding='US-ASCII'/>\
-<xsl:template match='doc'>\
-<out><xsl:value-of select='.'/></out>\
-</xsl:template>\
-</xsl:stylesheet>";
-#endif
-
-		// Our input streams...
-		istrstream	theXMLStream(theInputDocument, strlen(theInputDocument));
-		istrstream	theXSLStream(theStylesheet, strlen(theStylesheet));
-
-		XSLTInputSource	inputSource(&theXSLStream);
-
-		inputSource.setSystemId(c_wstr(XalanDOMString("foo")));
-
-		// Do the transform.
-		theResult = theXalanTransformer.transform(&theXMLStream, inputSource, cout);
-    
-		if(theResult != 0)
-		{
-			cerr << "StreamTransform Error: \n" << theXalanTransformer.getLastError()
-				 << endl
-				 << endl;
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/samples/StreamTransform/StreamTransform.dsp b/samples/StreamTransform/StreamTransform.dsp
deleted file mode 100644
index 489ccbf..0000000
--- a/samples/StreamTransform/StreamTransform.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="StreamTransform" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=StreamTransform - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "StreamTransform.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "StreamTransform.mak" CFG="StreamTransform - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "StreamTransform - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "StreamTransform - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "StreamTransform - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\StreamTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "StreamTransform - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\StreamTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "StreamTransform - Win32 Release"
-# Name "StreamTransform - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\StreamTransform.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/ThreadSafe/ThreadSafe.cpp b/samples/ThreadSafe/ThreadSafe.cpp
deleted file mode 100644
index 1a16544..0000000
--- a/samples/ThreadSafe/ThreadSafe.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <ctime>
-#include <fstream>
-#include <iostream>
-#include <strstream>
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-//This is here for the Windows threads.
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <winbase.h>
-#define THREADFUNCTIONRETURN DWORD WINAPI
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-	using std::ifstream;
-	using std::ios_base;
-	using std::ostrstream;
-	using std::string;
-#endif
-
-
-
-// Used to hold compiled stylesheet and XML source document.
-const XalanCompiledStylesheet*	glbCompiledStylesheet = 0;
-const XalanParsedSource*		glbParsedSource = 0;
-int								glbError = 0;	 
-
-
-
-// Print messages tracking the progress of each thread, and the
-// beginning and end of the entire operation.
-void
-outputMessage(
-			DWORD		id,
-			const char	msg[])
-{
-	ostrstream threadMsg;
-	
-	threadMsg << "\n" << msg << " Thread: " << id << '\0';
-
-	cout << threadMsg.str();
-
-	threadMsg.freeze(false);
-}
-
-
-
-THREADFUNCTIONRETURN
-theThread(LPVOID	param)
-{
-// This routine uses a compiled stylesheet (glbCompiledStylesheet), 
-// and a binary source tree (glbParsedSource) to perform the 
-// transformation.
-
-	int	theResult = 0;
-
-	const int	number = reinterpret_cast<int>(param);
-
-	const DWORD		theThreadID = GetCurrentThreadId();
-
-	outputMessage(theThreadID, "Starting ");
-
-	// Create a XalanTransformer.
-	XalanTransformer	theXalanTransformer;
-
-	// Generate the output file name for this thread.
-    ostrstream	theFormatterOut;
-    theFormatterOut << "birds" << number << ".out" << '\0';
-
-	// Generate the XML output object.
-	const XSLTResultTarget	theResultTarget(XalanDOMString(theFormatterOut.str()));
-
-	// Unfreeze the ostrstream, so memory is returned...
-	theFormatterOut.freeze(false);
-
-	outputMessage(theThreadID, "Transforming");
-
- 	// Do the transform.
-	theResult = theXalanTransformer.transform(*glbParsedSource, glbCompiledStylesheet, theResultTarget);
-
-	if(theResult != 0)
-	{
-		cerr << "ThreadSafe Error: \n" << theXalanTransformer.getLastError()
-			 << endl
-			 << endl;
-
-		glbError = theResult;
-	}
-
-	outputMessage(theThreadID, "Finishing");
-
-	return (theResult);
-}
-
-
-
-// Create and run the threads...
-// Print messages tracking the progress of each thread and of the 
-// overall operation...
-void
-doThreads(int	nThreads)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::vector;
-#endif
-
-	vector<HANDLE>	hThreads;
-
-	hThreads.reserve(nThreads);
-
-	cout << endl << "Clock before starting threads: " << clock() << endl;
-
-	int		i = 0;	
-
-	for (; i < nThreads; ++i)
-	{
-		DWORD  threadID;
-
-		const HANDLE	hThread = CreateThread(
-				0, 
-				4096,							// Stack size for thread.
-				theThread,						// pointer to thread function
-				reinterpret_cast<LPVOID>(i),	// argument for new thread
-				0,								// creation flags
-				&threadID);
-
-		assert(hThread != 0);
-
-		hThreads.push_back(hThread);
-	}
-
-	WaitForMultipleObjects(hThreads.size(), &hThreads[0], TRUE, INFINITE);
-
-	cout << endl << "Clock after threads: " << clock() << endl;
-
-	for (i = 0; i < nThreads; ++i)
-	{
-		CloseHandle(hThreads[i]);
-	}
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		/* argv */[])
-{
-	if (argc != 1)
-	{
-		cerr << "Usage: ThreadTest"
-			 << endl
-			 << endl;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer.  We won't actually use this to transform --
-			// it's just acting likely a factory for the compiled stylesheet and
-			// pre-parsed source.
-			XalanTransformer	theXalanTransformer;
-
-			glbError = theXalanTransformer.compileStylesheet("birds.xsl", glbCompiledStylesheet);
-
-			if (glbError != 0)
-			{
-				cerr << "ThreadSafe Error: \n" << theXalanTransformer.getLastError()
-					 << endl
-					 << endl;
-			}
-			else
-			{
-				assert(glbCompiledStylesheet != 0);
-
-				// Compile the XML source document as well. All threads will use
-				// this binary representation of the source tree.
-				glbError = theXalanTransformer.parseSource("birds.xml", glbParsedSource);
-
-				if (glbError != 0)
-				{
-					cerr << "ThreadSafe Error: \n" << theXalanTransformer.getLastError()
-						 << endl
-						 << endl;
-				}
-				else
-				{
-					assert(glbParsedSource != 0);
-
-					// Create and run the threads...
-					// Each thread uses the same document and 
-					// stylesheet to perform a transformation.
-					doThreads(10);
-				}
-			}
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return glbError;
-}
diff --git a/samples/ThreadSafe/ThreadSafe.dsp b/samples/ThreadSafe/ThreadSafe.dsp
deleted file mode 100644
index 5931b60..0000000
--- a/samples/ThreadSafe/ThreadSafe.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ThreadSafe" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=ThreadSafe - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "ThreadSafe.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "ThreadSafe.mak" CFG="ThreadSafe - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "ThreadSafe - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "ThreadSafe - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "ThreadSafe - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\ThreadSafe"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "ThreadSafe - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\ThreadSafe"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "ThreadSafe - Win32 Release"
-# Name "ThreadSafe - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\ThreadSafe.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/ThreadSafe/birds.xml b/samples/ThreadSafe/birds.xml
deleted file mode 100644
index 7027642..0000000
--- a/samples/ThreadSafe/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/ThreadSafe/birds.xsl b/samples/ThreadSafe/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/ThreadSafe/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/TraceListen/TraceListen.cpp b/samples/TraceListen/TraceListen.cpp
deleted file mode 100644
index 3db93ac..0000000
--- a/samples/TraceListen/TraceListen.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <fstream.h>
-#include <iostream.h>
-#else
-#include <fstream>
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanStdOutputStream.hpp>
-
-
-
-#include <XSLT/TraceListenerDefault.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::endl;
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::strcmp;
-#endif
-#endif
-
-	// TraceListener flags...
-	bool traceTemplates = false;
-	bool traceTemplateChildren = false;
-	bool traceGenerationEvent = false;
-	bool traceSelectionEvent = false;
-
-	if (argc < 2 || argc > 5)
-	{
-		cerr << "Usage: TraceListen [+ 1 or more of following] -tt -tg -ts -ttc" << endl;
-
-		return -1;
-	}
-
-	// Set the TraceListener flags...
-	for (int i = 1;	i < argc;	i ++)
-	{
-		if(!strcmp("-tt", argv[i]))
-		{
-			traceTemplates = true;
-		}
-		else if(!strcmp("-tg", argv[i]))
-		{
-			traceGenerationEvent = true;
-		}
-		else if(!strcmp("-ts", argv[i]))
-		{
-			traceSelectionEvent = true;
-		}
-		else if(!strcmp("-ttc", argv[i]))
-		{
-			traceTemplateChildren = true;
-		}
-		else
-		{
-  			cerr << "Usage: TraceListen [+ 1 or more of following] -tt -tg -ts -ttc" << endl;
-
-			return -1;
-		}
-	} 
- 
-	try
-	{
-		// Initialize Xerces...
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan...
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer.
-			XalanTransformer	theXalanTransformer;
-
-			const XalanDOMString	theXMLFileName("birds.xml");
-			const XalanDOMString	theXSLFileName("birds.xsl");
-
-			// Our input sources...
-			const XSLTInputSource	theInputSource(c_wstr(theXMLFileName));
-			const XSLTInputSource	theStylesheetSource(c_wstr(theXSLFileName));
-
-			// Our output target...
-			const XalanDOMString	theOutputFile("birds.out");
-			XSLTResultTarget		theResultTarget(theOutputFile);
-
-			// Set up a diagnostic writer to be used by the TraceListener...
-			XalanStdOutputStream			theStdErr(cerr);
-			XalanOutputStreamPrintWriter	diagnosticsWriter(theStdErr);
-
-			// Make sure that error reporting, which includes any TraceListener output
-			// does not throw exceptions when transcoding, since that could result in
-			// an exception being thrown while another exception is active.  In particular,
-			// characters that the TraceListener writes might not be representable in the
-			// local code page.
-			theStdErr.setThrowTranscodeException(false);
-
-			// Set up the TraceListener... 
-			TraceListenerDefault		theTraceListener(				
-					diagnosticsWriter,
-					traceTemplates,
-					traceTemplateChildren,
-					traceGenerationEvent,
-					traceSelectionEvent);
-
-			// Add the TraceListener to the XalanTransformer instance...
-			theXalanTransformer.addTraceListener(&theTraceListener);
-
-			// Our input files assume the executable will be run
-			// from same directory as the input files.
-			const int	theResult = theXalanTransformer.transform("birds.xml", "birds.xsl", "birds.out");
-
-			if(theResult != 0)
-			{
-				cerr << "TraceListen Error: \n" << theXalanTransformer.getLastError()
-					 << endl
-					 << endl;
-			}
-		}
-
-		XalanTransformer::terminate();
-
-		XMLPlatformUtils::Terminate();
-	}
-	catch(...)
-	{
-		cerr << "Exception caught!  Exiting..." << endl;
-	}
-
-	return 0;
-}
diff --git a/samples/TraceListen/TraceListen.dsp b/samples/TraceListen/TraceListen.dsp
deleted file mode 100644
index 249de81..0000000
--- a/samples/TraceListen/TraceListen.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TraceListen" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=TraceListen - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "TraceListen.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "TraceListen.mak" CFG="TraceListen - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "TraceListen - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "TraceListen - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "TraceListen - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\TraceListen"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "TraceListen - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\TraceListen"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "TraceListen - Win32 Release"
-# Name "TraceListen - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\TraceListen.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/TraceListen/birds.xml b/samples/TraceListen/birds.xml
deleted file mode 100644
index 7027642..0000000
--- a/samples/TraceListen/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/TraceListen/birds.xsl b/samples/TraceListen/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/TraceListen/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/UseStylesheetParam/UseStylesheetParam.cpp b/samples/UseStylesheetParam/UseStylesheetParam.cpp
deleted file mode 100644
index 861c515..0000000
--- a/samples/UseStylesheetParam/UseStylesheetParam.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// Base header file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-int
-main(
-		  int			argc,
-		  const char*	argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::endl;
-#endif
-
-	int	theResult = 0;
-
-	if (argc != 3)
-	{
-		cerr << "Usage: UseStylesheetParam key expression" << endl;
-
-		theResult = -1;
-	}
-	else
-	{
-		// Call the static initializer for Xerces.
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan.
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer.
-			XalanTransformer	theXalanTransformer;
-
-			// Set the stylesheet parameter name and
-			// expression (a string expression).
-			theXalanTransformer.setStylesheetParam(
-					XalanDOMString(argv[1]),
-					XalanDOMString(argv[2]));
-
-			// Our input files...The assumption is that the executable will be run
-			// from same directory as the input files.
-			theResult = theXalanTransformer.transform("foo.xml", "foo.xsl", "foo.out");
-
-			if(theResult != 0)
-			{
-				cerr << "UseStylesheetParam Error: \n" << theXalanTransformer.getLastError()
-					 << endl
-					 << endl;
-			}
-		}
-
-		// Terminate Xalan.
-		XalanTransformer::terminate();
-
-		// Call the static terminator for Xerces.
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/samples/UseStylesheetParam/UseStylesheetParam.dsp b/samples/UseStylesheetParam/UseStylesheetParam.dsp
deleted file mode 100644
index 66ff75e..0000000
--- a/samples/UseStylesheetParam/UseStylesheetParam.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="UseStylesheetParam" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=UseStylesheetParam - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "UseStylesheetParam.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "UseStylesheetParam.mak" CFG="UseStylesheetParam - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "UseStylesheetParam - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "UseStylesheetParam - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "UseStylesheetParam - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\UseStylesheetParam"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "UseStylesheetParam - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\UseStylesheetParam"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "UseStylesheetParam - Win32 Release"
-# Name "UseStylesheetParam - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\UseStylesheetParam.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
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/XPathWrapper/DLL.dsp b/samples/XPathWrapper/DLL.dsp
deleted file mode 100644
index fba3f70..0000000
--- a/samples/XPathWrapper/DLL.dsp
+++ /dev/null
@@ -1,113 +0,0 @@
-# Microsoft Developer Studio Project File - Name="DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "DLL.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "DLL.mak" CFG="DLL - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "DLL - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\XPathWrapper"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLL_EXPORTS" /D "_XPathWrapper" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /dll /machine:I386 /out:"..\..\Build\Win32\VC6\Release/XPathWrapper.dll"
-
-!ELSEIF  "$(CFG)" == "DLL - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\XPathWrapper"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DLL_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "_WINDOWS" /D "_USRDLL" /D "DLL_EXPORTS" /D "_XPathWrapper" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# SUBTRACT CPP /Fr
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /dll /map /debug /machine:I386 /out:"..\..\Build\Win32\VC6\Debug/XPathWrapper.dll" /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "DLL - Win32 Release"
-# Name "DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\XPathWrapper.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\XPathWrapper.hpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/XPathWrapper/TestDriver.cpp b/samples/XPathWrapper/TestDriver.cpp
deleted file mode 100644
index 1d10019..0000000
--- a/samples/XPathWrapper/TestDriver.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-#include "XPathWrapper.hpp"
-
-
-
-#include <xercesc/util/XMLException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <fstream.h>
-#include <iostream.h>
-#else
-#include <fstream>
-#include <iostream>
-#endif
-
-
-
-class XMLException;
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-	using std::cout;
-	using std::endl;
-	using std::ifstream;
-	using std::vector;
-#endif
-
-	if (argc < 4)
-	{
-		cerr << "Usage: TestDriver XMLFilePath Context XPathExpression" << endl;
-		return -1;
-	}
-
-	CharVectorType		theXML;
-
-	ifstream	in(argv[1]);
-
-	// slow and dirty dump of the xml file into a buffer
-	char c;
-	while(in.get(c))
-		theXML.push_back(c);
-	theXML.push_back('\0');
-
-	///////////////////////////////////////////..
-
-	// create your XPath helper object
-	XPathWrapper helper;
-
-	try
-	{
-		// call evaluate, passing in the XML string, the context string and the xpath string
-		const XPathWrapper::CharVectorTypeVectorType	result = helper.evaluate(&*theXML.begin(), argv[2], argv[3]);
-
-		// take the resulting string vector	and do whatever you want with it:
-		size_t len = result.size();
-
-		cout << "the result set has " << len << " strings\n";
-
-		for (size_t i=0; i<len; i++)
-			cout << "item " << (i+1) << "= \"" << result[i] << "\"" << endl;
-	}
-	catch(const XMLException&)
-	{
-		cerr << "Exception caught!  Exiting..." << endl;
-	}
-
-	return 0;
-}
diff --git a/samples/XPathWrapper/TestDriver.dsp b/samples/XPathWrapper/TestDriver.dsp
deleted file mode 100644
index d410f7f..0000000
--- a/samples/XPathWrapper/TestDriver.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TestDriver" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=TestDriver - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "TestDriver.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "TestDriver.mak" CFG="TestDriver - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "TestDriver - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "TestDriver - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "TestDriver - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\XPathWrapper"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "TestDriver - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\XPathWrapper"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /map /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "TestDriver - Win32 Release"
-# Name "TestDriver - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\TestDriver.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/XPathWrapper/XPathWrapper.cpp b/samples/XPathWrapper/XPathWrapper.cpp
deleted file mode 100644
index 0eef7c7..0000000
--- a/samples/XPathWrapper/XPathWrapper.cpp
+++ /dev/null
@@ -1,280 +0,0 @@
-#include "XPathWrapper.hpp"
-
-
-
-#include <vector>
-#include <cassert>
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/framework/MemBufInputSource.hpp>
-#include <xercesc/parsers/DOMParser.hpp>
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/DirectoryEnumerator.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPathInit.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-#include <XPath/ElementPrefixResolverProxy.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::endl;
-using std::vector;
-#endif
-
-
-
-////////////////////////////////////////////////////
-
-// the implementation class, that does all calls to XPath and Xerces
-class XPathWrapperImpl
-{
-public:
-
-	XPathWrapper::CharVectorTypeVectorType
-	evaluate(
-		const char*		xml,
-		const char*		context, 
-		const char*		expr,
-#if defined(XALAN_NO_NAMESPACES)
-		ostream&		errorStream)
-#else
-		std::ostream&	errorStream)
-#endif
-	{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using std::strlen;
-#endif
-
-		//initialize Xerces...
-		try
-		{
-			XMLPlatformUtils::Initialize();
-		}
-		catch(const XMLException&)
-		{
-			errorStream << "XMLPlatformUtils::Initialize() failed!" << endl;
-
-			throw;
-		}
-
-		XPathWrapper::CharVectorTypeVectorType	theResultList;
-
-		{
-			// Initialize the XPath subsystem...
-			XPathInit						theInit;
-
-			// We'll use these to parse the XML file.
-			XalanSourceTreeDOMSupport		theDOMSupport;
-			XalanSourceTreeParserLiaison	theLiaison(theDOMSupport);
-
-			// Hook the two together...
-			theDOMSupport.setParserLiaison(&theLiaison);
-
-			XalanElement*	rootElem = 0;
-
-			try
-			{
-				// parse XML and get root element
-				MemBufInputSource inStream((XMLByte*)xml, strlen(xml), "foo", false);
-
-				XalanDocument* const	doc = theLiaison.parseXMLStream(inStream);
-				assert(doc != 0);
-
-				rootElem = doc->getDocumentElement();
-				assert(rootElem != 0);
-			}
-			catch(const XMLException&)
-			{
-				errorStream << "Caught XMLExecption..." << endl;
-
-				throw;
-			}
-
-			// configure the objects needed for XPath to work with the Xerces DOM
-			XPathEnvSupportDefault			theEnvSupport;
-			XObjectFactoryDefault			theXObjectFactory;
-			XPathExecutionContextDefault	theExecutionContext(theEnvSupport, theDOMSupport, theXObjectFactory);
-			XPathFactoryDefault				theXPathFactory;
-			XPathProcessorImpl				theXPathProcessor;
-
-			try
-			{
-				// first get the context nodeset
-				XPath* const	contextXPath = theXPathFactory.create();
-
-				theXPathProcessor.initXPath(*contextXPath,
-											XalanDOMString(context),
-											ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport));
-
-	   			XObjectPtr	xObj =
-					contextXPath->execute(rootElem,
-										  ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport),
-										  theExecutionContext);
-
-				const NodeRefListBase&	contextNodeList = xObj->nodeset();
-
-				const unsigned int	theLength =
-						contextNodeList.getLength();
-
-				if (theLength == 0)
-				{
-						errorStream << "Warning -- No nodes matched the location path \""
-									<< context
-									<< "\"."
-									<< endl
-									<< "Execution cannot continue..."
-									<< endl
-									<< endl;
-				}
-				else
-				{
-					if (theLength > 1)
-					{
-						errorStream << "Warning -- More than one node matched the location path \""
-									<< context
-									<< "\"."
-									<< endl
-									<< "The first node matched will be used as the context node."
-									<< endl
-									<< endl;
-					}
-
-					// and now get the result of the primary xpath expression
-					XPath* const	xpath = theXPathFactory.create();
-					theXPathProcessor.initXPath(*xpath,
-												TranscodeFromLocalCodePage(expr),
-												ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport));
-
-					xObj = xpath->execute(contextNodeList.item(0),
-										  ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport),
-										  theExecutionContext);
-
-					// now encode the results.  For all types but nodelist, we'll just convert it to a string
-					// but, for nodelist, we'll convert each node to a string and return a list of them
-					switch (xObj->getType())
-					{
-						case XObject::eTypeNodeSet:
-						{
-							const NodeRefListBase& nodeset = xObj->nodeset();
-							size_t len = nodeset.getLength();
-
-							for (size_t i=0; i<len; i++)
-							{
-								XalanNode* const	node = nodeset.item(i);
-								XalanDOMString		str;
-
-								const int theType = node->getNodeType();
-
-								if (theType == XalanNode::COMMENT_NODE ||
-									theType == XalanNode::PROCESSING_INSTRUCTION_NODE)
-									str = node->getNodeValue();
-								else if (theType == XalanNode::ELEMENT_NODE)
-									str = node->getNodeName();
-								else
-									DOMServices::getNodeData(*node, str);
-
-								theResultList.push_back(TranscodeToLocalCodePage(str));
-							}
-
-							break;
-						}
-
-						default:
-						{
-							theResultList.push_back(TranscodeToLocalCodePage(xObj->str()));
-
-							break;
-						}
-					}
-				}
-			}
-			catch(const XMLException&)
-			{
-				errorStream << "Caught XMLExecption..." << endl;
-
-				throw;
-			}
-
-			// Shut down Xerces...
-			XMLPlatformUtils::Terminate();
-		}
-
-		return theResultList;
-	}
-};
-
-
-////////////////////////////////////////////////////
-
-// The public XPathWrapper methods just delegate to our impl class
-
-XPathWrapper::XPathWrapper() :
-	pImpl(new XPathWrapperImpl())
-{
-}
-
-
-
-XPathWrapper::~XPathWrapper()
-{
-	delete pImpl;
-}
-
-
-
-XPathWrapper::CharVectorTypeVectorType
-XPathWrapper::evaluate(
-		const char*		xml, 
-		const char*		context, 
-		const char*		path)
-{
-	return pImpl->evaluate(
-			xml,
-			context,
-			path,
-#if defined(XALAN_NO_NAMESPACES)
-			cerr);
-#else
-			std::cerr);
-#endif
-}
-
-
diff --git a/samples/XPathWrapper/XPathWrapper.hpp b/samples/XPathWrapper/XPathWrapper.hpp
deleted file mode 100644
index 73ad5be..0000000
--- a/samples/XPathWrapper/XPathWrapper.hpp
+++ /dev/null
@@ -1,136 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATH_WRAPPER_HEADER_GUARD_1357924680)
-#define XPATH_WRAPPER_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <vector>
-
-
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-#include <stl/_vector.c>
-#endif
-
-
-
-#if defined(WIN32)
-#if defined(_XPathWrapper)
-#define XALAN_XPATHWRAPPER_EXPORT XALAN_PLATFORM_EXPORT
-#else
-#define XALAN_XPATHWRAPPER_EXPORT XALAN_PLATFORM_IMPORT
-#endif
-#else
-#define XALAN_XPATHWRAPPER_EXPORT
-#endif
-
-
-
-class XPathWrapperImpl;
-
-
-
-class XALAN_XPATHWRAPPER_EXPORT XPathWrapper
-{
-
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<CharVectorType> CharVectorTypeVectorType;	
-#else
-	typedef std::vector<CharVectorType> CharVectorTypeVectorType;	
-#endif	
-
-	XPathWrapper();
-
-	virtual
-	~XPathWrapper();
-
-	// Given an xml document and an xpath context and expression in the form of (ascii) string objects,
-	// this function parses the XML document, evaluates the xpath and returns the result, as a list of 
-	// string objects
-	CharVectorTypeVectorType
-	evaluate(
-		const char*		xml, 
-		const char*		context, 
-		const char*		path);
-
-private:
-
-	// not implemented
-	XPathWrapper(const XPathWrapper&);
-
-	XPathWrapper&
-	operator=(const XPathWrapper&);
-
-	bool
-	operator==(const XPathWrapper&) const;
-
-	XPathWrapperImpl* const		pImpl;
-};
-
-
-#endif	// XPATH_WRAPPER_HEADER_GUARD_1357924680
diff --git a/samples/XPathWrapper/foo.xml b/samples/XPathWrapper/foo.xml
deleted file mode 100644
index 14f51a8..0000000
--- a/samples/XPathWrapper/foo.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <name first="David" last="Marston">Mr. Marston</name>
-  <name first="David" last="Bertoni">Mr. Bertoni</name>
-  <name first="Donald" last="Leslie">Mr. Leslie</name>
-  <name first="Emily" last="Farmer">Ms. Farmer</name>
-  <name first="Myriam" last="Midy">Ms. Midy</name>
-  <name first="Paul" last="Dick">Mr. Dick</name>
-  <name first="Scott" last="Boag">Mr. Boag</name>
-  <name first="Shane" last="Curcuru">Mr. Curcuru</name>
-  <name first="Joseph" last="Kesselman">Mr. Kesselman</name>
-  <name first="Stephen" last="Auriemma">Mr. Auriemma</name>
-</doc>
\ No newline at end of file
diff --git a/samples/XalanTransform/XalanTransform.cpp b/samples/XalanTransform/XalanTransform.cpp
deleted file mode 100644
index 7be3a93..0000000
--- a/samples/XalanTransform/XalanTransform.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstream.h>
-#else
-#include <iostream>
-#include <strstream>
-#endif
-
-
-
-int
-main(
-			int				 argc,
-			const char*		 argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cout;
-	using std::cerr;
-    using std::endl;
-#endif
-
-    if (argc < 3 || argc > 4)
-	{
-		cerr << "Usage: XalanTransform XMLFileName XSLFileName [OutFileName]" << endl;
-		return -1;
-	}
-
-	// Call the static initializer for Xerces.
-	XMLPlatformUtils::Initialize();
-
-    // Initialize Xalan.
-    XalanTransformer::initialize();
-
-	int		theResult = 0;
-
-	{
-		// Create a XalanTransformer.
-		XalanTransformer theXalanTransformer;
-
-		if (argc == 4)
-		{
-			// Do the transform.
-			theResult = theXalanTransformer.transform(argv[1], argv[2], argv[3]);
-        
-			if(theResult != 0)
-			{
-				cerr << "XalanError: \n" << theXalanTransformer.getLastError();
-			}
-		}
-		else
-		{
-			// Do the transform.
-			theResult = theXalanTransformer.transform(argv[1], argv[2], cout);
-        
-			if(theResult != 0)
-			{
-				cerr << "XalanError: \n" << theXalanTransformer.getLastError();
-			}
-		}
-	}
-
-    // Terminate Xalan.
-	XalanTransformer::terminate();
-
-	// Call the static terminator for Xerces.
-	XMLPlatformUtils::Terminate();
-
-	return theResult;
-}
diff --git a/samples/XalanTransform/XalanTransform.dsp b/samples/XalanTransform/XalanTransform.dsp
deleted file mode 100644
index 6902c4e..0000000
--- a/samples/XalanTransform/XalanTransform.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanTransform" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=XalanTransform - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanTransform.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanTransform.mak" CFG="XalanTransform - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanTransform - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "XalanTransform - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanTransform - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\XalanTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src\\" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "XalanTransform - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\XalanTransform"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src\\" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanTransform - Win32 Release"
-# Name "XalanTransform - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\XalanTransform.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/XalanTransform/foo.xml b/samples/XalanTransform/foo.xml
deleted file mode 100644
index cde6fc0..0000000
--- a/samples/XalanTransform/foo.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE si>
-<s1 title="s1 foo">
-  <s2 title="Foo">
-    <p>Hello</p>
-  </s2>
-</s1>
\ No newline at end of file
diff --git a/samples/XalanTransform/foo.xsl b/samples/XalanTransform/foo.xsl
deleted file mode 100644
index 2605e6f..0000000
--- a/samples/XalanTransform/foo.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/XalanTransformerCallback/XalanTransformerCallback.cpp b/samples/XalanTransformerCallback/XalanTransformerCallback.cpp
deleted file mode 100644
index 3468718..0000000
--- a/samples/XalanTransformerCallback/XalanTransformerCallback.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-#include <cstdio>
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-// This is a simple class that illustrates how XalanTransformer's "callback" API
-// is used.  This example just abstracts writing data to a FILE*, but other
-// actions are possible.
-class CallbackHandler
-{
-public:
-
-	CallbackHandler(FILE*	theFile) :
-		m_file(theFile)
-	{
-		assert(m_file != 0);
-	}
-
-	CallbackSizeType
-	write(
-			const char*			theData,
-			CallbackSizeType	theLength)
-	{
-		return fwrite(theData, sizeof(char), theLength, m_file);
-	}
-
-	void
-	flush()
-	{
-		fflush(m_file);
-	}
-
-private:
-
-	FILE* const		m_file;
-};
-
-
-
-// These functions need to have C linkage, so surround them with an extern C block...
-extern "C"
-{
-
-// This is the write callback function, which casts the handle
-// to the appropriate type, then calls the write() member function
-// on the CallbackHandler class.
-CallbackSizeType
-writeCallback(
-			const char*			theData,
-			CallbackSizeType	theLength,
-			void*				theHandle)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return ((CallbackHandler*)theHandle)->write(theData, theLength);
-#else
-	return reinterpret_cast<CallbackHandler*>(theHandle)->write(theData, theLength);
-#endif
-}
-
-// This is the flush callback function, which casts the handle
-// to the appropriate type, then calls the flush() member function
-// on the CallbackHandler class.
-void
-flushCallback(void*	theHandle)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	((CallbackHandler*)theHandle)->flush();
-#else
-	reinterpret_cast<CallbackHandler*>(theHandle)->flush();
-#endif
-}
-
-}
-
-
-
-int
-doTransform(
-			const char*		theXMLFile,
-			const char*		theXSLFile,
-			FILE*			theOutputFile)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-    using std::endl;
-#endif
-
-    // Create a XalanTransformer...
-	XalanTransformer	theXalanTransformer;
-
-	// Create an instance of the class we wrote to handle
-	// the callbacks...
-	CallbackHandler		theHandler(theOutputFile);
-
-	// Do the transform...
-	const int	theResult = theXalanTransformer.transform(
-					theXMLFile,
-					theXSLFile,
-					&theHandler,
-					writeCallback,
-					flushCallback);
-        
-	if(theResult != 0)
-	{
-		cerr << "XalanError: " << theXalanTransformer.getLastError() << endl;
-	}
-
-	return theResult;
-}
-
-
-
-int
-main(
-			int				 argc,
-			const char*		 argv[])
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::cerr;
-    using std::endl;
-#endif
-
-    if (argc < 3 || argc > 4)
-	{
-		cerr << "Usage: XalanTransformerCallback XMLFileName XSLFileName [OutFileName]" << endl;
-
-		return -1;
-	}
-
-	// Call the static initializer for Xerces.
-	XMLPlatformUtils::Initialize();
-
-    // Initialize Xalan.
-    XalanTransformer::initialize();
-
-    int				theResult = 0;
-
-    if (argc == 3)
-	{
-		// No output file, so use stdout...
-		theResult = doTransform(argv[1], argv[2], stdout);
-    }
-    else
-    {
-		// Ooutput file specified, so try to open it...
-		FILE* const	theOutputFile = fopen(argv[3], "w");
-
-		if (theOutputFile == 0)
-		{
-			cerr << "Error: " << "Unable to open output file " << argv[3] << endl;
-		}
-		else
-		{
-			theResult = doTransform(argv[1], argv[2], theOutputFile);
-
-			fclose(theOutputFile);
-		}
-    }
-
-    // Terminate Xalan.
-	XalanTransformer::terminate();
-
-	// Call the static terminator for Xerces.
-	XMLPlatformUtils::Terminate();
-
-	return theResult;
-}
diff --git a/samples/XalanTransformerCallback/XalanTransformerCallback.dsp b/samples/XalanTransformerCallback/XalanTransformerCallback.dsp
deleted file mode 100644
index 68383f4..0000000
--- a/samples/XalanTransformerCallback/XalanTransformerCallback.dsp
+++ /dev/null
@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="XalanTransformerCallback" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=XalanTransformerCallback - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanTransformerCallback.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "XalanTransformerCallback.mak" CFG="XalanTransformerCallback - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "XalanTransformerCallback - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "XalanTransformerCallback - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "XalanTransformerCallback - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\Build\Win32\VC6\Release"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\XalanTransformerCallback"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "XalanTransformerCallback - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\Build\Win32\VC6\Debug"
-# PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\XalanTransformerCallback"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W4 /Gm /GR /GX /Zi /Od /I "..\..\..\..\xml-xerces\c\src" /I "..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "XalanTransformerCallback - Win32 Release"
-# Name "XalanTransformerCallback - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\XalanTransformerCallback.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/samples/XalanTransformerCallback/foo.xml b/samples/XalanTransformerCallback/foo.xml
deleted file mode 100644
index cde6fc0..0000000
--- a/samples/XalanTransformerCallback/foo.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE si>
-<s1 title="s1 foo">
-  <s2 title="Foo">
-    <p>Hello</p>
-  </s2>
-</s1>
\ No newline at end of file
diff --git a/samples/XalanTransformerCallback/foo.xsl b/samples/XalanTransformerCallback/foo.xsl
deleted file mode 100644
index 2605e6f..0000000
--- a/samples/XalanTransformerCallback/foo.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/src/DOMSupport/DOMServices.cpp b/src/DOMSupport/DOMServices.cpp
deleted file mode 100644
index ab7ad2d..0000000
--- a/src/DOMSupport/DOMServices.cpp
+++ /dev/null
@@ -1,1102 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "DOMServices.hpp"
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanCDATASection.hpp>
-#include <XalanDOM/XalanComment.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanDocumentFragment.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-#include <XalanDOM/XalanNodeList.hpp>
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include "DOMSupportException.hpp"
-
-
-
-// These XalanDOMString instances will hold the actual
-// data.  This way, the DOMSupport references can be const,
-// but we can initialize the data when we want to.
-static XalanDOMString	s_XMLString;
-static XalanDOMString	s_XMLStringWithSeparator;
-static XalanDOMString	s_XMLNamespacePrefix;
-static XalanDOMString	s_XMLNamespaceURI;
-static XalanDOMString	s_XMLNamespace;
-static XalanDOMString	s_XMLNamespaceWithSeparator;
-static XalanDOMString	s_XMLNamespaceSeparatorString;
-static XalanDOMString	s_XMLNamespacePrefixURI;
-
-
-
-const XalanDOMString&	DOMServices::s_XMLString = ::s_XMLString;
-const XalanDOMString&	DOMServices::s_XMLStringWithSeparator = ::s_XMLStringWithSeparator;
-const XalanDOMString&	DOMServices::s_XMLNamespacePrefix = ::s_XMLNamespacePrefix;
-const XalanDOMString&	DOMServices::s_XMLNamespaceURI = ::s_XMLNamespaceURI;
-const XalanDOMString&	DOMServices::s_XMLNamespace = ::s_XMLNamespace;
-const XalanDOMString&	DOMServices::s_XMLNamespaceWithSeparator = ::s_XMLNamespaceWithSeparator;
-const XalanDOMString&	DOMServices::s_XMLNamespaceSeparatorString  = ::s_XMLNamespaceSeparatorString;
-const XalanDOMString&	DOMServices::s_XMLNamespacePrefixURI = ::s_XMLNamespacePrefixURI;
-const XalanDOMString	DOMServices::s_emptyString;
-
-
-
-// These four unsigned ints will hold the actual
-// data.  This way, the DOMSupport references can be const,
-// but we can initialize the data when we want to.
-static XalanDOMString::size_type	s_XMLStringLength = 0;
-static XalanDOMString::size_type	s_XMLStringWithSeparatorLength = 0;
-static XalanDOMString::size_type	s_XMLNamespacePrefixLength = 0;
-static XalanDOMString::size_type	s_XMLNamespaceURILength = 0;
-static XalanDOMString::size_type	s_XMLNamespaceLength = 0;
-static XalanDOMString::size_type	s_XMLNamespaceWithSeparatorLength = 0;
-static XalanDOMString::size_type	s_XMLNamespaceSeparatorStringLength = 0;
-static XalanDOMString::size_type	s_XMLNamespacePrefixURILength = 0;
-
-
-
-const XalanDOMString::size_type&	DOMServices::s_XMLStringLength = ::s_XMLStringLength;
-const XalanDOMString::size_type&	DOMServices::s_XMLStringWithSeparatorLength = ::s_XMLStringWithSeparatorLength;
-const XalanDOMString::size_type&	DOMServices::s_XMLNamespacePrefixLength = ::s_XMLNamespacePrefixLength;
-const XalanDOMString::size_type&	DOMServices::s_XMLNamespaceURILength = ::s_XMLNamespaceURILength;
-const XalanDOMString::size_type&	DOMServices::s_XMLNamespaceLength = ::s_XMLNamespaceLength;
-const XalanDOMString::size_type&	DOMServices::s_XMLNamespaceWithSeparatorLength = ::s_XMLNamespaceWithSeparatorLength;
-const XalanDOMString::size_type&	DOMServices::s_XMLNamespaceSeparatorStringLength = ::s_XMLNamespaceSeparatorStringLength;
-const XalanDOMString::size_type&	DOMServices::s_XMLNamespacePrefixURILength = ::s_XMLNamespacePrefixURILength;
-
-
-DOMServices::WhitespaceSupport::WhitespaceSupport()
-{
-}
-
-
-
-DOMServices::WhitespaceSupport::~WhitespaceSupport()
-{
-}
-
-
-
-DOMServices::WhitespaceSupportDefault::WhitespaceSupportDefault()
-{
-}
-
-
-
-DOMServices::WhitespaceSupportDefault::~WhitespaceSupportDefault()
-{
-}
-
-
-
-bool
-DOMServices::WhitespaceSupportDefault::isIgnorableWhitespace(const XalanText&	node) const
-{
-	const XalanDOMString				theData(node.getData());
-
-	const XalanDOMString::size_type		theLength = length(theData);
-
-	XalanDOMString::size_type	i = 0;
-
-	for (; i < theLength; i++)
-	{
-		const XalanDOMChar	theChar = charAt(theData, i);
-
-		if (!isXMLWhitespace(theChar))
-		{
-			break;
-		}
-	}
-
-	return i == theLength ? true : false;
-}
-
-
-
-void
-DOMServices::initialize()
-{
-	::s_XMLString = XALAN_STATIC_UCODE_STRING("xml");
-	::s_XMLStringWithSeparator = XALAN_STATIC_UCODE_STRING("xml:");
-	::s_XMLNamespacePrefix = XALAN_STATIC_UCODE_STRING("xmlns:xml");
-	::s_XMLNamespaceURI = XALAN_STATIC_UCODE_STRING("http://www.w3.org/XML/1998/namespace");
-	::s_XMLNamespace = XALAN_STATIC_UCODE_STRING("xmlns");
-	::s_XMLNamespaceWithSeparator = XALAN_STATIC_UCODE_STRING("xmlns:");
-	::s_XMLNamespaceSeparatorString = XALAN_STATIC_UCODE_STRING(":");
-	::s_XMLNamespacePrefixURI = XALAN_STATIC_UCODE_STRING("http://www.w3.org/2000/xmlns/");
-
-	::s_XMLStringLength = length(DOMServices::s_XMLString);
-	::s_XMLStringWithSeparatorLength = length(DOMServices::s_XMLStringWithSeparator);
-	::s_XMLNamespacePrefixLength = length(DOMServices::s_XMLNamespacePrefix);
-	::s_XMLNamespaceURILength = length(DOMServices::s_XMLNamespaceURI);
-	::s_XMLNamespaceLength = length(DOMServices::s_XMLNamespace);
-	::s_XMLNamespaceWithSeparatorLength = length(DOMServices::s_XMLNamespaceWithSeparator);
-	::s_XMLNamespaceSeparatorStringLength = length(DOMServices::s_XMLNamespaceSeparatorString);
-	::s_XMLNamespacePrefixURILength = length(DOMServices::s_XMLNamespacePrefixURI);
-}
-
-
-
-void
-DOMServices::terminate()
-{
-	releaseMemory(::s_XMLString);
-	releaseMemory(::s_XMLStringWithSeparator);
-	releaseMemory(::s_XMLNamespacePrefix);
-	releaseMemory(::s_XMLNamespaceURI);
-	releaseMemory(::s_XMLNamespace);
-	releaseMemory(::s_XMLNamespaceWithSeparator);
-	releaseMemory(::s_XMLNamespaceSeparatorString);
-	releaseMemory(::s_XMLNamespacePrefixURI);
-
-	::s_XMLStringLength = 0;
-	::s_XMLStringWithSeparatorLength = 0;
-	::s_XMLNamespacePrefixLength = 0;
-	::s_XMLNamespaceURILength = 0;
-	::s_XMLNamespaceLength = 0;
-	::s_XMLNamespaceWithSeparatorLength = 0;
-	::s_XMLNamespaceSeparatorStringLength = 0;
-	::s_XMLNamespacePrefixURILength = 0;
-}
-
-
-
-XalanDOMString
-DOMServices::getNodeData(const XalanNode&	node)
-{
-	XalanDOMString	data;
-
-	getNodeData(node, data);
-
-	return data;
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanNode&	node,
-			XalanDOMString&		data)
-{
-	switch(node.getNodeType())
-	{
-	case XalanNode::DOCUMENT_FRAGMENT_NODE:
-		{
-			const XalanDocumentFragment&		theDocumentFragment =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanDocumentFragment&)node;
-#else
-				static_cast<const XalanDocumentFragment&>(node);
-#endif
-			getNodeData(theDocumentFragment, data);
-		}
-		break;
-
-	case XalanNode::DOCUMENT_NODE:
-		{
-			const XalanDocument&	theDocument =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanDocument&)node;
-#else
-				static_cast<const XalanDocument&>(node);
-#endif
-			getNodeData(theDocument, data);
-		}
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		{
-			const XalanElement&		theElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement&)node;
-#else
-				static_cast<const XalanElement&>(node);
-#endif
-			getNodeData(theElement, data);
-		}
-		break;
-
-	case XalanNode::TEXT_NODE:
-	case XalanNode::CDATA_SECTION_NODE:
-		{
-			const XalanText&	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText&)node;
-#else
-				static_cast<const XalanText&>(node);
-#endif
-
-				getNodeData(theTextNode, data);
-		}
-		break;
-
-	case XalanNode::ATTRIBUTE_NODE:
-		{
-			const XalanAttr&		theAttr =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanAttr&)node;
-#else
-				static_cast<const XalanAttr&>(node);
-#endif
-			getNodeData(theAttr, data);
-		}
-		break;
-
-	case XalanNode::COMMENT_NODE:
-		{
-			const XalanComment&		theComment =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanComment&)node;
-#else
-				static_cast<const XalanComment&>(node);
-#endif
-			getNodeData(theComment, data);
-		}
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		{
-			const XalanProcessingInstruction&		thePI =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanProcessingInstruction&)node;
-#else
-				static_cast<const XalanProcessingInstruction&>(node);
-#endif
-			getNodeData(thePI, data);
-		}
-		break;
-
-	default:
-		// ignore
-		break;
-	}
-}
-
-
-
-XalanDOMString
-DOMServices::getNodeData(const XalanDocument&	document)
-{
-	XalanDOMString	data;
-
-	getNodeData(document, data);
-
-	return data;
-}
-
-
-
-inline void
-getChildData(
-			const XalanNode*	child,
-			XalanDOMString&		data)
-{
-	const XalanNode::NodeType	theType = child->getNodeType();
-
-	if (theType == XalanNode::ELEMENT_NODE)
-	{
-		const XalanElement*	const	theElementNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement*)child;
-#else
-				static_cast<const XalanElement*>(child);
-#endif
-
-		DOMServices::getNodeData(*theElementNode, data);
-	}
-	else if (theType == XalanNode::TEXT_NODE ||
-			 theType == XalanNode::CDATA_SECTION_NODE)
-	{
-		const XalanText*	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText*)child;
-#else
-				static_cast<const XalanText*>(child);
-#endif
-
-		DOMServices::getNodeData(*theTextNode, data);
-	}
-}
-
-
-
-inline void
-getChildrenData(
-			const XalanNode*	firstChild,
-			XalanDOMString&		data)
-{
-	while(firstChild != 0)
-	{
-		getChildData(firstChild, data);
-
-		firstChild = firstChild->getNextSibling();
-	}
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanDocument&	document,
-			XalanDOMString&			data)
-{
-	assert(document.getDocumentElement() != 0);
-
-	getChildrenData(document.getDocumentElement(), data);
-}
-
-
-
-XalanDOMString
-DOMServices::getNodeData(const XalanDocumentFragment&	documentFragment)
-{
-	XalanDOMString	data;
-
-	getNodeData(documentFragment, data);
-
-	return data;
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanDocumentFragment&	documentFragment,
-			XalanDOMString&					data)
-{
-	const XalanNodeList* const	nl = documentFragment.getChildNodes();
-	assert(nl != 0);
-
-	const unsigned int	n = nl->getLength();
-
-	for(unsigned int i = 0; i < n; ++i)
-	{
-		const XalanNode* const		child = nl->item(i);
-		assert(child != 0);
-
-		getChildData(child, data);
-	}
-}
-
-
-
-XalanDOMString
-DOMServices::getNodeData(const XalanElement&	element)
-{
-	XalanDOMString	data;
-
-	getNodeData(element, data);
-
-	return data;
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanElement&		element,
-			XalanDOMString&			data)
-{
-	getChildrenData(element.getFirstChild(), data);
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanNode&	node,
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function)
-{
-	switch(node.getNodeType())
-	{
-	case XalanNode::DOCUMENT_FRAGMENT_NODE:
-		{
-			const XalanDocumentFragment&		theDocumentFragment =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanDocumentFragment&)node;
-#else
-				static_cast<const XalanDocumentFragment&>(node);
-#endif
-			getNodeData(theDocumentFragment, formatterListener, function);
-		}
-		break;
-
-	case XalanNode::DOCUMENT_NODE:
-		{
-			const XalanDocument&	theDocument =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanDocument&)node;
-#else
-				static_cast<const XalanDocument&>(node);
-#endif
-			getNodeData(theDocument, formatterListener, function);
-		}
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		{
-			const XalanElement&		theElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement&)node;
-#else
-				static_cast<const XalanElement&>(node);
-#endif
-			getNodeData(theElement, formatterListener, function);
-		}
-		break;
-
-	case XalanNode::TEXT_NODE:
-	case XalanNode::CDATA_SECTION_NODE:
-		{
-			const XalanText&	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText&)node;
-#else
-				static_cast<const XalanText&>(node);
-#endif
-
-				getNodeData(theTextNode, formatterListener, function);
-		}
-		break;
-
-	case XalanNode::ATTRIBUTE_NODE:
-		{
-			const XalanAttr&		theAttr =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanAttr&)node;
-#else
-				static_cast<const XalanAttr&>(node);
-#endif
-			getNodeData(theAttr, formatterListener, function);
-		}
-		break;
-
-	case XalanNode::COMMENT_NODE:
-		{
-			const XalanComment&		theComment =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanComment&)node;
-#else
-				static_cast<const XalanComment&>(node);
-#endif
-			getNodeData(theComment, formatterListener, function);
-		}
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		{
-			const XalanProcessingInstruction&		thePI =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanProcessingInstruction&)node;
-#else
-				static_cast<const XalanProcessingInstruction&>(node);
-#endif
-			getNodeData(thePI, formatterListener, function);
-		}
-		break;
-
-	default:
-		// ignore
-		break;
-	}
-}
-
-
-
-inline void
-getChildData(
-			const XalanNode*				child,
-			FormatterListener&				formatterListener,
-			DOMServices::MemberFunctionPtr	function)
-{
-	const XalanNode::NodeType	theType = child->getNodeType();
-
-	if (theType == XalanNode::ELEMENT_NODE)
-	{
-		const XalanElement*	const	theElementNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement*)child;
-#else
-				static_cast<const XalanElement*>(child);
-#endif
-
-		DOMServices::getNodeData(*theElementNode, formatterListener, function);
-	}
-	else if (theType == XalanNode::TEXT_NODE ||
-			 theType == XalanNode::CDATA_SECTION_NODE)
-	{
-		const XalanText*	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText*)child;
-#else
-				static_cast<const XalanText*>(child);
-#endif
-
-		DOMServices::getNodeData(*theTextNode, formatterListener, function);
-	}
-}
-
-
-
-inline void
-getChildrenData(
-			const XalanNode*				firstChild,
-			FormatterListener&				formatterListener,
-			DOMServices::MemberFunctionPtr	function)
-{
-	while(firstChild != 0)
-	{
-		getChildData(firstChild, formatterListener, function);
-
-		firstChild = firstChild->getNextSibling();
-	}
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanDocument&	document,
-			FormatterListener&		formatterListener,
-			MemberFunctionPtr		function)
-{
-	getChildrenData(document.getDocumentElement(), formatterListener, function);
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanDocumentFragment&	documentFragment,
-			FormatterListener&				formatterListener,
-			MemberFunctionPtr				function)
-{
-	const XalanNodeList* const	nl = documentFragment.getChildNodes();
-	assert(nl != 0);
-
-	const unsigned int	n = nl->getLength();
-
-	for(unsigned int i = 0; i < n; ++i)
-	{
-		const XalanNode* const		child = nl->item(i);
-		assert(child != 0);
-
-		getChildData(child, formatterListener, function);
-	}
-}
-
-
-
-void
-DOMServices::getNodeData(
-			const XalanElement&		element,
-			FormatterListener&		formatterListener,
-			MemberFunctionPtr		function)
-{
-	getChildrenData(element.getFirstChild(), formatterListener, function);
-}
-
-
-
-const XalanDOMString&
-DOMServices::getNameOfNode(const XalanNode&		n)
-{
-	const XalanNode::NodeType	theNodeType =
-				n.getNodeType();
-
-	if (theNodeType == XalanNode::ATTRIBUTE_NODE)
-	{
-		return getNameOfNode(
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanAttr&)n);
-#else
-				static_cast<const XalanAttr&>(n));
-#endif
-	}
-	else if (theNodeType == XalanNode::ELEMENT_NODE)
-	{
-		return getNameOfNode(
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement&)n);
-#else
-				static_cast<const XalanElement&>(n));
-#endif
-	}
-	else if (theNodeType == XalanNode::PROCESSING_INSTRUCTION_NODE)
-	{
-		return n.getNodeName();
-	}
-	else
-	{
-		return s_emptyString;
-	}
-}
-
-
-
-const XalanDOMString&
-DOMServices::getNamespaceOfNode(const XalanNode&	n)
-{
-	if (n.getNodeType() != XalanNode::ATTRIBUTE_NODE)
-	{
-		return n.getNamespaceURI();
-	}
-	else
-	{
-		const XalanDOMString&	theNodeName = n.getNodeName();
-
-		// Special case for namespace nodes...
-		if (startsWith(theNodeName, DOMServices::s_XMLNamespaceWithSeparator) == true ||
-			equals(theNodeName, DOMServices::s_XMLNamespace) == true)
-		{
-			return s_emptyString;
-		}
-		else
-		{
-			return n.getNamespaceURI();
-		}
-	}
-}
-
-
-
-// Note functional overlap with NamespaceResolver's 
-// getNamespaceOfNode() method.  
-//
-// ***** Also: although this may not yet impact Xalan,
-// as of DOM Level 2 it is possible for a hand-constructed DOM to 
-// have namespaced nodes with no declaration in scope. In DOM2 it's 
-// considered the responsibility of application code such as DOM 
-// serializers to recognize these cases and synthesize appropriate 
-// declarations when necessary. DOM3 is expected to add 
-// some form of namespaceNormalize() operation to assist this task.
-//
-// DOM3 may also add a resolveNamespacePrefix() operation 
-// which is aware of these issues and can generate reasonable 
-// results even for a non-NS-normalized tree. The expected logic
-// is that a Namespaced node with a prefix will constitute an
-// implicit declaration of that prefix. 
-//
-// If we cut over to DOM2 and want to accept DOMs from sources other
-// than the parser, we need to decide between demanding a 
-// namespace-normalized DOM as input, doing a normalize pass
-// (full treewalk, expensive), or recognizing implicit declarations.
-const XalanDOMString*
-DOMServices::getNamespaceForPrefix(
-			const XalanDOMString&	prefix,
-			const XalanElement&		namespaceContext)
-{
-	const XalanDOMString*	theNamespace = 0;
-
-	// Reserved xml: is hardcoded
-	if(equals(prefix, s_XMLString) == true)
-	{
-		theNamespace = &s_XMLNamespaceURI;
-	}
-	else
-	{
-		XalanNode::NodeType		type;
-		const XalanNode*		parent = &namespaceContext;
-
-		// Consider elements until NS is resolved, or we run out of
-		// ancestors, or we hit something other than an Element or 
-		// EntityReference node (ie, Document or DocumentFragment)
-		while (parent != 0 && theNamespace == 0
-			&& ((type = parent->getNodeType()) == XalanNode::ELEMENT_NODE
-				|| type == XalanNode::ENTITY_REFERENCE_NODE)) 
-		{
-			if (type == XalanNode::ELEMENT_NODE) 
-			{
-				// Scan the attributes for xmlns:* or xmlns:
-				// (The latter is the prefix=="" case.)
-				const XalanNamedNodeMap* const	nnm = parent->getAttributes();
-				assert(nnm != 0);
-
-				const unsigned int				theLength = nnm->getLength();
-
-				for (unsigned int i = 0;  i < theLength;  i ++) 
-				{
-					const XalanNode* const	attr = nnm->item(i);
-					assert(attr != 0);
-
-					const XalanDOMString&	aname = attr->getNodeName();
-
-					if (equals(aname, s_XMLNamespace) == true)
-					{
-						theNamespace = &attr->getNodeValue();
-
-						break;
-					}
-					else if (startsWith(aname, s_XMLNamespaceWithSeparator) == true) 
-					{
-						if (equals(
-								prefix,
-								c_wstr(aname) + s_XMLNamespaceWithSeparatorLength) == true)
-						{
-							theNamespace = &attr->getNodeValue();
-
-							break;
-						}
-					}
-				}
-			}
-
-			parent = getParentOfNode(*parent);
-		}
-	}
-
-	return theNamespace;
-}
-
-
-
-bool
-DOMServices::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2)
-{
-	assert(node1.getOwnerDocument() == node2.getOwnerDocument());
-	assert(node1.getNodeType() != XalanNode::DOCUMENT_NODE &&
-			node2.getNodeType() != XalanNode::DOCUMENT_NODE);
-
-	if (node1.isIndexed() == true)
-	{
-		assert(node2.isIndexed() == true);
-
-		return node1.getIndex() > node2.getIndex() ? true : false;
-	}
-	else
-	{
-		bool	isNodeAfter = false;
-
-		const XalanNode*	parent1 = getParentOfNode(node1);
-
-		const XalanNode*	parent2 = getParentOfNode(node2);
-
-		// Optimize for most common case
-		if(parent1 == parent2) // then we know they are siblings
-		{
-			isNodeAfter = isNodeAfterSibling(*parent1,
-											 node1,
-											 node2);
-		}
-		else
-		{
-			// General strategy: Figure out the lengths of the two 
-			// ancestor chains, and walk up them looking for the 
-			// first common ancestor, at which point we can do a 
-			// sibling compare.  Edge condition where one is the 
-			// ancestor of the other.
-
-			// Count parents, so we can see if one of the chains 
-			// needs to be equalized.
-			int nParents1 = 2;
-			int nParents2 = 2; // count node & parent obtained above
-
-			while(parent1 != 0)
-			{
-				nParents1++;
-				parent1 = getParentOfNode(*parent1);
-			}
-
-			while(parent2 != 0)
-			{
-				nParents2++;
-				parent2 = getParentOfNode(*parent2);
-			}
-
-			// adjustable starting points
-			const XalanNode*	startNode1 = &node1;
-			const XalanNode*	startNode2 = &node2;
-
-			// Do I have to adjust the start point in one of 
-			// the ancesor chains?
-			if(nParents1 < nParents2)
-			{
-				// adjust startNode2
-				const int	adjust = nParents2 - nParents1;
-
-				for(int i = 0; i < adjust; i++)
-				{
-					startNode2 = getParentOfNode(*startNode2);
-				}
-			}
-			else if(nParents1 > nParents2)
-			{
-				// adjust startNode1
-				const int	adjust = nParents1 - nParents2;
-
-				for(int i = 0; i < adjust; i++)
-				{
-					startNode1 = getParentOfNode(*startNode1);
-				}
-			}
-
-			// so we can "back up"
-			const XalanNode*	prevChild1 = 0;
-			const XalanNode*	prevChild2 = 0;
-			  
-			// Loop up the ancestor chain looking for common parent.
-			while(0 != startNode1)
-			{
-				if(startNode1 == startNode2) // common parent?
-				{
-					if(0 == prevChild1) // first time in loop?
-					{
-						// Edge condition: one is the ancestor of the other.
-						isNodeAfter = (nParents1 < nParents2) ? true : false;
-
-						break; // from while loop
-					}
-					else
-					{
-						isNodeAfter = isNodeAfterSibling(*startNode1,
-														 *prevChild1,
-														 *prevChild2);
-
-						break; // from while loop
-					}
-				}
-
-				prevChild1 = startNode1;
-				assert(prevChild1 != 0);
-
-				startNode1 = getParentOfNode(*startNode1);
-				assert(startNode1 != 0);
-
-				prevChild2 = startNode2;
-				assert(prevChild2 != 0);
-
-				startNode2 = getParentOfNode(*startNode2);
-				assert(startNode2 != 0);
-			}
-		}
-
-		return isNodeAfter;
-	}
-}
-
-
-
-bool
-DOMServices::isNodeAfterSibling(
-			const XalanNode&	parent,
-			const XalanNode&	child1,
-			const XalanNode&	child2)
-{
-	bool	isNodeAfterSibling = false;
-
-	const XalanNode::NodeType	child1type = child1.getNodeType();
-	const XalanNode::NodeType	child2type = child2.getNodeType();
-
-	if(XalanNode::ATTRIBUTE_NODE != child1type &&
-	   XalanNode::ATTRIBUTE_NODE == child2type)
-	{
-		// always sort attributes before non-attributes.
-		isNodeAfterSibling = true;
-	}
-	else if(XalanNode::ATTRIBUTE_NODE == child1type &&
-			XalanNode::ATTRIBUTE_NODE != child2type)
-	{
-		// always sort attributes before non-attributes.
-		isNodeAfterSibling = false;
-	}
-	else if(XalanNode::ATTRIBUTE_NODE == child1type)
-	{
-		const XalanNamedNodeMap*	children = parent.getAttributes();
-	  
-		const unsigned int	nNodes = children->getLength();
-
-		bool				found1 = false;
-		bool				found2 = false;
-
-		for(unsigned int i = 0; i < nNodes; i++)
-		{
-			const XalanNode*	child = children->item(i);
-
-			if(&child1 == child)
-			{
-				if(found2 == true)
-				{
-					isNodeAfterSibling = true;
-					break;
-				}
-		  
-				found1 = true;
-			}
-			else if(&child2 == child)
-			{
-				if(found1 == true)
-				{
-					isNodeAfterSibling = false;
-					break;
-				}
-		  
-				found2 = true;
-			}
-		}
-	}
-	else
-	{
-		const XalanNode*	child = parent.getFirstChild();
-
-		bool			found1 = false;
-		bool			found2 = false;
-
-		while(child != 0)
-		{
-			if(&child1 == child)
-			{
-				if(found2 == true)
-				{
-					isNodeAfterSibling = true;
-					break;
-				}
-
-				found1 = true;
-			}
-			else if(&child2 == child)
-			{
-				if(found1 == true)
-				{
-					isNodeAfterSibling = false;
-					break;
-				}
-
-				found2 = true;
-			}
-
-			child = child->getNextSibling();
-		}
-
-		assert(found1 != found2);
-	}
-
-	return isNodeAfterSibling;
-}
-
-
-
-XalanNode*
-DOMServices::findOwnerElement(
-			const XalanNode&	attr,
-			XalanNode&			element)
-{
-
-    XalanNode*	parent = 0;
-
-	const XalanNamedNodeMap* const	attrs = element.getAttributes();
-
-	if(attrs != 0)
-	{
-		const unsigned int	nAttrs = attrs->getLength();
-
-		for(unsigned int i = 0; i < nAttrs; i++)
-		{
-			if(attrs->item(i) == &attr)
-			{
-				parent = &element;
-					
-				break;
-			}
-		}
-	}
-
-	if(parent == 0)
-    {
-		bool		fFound = false;
-
-		XalanNode*	child = element.getFirstChild();
-
-		while(child != 0 && fFound == false)
-		{
-			if(child->getNodeType() == XalanNode::ELEMENT_NODE)
-			{
-				parent = findOwnerElement(attr, *child);
-
-				if(parent != 0)
-				{
-					fFound = true;
-				}
-			}
-
-			if (fFound == false)
-			{
-				child = child->getNextSibling();
-			}
-		}
-    }
-
-	return parent;
-}
diff --git a/src/DOMSupport/DOMServices.hpp b/src/DOMSupport/DOMServices.hpp
deleted file mode 100644
index 416a828..0000000
--- a/src/DOMSupport/DOMServices.hpp
+++ /dev/null
@@ -1,696 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSERVICES_HEADER_GUARD_1357924680)
-#define DOMSERVICES_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanComment.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-class XalanDocument;
-class XalanDocumentFragment;
-
-
-
-class XALAN_DOMSUPPORT_EXPORT DOMServices
-{
-public:
-
-	static const XalanDOMString&	s_XMLString;
-	static const XalanDOMString&	s_XMLStringWithSeparator;
-	static const XalanDOMString&	s_XMLNamespacePrefix;
-	static const XalanDOMString&	s_XMLNamespaceURI;
-	static const XalanDOMString&	s_XMLNamespace;
-	static const XalanDOMString&	s_XMLNamespaceWithSeparator;
-	static const XalanDOMString&	s_XMLNamespaceSeparatorString;
-	static const XalanDOMString&	s_XMLNamespacePrefixURI;
-
-	static const XalanDOMString::size_type&		s_XMLStringLength;
-	static const XalanDOMString::size_type&		s_XMLStringWithSeparatorLength;
-	static const XalanDOMString::size_type&		s_XMLNamespacePrefixLength;
-	static const XalanDOMString::size_type&		s_XMLNamespaceURILength;
-	static const XalanDOMString::size_type&		s_XMLNamespaceLength;
-	static const XalanDOMString::size_type&		s_XMLNamespaceWithSeparatorLength;
-	static const XalanDOMString::size_type&		s_XMLNamespaceSeparatorStringLength;
-	static const XalanDOMString::size_type&		s_XMLNamespacePrefixURILength;
-
-
-	// A dummy string to return when we need an emtpy string...
-	static const XalanDOMString		s_emptyString;
-
-
-	class XALAN_DOMSUPPORT_EXPORT WhitespaceSupport
-	{
-	public:
-
-		WhitespaceSupport();
-
-		virtual
-		~WhitespaceSupport();
-
-		/**
-		 * Tell if the node is ignorable whitespace. This should be in the DOM.
-		 * Return false if the parser doesn't handle this.
-		 * 
-		 * @param node	text node queried
-		 * @return true if white space can be ignored
-		 */
-		virtual bool
-		isIgnorableWhitespace(const XalanText&	node) const = 0;
-	};
-
-	// A default implementation using the values from the XML spec.
-	class XALAN_DOMSUPPORT_EXPORT WhitespaceSupportDefault : public WhitespaceSupport
-	{
-	public:
-
-		WhitespaceSupportDefault();
-
-		virtual
-		~WhitespaceSupportDefault();
-
-		/**
-		 * Tell if the node is ignorable whitespace. This should be in the DOM.
-		 * Return false if the parser doesn't handle this.
-		 * 
-		 * @param node	text node queried
-		 * @return true if white space can be ignored
-		 */
-		virtual bool
-		isIgnorableWhitespace(const XalanText&	node) const;
-	};
-
-	/**
-	 * Initialize static data.  Must be called before any
-	 * other functions are called.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Destroy static data.  After thus function is called,
-	 * no other functions can be called.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param node DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanNode&	node);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param node DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanNode&	node,
-			XalanDOMString&		data);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param attribute DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanAttr&	attribute)
-	{
-		return attribute.getNodeValue();
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param attribute DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanAttr&	attribute,
-			XalanDOMString&		data)
-	{
-		append(data, attribute.getNodeValue());
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param comment DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanComment&		comment)
-	{
-		return comment.getData();
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param comment DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanComment&		comment,
-			XalanDOMString&			data)
-	{
-		append(data, comment.getData());
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param document DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanDocument&	document);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param document DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanDocument&	document,
-			XalanDOMString&			data);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param documentFragment DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanDocumentFragment&	documentFragment);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param documentFragment DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanDocumentFragment&	documentFragment,
-			XalanDOMString&					data);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param element DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanElement&		element);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param element DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanElement&		element,
-			XalanDOMString&			data);
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param pi DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanProcessingInstruction&	pi)
-	{
-		return pi.getData();
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param pi DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanProcessingInstruction&	pi,
-			XalanDOMString&						data)
-	{
-		append(data, pi.getData());
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param node DOM node whose data is to be returned
-	 * @return a string representation of the node's data
-	 */
-	static XalanDOMString
-	getNodeData(const XalanText&	text)
-	{
-		return text.getData();
-	}
-
-	/**
-	 * Retrieves data for node
-	 * 
-	 * @param node DOM node whose data is to be returned
-	 * @param data a string to which the node's data will be appended
-	 */
-	static void
-	getNodeData(
-			const XalanText&	text,
-			XalanDOMString&		data)
-	{
-		append(data, text.getData());
-	}
-
-	typedef void (FormatterListener::*MemberFunctionPtr)(const XMLCh* const, const unsigned int);
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param node DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param function A pointer to the member function of FormatterListener to call
-	 */
-	static void
-	getNodeData(
-			const XalanNode&	node,
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function);
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param attribute DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanAttr&	attribute,
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function)
-	{
-		sendData(formatterListener, function, attribute.getNodeValue());
-	}
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param comment DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanComment&		comment,
-			FormatterListener&		formatterListener,
-			MemberFunctionPtr		function)
-	{
-		sendData(formatterListener, function, comment.getData());
-	}
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param document DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanDocument&	document,
-			FormatterListener&		formatterListener,
-			MemberFunctionPtr		function);
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param documentFragment DOM node whose data is to be sent
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanDocumentFragment&	documentFragment,
-			FormatterListener&				formatterListener,
-			MemberFunctionPtr				function);
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param element DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanElement&		element,
-			FormatterListener&		formatterListener,
-			MemberFunctionPtr		function);
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param pi DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanProcessingInstruction&	pi,
-			FormatterListener&					formatterListener,
-			MemberFunctionPtr					function)
-	{
-		sendData(formatterListener, function, pi.getData());
-	}
-
-	/**
-	 * Sends the data for a node to a FormatterListener
-	 * 
-	 * @param node DOM node whose data is to be returned
-	 * @param formatterListener the FormatterListener instance to receive the data
-	 * @param fRaw Whether or not the data should be sent raw.
-	 */
-	static void
-	getNodeData(
-			const XalanText&	text,
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function)
-	{
-		sendData(formatterListener, function, text.getData());
-	}
-
-	/**
-	 * Retrieve the name of the node, taking into
-	 * account the differences between the DOM and
-	 * XSLT data models.
-	 * 
-	 * @param node	DOM node whose name is returned
-	 * @return name of the node
-	 */
-	static const XalanDOMString&
-	getNameOfNode(const XalanNode&	n);
-
-	/**
-	 * Retrieve the name of the node, taking into
-	 * account the differences between the DOM and
-	 * XSLT data models.
-	 * 
-	 * @param attr	DOM attribute node whose name is returned
-	 * @return name of the node
-	 */
-	static const XalanDOMString&
-	getNameOfNode(const XalanAttr&	attr)
-	{
-		const XalanDOMString&	theName = attr.getNodeName();
-
-		if (startsWith(theName, s_XMLNamespaceWithSeparator) == true)
-		{
-			// Special case for namespace nodes...
-			return attr.getLocalName();
-		}
-		else
-		{
-			return theName;
-		}
-	}
-
-	/**
-	 * Retrieve the name of the node, taking into
-	 * account the differences between the DOM and
-	 * XSLT data models.
-	 * 
-	 * @param attr	DOM element node whose name is returned
-	 * @return name of the node
-	 */
-	static const XalanDOMString&
-	getNameOfNode(const XalanElement&	element)
-	{
-		return element.getNodeName();
-	}
-
-	/**
-	 * Retrieve local name of node, taking into
-	 * account the differences between the DOM and
-	 * XSLT data models.
-	 * 
-	 * @param node	DOM node whose name is returned
-	 * @return name of node without namespace
-	 */
-	static const XalanDOMString&
-	getLocalNameOfNode(const XalanNode&		n)
-	{
-		const XalanDOMString&	theLocalName = n.getLocalName();
-
-		if (length(theLocalName) != 0)
-		{
-			return theLocalName;
-		}
-		else
-		{
-			return n.getNodeName();
-		}
-	}
-
-	/**
-	 * Retrieve the namespace of the node, taking into
-	 * account the differences between the DOM and
-	 * XSLT data models.
-	 * 
-	 * @param node	DOM node whose namespace is returned
-	 * @return namespace of the node
-	 */
-	static const XalanDOMString&
-	getNamespaceOfNode(const XalanNode&	n);
-
-	/**
-	 * Determine whether or not an attribute node
-	 * is declaring a namespace.
-	 * 
-	 * @param node	DOM node to check
-	 * @return true if the attribute is declaring a namespace, false if not.
-	 */
-	static bool
-	isNamespaceDeclaration(const XalanAttr&		n)
-	{
-		const XalanDOMString&	theName = n.getNodeName();
-
-		return startsWith(theName, DOMServices::s_XMLNamespaceWithSeparator) == true ||
-				equals(theName, DOMServices::s_XMLNamespace) == true;
-	}
-
-	/**
-	 * Retrieve the parent of a node. This function has to be implemented,
-	 * because the DOM WG decided that attributes don't have parents.
-	 * 
-	 * @param node child node
-	 * @return parent node
-	 */
-	static XalanNode*
-	getParentOfNode(const XalanNode&	node)
-	{
-		if(node.getNodeType() == XalanNode::ATTRIBUTE_NODE)
-		{
-#if defined(XALAN_OLD_STYLE_CASTS)
-			return ((const XalanAttr&)node).getOwnerElement();
-#else
-			return static_cast<const XalanAttr&>(node).getOwnerElement();
-#endif
-		}
-		else
-		{
-			return node.getParentNode();
-		}
-	}
-
-	/**
-	 * Retrieve the URI corresponding to a namespace prefix
-	 * 
-	 * @param prefix           prefix for a namespace
-	 * @param namespaceContext DOM element representing the context for namespace
-	 * @return URI corresponding to namespace
-	 */
-	static const XalanDOMString*
-	getNamespaceForPrefix(
-			const XalanDOMString&	prefix,
-			const XalanElement&		namespaceContext);
-
-	/**
-	 * Determine if a node is after another node, in document order.
-	 *
-	 * @param node1 The first node
-	 * @param node2 The second node
-	 * @return true if node1 one is after node2, or false if it is not.
-	 */
-	static bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2);
-
-	/**
-	 * Determine if a node is after another node in the sibling list.
-	 *
-	 * @param parent The parent of the nodes.
-	 * @param node1 The first node
-	 * @param node2 The second node
-	 * @return true if node1 one is after node2, or false if it is not.
-	 */
-	static bool
-	isNodeAfterSibling(
-			const XalanNode&	parent,
-			const XalanNode&	child1,
-			const XalanNode&	child2);
-
-private:
-
-	/**
-	 * If necessary, do a brute-force search for an owner element.  This is
-	 * necessary when a given DOM implementation returns 0 for
-	 * XalanAttr::getOwnerElement()
-	 *
-	 * @deprecated We now require DOM Level 2 support, so XalanAttr::getOwnerElement() always works.
-	 *
-	 * @param attr The XalanAttr instance for which to find the owner element
-	 * @return A pointer to the element node that owns the attribute
-	 */
-	static XalanNode*
-	findOwnerElement(const XalanAttr&	attr)
-	{
-		XalanNode* const	theOwnerElement = attr.getOwnerElement();
-
-		if (theOwnerElement != 0)
-		{
-			return theOwnerElement;
-		}
-		else
-		{
-			return findOwnerElement(attr, *attr.getOwnerDocument()->getDocumentElement());
-		}
-	}
-
-	/**
-	 * If necessary, do a brute-force search for an owner element.  This is
-	 * necessary when a given DOM implementation returns 0 for
-	 * XalanAttr::getOwnerElement()
-	 *
-	 * @deprecated We now require DOM Level 2 support, so XalanAttr::getOwnerElement() always works.
-	 *
-	 * @param attr The XalanAttr instance for which to find the owner element
-	 * @param element The document element
-	 * @return A pointer to the element node that owns the attribute
-	 */
-	static XalanNode*
-	findOwnerElement(
-			const XalanNode&	attr,
-			XalanNode&			element);
-
-	/**
-	 * Utility function to send data to a FormatterListener
-	 *
-	 * @param formatterListener The FormatterListener instance.
-	 * @param fRaw Whether or not the data should be sent raw.
-	 * @param data The data to send.
-	 */
-	static void
-	sendData(
-			FormatterListener&		formatterListener,
-			MemberFunctionPtr		function,
-			const XalanDOMString&	data)
-	{
-		assert(length(data) == FormatterListener::size_type(length(data)));
-
-		(formatterListener.*function)(c_wstr(data), FormatterListener::size_type(length(data)));
-	}
-};
-
-
-
-#endif	// DOMSERVICES_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/DOMSupport.cpp b/src/DOMSupport/DOMSupport.cpp
deleted file mode 100644
index d2b2e80..0000000
--- a/src/DOMSupport/DOMSupport.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "DOMSupport.hpp"
-
-
-
-DOMSupport::DOMSupport() :
-	Resettable()
-{
-}
-
-
-
-DOMSupport::~DOMSupport()
-{
-}
diff --git a/src/DOMSupport/DOMSupport.hpp b/src/DOMSupport/DOMSupport.hpp
deleted file mode 100644
index 19a250e..0000000
--- a/src/DOMSupport/DOMSupport.hpp
+++ /dev/null
@@ -1,127 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSUPPORT_HEADER_GUARD_1357924680)
-#define DOMSUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/Resettable.hpp>
-
-
-
-class XalanAttr;
-class XalanDocument;
-class XalanElement;
-class XalanNode;
-class XalanText;
-
-
-
-class XALAN_DOMSUPPORT_EXPORT DOMSupport : public Resettable
-{
-public:
-
-	DOMSupport();
-
-	virtual
-	~DOMSupport();
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset() = 0;
-
-	// These interfaces are new to DOMSupport...
-
-	/**
-	 * Retrieves the URI of the named unparsed entity
-	 * from the supplied document.
-	 * 
-	 * @param theName The name of the entity
-	 * @param theDocument The document that contains the entity
-	 * @return The URI of the entity
-	 */
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const = 0;
-
-	/**
-	 * Determine if a node is after another node, in document order.
-	 *
-	 * @param node1 The first node
-	 * @param node2 The second node
-	 * @return true if node1 one is after node2, or false if it is not.
-	 */
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const = 0;
-};
-
-
-
-#endif	// DOMSUPPORT_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/DOMSupportDefault.cpp b/src/DOMSupport/DOMSupportDefault.cpp
deleted file mode 100644
index 5b1a4d6..0000000
--- a/src/DOMSupport/DOMSupportDefault.cpp
+++ /dev/null
@@ -1,185 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "DOMSupportDefault.hpp"
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanDocumentType.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanEntity.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include "DOMServices.hpp"
-#include "DOMSupportException.hpp"
-
-
-
-DOMSupportDefault::DOMSupportDefault() :
-	DOMSupport(),
-	m_pool()
-{
-}
-
-
-
-DOMSupportDefault::~DOMSupportDefault()
-{
-}
-
-
-
-void
-DOMSupportDefault::reset()
-{
-}
-
-
-
-const XalanDOMString*
-DOMSupportDefault::getNamespaceForPrefix(
-			const XalanDOMString&	prefix, 
-			const XalanElement&		namespaceContext) const
-{
-	return DOMServices::getNamespaceForPrefix(prefix, namespaceContext);
-}
-
-
-
-const XalanDOMString&
-DOMSupportDefault::getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const
-{
-	XalanDOMString					theURI;
-
-	const XalanDocumentType* const	theDoctype =
-		theDocument.getDoctype();
-
-	if(theDoctype != 0)
-	{
-		const XalanNamedNodeMap* const	theEntities =
-			theDoctype->getEntities();
-
-		if (theEntities != 0)
-		{
-			const XalanNode* const	theNode =
-				theEntities->getNamedItem(theName);
-
-			if (theNode != 0 && theNode->getNodeType() == XalanNode::ENTITY_NODE)
-			{
-				const XalanEntity*	theEntity =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(const XalanEntity*)theNode;
-#else
-					static_cast<const XalanEntity*>(theNode);
-#endif
-
-				const XalanDOMString		theNotationName(theEntity->getNotationName());
-
-				if(isEmpty(theNotationName) == false) // then it's unparsed
-				{
-					// The draft says: "The XSLT processor may use the public
-					// identifier to generate a URI for the entity instead of the URI
-					// specified in the system identifier. If the XSLT processor does
-					// not use the public identifier to generate the URI, it must use
-					// the system identifier; if the system identifier is a relative
-					// URI, it must be resolved into an absolute URI using the URI of
-					// the resource containing the entity declaration as the base
-					// URI [RFC2396]."
-					// So I'm falling a bit short here.
-					theURI = theEntity->getSystemId();
-
-					if(isEmpty(theURI) == true)
-					{
-						theURI = theEntity->getPublicId();
-					}
-					else
-					{
-						// This should be resolved to an absolute URL, but that's hard
-						// to do from here.
-					}
-				}
-			}
-		}
-	}
-
-#if defined(XALAN_NO_MUTABLE)
-	return ((DOMSupportDefault*)this)->m_pool.get(theURI);
-#else
-	return m_pool.get(theURI);
-#endif
-}
-
-
-
-bool
-DOMSupportDefault::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-{
-	return DOMServices::isNodeAfter(node1, node2);
-}
diff --git a/src/DOMSupport/DOMSupportDefault.hpp b/src/DOMSupport/DOMSupportDefault.hpp
deleted file mode 100644
index 7255c18..0000000
--- a/src/DOMSupport/DOMSupportDefault.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSUPPORTDEFAULT_HEADER_GUARD_1357924680)
-#define DOMSUPPORTDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/XalanDOMStringPool.hpp>
-
-
-
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-class XALAN_DOMSUPPORT_EXPORT DOMSupportDefault : public DOMSupport
-{
-public:
-
-	DOMSupportDefault();
-
-	virtual
-	~DOMSupportDefault();
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset();
-
-
-	// These interfaces are inherited from DOMSupport...
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(
-			const XalanDOMString&	prefix, 
-			const XalanElement&		namespaceContext) const;
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const;
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const;
-
-private:
-
-	mutable XalanDOMStringPool	m_pool;
-};
-
-
-
-#endif	// DOMSUPPORTDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/DOMSupportDefinitions.hpp b/src/DOMSupport/DOMSupportDefinitions.hpp
deleted file mode 100644
index 5a876ba..0000000
--- a/src/DOMSupport/DOMSupportDefinitions.hpp
+++ /dev/null
@@ -1,82 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSUPPORT_DEFINITIONS_HEADER_GUARD_1357924680)
-#define DOMSUPPORT_DEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_DOMSUPPORT_BUILD_DLL)
-
-#define XALAN_DOMSUPPORT_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_DOMSUPPORT_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_DOMSUPPORT_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_DOMSUPPORT_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// DOMSUPPORT_DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/DOMSupportException.cpp b/src/DOMSupport/DOMSupportException.cpp
deleted file mode 100644
index 34b5670..0000000
--- a/src/DOMSupport/DOMSupportException.cpp
+++ /dev/null
@@ -1,72 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "DOMSupportException.hpp"
-
-
-
-
-DOMSupportException::DOMSupportException(const XalanDOMString&	message) :
-	XSLException(message)
-{
-}
-
-
-
-DOMSupportException::~DOMSupportException()
-{
-}
diff --git a/src/DOMSupport/DOMSupportException.hpp b/src/DOMSupport/DOMSupportException.hpp
deleted file mode 100644
index 348188d..0000000
--- a/src/DOMSupport/DOMSupportException.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSUPPORTEXCEPTION_HEADER_GUARD_1357924680)
-#define DOMSUPPORTEXCEPTION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XALAN_DOMSUPPORT_EXPORT DOMSupportException : public XSLException
-{
-public:
-
-	/**
-	 * Constructor for an exception arising from DOMSupport classes
-	 * 
-	 * @param message error message
-	 */
-	explicit DOMSupportException(const XalanDOMString&	message = XalanDOMString());
-
-	virtual
-	~DOMSupportException();
-
-private:
-};
-
-
-
-#endif	// DOMSUPPORTEXCEPTION_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/DOMSupportInit.cpp b/src/DOMSupport/DOMSupportInit.cpp
deleted file mode 100644
index 2ecb076..0000000
--- a/src/DOMSupport/DOMSupportInit.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "DOMSupportInit.hpp"
-
-
-
-#include "DOMServices.hpp"
-
-
-
-unsigned long	DOMSupportInit::s_initCounter = 0;
-
-
-
-DOMSupportInit::DOMSupportInit() :
-	m_platformSupportInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-DOMSupportInit::~DOMSupportInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-DOMSupportInit::initialize()
-{
-	DOMServices::initialize();
-}
-
-
-
-void
-DOMSupportInit::terminate()
-{
-	DOMServices::terminate();
-}
diff --git a/src/DOMSupport/DOMSupportInit.hpp b/src/DOMSupport/DOMSupportInit.hpp
deleted file mode 100644
index 4326690..0000000
--- a/src/DOMSupport/DOMSupportInit.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(DOMSUPPORTINIT_INCLUDE_GUARD_1357924680)
-#define DOMSUPPORTINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PlatformSupportInit.hpp>
-
-
-
-class XALAN_DOMSUPPORT_EXPORT DOMSupportInit
-{
-public:
-
-	explicit
-	DOMSupportInit();
-
-	~DOMSupportInit();
-
-private:
-
-	// Not implemented...
-	DOMSupportInit(const DOMSupportInit&);
-
-	DOMSupportInit&
-	operator=(const DOMSupportInit&);
-
-	
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	const PlatformSupportInit	m_platformSupportInit;
-
-	static unsigned long		s_initCounter;
-};
-
-
-
-#endif	// !defined(DOMSUPPORTINIT_INCLUDE_GUARD_1357924680)
diff --git a/src/DOMSupport/NSInfo.hpp b/src/DOMSupport/NSInfo.hpp
deleted file mode 100644
index 896b4c6..0000000
--- a/src/DOMSupport/NSInfo.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NSINFO_HEADER_GUARD_1357924680)
-#define NSINFO_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-// Note that this call has no export definition, since everything is inline.
-class NSInfo
-{
-public:
-
-	enum  eHasXMLNSAttrs { ANCESTORXMLNSUNPROCESSED,
-						   ANCESTORHASXMLNS,
-						   ANCESTORNOXMLNS };
-
-
-	/**
-	 * Constructor for NSInfo class, for storing namespace data
-	 * 
-	 * @param hasProcessedNS $$$
-	 * @param hasXMLNSAttrs  $$$
-	 */
-	explicit NSInfo(
-			bool hasProcessedNS = false,
-			bool hasXMLNSAttrs = false) :
-		m_hasProcessedNS(hasProcessedNS),
-		m_hasXMLNSAttrs(hasXMLNSAttrs),
-		m_ancestorHasXMLNSAttrs(ANCESTORXMLNSUNPROCESSED),
-		m_namespace()
-	{
-	};
-
-  // Unused at the moment
-	/**
-	 * Constructor for NSInfo class, for storing namespace data
-	 * 
-	 * @param hasProcessedNS $$$
-	 * @param hasXMLNSAttrs  $$$
-	 * @param eHasXMLNSAttrs $$$
-	 */
-	NSInfo(
-			bool				hasProcessedNS,
-			bool				hasXMLNSAttrs,
-			eHasXMLNSAttrs		ancestorHasXMLNSAttrs) :
-		m_hasProcessedNS(hasProcessedNS),
-		m_hasXMLNSAttrs(hasXMLNSAttrs),
-		m_ancestorHasXMLNSAttrs(ancestorHasXMLNSAttrs),
-		m_namespace()
-	{
-	};
-
-	/**
-	 * Constructor for NSInfo class, for storing namespace data
-	 * 
-	 * @param theNamespace  namespace
-	 * @param hasXMLNSAttrs $$$
-	 */
-	NSInfo(
-			const XalanDOMString&	theNamespace,
-			bool					hasXMLNSAttrs) :
-		m_hasProcessedNS(true),
-		m_hasXMLNSAttrs(hasXMLNSAttrs),		
-		m_ancestorHasXMLNSAttrs(ANCESTORXMLNSUNPROCESSED),
-		m_namespace(theNamespace)
-	{
-	};
-
-	~NSInfo()
-	{
-	}
-
-	bool
-	operator==(const NSInfo&	theRHS) const
-	{
-		return m_hasXMLNSAttrs == theRHS.m_hasXMLNSAttrs &&
-			   m_hasProcessedNS == theRHS.m_hasProcessedNS &&
-			   m_ancestorHasXMLNSAttrs == theRHS.m_ancestorHasXMLNSAttrs &&
-			   equals(m_namespace, theRHS.m_namespace);
-	}
-
-
-	bool			m_hasProcessedNS;
-	bool			m_hasXMLNSAttrs;
-
-	eHasXMLNSAttrs	m_ancestorHasXMLNSAttrs;
-
-	XalanDOMString	m_namespace;
-};
-
-
-
-#endif	// NSINFO_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/NamespaceResolver.cpp b/src/DOMSupport/NamespaceResolver.cpp
deleted file mode 100644
index a0066cf..0000000
--- a/src/DOMSupport/NamespaceResolver.cpp
+++ /dev/null
@@ -1,411 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "NamespaceResolver.hpp"
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include "DOMServices.hpp"
-
-
-
-NamespaceResolver::NamespaceResolver() :
-	m_NSInfos()
-{
-}
-
-
-
-NamespaceResolver::~NamespaceResolver()
-{
-}
-
-
-void
-NamespaceResolver::reset()
-{
-	m_NSInfos.clear();
-}
-
-
-// Manefest constants: Prebuilt NSInfo objects for standard combinations
-static NSInfo	theNSInfoUnProcWithXMLNS(false, true);
-static NSInfo	theNSInfoUnProcWithoutXMLNS(false, false);
-static NSInfo	theNSInfoUnProcNoAncestorXMLNS(false, false, NSInfo::ANCESTORNOXMLNS);
-static NSInfo	theNSInfoNullWithXMLNS(true, true);
-static NSInfo	theNSInfoNullWithoutXMLNS(true, false);
-static NSInfo	theNSInfoNullNoAncestorXMLNS(true, false, NSInfo::ANCESTORNOXMLNS);
-
-
-// Set (or reset) the cached NSInfo associated with a Node
-void
-NamespaceResolver::updateNamespace(
-			const XalanNode*	theNode,
-			const NSInfo&		theNamespace) const
-{
-#if defined(XALAN_NO_MUTABLE)
-#if defined(XALAN_OLD_STYLE_CASTS)
-	((NamespaceResolver*)this)->m_NSInfos[theNode] = theNamespace;
-#else
-	const_cast<NamespaceResolver*>(this)->m_NSInfos[theNode] = theNamespace;
-#endif
-#else
-	m_NSInfos[theNode] = theNamespace;
-#endif
-}
-
-
-// Find the name of the namespace bound to the current node. This is done by searching
-// upward through the model for a Namespace Declaration attribute. Once resolved, the
-// namespace is cached in the m_NSInfos table for faster retrieval. 
-//
-// Note that DOM Level 2 binds this value at the time the node is built, which should
-// be considerably more efficient.
-const XalanDOMString&
-NamespaceResolver::getNamespaceOfNode(const XalanNode&	theNode) const
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::make_pair;
-	using std::pair;
-	using std::vector;
-#endif
-
-	const XalanNode*				theLocalNode = &theNode;
-
-	bool							hasProcessedNS;
-    
-	NSInfo							nsInfo;
-
-    const XalanNode::NodeType		ntype = theLocalNode->getNodeType();
-
-	NSInfoMapType::const_iterator	theIterator = m_NSInfos.end();
-
-	// Find the node in the map of cached nodes, if it's not an
-	// attribute node.
-	if(XalanNode::ATTRIBUTE_NODE != ntype)
-	{
-		theIterator = m_NSInfos.find(theLocalNode);
-
-		if (theIterator == m_NSInfos.end())
-		{
-			// Not found.
-			hasProcessedNS = false;
-		}
-		else
-		{
-			// Ahh, we found it.
-			nsInfo = (*theIterator).second;
-			hasProcessedNS = nsInfo.m_hasProcessedNS;
-		}
-    }
-    else
-    {
-		hasProcessedNS = false;
-    }
-
-	const XalanDOMString*	namespaceOfPrefix = &DOMServices::s_emptyString;
-
-	if(hasProcessedNS)
-	{
-		namespaceOfPrefix = &nsInfo.m_namespace;
-	}
-	else
-	{
-		const XalanDOMString&		nodeName = theLocalNode->getNodeName();
-
-		XalanDOMString::size_type	indexOfNSSep = indexOf(nodeName, XalanUnicode::charColon);
-
-		XalanDOMString			prefix;
-
-		// JKESS CHANGE: Attributes which have no prefix have no namespace,
-		// per standard Namespaces In XML behavior. They should not inherit from
-		// their owning Element, nor use the default namespace.
-		if(XalanNode::ATTRIBUTE_NODE == ntype && indexOfNSSep >= length(nodeName))
-		{
-			// Attibute nodes aren't handled by the nsInfos logic above.
-			// And since this is the no-prefix case, it won't buy us anything for
-			// explicit prefix lookups. Hence, I don't see any reason to register
-			// this result via updateNamespace.
-
-			// BIG UGLY RETURN HERE!!!!!!!
-			return *namespaceOfPrefix;
-		}
-
-		prefix = (indexOfNSSep < length(nodeName))
-				? substring(nodeName, 0, indexOfNSSep) 
-				: XalanDOMString();
-
-		bool	ancestorsHaveXMLNS = false;
-		bool	nHasXMLNS = false;
-
-		// The xml: prefix is hardcoded
-		// (In the DOM, so is the xmlns: prefix... but that's DOM behavior,
-		// not specified by the NS spec.)
-		if(equals(prefix, DOMServices::s_XMLString) == true)
-		{
-			namespaceOfPrefix = &DOMServices::s_XMLNamespaceURI;
-		}
-		else
-		{
-			XalanNode::NodeType		parentType = XalanNode::UNKNOWN_NODE;
-			const XalanNode*		parent = theLocalNode;
-
-			typedef pair<const XalanNode*, NSInfo>			CandidateNoAncestorEntryType;
-			typedef vector<CandidateNoAncestorEntryType>	CandidateNoAncestorVectorType;
-
-			CandidateNoAncestorVectorType	candidateNoAncestorXMLNS;
-
-			candidateNoAncestorXMLNS.reserve(eDefaultVectorSize);
-
-			// Hunt upward until resolve namespace or fail to do so.
-			while (0 != parent && length(*namespaceOfPrefix) == 0)
-			{
-				if(theIterator != m_NSInfos.end()
-				   && nsInfo.m_ancestorHasXMLNSAttrs == nsInfo.ANCESTORNOXMLNS)
-				{
-					break;
-				}
-
-				parentType = parent->getNodeType();
-
-				if(theIterator == m_NSInfos.end() ||
-				   nsInfo.m_hasXMLNSAttrs == true)
-				{
-					bool	elementHasXMLNS = false;
-					
-					// Elements
-					if (parentType == XalanNode::ELEMENT_NODE) 
-					{
-						// Scan the Element's Attr's, looking for namespace declarations
-						const XalanNamedNodeMap* const	nnm =
-							parent->getAttributes();
-						assert(nnm != 0);
-
-						const unsigned int	theLength = nnm->getLength();
-
-						for (unsigned int i = 0;  i < theLength;  i ++) 
-						{
-							const XalanNode*		attr = nnm->item(i);
-
-							const XalanDOMString&	aname = attr->getNodeName();
-
-							// Quick test of first character, to reduce cost of startsWith.
-							if(charAt(aname, 0) == charAt(DOMServices::s_XMLNamespaceWithSeparator, 0))
-							{
-								// "xmlns:"* prefix declaration?
-								bool isPrefix = startsWith(aname, DOMServices::s_XMLNamespaceWithSeparator);
-							  
-								// or "xmlns" default declaration?
-								// JKESS: Reversed order of test; more efficient.
-								if (isPrefix == true || equals(aname, DOMServices::s_XMLNamespace) == true) 
-								{
-									// Is this element the original node?
-									if(theLocalNode == parent)
-									{
-										nHasXMLNS = true; // local decls exist
-									}
-
-									elementHasXMLNS = true; // decls exist on current parent
-									ancestorsHaveXMLNS = true; // decls exist somewhere
-
-									// If xmlns:, what prefix is declared?
-									const XalanDOMString	p = (isPrefix == true)
-											? substring(aname, length(DOMServices::s_XMLNamespaceWithSeparator)) 
-											: XalanDOMString();
-
-									// If it's the one we're looking for, resolve to NS
-									if (equals(p, prefix) == true) 
-									{
-										namespaceOfPrefix = &attr->getNodeValue();
-										break;
-									}
-								}
-							}
-						}
-					}
-
-					// Fallthough for unresolved Elements, 
-					// plus anything else except Attr's
-					if((XalanNode::ATTRIBUTE_NODE != parentType) &&
-						(theIterator == m_NSInfos.end()) &&
-						(theLocalNode != parent))
-					{
-						// Record whether this node defines any namespaces
-						// (_not_ whether it defines its own or what that is)
-						nsInfo = elementHasXMLNS 
-							? theNSInfoUnProcWithXMLNS 
-							: theNSInfoUnProcWithoutXMLNS;
-						updateNamespace(parent, nsInfo);
-					}
-				}
-
-				// Attr nodes need to look to their owning Element for their NS
-				// declaration (if any). Note that we're using the XPath data model,
-				// getParentOfNode(); in DOM terms, that's Attr.getOwningElement().
-				if(XalanNode::ATTRIBUTE_NODE == parentType)
-				{
-					parent = DOMServices::getParentOfNode(*parent);
-				}
-
-				// Any other node gets queued for annotation pass,
-				// along with our current nsInfo context
-				else
-				{
-					candidateNoAncestorXMLNS.push_back(make_pair(parent, nsInfo));
-
-					parent = parent->getParentNode();
-				}
-
-				// If we haven't run out of ancestors
-				if(0 != parent)
-				{
-					// Try to retrieve cached NS info for the newly selected parent
-					// for use in next pass through loop.
-					// If not found, continue using previous value
-					theIterator = m_NSInfos.find(parent);
-
-					if (theIterator != m_NSInfos.end())
-					{
-						nsInfo = (*theIterator).second;
-					}
-				}
-			}
-
-			// Anotation pass over the "any other node" queue
-			const CandidateNoAncestorVectorType::size_type	nCandidates =
-				candidateNoAncestorXMLNS.size();
-
-			if(nCandidates > 0)
-			{
-				// If no inherited declarations (and we checked all the way to the root)
-				// then record nodes with no local declarations in the nsInfo cache,
-				// to avoid repeatedly searching this branch of the tree.
-				// ????? This feels overcomplicated, somehow... 
-				if(false == ancestorsHaveXMLNS && 0 == parent)
-				{
-					for(unsigned int i = 0; i < nCandidates; i++)
-					{
-						const NSInfo&	candidateInfo = candidateNoAncestorXMLNS[i].second;
-
-						if(candidateInfo == theNSInfoUnProcWithoutXMLNS ||
-						   candidateInfo == theNSInfoNullWithoutXMLNS)
-						{
-							updateNamespace(parent, candidateInfo);
-						}
-					}
-				}
-
-				candidateNoAncestorXMLNS.clear();
-			}
-		}
-
-		// NOTE that attibute nodes aren't handled by the nsInfos logic,
-		// so it's unclear that the updateNamespace buys us anything directly.
-		// But I'm guessing it may be useful for getNamespaceForPrefix.
-		//
-		// ????? This seems like a lot of code for something which should be a set of
-		// bit-masks...
-		if(XalanNode::ATTRIBUTE_NODE != ntype)
-		{
-			assert(namespaceOfPrefix != 0);
-
-			// If Attribute's prefix wasn't resolved
-			if(0 == length(*namespaceOfPrefix))
-			{
-				// In context where other prefixes are defined
-				if(ancestorsHaveXMLNS == true)
-				{
-					// Local definitions exist
-					if(nHasXMLNS == true)
-					{
-						updateNamespace(theLocalNode, theNSInfoNullWithXMLNS);
-					}
-				
-					// Only inherited definitions exist
-					else
-					{
-						updateNamespace(theLocalNode, theNSInfoNullWithoutXMLNS);
-					}
-				}
-			  
-				// No definitions exist
-				else 
-				{
-					updateNamespace(theLocalNode, theNSInfoNullNoAncestorXMLNS);
-				}
-			}
-			else // Attribute's prefix was resolved, at least that one is declared
-			{
-				updateNamespace(theLocalNode, NSInfo(*namespaceOfPrefix, nHasXMLNS));
-			}
-		}
-	}
-
-	return *namespaceOfPrefix;
-}
diff --git a/src/DOMSupport/NamespaceResolver.hpp b/src/DOMSupport/NamespaceResolver.hpp
deleted file mode 100644
index 4111d36..0000000
--- a/src/DOMSupport/NamespaceResolver.hpp
+++ /dev/null
@@ -1,134 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NAMESPACERESOLVER_HEADER_GUARD_1357924680)
-#define NAMESPACERESOLVER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-// Standard Library header files.
-#if defined(XALAN_HASH_CONTAINERS_AVAILABLE)
-#include <hash_map>
-#else
-#include <map>
-#endif
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <DOMSupport/NSInfo.hpp>
-
-
-
-class XALAN_DOMSUPPORT_EXPORT NamespaceResolver
-{
-public:
-
-	NamespaceResolver();
-
-	virtual
-	~NamespaceResolver();
-
-	// These interfaces are inherited from Resettable...
-	virtual void
-	reset();
-
-	// These interfaces are new to NamespaceResolver...
-
-	/**
-	 * Retrieves the namespace corresponding to a DOM node
-	 * 
-	 * @param theNode DOM node
-	 * @return namespace of 'theNode'
-	 */
-	virtual const XalanDOMString&
-	getNamespaceOfNode(const XalanNode&	theNode) const;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<const XalanNode*, NSInfo, less<const XalanNode*> >	NSInfoMapType;
-#else
-	typedef std::map<const XalanNode*, NSInfo>	NSInfoMapType;
-#endif
-
-protected:
-
-	void
-	updateNamespace(
-			const XalanNode*	theNode,
-			const NSInfo&		theNamespace) const;
-
-	// Default vector allocation size.
-	enum
-	{
-		eDefaultVectorSize = 10
-	};
-
-	// Cached namespace information...
-	mutable NSInfoMapType	m_NSInfos;
-};
-
-
-
-#endif	// NAMESPACERESOLVER_HEADER_GUARD_1357924680
diff --git a/src/DOMSupport/TreeWalker.cpp b/src/DOMSupport/TreeWalker.cpp
deleted file mode 100644
index 932a786..0000000
--- a/src/DOMSupport/TreeWalker.cpp
+++ /dev/null
@@ -1,276 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "TreeWalker.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-TreeWalker::TreeWalker()
-{
-}
-
-
-
-TreeWalker::~TreeWalker()
-{
-}
-
-
-
-void
-TreeWalker::traverse(const XalanNode*	pos)
-{
-	assert(pos != 0);
-
-	const XalanNode*	thePos = pos;
-
-	while(0 != thePos)
-	{
-		startNode(thePos);
-
-		const XalanNode*	nextNode = thePos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			endNode(thePos);
-
-			nextNode = thePos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				thePos = thePos->getParentNode();
-
-				if(0 == thePos)
-				{
-					nextNode = thePos;
-
-					break;
-				}
-			}
-		}
-
-		thePos = nextNode;
-	}
-}
-
-
-
-void
-TreeWalker::traverse(XalanNode*		pos)
-{
-	assert(pos != 0);
-
-	XalanNode*	thePos = pos;
-
-	while(0 != thePos)
-	{
-		startNode(thePos);
-
-		XalanNode*	nextNode = thePos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			endNode(thePos);
-
-			nextNode = thePos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				thePos = thePos->getParentNode();
-
-				if(0 == thePos)
-				{
-					nextNode = thePos;
-
-					break;
-				}
-			}
-		}
-
-		thePos = nextNode;
-	}
-}
-
-
-
-void
-TreeWalker::traverse(
-			const XalanNode*	pos,
-			const XalanNode*	parent)
-{
-	assert(pos != 0);
-	assert(parent != 0);
-
-	const XalanNode*	thePos = pos;
-
-	while(parent != thePos)
-	{	  
-		startNode(thePos);
-	  
-		const XalanNode*	nextNode = thePos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			endNode(thePos);
-
-			nextNode = thePos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				thePos = thePos->getParentNode();
-
-				if(parent == thePos)
-				{
-					nextNode = thePos;
-
-					break;
-				}
-			}
-		}
-
-		thePos = nextNode;
-	}
-}
-
-
-
-void
-TreeWalker::traverse(
-			XalanNode*	pos,
-			XalanNode*	parent)
-{
-	assert(pos != 0);
-	assert(parent != 0);
-
-	XalanNode*	thePos = pos;
-
-	while(parent != thePos)
-	{	  
-		startNode(thePos);
-	  
-		XalanNode*	nextNode = thePos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			endNode(thePos);
-
-			nextNode = thePos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				thePos = thePos->getParentNode();
-
-				if(parent == thePos)
-				{
-					nextNode = thePos;
-
-					break;
-				}
-			}
-		}
-
-		thePos = nextNode;
-	}
-}
-
-
-
-void
-TreeWalker::traverseSubtree(const XalanNode*	pos)
-{
-	if (pos != 0)
-	{
-		startNode(pos);
-
-		const XalanNode* const	theFirstChild = pos->getFirstChild();
-
-		if (theFirstChild != 0)
-		{
-			traverse(theFirstChild, pos);
-		}
-
-		endNode(pos);
-	}
-}
-
-
-
-void
-TreeWalker::traverseSubtree(XalanNode*	pos)
-{
-	if (pos != 0)
-	{
-		startNode(pos);
-
-		XalanNode* const	theFirstChild = pos->getFirstChild();
-
-		if (theFirstChild != 0)
-		{
-			traverse(theFirstChild, pos);
-		}
-
-		endNode(pos);
-	}
-}
diff --git a/src/DOMSupport/TreeWalker.hpp b/src/DOMSupport/TreeWalker.hpp
deleted file mode 100644
index b7f71de..0000000
--- a/src/DOMSupport/TreeWalker.hpp
+++ /dev/null
@@ -1,158 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(TREEWALKER_HEADER_GUARD_1357924680)
-#define TREEWALKER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-class XalanNode;
-
-
-
-class XALAN_DOMSUPPORT_EXPORT TreeWalker
-{
-public:
-
-	/**
-	 * Constructor.
-	 */
-	TreeWalker();
-
-	virtual
-	~TreeWalker();
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 * 
-	 * @param pos starting node $$$
-	 */
-
-	virtual void
-	traverse(const XalanNode*	pos);
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 * 
-	 * @param pos starting node $$$
-	 */
-
-	virtual void
-	traverse(XalanNode*		pos);
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 * 
-	 * @param pos starting node  $$$
-	 * @param parent parent node $$$
-	 */
-	virtual void
-	traverse(
-			const XalanNode*	pos,
-			const XalanNode*	parent);
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 * 
-	 * @param pos starting node  $$$
-	 * @param parent parent node $$$
-	 */
-	virtual void
-	traverse(
-			XalanNode*	pos,
-			XalanNode*	parent);
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 * 
-	 * @param pos starting node
-	 */
-	virtual void
-	traverseSubtree(const XalanNode*	pos);
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 * 
-	 * @param pos starting node
-	 */
-	virtual void
-	traverseSubtree(XalanNode*	pos);
-
-protected:
-
-	virtual void
-	startNode(const XalanNode*	node) = 0;
-
-	virtual void
-	startNode(XalanNode*	node) = 0;
-
-	virtual void
-	endNode(const XalanNode*	node) = 0;
-
-	virtual void
-	endNode(XalanNode*	node) = 0;
-
-private:
-};
-
-
-
-#endif	// TREEWALKER_HEADER_GUARD_1357924680
diff --git a/src/ICUBridge/FunctionICUFormatNumber.cpp b/src/ICUBridge/FunctionICUFormatNumber.cpp
deleted file mode 100644
index dd1af54..0000000
--- a/src/ICUBridge/FunctionICUFormatNumber.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionICUFormatNumber.hpp"
-
-
-
-#include <PlatformSupport/XalanDecimalFormatSymbols.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/XPath.hpp>
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-#include <ICUBridge/ICUBridge.hpp>
-
-
-
-FunctionICUFormatNumber::FunctionICUFormatNumberInstaller::FunctionICUFormatNumberInstaller()
-{
-	XPath::installFunction(
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")),
-			FunctionICUFormatNumber());
-}
-
-
-
-FunctionICUFormatNumber::FunctionICUFormatNumberInstaller::~FunctionICUFormatNumberInstaller()
-{
-	// Reinstall the standard function to overwrite the ICU version...
-	XPath::installFunction(
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")),
-			FunctionFormatNumber());
-}
-
-
-
-FunctionICUFormatNumber::FunctionICUFormatNumber() :
-	FunctionFormatNumber()
-{
-}
-
-
-
-FunctionICUFormatNumber::~FunctionICUFormatNumber()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionICUFormatNumber*
-#endif
-FunctionICUFormatNumber::clone() const
-{
-	return new FunctionICUFormatNumber(*this);
-}
-
-
-
-void
-FunctionICUFormatNumber::doFormat(
-			XPathExecutionContext&				executionContext,
-			XalanNode*							context,
-			double								theNumber,
-			const XalanDOMString&				thePattern,
-			const XalanDecimalFormatSymbols*	theDFS,
-			XalanDOMString&						theResult,
-			const Locator*						locator) const
-{
-	unsigned long	theResultCode =
-		ICUBridge::FormatNumber(
-					thePattern,
-					theNumber,
-					theDFS,
-					theResult);
-
-	if (theResultCode != 0)
-	{
-		executionContext.warn(
-			XALAN_STATIC_UCODE_STRING("Warning!  ICUBridge::FormatNumber failed. (") +
-				UnsignedLongToDOMString(theResultCode) +
-				XALAN_STATIC_UCODE_STRING(")."),
-			context,
-			locator);
-
-		FunctionFormatNumber::doFormat(
-						executionContext,
-						context,
-						theNumber,
-						thePattern,
-						theDFS,
-						theResult,
-						locator);
-	}
-}
diff --git a/src/ICUBridge/FunctionICUFormatNumber.hpp b/src/ICUBridge/FunctionICUFormatNumber.hpp
deleted file mode 100644
index ce6f427..0000000
--- a/src/ICUBridge/FunctionICUFormatNumber.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONICUFORMATNUMBER_HEADER_GUARD_1357924680)
-#define FUNCTIONICUFORMATNUMBER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-#include <XSLT/FunctionFormatNumber.hpp>
-
-
-
-// Class that implements the XSLT function format-number using the ICU.
-//
-class XALAN_ICUBRIDGE_EXPORT FunctionICUFormatNumber : public FunctionFormatNumber
-{
-public:
-
-	class XALAN_ICUBRIDGE_EXPORT FunctionICUFormatNumberInstaller
-	{
-	public:
-
-		FunctionICUFormatNumberInstaller();
-
-		~FunctionICUFormatNumberInstaller();
-	};
-
-	FunctionICUFormatNumber();
-
-	virtual
-	~FunctionICUFormatNumber();
-
-	// These methods are inherited from XPath/FunctionFormatNumber ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionICUFormatNumber*
-#endif
-	clone() const;
-
-protected:
-
-	virtual void
-	doFormat(
-			XPathExecutionContext&				executionContext,
-			XalanNode*							context,
-			double								theNumber,
-			const XalanDOMString&				thePattern,
-			const XalanDecimalFormatSymbols*	theDFS,
-			XalanDOMString&						theResult,
-			const Locator*						locator) const;
-
-private:
-
-	// Not implemented...
-	FunctionICUFormatNumber&
-	operator=(const FunctionICUFormatNumber&);
-
-	bool
-	operator==(const FunctionICUFormatNumber&) const;
-};
-
-
-
-#endif	// FUNCTIONICUFORMATNUMBER_HEADER_GUARD_1357924680
diff --git a/src/ICUBridge/ICUBridge.cpp b/src/ICUBridge/ICUBridge.cpp
deleted file mode 100644
index ab4997f..0000000
--- a/src/ICUBridge/ICUBridge.cpp
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ICUBridge.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanDecimalFormatSymbols.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <unicode/coll.h>
-#include <unicode/dcfmtsym.h>
-#include <unicode/decimfmt.h>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<UChar>					UCharVectorType;
-#else
-	typedef std::vector<UChar>				UCharVectorType;
-#endif
-
-
-
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-inline void
-doCopyData(
-			const XalanDOMChar*		theString,
-			unsigned int			theStringLength,
-			XalanDOMChar*			theBuffer)
-{
-	// Copy the data, truncating each character...
-	for (unsigned int i = 0; i < theStringLength; ++i)
-	{
-		// There should be no truncation, since XalanDOMChars
-		// hold UTF-16 code points, but assert, just in case...
-		assert(theString[i] == UChar(theString[i]));
-
-		theBuffer[i] = theString[i];
-	}
-
-}
-#endif
-
-
-
-// Use a stack-based buffer up to this size.
-const unsigned int	theStackBufferSize = 200u;
-
-
-
-const UnicodeString
-ICUBridge::XalanDOMCharStringToUnicodeString(const XalanDOMChar*	theString)
-{
-	if (theString == 0)
-	{
-		return UnicodeString();
-	}
-	else
-	{
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-
-		const unsigned int	theLength = length(theString);
-
-		if (theStackBufferSize > theLength)
-		{
-			XalanDOMChar	theBuffer[theStackBufferSize];
-
-			doCopyData(theString, theLength, theBuffer);
-
-#if U_SIZEOF_WCHAR_T==2
-			return UnicodeString((wchar_t*)&theBuffer[0], theLength);
-#else
-			return UnicodeString(&theBuffer[0], theLength);
-#endif
-		}
-		else
-		{
-			// Create a buffer to copy out the UnicodeString data...
-			UCharVectorType		theBuffer;
-
-			// Resize the buffer appropriately...
-			theBuffer.resize(theLength);		
-
-#if U_SIZEOF_WCHAR_T==2
-			doCopyData(theString, theLength, (XalanDOMChar*)&theBuffer[0]);
-#else
-			doCopyData(theString, theLength, &theBuffer[0]);
-#endif
-
-			assert(theLength == theBuffer.size());
-
-			return UnicodeString(&theBuffer[0], theLength);
-		}
-#else
-		return UnicodeString(theString, length(theString));
-#endif
-	}
-}
-
-
-
-const UnicodeString
-ICUBridge::XalanDOMStringToUnicodeString(const XalanDOMString&	theString)
-{
-	// Just call up to the XalanDOMChar* version...
-	return XalanDOMCharStringToUnicodeString(c_wstr(theString));
-}
-
-
-
-const XalanDOMString
-ICUBridge::UnicodeStringToXalanDOMString(const UnicodeString&	theString)
-{
-	const int32_t	theLength = theString.length();
-
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-
-	// If XalanDOMChar is larger than the ICU's UChar, we have to more work...
-	// Create a buffer...
-	XalanDOMCharVectorType	theBuffer;
-
-	// Reserve the appropriate amount of space...
-	theBuffer.reserve(theLength);
-
-	// Copy the data...
-	for (int32_t i = 0; i < theLength; ++i)
-	{
-		theBuffer.push_back(theString[i]);
-	}
-
-	return XalanDOMString(&theBuffer[0], theBuffer.size());
-
-#else
-
-	if (theStackBufferSize > theLength)
-	{
-		UChar	theBuffer[theStackBufferSize];
-
-		// Extract the data...
-		theString.extract(0, theLength, theBuffer);
-
-		return XalanDOMString(theBuffer, theLength);
-	}
-	else
-	{
-		// Create a buffer to copy out the UnicodeString data...
-		UCharVectorType		theBuffer;
-
-		// Resize the buffer appropriately...
-		theBuffer.resize(theLength);
-
-		// Extract the data...
-		theString.extract(0, theLength, &theBuffer[0]);
-
-		assert(theLength == int32_t(theBuffer.size()));
-
-		return XalanDOMString(&theBuffer[0], theLength);
-	}
-#endif
-}
-
-
-
-void
-ICUBridge::UnicodeStringToXalanDOMString(
-			const UnicodeString&	theString,
-			XalanDOMString&			theResult)
-{
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-	
-	// If XalanDOMChar is larger than the ICU's UChar, we have to more work.
-	// Don't bother to provide the optimized version, just call to the
-	// previous function.
-
-	theResult = UnicodeStringToXalanDOMString(theString);
-
-#else
-
-	const int32_t	theLength = theString.length();
-
-	if (theStackBufferSize > theLength)
-	{
-		UChar	theBuffer[theStackBufferSize];
-
-		// Extract the data...
-		theString.extract(0, theLength, theBuffer);
-
-		theResult = XalanDOMString(theBuffer, theLength);
-	}
-	else
-	{
-#if defined(XALAN_NO_NAMESPACES)
-		typedef vector<UChar>		UCharVectorType;
-#else
-		typedef std::vector<UChar>	UCharVectorType;
-#endif
-
-		// Create a buffer to copy out the UnicodeString data...
-		UCharVectorType		theBuffer;
-
-		// Resize the buffer appropriately...
-		theBuffer.resize(theLength);
-
-		// Extract the data...
-		theString.extract(0, theLength, &theBuffer[0]);
-
-		theResult = XalanDOMString(&theBuffer[0], theBuffer.size());
-	}
-#endif
-}
-
-
-
-static void
-doFormatNumber(
-			const XalanDOMString&				thePattern,
-			double								theNumber,
-			const XalanDecimalFormatSymbols&	theXalanDFS,
-			UErrorCode&							theStatus,
-			XalanDOMString&						theResult)
-{
-	if (theStatus == U_ZERO_ERROR ||
-		theStatus == U_USING_DEFAULT_ERROR)
-	{
-		// Use a XalanAutoPtr, to keep this safe until we construct the DecimalFormat instance.
-		XalanAutoPtr<DecimalFormatSymbols>	theDFS(new DecimalFormatSymbols(theStatus));
-
-		// We got a XalanDecimalFormatSymbols, so set the
-		// corresponding data in the ICU DecimalFormatSymbols.
-		theDFS->setSymbol(DecimalFormatSymbols::kZeroDigitSymbol, UChar(theXalanDFS.getZeroDigit()));
-		theDFS->setSymbol(DecimalFormatSymbols::kGroupingSeparatorSymbol, UChar(theXalanDFS.getGroupingSeparator()));
-		theDFS->setSymbol(DecimalFormatSymbols::kDecimalSeparatorSymbol, UChar(theXalanDFS.getDecimalSeparator()));
-		theDFS->setSymbol(DecimalFormatSymbols::kPerMillSymbol, UChar(theXalanDFS.getPerMill()));
-		theDFS->setSymbol(DecimalFormatSymbols::kPercentSymbol, UChar(theXalanDFS.getPercent()));
-		theDFS->setSymbol(DecimalFormatSymbols::kDigitSymbol, UChar(theXalanDFS.getDigit()));
-		theDFS->setSymbol(DecimalFormatSymbols::kPatternSeparatorSymbol, UChar(theXalanDFS.getPatternSeparator()));
-
-		theDFS->setSymbol(DecimalFormatSymbols::kInfinitySymbol, ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getInfinity()));
-		theDFS->setSymbol(DecimalFormatSymbols::kNaNSymbol, ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getNaN()));
-		theDFS->setSymbol(DecimalFormatSymbols::kMinusSignSymbol, UChar(theXalanDFS.getMinusSign()));
-		theDFS->setSymbol(DecimalFormatSymbols::kCurrencySymbol, ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getCurrencySymbol()));
-		theDFS->setSymbol(DecimalFormatSymbols::kIntlCurrencySymbol, ICUBridge::XalanDOMStringToUnicodeString(theXalanDFS.getInternationalCurrencySymbol()));
-		theDFS->setSymbol(DecimalFormatSymbols::kMonetarySeparatorSymbol, UChar(theXalanDFS.getMonetaryDecimalSeparator()));
-
-		UnicodeString	theUnicodeResult;
-
-		// Construct a DecimalFormat.  Note that we release the XalanAutoPtr, since the
-		// DecimalFormat will adopt the DecimalFormatSymbols instance.
-		DecimalFormat	theFormatter(ICUBridge::XalanDOMStringToUnicodeString(thePattern), theDFS.release(), theStatus);
-
-		if (theStatus == U_ZERO_ERROR ||
-		    (theStatus >= U_ERROR_INFO_START && theStatus < U_ERROR_INFO_LIMIT))
-		{
-			// Do the format...
-			theFormatter.format(theNumber, theUnicodeResult);
-
-			ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult, theResult);
-
-			theStatus = U_ZERO_ERROR;
-		}
-	}
-}
-
-
-
-unsigned long
-ICUBridge::FormatNumber(
-			const XalanDOMString&				thePattern,
-			double								theNumber,
-			const XalanDecimalFormatSymbols*	theXalanDFS,
-			XalanDOMString&						theResult)
-{
-	UErrorCode	theStatus = U_ZERO_ERROR;
-
-	if (theXalanDFS == 0)
-	{
-		XalanDecimalFormatSymbols	theDefaultSymbols;
-
-		doFormatNumber(
-				thePattern,
-				theNumber,
-				theDefaultSymbols,
-				theStatus,
-				theResult);
-	}
-	else
-	{
-		doFormatNumber(
-				thePattern,
-				theNumber,
-				*theXalanDFS,
-				theStatus,
-				theResult);
-	}
-
-	return theStatus;
-}
-
-
-
-int
-ICUBridge::collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	// Just call to the XalanDOMChar* version...
-	return collationCompare(c_wstr(theLHS), c_wstr(theRHS));
-}
-
-
-
-int
-ICUBridge::collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	UErrorCode				theStatus = U_ZERO_ERROR;
-
-	// Create a collator, and keep it in an XalanAutoPtr...
-	const XalanAutoPtr<Collator>	theCollator(Collator::createInstance(theStatus));
-
-	if (theStatus == U_ZERO_ERROR || theStatus == U_USING_DEFAULT_ERROR)
-	{
-		// OK, do the compare...
-		return theCollator->compare(
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-					ICUBridge::XalanDOMCharStringToUnicodeString(theLHS),
-					ICUBridge::XalanDOMCharStringToUnicodeString(theRHS));
-#else
-					theLHS,
-					length(theLHS),
-					theRHS,
-					length(theRHS));
-#endif
-	}
-	else
-	{
-		// If creating the ICU Collator failed, fall back to the default...
-		return collationCompare(theLHS, theRHS);
-	}
-}
diff --git a/src/ICUBridge/ICUBridge.hpp b/src/ICUBridge/ICUBridge.hpp
deleted file mode 100644
index bcce60e..0000000
--- a/src/ICUBridge/ICUBridge.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(ICUBRIDGE_HEADER_GUARD_1357924680)
-#define ICUBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <unicode/unistr.h>
-
-
-
-class Function;
-class XalanDecimalFormatSymbols;
-
-
-
-class XALAN_ICUBRIDGE_EXPORT ICUBridge
-{
-public:
-
-	static const UnicodeString
-	XalanDOMCharStringToUnicodeString(const XalanDOMChar*	theString);
-
-	static const UnicodeString
-	XalanDOMStringToUnicodeString(const XalanDOMString&		theString);
-
-	static const XalanDOMString
-	UnicodeStringToXalanDOMString(const UnicodeString&	theString);
-
-	static void
-	UnicodeStringToXalanDOMString(
-			const UnicodeString&	theString,
-			XalanDOMString&			theResult);
-
-	static unsigned long
-	FormatNumber(
-			const XalanDOMString&				thePattern,
-			double								theNumber,
-			const XalanDecimalFormatSymbols*	theXalanDFS,
-			XalanDOMString&						theResult);
-
-	static int
-	collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS);
-
-	static int
-	collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS);
-};
-
-
-
-#endif	// ICUBRIDGE_HEADER_GUARD_1357924680
diff --git a/src/ICUBridge/ICUBridgeCleanup.cpp b/src/ICUBridge/ICUBridgeCleanup.cpp
deleted file mode 100644
index 5cb670d..0000000
--- a/src/ICUBridge/ICUBridgeCleanup.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ICUBridgeCleanup.hpp"
-
-
-
-#include <unicode/uversion.h>
-#if (U_ICU_VERSION_MAJOR_NUM >= 2)
-#include <unicode/uclean.h>
-#endif
-
-
-
-void
-ICUBridgeCleanup::cleanup()
-{
-#if (U_ICU_VERSION_MAJOR_NUM >= 2)
-	// release all lasily allocated data
-	u_cleanup();
-#endif
-}
diff --git a/src/ICUBridge/ICUBridgeCleanup.hpp b/src/ICUBridge/ICUBridgeCleanup.hpp
deleted file mode 100644
index 0dcbea7..0000000
--- a/src/ICUBridge/ICUBridgeCleanup.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(ICUBRIDGECLEANUP_HEADER_GUARD_1357924680)
-#define ICUBRIDGECLEANUP_HEADER_GUARD_1357924680
-
-
-
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-class XALAN_ICUBRIDGE_EXPORT ICUBridgeCleanup
-{
-public:
-
-	static void
-	cleanup();
-};
-
-
-
-#endif	// ICUBRIDGECLEANUP_HEADER_GUARD_1357924680
diff --git a/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp b/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp
deleted file mode 100644
index 8f4af04..0000000
--- a/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ICUBridgeCollationCompareFunctor.hpp"
-
-
-
-#include "ICUBridge.hpp"
-#include "ICUBridgeCollationCompareFunctorImpl.hpp"
-
-
-
-ICUBridgeCollationCompareFunctor::ICUBridgeCollationCompareFunctor() :
-	m_impl(new ICUBridgeCollationCompareFunctorImpl)
-{
-}
-
-
-
-ICUBridgeCollationCompareFunctor::~ICUBridgeCollationCompareFunctor()
-{
-	delete m_impl;
-}
-
-
-
-int
-ICUBridgeCollationCompareFunctor::operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const
-{
-	return (*m_impl)(theLHS, theRHS);
-}
-
-
-
-int
-ICUBridgeCollationCompareFunctor::operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) const
-{
-	return (*m_impl)(theLHS, theRHS, theLocale);
-}
diff --git a/src/ICUBridge/ICUBridgeCollationCompareFunctor.hpp b/src/ICUBridge/ICUBridgeCollationCompareFunctor.hpp
deleted file mode 100644
index 6f6a8de..0000000
--- a/src/ICUBridge/ICUBridgeCollationCompareFunctor.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(ICUBRIDGE_COLLATIONCOMPAREFUNCTOR_GUARD_1357924680)
-#define ICUBRIDGE_COLLATIONCOMPAREFUNCTOR_GUARD_1357924680
-
-
-
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-
-
-
-class ICUBridgeCollationCompareFunctorImpl;
-
-
-
-class XALAN_ICUBRIDGE_EXPORT ICUBridgeCollationCompareFunctor  : public StylesheetExecutionContextDefault::CollationCompareFunctor
-{
-public:
-
-	ICUBridgeCollationCompareFunctor();
-
-	virtual
-	~ICUBridgeCollationCompareFunctor();
-
-	virtual int
-	operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const;
-
-	virtual int
-	operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) const;
-private:
-
-	ICUBridgeCollationCompareFunctorImpl* const		m_impl;
-};
-
-
-
-#endif	// ICUBRIDGE_COLLATIONCOMPAREFUNCTOR_GUARD_1357924680
diff --git a/src/ICUBridge/ICUBridgeCollationCompareFunctorImpl.cpp b/src/ICUBridge/ICUBridgeCollationCompareFunctorImpl.cpp
deleted file mode 100644
index 5ff15c5..0000000
--- a/src/ICUBridge/ICUBridgeCollationCompareFunctorImpl.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ICUBridgeCollationCompareFunctorImpl.hpp"
-#include "ICUBridge.hpp"
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-// this is the ICU's macro for using namespace ...
-U_NAMESPACE_USE
-
-
-
-const StylesheetExecutionContextDefault::DefaultCollationCompareFunctor		ICUBridgeCollationCompareFunctorImpl::s_defaultFunctor;
-
-
-
-ICUBridgeCollationCompareFunctorImpl::ICUBridgeCollationCompareFunctorImpl() :
-	m_isValid(false),
-	m_defaultCollator(0)
-{
-	UErrorCode	theStatus = U_ZERO_ERROR;
-
-#if defined(XALAN_ICU_DEFAULT_LOCALE_PROBLEM)
-	m_defaultCollator = Collator::createInstance(Locale::US, theStatus);
-#else
-	m_defaultCollator = Collator::createInstance(theStatus);
-#endif
-
-	if (theStatus == U_ZERO_ERROR ||
-	    (theStatus >= U_ERROR_INFO_START && theStatus < U_ERROR_INFO_LIMIT))
-	{
-		m_isValid = true;
-	}
-}
-
-
-
-ICUBridgeCollationCompareFunctorImpl::~ICUBridgeCollationCompareFunctorImpl()
-{
-	delete m_defaultCollator;
-}
-
-
-
-int
-ICUBridgeCollationCompareFunctorImpl::doDefaultCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const
-{
-	if (isValid() == false)
-	{
-		return s_defaultFunctor(theLHS, theRHS);
-	}
-	else
-	{
-		assert(m_defaultCollator != 0);
-
-#if defined(XALAN_USE_WCHAR_CAST_HACK)
-		return m_defaultCollator->compare(
-					(const wchar_t*)theLHS,
-					length(theLHS),
-					(const wchar_t*)theRHS,
-					length(theRHS));
-#else
-		return m_defaultCollator->compare(
-					theLHS,
-					length(theLHS),
-					theRHS,
-					length(theRHS));
-#endif
-	}
-}
-
-
-
-int
-ICUBridgeCollationCompareFunctorImpl::operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const
-{
-	return doDefaultCompare(theLHS, theRHS);
-}
-
-
-
-inline Collator*
-getCollator(
-			const XalanDOMChar*		theLocale,
-			UErrorCode&				theStatus)
-{
-	const XalanDOMString::size_type		theLength = length(theLocale);
-
-	if (theLength >= ULOC_FULLNAME_CAPACITY)
-	{
-		theStatus = U_ILLEGAL_ARGUMENT_ERROR;
-
-		return 0;
-	}
-	else
-	{
-#if defined(XALAN_NON_ASCII_PLATFORM)
-		CharVectorType	theVector;
-
-		TranscodeToLocalCodePage(theLocale, theVector, true);
-
-		const char* const	theBuffer = c_str(theVector);
-#else
-		char	theBuffer[ULOC_FULLNAME_CAPACITY];
-
-		// Since language names must be ASCII, this
-		// is the cheapest way to "transcode"...
-		for (unsigned int i = 0; i <= theLength; ++i)
-		{
-			theBuffer[i] = char(theLocale[i]);
-		}
-#endif
-		return Collator::createInstance(
-					Locale::createFromName(theBuffer),
-					theStatus);
-	}
-}
-
-
-
-int
-ICUBridgeCollationCompareFunctorImpl::operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) const
-{
-	UErrorCode	theStatus = U_ZERO_ERROR;
-
-	XalanAutoPtr<Collator>	theCollator(getCollator(theLocale, theStatus));
-
-	if (theStatus == U_ZERO_ERROR ||
-	    (theStatus >= U_ERROR_INFO_START && theStatus < U_ERROR_INFO_LIMIT))
-	{
-		assert(theCollator.get() != 0);
-
-#if defined(XALAN_USE_WCHAR_CAST_HACK)
-		return theCollator->compare(
-					(const wchar_t*)theLHS,
-					length(theLHS),
-					(const wchar_t*)theRHS,
-					length(theRHS));
-#else
-		return theCollator->compare(
-					theLHS,
-					length(theLHS),
-					theRHS,
-					length(theRHS));
-#endif
-	}
-	else
-	{
-		return s_defaultFunctor(theLHS, theRHS);
-	}
-}
diff --git a/src/ICUBridge/ICUBridgeCollationCompareFunctorImpl.hpp b/src/ICUBridge/ICUBridgeCollationCompareFunctorImpl.hpp
deleted file mode 100644
index 66c9c38..0000000
--- a/src/ICUBridge/ICUBridgeCollationCompareFunctorImpl.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(ICUBRIDGE_COLLATIONCOMPAREFUNCTORIMPL_GUARD_1357924680)
-#define ICUBRIDGE_COLLATIONCOMPAREFUNCTORIMPL_GUARD_1357924680
-
-
-
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-
-
-
-#include <unicode/coll.h>
-
-
-
-
-class XALAN_ICUBRIDGE_EXPORT ICUBridgeCollationCompareFunctorImpl
-{
-public:
-
-	ICUBridgeCollationCompareFunctorImpl();
-
-	~ICUBridgeCollationCompareFunctorImpl();
-
-	int
-	operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const;
-
-	int
-	operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) const;
-
-	bool
-	isValid() const
-	{
-		return m_isValid;
-	}
-
-private:
-
-	int
-	doDefaultCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const;
-
-	bool		m_isValid;
-
-#if defined(XALAN_NO_NAMESPACES)
-	Collator*			m_defaultCollator;
-#else
-	icu_2_0::Collator*	m_defaultCollator;
-#endif
-
-	const static StylesheetExecutionContextDefault::DefaultCollationCompareFunctor		s_defaultFunctor;
-};
-
-
-
-#endif	// ICUBRIDGE_COLLATIONCOMPAREFUNCTORIMPL_GUARD_1357924680
diff --git a/src/ICUBridge/ICUBridgeDefinitions.hpp b/src/ICUBridge/ICUBridgeDefinitions.hpp
deleted file mode 100644
index 294438f..0000000
--- a/src/ICUBridge/ICUBridgeDefinitions.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ICUBRIDGEDEFINITIONS_HEADER_GUARD_1357924680)
-#define ICUBRIDGEDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_ICUBRIDGE_BUILD_DLL)
-
-#define XALAN_ICUBRIDGE_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_ICUBRIDGE_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_ICUBRIDGE_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_ICUBRIDGE_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// ICUBRIDGEDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/ICUBridge/ICUXalanNumberFormatFactory.cpp b/src/ICUBridge/ICUXalanNumberFormatFactory.cpp
deleted file mode 100644
index 0d437fd..0000000
--- a/src/ICUBridge/ICUXalanNumberFormatFactory.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ICUXalanNumberFormatFactory.hpp"
-
-
-
-#include "ICUXalanNumberFormatProxy.hpp"
-
-
-
-ICUXalanNumberFormatFactory::ICUXalanNumberFormatFactory() :
-	StylesheetExecutionContextDefault::XalanNumberFormatFactory()
-{
-}
-
-
-
-ICUXalanNumberFormatFactory::~ICUXalanNumberFormatFactory()
-{
-}
-
-
-
-XalanNumberFormat*
-ICUXalanNumberFormatFactory::create()
-{
-	return new ICUXalanNumberFormatProxy;
-}
diff --git a/src/ICUBridge/ICUXalanNumberFormatFactory.hpp b/src/ICUBridge/ICUXalanNumberFormatFactory.hpp
deleted file mode 100644
index be49eb7..0000000
--- a/src/ICUBridge/ICUXalanNumberFormatFactory.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ICUXALANNUMBERFORMATFACTORY_HEADER_GUARD_1357924680)
-#define ICUXALANNUMBERFORMATFACTORY_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-
-
-
-// Class that implements the XSLT function format-number using the ICU.
-//
-class XALAN_ICUBRIDGE_EXPORT ICUXalanNumberFormatFactory : public StylesheetExecutionContextDefault::XalanNumberFormatFactory
-{
-public:
-
-	ICUXalanNumberFormatFactory();
-
-	virtual
-	~ICUXalanNumberFormatFactory();
-
-	virtual XalanNumberFormat*
-	create();
-};
-
-
-
-#endif	// ICUXALANNUMBERFORMATFACTORY_HEADER_GUARD_1357924680
diff --git a/src/ICUBridge/ICUXalanNumberFormatProxy.cpp b/src/ICUBridge/ICUXalanNumberFormatProxy.cpp
deleted file mode 100644
index a76dfc5..0000000
--- a/src/ICUBridge/ICUXalanNumberFormatProxy.cpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ICUXalanNumberFormatProxy.hpp"
-
-
-
-#include <unicode/dcfmtsym.h>
-
-
-
-// this is the ICU's macro for using namespace ...
-U_NAMESPACE_USE
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "ICUBridge.hpp"
-
-
-
-ICUXalanNumberFormatProxy::ICUXalanNumberFormatProxy() :
-	XalanNumberFormat(),
-	m_decimalFormat(0)
-{
-	UErrorCode	theResult = U_ZERO_ERROR;
-
-	m_decimalFormat = new DecimalFormat(theResult);
-}
-
-
-
-ICUXalanNumberFormatProxy::~ICUXalanNumberFormatProxy()
-{
-	delete m_decimalFormat;
-}
-
-
-
-XalanDOMString
-ICUXalanNumberFormatProxy::format(double	theValue)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(theValue, theUnicodeResult);
-
-	return ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::format(
-			double				theValue,
-			XalanDOMString&		theResult)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(theValue, theUnicodeResult);
-
-	ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult, theResult);
-}
-
-
-
-XalanDOMString
-ICUXalanNumberFormatProxy::format(int	theValue)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	return ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::format(
-			int					theValue,
-			XalanDOMString&		theResult)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult, theResult);
-}
-
-
-
-XalanDOMString
-ICUXalanNumberFormatProxy::format(unsigned int	theValue)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	return ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::format(
-			unsigned int		theValue,
-			XalanDOMString&		theResult)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult, theResult);
-}
-
-
-
-XalanDOMString
-ICUXalanNumberFormatProxy::format(long	theValue)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	return ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::format(
-			long				theValue,
-			XalanDOMString&		theResult)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult, theResult);
-}
-
-
-
-XalanDOMString
-ICUXalanNumberFormatProxy::format(unsigned long	theValue)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	return ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::format(
-			unsigned long		theValue,
-			XalanDOMString&		theResult)
-{
-	UnicodeString	theUnicodeResult;
-
-	m_decimalFormat->format(int32_t(theValue), theUnicodeResult);
-
-	ICUBridge::UnicodeStringToXalanDOMString(theUnicodeResult, theResult);
-}
-
-
-
-bool
-ICUXalanNumberFormatProxy::isGroupingUsed() const
-{
-	return m_decimalFormat->isGroupingUsed() ? true : false;
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::setGroupingUsed(bool bUsed)
-{
-	m_decimalFormat->setGroupingUsed(bUsed);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::setGroupingSize(unsigned long	size)
-{
-	m_decimalFormat->setGroupingSize(size);
-}
-
-
-
-void
-ICUXalanNumberFormatProxy::setGroupingSeparator(const XalanDOMString&	s)
-{
-	const DecimalFormatSymbols* const	theCurrentSymbols =
-				m_decimalFormat->getDecimalFormatSymbols();
-	assert(theCurrentSymbols != 0);
-
-	DecimalFormatSymbols* const		theNewSymbols =
-		new DecimalFormatSymbols(*theCurrentSymbols);
-
-	theNewSymbols->setSymbol(
-		DecimalFormatSymbols::kGroupingSeparatorSymbol,
-		ICUBridge::XalanDOMStringToUnicodeString(s));
-
-	m_decimalFormat->adoptDecimalFormatSymbols(theNewSymbols);
-}
diff --git a/src/ICUBridge/ICUXalanNumberFormatProxy.hpp b/src/ICUBridge/ICUXalanNumberFormatProxy.hpp
deleted file mode 100644
index edd8cab..0000000
--- a/src/ICUBridge/ICUXalanNumberFormatProxy.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ICUXALANNUMBERFORMATPROXY_HEADER_GUARD_1357924680)
-#define ICUXALANNUMBERFORMATPROXY_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <ICUBridge/ICUBridgeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/XalanNumberFormat.hpp>
-
-
-
-#include <unicode/decimfmt.h>
-
-
-
-// Class that implements the XSLT function format-number using the ICU.
-//
-class XALAN_ICUBRIDGE_EXPORT ICUXalanNumberFormatProxy : public XalanNumberFormat
-{
-public:
-
-	explicit
-	ICUXalanNumberFormatProxy();
-
-	virtual
-	~ICUXalanNumberFormatProxy();
-
-	virtual XalanDOMString
-	format(double	theValue);
-
-	virtual void
-	format(
-			double				theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(int	theValue);
-
-	virtual void
-	format(
-			int					theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(unsigned int		theValue);
-
-	virtual void
-	format(
-			unsigned int		theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(long		theValue);
-
-	virtual void
-	format(
-			long				theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(unsigned long	theValue);
-
-	virtual void
-	format(
-			unsigned long		theValue,
-			XalanDOMString&		theResult);
-
-	virtual bool
-	isGroupingUsed() const;
-
-	virtual void
-	setGroupingUsed(bool bUsed);
-
-	virtual void
-	setGroupingSize(unsigned long	size);
-
-	virtual void
-	setGroupingSeparator(const XalanDOMString&	s);
-
-private:
-
-#if defined(XALAN_NO_NAMESPACES)
-	DecimalFormat*				m_decimalFormat;
-#else
-	icu_2_0::DecimalFormat*		m_decimalFormat;
-#endif
-};
-
-
-
-#endif	// ICUXALANNUMBERFORMATPROXY_HEADER_GUARD_1357924680
diff --git a/src/Include/AIXDefinitions.hpp b/src/Include/AIXDefinitions.hpp
deleted file mode 100644
index 767f287..0000000
--- a/src/Include/AIXDefinitions.hpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(AIXDEFINITIONS_HEADER_GUARD_1357924680)
-#define AIXDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's.
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-
-
-#define XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-
-#define XALAN_LSTRSUPPORT
-#define XALAN_USE_WCHAR_CAST_HACK
-#define XALAN_POSIX2_AVAILABLE
-#define XALAN_XALANDOMCHAR_USHORT_MISMATCH
-
-#if __IBMCPP__ > 366
-
-#define XALAN_EXPLICIT_SCOPE_IN_TEMPLATE_BUG
-#define XALAN_NEW_STD_ALLOCATOR
-
-#else
-
-#define XALAN_OLD_STYLE_CASTS
-#define XALAN_OLD_STREAMS
-#define XALAN_NO_NAMESPACES
-#define XALAN_NO_MUTABLE
-#define XALAN_SGI_BASED_STL
-#define XALAN_NO_MEMBER_TEMPLATES
-#define XALAN_AMBIGUOUS_EVEN_IF_NOT_CALLED
-#define XALAN_CANNOT_DELETE_CONST
-#define XALAN_BOOL_AS_INT
-#define XALAN_NO_STD_ALLOCATORS
-#define XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION
-#define XALAN_NO_ALGORITHMS_WITH_BUILTINS
-#define XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS
-#define XALAN_NO_COVARIANT_RETURN_TYPE
-#define XALAN_AUTO_PTR_REQUIRES_DEFINITION
-#define XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION
-#define XALAN_STLPORT_STL
-#define XALAN_TEMPLATE_FUNCTION_NO_DEFAULT_PARAMETERS
-#define XALAN_NO_STD_NUMERIC_LIMITS
-
-// STL Port Definitions
-#define _REENTRANT
-#define __STL_NO_SGI_IOSTREAMS
-#include <stl/_config.h>
-
-#endif
-
-
-#define XALAN_UNALIGNED
-
-
-#endif	// AIXDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/GCCDefinitions.hpp b/src/Include/GCCDefinitions.hpp
deleted file mode 100644
index 0f44f3b..0000000
--- a/src/Include/GCCDefinitions.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(GCCDEFINITIONS_HEADER_GUARD_1357924680)
-#define GCCDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's.
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-#define XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-
-
-#define XALAN_NO_MEMBER_TEMPLATES
-#define XALAN_RTTI_AVAILABLE
-#define XALAN_OLD_STREAM_HEADERS
-#define XALAN_SGI_BASED_STL
-#define XALAN_XALANDOMCHAR_USHORT_MISMATCH
-#define XALAN_NO_STD_ALLOCATORS
-#define XALAN_POSIX2_AVAILABLE
-#define XALAN_INLINE_INITIALIZATION
-#define XALAN_NO_STD_NUMERIC_LIMITS
-
-#define XALAN_UNALIGNED
-
-#endif	// GCCDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/HPUXDefinitions.hpp b/src/Include/HPUXDefinitions.hpp
deleted file mode 100644
index 6f3dfb6..0000000
--- a/src/Include/HPUXDefinitions.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/* Patch from Trevor Smigiel                                   */
-#if !defined(HPUXDEFINITIONS_HEADER_GUARD_1357924680)
-#define HPUXDEFINITIONS_HEADER_GUARD_1357924680
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's. 
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-
-#define XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-#if !defined(_HP_NAMESPACE_STD)
-#define XALAN_OLD_STREAM_HEADERS
-#define XALAN_OLD_STREAMS
-#define XALAN_NO_NAMESPACES
-#define XALAN_NO_STD_ALLOCATORS
-#define XALAN_SGI_BASED_STL
-#define XALAN_NO_STD_NUMERIC_LIMITS
-#endif
-
-#define XALAN_XALANDOMCHAR_USHORT_MISMATCH
-#define XALAN_RTTI_AVAILABLE
-#define XALAN_POSIX2_AVAILABLE
-#define XALAN_INLINE_INITIALIZATION
-
-#define XALAN_UNALIGNED
-
-
-#endif  // HPUXDEFINITIONS_HEADER_GUARD_1357924680
-
diff --git a/src/Include/OS390Definitions.hpp b/src/Include/OS390Definitions.hpp
deleted file mode 100644
index 964c622..0000000
--- a/src/Include/OS390Definitions.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(OS390DEFINITIONS_HEADER_GUARD_1357924680)
-#define OS390DEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's.
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-
-
-#define XALAN_PLATFORM_EXPORT _Export
-#define XALAN_PLATFORM_IMPORT _Export
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-
-
-#define XALAN_OLD_STYLE_CASTS
-#define XALAN_NO_NAMESPACES
-#define XALAN_NO_MUTABLE
-#define XALAN_SGI_BASED_STL
-#define XALAN_NO_MEMBER_TEMPLATES
-#define XALAN_AMBIGUOUS_EVEN_IF_NOT_CALLED
-#define XALAN_CANNOT_DELETE_CONST
-#define XALAN_BOOL_AS_INT
-#define XALAN_NO_STD_ALLOCATORS
-#define XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION
-#define XALAN_NO_ALGORITHMS_WITH_BUILTINS
-#define XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS
-#define XALAN_NO_COVARIANT_RETURN_TYPE
-#define XALAN_AUTO_PTR_REQUIRES_DEFINITION
-#define XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION
-#define XALAN_XALANDOMCHAR_USHORT_MISMATCH 
-#define XALAN_USE_WCHAR_CAST_HACK
-#define XALAN_STLPORT_STL
-#define XALAN_TEMPLATE_FUNCTION_NO_DEFAULT_PARAMETERS
-#define XALAN_NON_ASCII_PLATFORM
-#define XALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS
-#define XALAN_POSIX2_AVAILABLE
-#define XALAN_ICU_DEFAULT_LOCALE_PROBLEM
-#define XALAN_OLD_STREAMS
-#define XALAN_NO_STD_NUMERIC_LIMITS
-
-
-#define XALAN_UNALIGNED
-
-// STL Port Definitions
-#define _REENTRANT
-#define __STL_NO_SGI_IOSTREAMS
-#include <stl/_config.h>
-
-
-#endif	// OS390DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/PlatformDefinitions.hpp b/src/Include/PlatformDefinitions.hpp
deleted file mode 100644
index 08990c8..0000000
--- a/src/Include/PlatformDefinitions.hpp
+++ /dev/null
@@ -1,77 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(PLATFORMDEFINITIONS_HEADER_GUARD_1357924680)
-#define PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
-
-#if defined(_MSC_VER)
-#include "VCPPDefinitions.hpp"
-#elif defined(__GNUC__)
-#include "GCCDefinitions.hpp"
-#elif defined(_AIX)
-#include "AIXDefinitions.hpp"
-#elif defined(__hpux)
-#include "HPUXDefinitions.hpp"
-#elif defined(SOLARIS)
-#include "SolarisDefinitions.hpp"
-#elif defined(OS390)
-#include "OS390Definitions.hpp"
-#elif defined(__DECCXX)
-#include "TRU64Definitions.hpp"
-#else
-#endif
-
-#endif	// PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/STLHelper.hpp b/src/Include/STLHelper.hpp
deleted file mode 100644
index fe83e6b..0000000
--- a/src/Include/STLHelper.hpp
+++ /dev/null
@@ -1,371 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(STLHELPERS_HEADER_GUARD_1357924680)
-#define STLHELPERS_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <algorithm>
-#include <functional>
-
-
-
-/**
- * Functor to delete objects, used in STL iteration algorithms.
- */
-template <class T>
-#if defined(XALAN_NO_NAMESPACES)
-struct DeleteFunctor : public unary_function<const T*, void>
-#else
-struct DeleteFunctor : public std::unary_function<const T*, void>
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef unary_function<const T*, void>	BaseClassType;
-#else
-	typedef std::unary_function<const T*, void>	BaseClassType;
-#endif
-
-	typedef typename BaseClassType::result_type		result_type;
-	typedef typename BaseClassType::argument_type	argument_type;
-
-	/**
-	 * Delete the object pointed to by argument.
-	 *
-	 * @param thePointer pointer to object to be deleted
-	 */
-	result_type
-	operator()(argument_type	thePointer) const
-	{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (T*)thePointer;
-#else
-		delete thePointer;
-#endif
-	}
-};
-
-
-
-#if !defined(XALAN_SGI_BASED_STL)
-
-/**
- * Functor to retrieve the key of a key-value pair in a map, used in STL
- * iteration algorithms.
- */
-template <class PairType>
-#if defined(XALAN_NO_NAMESPACES)
-struct select1st : public unary_function<PairType, PairType::first_type>
-#else
-struct select1st : public std::unary_function<PairType, typename PairType::first_type>
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef unary_function<PairType, PairType::first_type>	BaseClassType;
-#else
-	typedef std::unary_function<PairType, typename PairType::first_type>	BaseClassType;
-#endif
-
-	typedef typename BaseClassType::result_type		result_type;
-	typedef typename BaseClassType::argument_type	argument_type;
-
-	typedef PairType								value_type;
-
-	/**
-	 * Retrieve the key of a key-value pair.
-	 *
-	 * @param thePair key-value pair
-	 * @return key
-	 */
-	result_type
-	operator()(const argument_type&		thePair) const
-	{
-		return thePair.first;
-	}
-};
-
-
-
-/**
- * Functor to retrieve the value of a key-value pair in a map, used in STL
- * iteration algorithms.
- */
-template <class PairType>
-#if defined(XALAN_NO_NAMESPACES)
-struct select2nd : public unary_function<PairType, PairType::second_type>
-#else
-struct select2nd : public std::unary_function<PairType, typename PairType::second_type>
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef unary_function<PairType, PairType::second_type>	BaseClassType;
-#else
-	typedef std::unary_function<PairType, typename PairType::second_type>	BaseClassType;
-#endif
-
-	typedef typename BaseClassType::result_type		result_type;
-	typedef typename BaseClassType::argument_type	argument_type;
-
-	typedef PairType								value_type;
-
-	/**
-	 * Retrieve the value of a key-value pair.
-	 *
-	 * @param thePair key-value pair
-	 * @return value
-	 */
-	result_type
-	operator()(const argument_type&		thePair) const
-	{
-		return thePair.second;
-	}
-};
-
-#endif
-
-
-
-/**
- * Functor to delete value objects in maps, used in STL iteration algorithms.
- */
-template <class T>
-#if defined(XALAN_NO_NAMESPACES)
-struct MapValueDeleteFunctor : public unary_function<const typename T::value_type&, void>
-#else
-struct MapValueDeleteFunctor : public std::unary_function<const typename T::value_type&, void>
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef unary_function<const typename T::value_type&, void>		BaseClassType;
-#else
-	typedef std::unary_function<const typename T::value_type&, void>	BaseClassType;
-#endif
-
-	typedef typename BaseClassType::result_type		result_type;
-	typedef typename BaseClassType::argument_type	argument_type;
-
-	/**
-	 * Delete the value object in a map value pair.  The value of the pair must
-	 * be of pointer type.
-	 *
-	 * @param thePair key-value pair
-	 */
-	result_type
-	operator()(argument_type	thePair) const
-	{
-		delete thePair.second;
-	}
-};
-
-
-
-template<class T>
-MapValueDeleteFunctor<T>
-makeMapValueDeleteFunctor(const T&	/* theMap */)
-{
-	return MapValueDeleteFunctor<T>();
-}
-
-
-
-/**
- * This functor is designed to compare 0-terminated arrays.  It substitutes
- * for the default less<type*> so that pointers to arrays can be compared,
- * rather than copies of arrays.  For example, you might want to use C-style
- * strings as keys in a map, rather than string objects.  The default
- * algorithm less<const char*> would just compare the pointers, and not the
- * vector of characters to which it points.  Using this algorithm instead of
- * the default will allow the map to work as expected.
- */
-template<class T>
-#if defined(XALAN_NO_NAMESPACES)
-struct less_null_terminated_arrays : public binary_function<const T*, const T*, bool>
-#else
-struct less_null_terminated_arrays : public std::binary_function<const T*, const T*, bool>
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef binary_function<const T*, const T*, bool>			BaseClassType;
-#else
-	typedef std::binary_function<const T*, const T*, bool>		BaseClassType;
-#endif
-
-	typedef typename BaseClassType::result_type				result_type;
-	typedef typename BaseClassType::first_argument_type		first_argument_type;
-	typedef typename BaseClassType::second_argument_type	second_argument_type;
-
-	/**
-	 * Compare the values of two objects.
-	 *
-	 *
-	 * @param theLHS first object to compare
-	 * @param theRHS second object to compare
-	 * @return true if objects are the same
-	 */
-	result_type
-	operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-	{
-		while(*theLHS && *theRHS)
-		{
-			if (*theLHS != *theRHS)
-			{
-				break;
-			}
-			else
-			{
-				theLHS++;
-				theRHS++;
-			}
-		}
-
-		return *theLHS < *theRHS ? true : false;
-	}
-};
-
-
-
-template<class CollectionType>
-class CollectionClearGuard
-{
-public:
-
-	CollectionClearGuard(CollectionType&	theCollection) :
-		m_collection(&theCollection)
-	{
-	}
-
-	~CollectionClearGuard()
-	{
-		if (m_collection != 0)
-		{
-			m_collection->clear();
-		}
-	}
-
-	void
-	release()
-	{
-		m_collection = 0;
-	}
-
-private:
-
-	// Not implemented...
-	CollectionClearGuard(const CollectionClearGuard<CollectionType>&);
-
-	CollectionClearGuard<CollectionType>&
-	operator=(const CollectionClearGuard<CollectionType>&);
-
-	// Data members...
-	CollectionType*		m_collection;
-};
-
-
-
-template<class CollectionType, class DeleteFunctorType>
-class CollectionDeleteGuard
-{
-public:
-
-	CollectionDeleteGuard(CollectionType&	theCollection) :
-		m_collection(&theCollection)
-	{
-	}
-
-	~CollectionDeleteGuard()
-	{
-		if (m_collection != 0)
-		{
-#if !defined(XALAN_NO_NAMESPACES)
-			using std::for_each;
-#endif
-
-			// Delete all of the objects in the temp vector.
-			for_each(m_collection->begin(),
-					 m_collection->end(),
-					 DeleteFunctorType());
-		}
-	}
-
-	void
-	release()
-	{
-		m_collection = 0;
-	}
-
-private:
-
-	// Not implemented...
-	CollectionDeleteGuard(const CollectionDeleteGuard<CollectionType, DeleteFunctorType>&);
-
-	CollectionDeleteGuard<CollectionType, DeleteFunctorType>&
-	operator=(const CollectionDeleteGuard<CollectionType, DeleteFunctorType>&);
-
-	// Data members...
-	CollectionType*		m_collection;
-};
-
-
-
-#endif	// STLHELPERS_HEADER_GUARD_1357924680
diff --git a/src/Include/SolarisDefinitions.hpp b/src/Include/SolarisDefinitions.hpp
deleted file mode 100644
index f50ba06..0000000
--- a/src/Include/SolarisDefinitions.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(SOLARISDEFINITIONS_HEADER_GUARD_1357924680)
-#define SOLARISDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's.
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-#define XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-
-#if __SUNPRO_CC_COMPAT >= 5
-
-#define XALAN_SIZE_T_IN_NAMESPACE_STD
-#define XALAN_SIGNAL_IN_STD
-
-#else
-
-// Sun Workshop 4.2 _does_ support new cast syntax, but it's
-// broken with extra cv-qualifiers, so we'll use old-style casts.
-#define XALAN_OLD_STYLE_CASTS
-
-// Standard allocators don't seem to work correctly with STLport.
-// I don't know if this is their bug, or ours...
-#define XALAN_NO_STD_ALLOCATORS
-
-#define XALAN_STLPORT_STL
-#define XALAN_NO_DEFAULT_BUILTIN_ARRAY_INITIALIZATION
-#define XALAN_OLD_STREAMS
-#define XALAN_NO_NAMESPACES
-#define XALAN_NO_MUTABLE
-#define XALAN_SGI_BASED_STL
-#define XALAN_NO_MEMBER_TEMPLATES
-#define XALAN_BOOL_AS_INT
-#define XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS
-#define XALAN_NO_COVARIANT_RETURN_TYPE
-#define XALAN_NO_STD_NUMERIC_LIMITS
-
-// STL Port Definitions
-#define __STL_NO_SGI_IOSTREAMS
-#define _REENTRANT
-#include <stl/_config.h>
-
-#endif
-
-#define XALAN_XALANDOMCHAR_USHORT_MISMATCH
-#define XALAN_POSIX2_AVAILABLE
-
-#define XALAN_UNALIGNED
-
-
-
-#endif	// SOLARISDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/TRU64Definitions.hpp b/src/Include/TRU64Definitions.hpp
deleted file mode 100644
index 412f842..0000000
--- a/src/Include/TRU64Definitions.hpp
+++ /dev/null
@@ -1,91 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(TRU64DEFINITIONS_HEADER_GUARD_1357924680)
-#define TRU64DEFINITIONS_HEADER_GUARD_1357924680
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's. 
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-
-#define XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-
-
-// This next line enables standard IO streams.
-#define __USE_STD_IOSTREAM
-#define XALAN_RTTI_AVAILABLE
-#define XALAN_XALANDOMCHAR_USHORT_MISMATCH
-#define XALAN_POSIX2_AVAILABLE
-#define XALAN_INLINE_INITIALIZATION
-#define XALAN_LSTRSUPPORT
-
-#if defined(__STD_STRICT_ANSI) || defined(__STD_STRICT_ANSI_ERRORS)
-#define XALAN_STRICT_ANSI_HEADERS
-#define XALAN_SIZE_T_IN_NAMESPACE_STD
-#endif
-
-#define XALAN_UNALIGNED __unaligned
-
-
-#endif  // TRU64DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/VCPPDefinitions.hpp b/src/Include/VCPPDefinitions.hpp
deleted file mode 100644
index 5ae07ba..0000000
--- a/src/Include/VCPPDefinitions.hpp
+++ /dev/null
@@ -1,92 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(VCPPDEFINITIONS_HEADER_GUARD_1357924680)
-#define VCPPDEFINITIONS_HEADER_GUARD_1357924680
-
-
-#pragma warning(disable: 4127 4251 4511 4512 4514 4702 4710 4711 4786 4097; error: 4150 4172 4238 4239 4715)
-
-
-// ---------------------------------------------------------------------------
-//  A define in the build for each project is also used to control whether
-//  the export keyword is from the project's viewpoint or the client's.
-//  These defines provide the platform specific keywords that they need
-//  to do this.
-// ---------------------------------------------------------------------------
-#define XALAN_PLATFORM_EXPORT     __declspec(dllexport)
-#define XALAN_PLATFORM_IMPORT     __declspec(dllimport)
-#define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
-#define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
-
-
-#if __INTEL_COMPILER >= 600
-#define XALAN_INLINE_INITIALIZATION
-#elif _MSC_VER >= 1300
-#define XALAN_INLINE_INITIALIZATION
-#define XALAN_NEW_STD_ALLOCATOR
-#else
-#define XALAN_NO_COVARIANT_RETURN_TYPE
-#endif
-
-#define XALAN_LSTRSUPPORT
-#define XALAN_FULL_WCHAR_SUPPORT
-#define XALAN_RTTI_AVAILABLE
-#define XALAN_NEWLINE_IS_CRLF
-
-#define XALAN_UNALIGNED
-
-#endif	// VCPPDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/Include/XalanArrayKeyMap.hpp b/src/Include/XalanArrayKeyMap.hpp
deleted file mode 100644
index fc9ba7c..0000000
--- a/src/Include/XalanArrayKeyMap.hpp
+++ /dev/null
@@ -1,369 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ARRAYKEYMAP_HEADER_GUARD)
-#define XALAN_ARRAYKEYMAP_HEADER_GUARD
-
-
-
-#include <deque>
-#include <map>
-#include <vector>
-
-
-
-template<class KeyType, class ValueType, class CompareType>
-class XalanArrayKeyMap
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<KeyType>									VectorType;
-	typedef map<const KeyType*, ValueType, CompareType>		MapType;
-	typedef deque<VectorType>								VectorHolderType;
-#else
-	typedef std::vector<KeyType>								VectorType;
-	typedef std::map<const KeyType*, ValueType, CompareType>	MapType;
-	typedef std::deque<VectorType>								VectorHolderType;
-#endif
-
-	typedef typename MapType::key_type					key_type;
-	typedef typename MapType::value_type				value_type;
-	typedef ValueType									referent_type;
-	typedef CompareType									key_compare;
-#if !defined(XALAN_NO_STD_ALLOCATORS)
-	typedef typename MapType::allocator_type			allocator_type;
-#endif
-	typedef typename MapType::size_type					size_type;
-	typedef typename MapType::difference_type			difference_type;
-	typedef typename MapType::reference					reference;
-	typedef typename MapType::const_reference			const_reference;
-	typedef typename MapType::iterator					iterator;
-	typedef typename MapType::const_iterator			const_iterator;
-	typedef typename MapType::reverse_iterator			reverse_iterator;
-	typedef typename MapType::const_reverse_iterator	const_reverse_iterator;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef pair<iterator, bool>					insert_pair_type;
-	typedef pair<iterator, iterator>				range_pair_type;
-	typedef pair<const_iterator, const_iterator>	const_range_pair_type;
-#else
-	typedef std::pair<iterator, bool>					insert_pair_type;
-	typedef std::pair<iterator, iterator>				range_pair_type;
-	typedef std::pair<const_iterator, const_iterator>	const_range_pair_type;
-#endif
-
-	explicit
-	XalanArrayKeyMap() :
-		m_map(),
-		m_keyData()
-	{
-	}
-
-	XalanArrayKeyMap(const XalanArrayKeyMap<KeyType, ValueType, CompareType>&	theOther)
-	{
-		*this = theOther;
-	}
-
-	~XalanArrayKeyMap()
-	{
-	}
-
-	XalanArrayKeyMap<KeyType, ValueType, CompareType>&
-	operator=(const XalanArrayKeyMap<KeyType, ValueType, CompareType>&	theRHS)
-	{
-		if (&theRHS != this)
-		{
-			XalanArrayKeyMap<KeyType, ValueType, CompareType>	theTemp;
-
-			const const_iterator	theEnd =
-				theRHS.end();
-
-			const_iterator	i = theRHS.begin();
-
-			while(i != theEnd)
-			{
-				theTemp.insert(*i);
-
-				++i;
-			}
-
-			swap(theTemp);
-		}
-
-		return *this;
-	}
-
-	bool
-	operator==(const XalanArrayKeyMap<KeyType, ValueType, CompareType>&		theRHS) const
-	{
-		return m_map == theRHS.m_map;
-	}
-
-	size_type
-	size() const
-	{
-		return m_map.size();
-	}
-
-	size_type
-	max_size() const
-	{
-		return m_map.max_size();
-	}
-
-	bool
-	empty() const
-	{
-		return m_map.empty();
-	}
-
-	iterator
-	begin()
-	{
-		return m_map.begin();
-	}
-
-	const_iterator
-	begin() const
-	{
-		return m_map.begin();
-	}
-
-	iterator
-	end()
-	{
-		return m_map.end();
-	}
-
-	const_iterator
-	end() const
-	{
-		return m_map.end();
-	}
-
-	reverse_iterator
-	rbegin()
-	{
-		return m_map.rbegin();
-	}
-
-	const_reverse_iterator
-	rbegin() const
-	{
-		return m_map.rbegin();
-	}
-
-	reverse_iterator
-	rend()
-	{
-		return m_map.rend();
-	}
-
-	const_reverse_iterator
-	rend() const
-	{
-		return m_map.rend();
-	}
-
-	insert_pair_type
-	insert(const value_type&	thePair)
-	{
-		m_keyData.push_back(VectorHolderType::value_type(thePair.first, thePair.first + (length(thePair.first) + 1)));
-
-		return m_map.insert(value_type(&*m_keyData.back().begin(), thePair.second));
-	}
-
-	referent_type&
-	operator[](const key_type&	theKey)
-	{
-		const iterator	i = find(theKey);
-
-		if (i == end())
-		{
-			return (*(insert(value_type(theKey, referent_type()))).first).second;
-		}
-		else
-		{
-			return (*i).second;
-		}
-	}
-
-	iterator
-	find(const key_type&	theKey)
-	{
-		return m_map.find(theKey);
-	}
-
-	const_iterator
-	find(const key_type&	theKey) const
-	{
-		return m_map.find(theKey);
-	}
-
-	iterator
-	lower_bound(const key_type&		theKey)
-	{
-		return m_map.lower_bound(theKey);
-	}
-
-	const_iterator
-	lower_bound(const key_type&		theKey) const
-	{
-		return m_map.lower_bound(theKey);
-	}
-
-	iterator
-	upper_bound(const key_type&		theKey)
-	{
-		return m_map.upper_bound(theKey);
-	}
-
-	const_iterator
-	upper_bound(const key_type&		theKey) const
-	{
-		return m_map.upper_bound(theKey);
-	}
-
-	range_pair_type
-	equal_range(const key_type&		theKey)
-	{
-		return m_map.equal_range(theKey);
-	}
-
-	const_range_pair_type
-	equal_range(const key_type&		theKey) const
-	{
-		return m_map.equal_range(theKey);
-	}
-
-#if defined(XALAN_STLPORT_STL) && !defined(__STL_MEMBER_TEMPLATES)
-	void
-	erase(iterator	theIterator)
-	{
-		// $$$ ToDo: Does not empty vector in the
-		// deque!!!
-		m_map.erase(theIterator);
-	}
-
-	void
-	erase(
-			iterator	theFirst,
-			iterator	theLast)
-	{
-		// $$$ ToDo: Does not empty vector in the
-		// deque!!!
-		m_map.erase(theFirst, theLast);
-	}
-#else
-	iterator
-	erase(iterator	theIterator)
-	{
-		// $$$ ToDo: Does not empty vector in the
-		// deque!!!
-		return m_map.erase(theIterator);
-	}
-
-	iterator
-	erase(
-			iterator	theFirst,
-			iterator	theLast)
-	{
-		// $$$ ToDo: Does not empty vector in the
-		// deque!!!
-		return m_map.erase(theFirst, theLast);
-	}
-#endif
-
-	size_type
-	erase(const key_type&	theKey)
-	{
-		// $$$ ToDo: Does not empty vector in the
-		// deque!!!
-		return m_map.erase(theKey);
-	}
-
-	void
-	swap(XalanArrayKeyMap<KeyType, ValueType, CompareType>&		theOther)
-	{
-		m_map.swap(theOther.m_map);
-
-		m_keyData.swap(theOther.m_keyData);
-	}
-
-private:
-
-	size_type
-	length(const key_type&	theKey)
-	{
-		key_type	theCurrent = theKey;
-
-		while(*theCurrent != 0)
-		{
-			++theCurrent;
-		}
-
-		return theCurrent - theKey;
-	}
-
-	MapType				m_map;
-
-	VectorHolderType	m_keyData;
-};
-
-
-
-#endif
diff --git a/src/Include/XalanAutoPtr.hpp b/src/Include/XalanAutoPtr.hpp
deleted file mode 100644
index 48af186..0000000
--- a/src/Include/XalanAutoPtr.hpp
+++ /dev/null
@@ -1,261 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANAUTOPTR_HEADER_GUARD_1357924680)
-#define XALANAUTOPTR_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <cstddef>
-
-
-
-// We're using our own auto_ptr-like class due to wide
-// variations amongst the varous platforms we have to
-// support
-template<class Type>
-class XalanAutoPtr
-{
-public:
-
-	XalanAutoPtr(Type*	thePointer = 0) :
-		m_pointer(thePointer)
-	{
-	}
-
-	XalanAutoPtr(const XalanAutoPtr<Type>&	theSource) :
-		m_pointer(((XalanAutoPtr<Type>&)theSource).release())
-	{
-	}
-
-	XalanAutoPtr<Type>&
-	operator=(XalanAutoPtr<Type>&	theRHS)
-	{
-		if (this != &theRHS)
-		{
-			// This test ought not to be necessary, but
-			// MSVC 6.0 calls delete, which checks for 0.
-			// The problem with that is the locking is
-			// extremely expensive.
-			if (m_pointer != 0)
-			{
-				delete m_pointer;
-			}
-
-			m_pointer = theRHS.release();
-		}
-
-		return *this;
-	}
-
-	~XalanAutoPtr()
-	{
-		// See note in operator=() about this...
-		if (m_pointer != 0)
-		{
-			delete m_pointer;
-		}
-	}
-
-	Type&
-	operator*() const
-	{
-		return *m_pointer;
-	}
-
-	Type*
-	operator->() const
-	{
-		return m_pointer;
-	}
-
-	Type*
-	get() const
-	{
-		return m_pointer;
-	}
-
-	Type*
-	release()
-	{
-		Type* const	temp = m_pointer;
-
-		m_pointer = 0;
-
-		return temp;
-	}
-
-	void
-	reset(Type*		thePointer = 0)
-	{
-		// See note in operator=() about this...
-		if (m_pointer != 0)
-		{
-			delete m_pointer;
-		}
-
-		m_pointer = thePointer;
-	}
-
-private:
-
-	Type*	m_pointer;
-};
-
-
-
-// A class similar to XalanAutoPtr, but for arrays.
-template<class Type>
-class XalanArrayAutoPtr
-{
-public:
-
-	XalanArrayAutoPtr(Type*		thePointer = 0) :
-		m_pointer(thePointer)
-	{
-	}
-
-	XalanArrayAutoPtr(const XalanArrayAutoPtr<Type>&	theSource) :
-		m_pointer(((XalanArrayAutoPtr<Type>&)theSource).release())
-	{
-	}
-
-	XalanArrayAutoPtr<Type>&
-	operator=(XalanArrayAutoPtr<Type>&	theRHS)
-	{
-		if (this != &theRHS)
-		{
-			// This test ought not to be necessary, but
-			// MSVC 6.0 calls delete, which checks for 0.
-			// The problem with that is the locking is
-			// extremely expensive.
-			if (m_pointer != 0)
-			{
-				delete [] m_pointer;
-			}
-
-			m_pointer = theRHS.release();
-		}
-
-		return *this;
-	}
-
-	~XalanArrayAutoPtr()
-	{
-		// See note in operator=() about this...
-		if (m_pointer != 0)
-		{
-			delete [] m_pointer;
-		}
-	}
-
-	Type&
-	operator*() const
-	{
-		return *m_pointer;
-	}
-
-	Type&
-#if defined(XALAN_SIZE_T_IN_NAMESPACE_STD)
-	operator[](std::size_t	index) const
-#else
-	operator[](size_t	index) const
-#endif
-	{
-		return m_pointer[index];
-	}
-
-	Type*
-	get() const
-	{
-		return m_pointer;
-	}
-
-	Type*
-	release()
-	{
-		Type* const	temp = m_pointer;
-
-		m_pointer = 0;
-
-		return temp;
-	}
-
-	void
-	reset(Type*		thePointer = 0)
-	{
-		// See note in operator=() about this...
-		if (m_pointer != 0)
-		{
-			delete [] m_pointer;
-		}
-
-		m_pointer = thePointer;
-	}
-
-private:
-
-	Type*	m_pointer;
-};
-
-
-
-#endif	// if !defined(XALANAUTOPTR_HEADER_GUARD_1357924680)
diff --git a/src/Include/XalanObjectCache.hpp b/src/Include/XalanObjectCache.hpp
deleted file mode 100644
index 4dc3067..0000000
--- a/src/Include/XalanObjectCache.hpp
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_OBJECTCACHE_HEADER_GUARD)
-#define XALAN_OBJECTCACHE_HEADER_GUARD
-
-
-
-#include <algorithm>
-#include <vector>
-
-
-
-#include <Include/STLHelper.hpp>
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-template<class ObjectType>
-class DefaultCacheCreateFunctor
-{
-public:
-
-	ObjectType*
-	operator()() const
-	{
-		return new ObjectType;
-	}
-};
-
-
-
-template<class ObjectType>
-class DefaultCacheResetFunctor
-{
-public:
-
-	void
-	operator()(ObjectType*) const
-	{
-	}
-};
-
-
-
-template<class ObjectType>
-class ClearCacheResetFunctor
-{
-public:
-
-	void
-	operator()(ObjectType*	theInstance) const
-	{
-		theInstance->clear();
-	}
-};
-
-
-
-#if defined(XALAN_OBJECT_CACHE_KEEP_BUSY_LIST)
-
-template<
-class ObjectType,
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-class CreateFunctorType,
-class DeleteFunctorType,
-class ResetFunctorType>
-#else
-class CreateFunctorType = DefaultCacheCreateFunctor<ObjectType>,
-class DeleteFunctorType = DeleteFunctor<ObjectType>,
-class ResetFunctorType = DefaultCacheResetFunctor<ObjectType> >
-#endif
-class XalanObjectCache
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<ObjectType*>			VectorType;
-#else
-	typedef std::vector<ObjectType*>	VectorType;
-#endif
-
-	typedef ObjectType	CacheObjectType;
-
-	explicit
-	XalanObjectCache(unsigned int	initialListSize = 0) :
-		m_availableList(),
-		m_busyList()
-	{
-		m_availableList.reserve(initialListSize);
-
-		m_busyList.reserve(initialListSize);
-	}
-
-	~XalanObjectCache()
-	{
-		reset();
-
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::for_each;
-#endif
-
-		for_each(
-				m_availableList.begin(),
-				m_availableList.end(),
-				m_deleteFunctor);
-	}
-
-	ObjectType*
-	get()
-	{
-		// We'll always return the back of the free list, since
-		// that's the cheapest thing.
-		if (m_availableList.size() == 0)
-		{
-			ObjectType* const	theNewObject = m_createFunctor();
-
-			m_busyList.push_back(theNewObject);
-
-			return theNewObject;
-		}
-		else
-		{
-			ObjectType* const	theObject = m_availableList.back();
-
-			m_busyList.push_back(theObject);
-
-			m_availableList.pop_back();
-
-			return theObject;
-		}
-	}
-
-	bool
-	release(ObjectType*		theInstance)
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::find;
-#endif
-
-		typedef typename VectorType::iterator	IteratorType;
-
-		const IteratorType	i =
-			find(
-				m_busyList.begin(),
-				m_busyList.end(),
-				theInstance);
-
-		if (i == m_busyList.end())
-		{
-			return false;
-		}
-		else
-		{
-			m_resetFunctor(theInstance);
-
-			m_availableList.push_back(theInstance);
-
-			m_busyList.erase(i);
-
-			return true;
-		}
-	}
-
-	void
-	reset()
-	{
-		while (m_busyList.size() != 0)
-		{
-			ObjectType* const	theInstance = m_busyList.back();
-
-			m_resetFunctor(theInstance);
-
-			m_availableList.push_back(theInstance);
-
-			m_busyList.pop_back();
-		}
-	}
-
-	// Functors for various operations...
-	CreateFunctorType	m_createFunctor;
-
-	DeleteFunctorType	m_deleteFunctor;
-
-	ResetFunctorType	m_resetFunctor;
-
-private:
-
-	// There are not defined...
-	XalanObjectCache(const XalanObjectCache<ObjectType, CreateFunctorType, DeleteFunctorType, ResetFunctorType>&	theRHS);
-
-	XalanObjectCache<ObjectType, CreateFunctorType, DeleteFunctorType, ResetFunctorType>&
-	operator=(const XalanObjectCache<ObjectType, CreateFunctorType, DeleteFunctorType, ResetFunctorType>&	theRHS);
-
-
-	// Data members...
-	VectorType			m_availableList;
-
-	VectorType			m_busyList;
-};
-
-
-
-#else
-
-
-
-template<
-class ObjectType,
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-class CreateFunctorType,
-class DeleteFunctorType,
-class ResetFunctorType>
-#else
-class CreateFunctorType = DefaultCacheCreateFunctor<ObjectType>,
-class DeleteFunctorType = DeleteFunctor<ObjectType>,
-class ResetFunctorType = DefaultCacheResetFunctor<ObjectType> >
-#endif
-class XalanObjectCache
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<ObjectType*>			VectorType;
-#else
-	typedef std::vector<ObjectType*>	VectorType;
-#endif
-
-	typedef ObjectType	CacheObjectType;
-
-	explicit
-	XalanObjectCache(unsigned int	initialListSize = 0) :
-		m_availableList()
-	{
-		m_availableList.reserve(initialListSize);
-	}
-
-	~XalanObjectCache()
-	{
-		reset();
-
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::for_each;
-#endif
-
-		for_each(
-				m_availableList.begin(),
-				m_availableList.end(),
-				m_deleteFunctor);
-	}
-
-	ObjectType*
-	get()
-	{
-		// We'll always return the back of the free list, since
-		// that's the cheapest thing.
-		if (m_availableList.size() == 0)
-		{
-			return m_createFunctor();
-		}
-		else
-		{
-			ObjectType* const	theObject = m_availableList.back();
-
-			m_availableList.pop_back();
-
-			return theObject;
-		}
-	}
-
-	bool
-	release(ObjectType*		theInstance)
-	{
-		m_resetFunctor(theInstance);
-
-		m_availableList.push_back(theInstance);
-
-		return true;
-	}
-
-	void
-	reset()
-	{
-	}
-
-	// Functors for various operations...
-	CreateFunctorType	m_createFunctor;
-
-	DeleteFunctorType	m_deleteFunctor;
-
-	ResetFunctorType	m_resetFunctor;
-
-private:
-
-	// These are not defined...
-	XalanObjectCache(const XalanObjectCache<ObjectType, CreateFunctorType, DeleteFunctorType, ResetFunctorType>&	theRHS);
-
-	XalanObjectCache<ObjectType, CreateFunctorType, DeleteFunctorType, ResetFunctorType>&
-	operator=(const XalanObjectCache<ObjectType, CreateFunctorType, DeleteFunctorType, ResetFunctorType>&	theRHS);
-
-
-	// Data members...
-	VectorType			m_availableList;
-};
-
-
-
-#endif
-
-
-
-template<class XalanObjectCacheType>
-class GuardCachedObject
-{
-public:
-
-	typedef typename XalanObjectCacheType::CacheObjectType	CacheObjectType;
-
-	GuardCachedObject(XalanObjectCacheType&	theCache) :
-		m_cache(theCache),
-		m_cachedObject(theCache.get())
-	{
-	}
-
-	~GuardCachedObject()
-	{
-		if (m_cachedObject != 0)
-		{
-			m_cache.release(m_cachedObject);
-		}
-	}
-
-	CacheObjectType*
-	get() const
-	{
-		return m_cachedObject;
-	}
-
-	CacheObjectType*
-	release()
-	{
-		CacheObjectType* const	temp = m_cachedObject;
-
-		m_cachedObject = 0;
-
-		return temp;
-	}
-
-private:
-
-	// Not implemented...
-	GuardCachedObject(const GuardCachedObject<XalanObjectCacheType>&);
-
-
-	// Data members...
-	XalanObjectCacheType&	m_cache;
-
-	CacheObjectType*		m_cachedObject;
-};
-
-
-
-template<class ObjectType>
-class XalanObjectCacheDefault : public XalanObjectCache<ObjectType, DefaultCacheCreateFunctor<ObjectType>, DeleteFunctor<ObjectType>, DefaultCacheResetFunctor<ObjectType> >
-{
-public:
-
-	typedef XalanObjectCache<ObjectType, DefaultCacheCreateFunctor<ObjectType>, DeleteFunctor<ObjectType>, DefaultCacheResetFunctor<ObjectType> >		BaseClassType;
-
-	explicit
-	XalanObjectCacheDefault(unsigned int	initialListSize = 0) :
-		BaseClassType(initialListSize)
-	{
-	}
-};
-
-
-
-#endif
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644
index f76ae50..0000000
--- a/src/Makefile.in
+++ /dev/null
@@ -1,768 +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", "Xerces" 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, International
-# Business Machines, Inc., http://www.ibm.com .  For more information
-# on the Apache Software Foundation, please see
-# <http://www.apache.org/>.
-# 
-###################################################################
-#                    IMPORTANT NOTE                               #
-###################################################################
-# Before you try to run the Makefile, make sure you have two      #
-# environment variables set.                                      #
-#                                                                 #
-# export XALANCROOT=<the directory where you installed XALAN-C>   #
-# export XERCESCROOT=<the directory where you installed XERCES-C> #
-#                                                                 #
-###################################################################
-
-DEPFILE=depends
-
-#MACROS defining commands
-MKDIR=mkdir
-
-ifndef XALANCROOT 
-noxalanroot:
-	@echo XALANCROOT must be defined
-endif
-
-ifndef XERCESCROOT 
-noxercesroot:
-	@echo XERCESCROOT must be defined
-endif
-
-ifdef XALAN_USE_ICU
-ifndef ICUROOT
-ICUROOT=/usr/local
-endif
-ifndef ICUI18NROOT
-ICUI18NROOT=${ICUROOT}
-endif
-endif
-
-XALANDOM_DIR = XalanDOM
-DOMSUPPORT_DIR = DOMSupport
-INCLUDE_DIR = Include
-ICUBRIDGE_DIR = ICUBridge
-PLATFORMSUPPORT_DIR = PlatformSupport
-XALANSOURCETREE_DIR = XalanSourceTree
-TESTXPATH_DIR = TestXPath
-XALANEXE_DIR = XalanExe
-TESTXSLT_DIR = TestXSLT
-XMLSUPPORT_DIR = XMLSupport
-XPATH_DIR = XPath
-XPATHCAPI_DIR = XPathCAPI
-XSLT_DIR = XSLT
-XALANEXTENSIONS_DIR = XalanExtensions
-XERCESPARSERLIAISON_DIR = XercesParserLiaison
-XALANEXSLT_DIR = XalanEXSLT
-XALANTRANSFORMER_DIR = XalanTransformer
-
-ALL_OBJECTS_DIR = ${XALANCROOT}/obj
-LIB_DIR = ${XALANCROOT}/lib
-SAMPLES_DIR = ${XALANCROOT}/samples
-TESTS_DIR = ${XALANCROOT}/Tests
-
-PROJECT_NAME = xalan-c
-LIBNAME = lib${PROJECT_NAME}
-THISLIB = ${LIB_DIR}/${LIBNAME}
-VER = 1_4
-
-PRODUCTNAME = xalan
-PRODUCTVERSION = ${VER}
-BINTARGETDIR = ${XALANCROOT}/bin
-
-ALL_VPATH_CPP = \
-$(XALANDOM_DIR):$(DOMSUPPORT_DIR):$(PLATFORMSUPPORT_DIR):$(XALANSOURCETREE_DIR):$(TESTXPATH_DIR):$(TESTXSLT_DIR):\
-$(XMLSUPPORT_DIR):$(XPATH_DIR):$(XPATHCAPI_DIR):$(XSLT_DIR):$(XALANEXTENSIONS_DIR):$(XALANTRANSFORMER_DIR):$(XERCESPARSERLIAISON_DIR) \
-$(XALANEXSLT_DIR)
-
-# Using ICUBridge
-ifdef XALAN_USE_ICU
-ALL_VPATH_CPP+=:$(ICUBRIDGE_DIR)
-endif
-
-#all these setting come from the arguments passed in to runConfigure.
-PLATFORM =@platform@
-CC  = @cc@
-CXX = @cxx@
-CXXFLAGS = @cxxflags@
-PREFIX = @prefix@
-
-#=============== LINUX SPECIFIC OPTIONS =========================
-
-ifeq ($(PLATFORM), LINUX)
-
-  SUPPORTED = TRUE
-  PLATFORM_COMPILE_OPTIONS = -fpic -Wall -D${PLATFORM} -D_REENTRANT
-  ALLLIBS = ${LIBS} -L/usr/lib
-  SHLIBSUFFIX=.so
-
-  # We need the ICU library if we are using the ICUBridge
-  ifdef XALAN_USE_ICU
-  LD_RPATH_PRE=	-Wl,-rpath,
-  PLATFORM_LIB_LINK_OPTIONS=$(LD_RPATH_PRE)${ICUROOT}/lib 
-  endif
-
-  EXTRA_LINK_OPTIONS=-lc
-  CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fpic
-  LINK =  g++ -D${PLATFORM} -fpic
-
-endif
-
-#=============== HPUX SPECIFIC OPTIONS =========================
-
-ifeq ($(PLATFORM), HPUX)
-
-  SUPPORTED = TRUE
-  PLATFORM_COMPILE_OPTIONS = +Z -D${PLATFORM} -D_THREAD_SAFE +DAportable
-  PLATFORM_CXX_COMPILE_OPTIONS = +p -mt -Aa
-  ALLLIBS = ${LIBS}
-  SHLIBSUFFIX=.sl
-  CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) $(PLATFORM_CXX_COMPILE_OPTIONS)
-  CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  MAKE_SHARED = $(CXX) -b +Z -Wl,+s
-  LINK = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) $(PLATFORM_CXX_COMPILE_OPTIONS) -Wl,+s
-
-endif
-
-#=============== SOLARIS SPECIFIC OPTIONS =========================
-
-ifeq ($(PLATFORM), SOLARIS)
-
-  SUPPORTED = TRUE
-
-  ifeq (${CXX}, g++)
-
-	PLATFORM_COMPILE_OPTIONS = -fPIC -instances=static -D${PLATFORM} -D_REENTRANT
-	ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
-
-	ifdef XALAN_USE_ICU
-	LD_RPATH_PRE=  -Wl,-rpath,
-	endif
-
-	EXTRA_LINK_OPTIONS=-lc
-	CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-    CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-	MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fPIC
-	LINK =  g++ -D${PLATFORM} -fPIC
-
-	ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
-
-    PLATFORM_LIB_LINK_OPTIONS=$(LD_RPATH_PRE)${ICUROOT}/lib $(LD_RPATH_PRE)${ICUI18NROOT}/lib
-
-  else
-
-	PLATFORM_COMPILE_OPTIONS = -KPIC -mt -xs -ptr$(ALL_OBJECTS_DIR) -features=rtti -D${PLATFORM} -D_REENTRANT
-
-	CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) -I${STLPORTROOT}/stlport
-    CC4 = $(CC) $(CXXFLAGS) -KPIC -mt -xs -D${PLATFORM} -D_REENTRANT
-    MAKE_SHARED = ${CXX} -D${PLATFORM} -G -ptr$(ALL_OBJECTS_DIR) ${LDFLAGS}
-    MAKE_SHARED_C = ${CC} -D${PLATFORM} -G ${LDFLAGS}
-	LINK = ${CXX} -D${PLATFORM} -ptr$(ALL_OBJECTS_DIR) ${LDFLAGS}
-
-    ALLLIBS = -mt ${LIBS} -L/usr/local/SUNWspro/lib -L/usr/ccs/lib \
-                  -lc -lgen
-  endif
-
-  SHLIBSUFFIX=.so
-
-endif
-
-#=============== AIX SPECIFIC OPTIONS =========================
-ifeq ($(PLATFORM), AIX)
-
-  SUPPORTED = TRUE
-
-  ifeq (${CXX}, g++)
-
-	PLATFORM_COMPILE_OPTIONS = -fPIC -instances=static -D${PLATFORM} -D_REENTRANT
-	ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
-
-	ifdef XALAN_USE_ICU
-	LD_RPATH_PRE=  -Wl,-rpath,
-	PLATFORM_LIB_LINK_OPTIONS=$(LD_RPATH_PRE)${ICUROOT}/lib $(LD_RPATH_PRE)${ICUI18NROOT}/lib
-	endif
-
-	EXTRA_LINK_OPTIONS=-lc
-	CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-    CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-	MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fPIC
-	LINK =  g++ -D${PLATFORM} -fPIC
-
-	ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc
-
-  else
-
-	PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -D_THREAD_SAFE
-	ALLLIBS = ${LIBS} -L/usr/lib 
-	CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) -I${STLPORTROOT}/stlport
-ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS}))
-	CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -DNDEBUG -I${STLPORTROOT}/stlport
-else
-	CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -I${STLPORTROOT}/stlport
-endif
-    CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-	MAKE_SHARED = makeC++SharedLib_r -p 5000 -brtl
-	LINK = $(CXX) -qnotempinc $(CXXFLAGS)  -brtl $(PLATFORM_COMPILE_OPTIONS)
-
-  endif
-
-  SHLIBSUFFIX=.a
-
-endif
-
-#=============== OS390 SPECIFIC OPTIONS =========================
-
-ifeq ($(PLATFORM), OS390)
-
-  SUPPORTED = TRUE
-  PLATFORM_COMPILE_OPTIONS =-Wc,dll -W0,"langlvl(extended),float(ieee),targ(osv2r8)" -D${PLATFORM} -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
-  PLATFORM_COMPILE_OPTIONS2 =-Wc,dll -W0,"langlvl(extended),notempinc,float(ieee),targ(osv2r8)" -D${PLATFORM} -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
-  ALLLIBS =
-  SHLIBSUFFIX=.dll
-  OS390SIDEDECK=.x
-
-  CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)  -I${STLPORTROOT}/stlport
-ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS}))
-  CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS2) -DNDEBUG -I${STLPORTROOT}/stlport
-else
-  CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS2) -I${STLPORTROOT}/stlport
-endif
-  CC3 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS2)  -I${STLPORTROOT}/stlport
-  CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  MAKE_SHARED = ${CXX} $(CXXFLAGS) -Wl,compat=pm3 -D${PLATFORM} -Wl,dll
-  LINK = $(CXX) -qnotempinc $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) -Wl,compat=pm3
-
-endif
-
-#============ TRU64 SPECIFIC OPTIONS ============================
-
-ifeq ($(PLATFORM), TRU64)
-
-  SUPPORTED = TRUE
-  PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -ptr ${ALL_OBJECTS_DIR}/.cxx_repository -ieee -pthread
-  ALLLIBS = ${LIBS} -L/usr/lib -lm
-  SHLIBSUFFIX = .so
-  CC1 = $(CXX) ${CXXFLAGS} $(PLATFORM_COMPILE_OPTIONS) -nocxxstd
-  CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  MAKE_SHARED = ${CXX} ${CXXFLAGS} -shared -D${PLATFORM} -ptr ${ALL_OBJECTS_DIR}/.cxx_repository -ieee -pthread -nocxxstd
-  LINK = ${CXX} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-
-endif
-
-#============ MacOSX SPECIFIC OPTIONS ============================
-
-ifeq ($(PLATFORM), MACOSX)
-
-  SUPPORTED = TRUE
-  PLATFORM_COMPILE_OPTIONS = -Wall -D${PLATFORM} -D_REENTRANT -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS
-  ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib
-  SHLIBSUFFIX=.dylib
-  CC1 = ${CXX} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  CC4 = ${CC} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-  MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -dynamiclib
-  LINK = ${CXX} $(CXXFLAGS) ${PLATFORM_COMPILE_OPTIONS}
-
-endif
-
-ifndef SUPPORTED
-  nogood:
-	  @echo Linux, Solaris, AIX, Compaq Tru64, OS/390, MacOSX, and HP-UX are the only platforms supported.
-endif
-
-# We need the Xerces library
-ifeq ($(PLATFORM), OS390)
-  ALLLIBS += $(XERCESCROOT)/lib/libxerces-c1_7_0.x
-else
-  ALLLIBS += -L$(XERCESCROOT)/lib -lxerces-c1_7_0
-endif
-
-# We need the ICU library if we are using the ICUBridge
-ifdef XALAN_USE_ICU
-  ifeq ($(PLATFORM), OS390)
-    ALLLIBS += ${ICUROOT}/lib/libicuuc.x ${ICUROOT}/lib/libicui18n.x
-  else
-    ALLLIBS += -L${ICUROOT}/lib -licuuc
-    ALLLIBS += -L${ICUI18NROOT}/lib -licui18n
-  endif
-endif
-
-
-# We want to build from both the Xerces CVS tree and the distribution, so we need
-# multiple -I directives for Xerces.
-ifdef XALAN_USE_ICU
-# We need the ICU library if we are using the ICUBridge
-  XSL_INCL = -I${ICUROOT}/include/ -I. -I$(XERCESCROOT)/src/ -I$(XERCESCROOT)/include/xercesc -I$(XERCESCROOT)/include/
-  XSL_BUILD_OPTIONS += -DXALAN_USE_ICU
-else
-  XSL_INCL = -I. -I$(XERCESCROOT)/src/ -I$(XERCESCROOT)/include/xercesc -I$(XERCESCROOT)/include/
-endif
-
-
-vpath %.cpp \
-$(ALL_VPATH_CPP)
-${ALL_OBJECTS_DIR}/%.o:%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-
-${ALL_OBJECTS_DIR}/%.o:%.hpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $(patsubst .hpp,.cpp,$<)
-
-
-ALLSOURCE = \
-	$(wildcard $(XALANDOM_DIR)/*.cpp) \
-	$(wildcard $(DOMSUPPORT_DIR)/*.cpp) \
-	$(wildcard $(PLATFORMSUPPORT_DIR)/*.cpp) \
-	$(wildcard $(XALANSOURCETREE_DIR)/*.cpp) \
-	$(wildcard $(XMLSUPPORT_DIR)/*.cpp) \
-	$(wildcard $(XPATH_DIR)/*.cpp) \
-	$(wildcard $(XPATHCAPI_DIR)/*.cpp) \
-	$(wildcard $(XSLT_DIR)/*.cpp) \
-	$(wildcard $(XALANEXTENSIONS_DIR)/*.cpp) \
-	$(wildcard $(XERCESINIT_DIR)/*.cpp) \
-	$(wildcard $(XERCESPARSERLIAISON_DIR)/*.cpp) \
-	$(wildcard $(XALANTRANSFORMER_DIR)/*.cpp) \
-	$(wildcard $(XALANEXSLT_DIR)/*.cpp) \
-
-
-# Using ICUBridge
-ifdef XALAN_USE_ICU
-ALLSOURCE += \
-	$(wildcard $(ICUBRIDGE_DIR)/*.cpp) 
-endif
-
-ALL_OBJECTS = $(addprefix $(ALL_OBJECTS_DIR)/,$(addsuffix .o,$(basename $(notdir $(ALLSOURCE)))))
-
-all:	 lib  testXSLT testXPath XalanExe
-
-prepare:
-	@echo Preparing the directory structure for a build ...
-	-${MKDIR} -p ${ALL_OBJECTS_DIR}
-	-${MKDIR} -p ${LIB_DIR}
-	-${MKDIR} -p $(BINTARGETDIR)
-
-# Create header dependencies file -- this must be run before any objects are
-# built
-depend:
-	$(MAKE) -f makedepends DEPFILE=$(DEPFILE)
-
--include $(DEPFILE)	
-
-compile:	 $(ALL_OBJECTS) 
-
-ifeq ($(PLATFORM), AIX)
-templates: ${ALL_OBJECTS_DIR}/XalanTemplate.o
-
-${ALL_OBJECTS_DIR}/XalanTemplate.o:$(XSLT_DIR)/XalanTemplate.cpp
-	$(CC2) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -o $@ $<
-else
-ifeq ($(PLATFORM), OS390)
-templates: ${ALL_OBJECTS_DIR}/XalanTemplate.o
-${ALL_OBJECTS_DIR}/XalanTemplate.o:$(XSLT_DIR)/XalanTemplate.cpp
-	$(CC2) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -o $@ $<
-endif
-endif
-
-XalanExe: lib  $(BINTARGETDIR)/Xalan
-
-ifeq ($(PLATFORM), OS390)                                                       
-$(BINTARGETDIR)/Xalan: ${ALL_OBJECTS_DIR}/XalanExe.o                          
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $^ -o $@	
-${ALL_OBJECTS_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp                       
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else                                                            
-$(BINTARGETDIR)/Xalan: ${ALL_OBJECTS_DIR}/XalanExe.o
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $^ -o $@	
-${ALL_OBJECTS_DIR}/XalanExe.o: $(XALANEXE_DIR)/XalanExe.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-testXSLT: lib  $(BINTARGETDIR)/testXSLT
-
-ifeq ($(PLATFORM), OS390)                                                       
-$(BINTARGETDIR)/testXSLT: ${ALL_OBJECTS_DIR}/process.o                          
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $^ -o $@	
-${ALL_OBJECTS_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp                       
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else                                                            
-$(BINTARGETDIR)/testXSLT: ${ALL_OBJECTS_DIR}/process.o
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $^ -o $@	
-${ALL_OBJECTS_DIR}/process.o: $(TESTXSLT_DIR)/process.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-testXPath: lib  $(BINTARGETDIR)/testXPath
-
-ifeq ($(PLATFORM), OS390)                                                       
-$(BINTARGETDIR)/testXPath: ${ALL_OBJECTS_DIR}/TestXPath.o ${ALL_OBJECTS_DIR}/NodeNameTreeWalker.o
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/TestXPath.o: $(TESTXPATH_DIR)/TestXPath.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-${ALL_OBJECTS_DIR}/NodeNameTreeWalker.o: $(TESTXPATH_DIR)/NodeNameTreeWalker.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else                                                                 
-$(BINTARGETDIR)/testXPath: ${ALL_OBJECTS_DIR}/TestXPath.o ${ALL_OBJECTS_DIR}/NodeNameTreeWalker.o
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(TESTXPATH_DIR)/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-samples : Samples
-
-tests : ThreadTest
-
-Samples: lib CompileStylesheet DocumentBuilder ExternalFunction SimpleTransform SerializeNodeSet SimpleXPathAPI SimpleXPathCAPI StreamTransform TraceListen UseStylesheetParam XalanTransform XalanTransformerCallback XPathWrapper
-
-ApacheModuleXSLT: lib ${LIB_DIR}/mod_xslt$(SHLIBSUFFIX) 
-
-${LIB_DIR}/mod_xslt$(SHLIBSUFFIX) : ${ALL_OBJECTS_DIR}/mod_xslt.o
-ifeq ($(PLATFORM), OS390)                                                       
-	$(MAKE_SHARED) $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x  $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/ApacheModuleXSLT/%.c
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I/usr/include/apache/ $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	$(MAKE_SHARED) $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/ApacheModuleXSLT/%.c
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I/usr/include/apache/ $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-CompileStylesheet: lib $(BINTARGETDIR)/CompileStylesheet
-
-$(BINTARGETDIR)/CompileStylesheet: ${ALL_OBJECTS_DIR}/CompileStylesheet.o
-ifeq ($(PLATFORM), OS390)                                                       
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/CompileStylesheet/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/CompileStylesheet/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-DocumentBuilder: lib $(BINTARGETDIR)/DocumentBuilder
-
-$(BINTARGETDIR)/DocumentBuilder: ${ALL_OBJECTS_DIR}/DocumentBuilder.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/DocumentBuilder/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/DocumentBuilder/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-ExternalFunction: lib $(BINTARGETDIR)/ExternalFunction
-
-$(BINTARGETDIR)/ExternalFunction: ${ALL_OBJECTS_DIR}/ExternalFunction.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/ExternalFunction/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/ExternalFunction/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-SerializeNodeSet: lib $(BINTARGETDIR)/SerializeNodeSet
-
-$(BINTARGETDIR)/SerializeNodeSet: ${ALL_OBJECTS_DIR}/SerializeNodeSet.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SerializeNodeSet/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SerializeNodeSet/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-SimpleTransform: lib $(BINTARGETDIR)/SimpleTransform
-
-$(BINTARGETDIR)/SimpleTransform: ${ALL_OBJECTS_DIR}/SimpleTransform.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SimpleTransform/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SimpleTransform/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-SimpleXPathAPI: lib $(BINTARGETDIR)/SimpleXPathAPI
-
-$(BINTARGETDIR)/SimpleXPathAPI: ${ALL_OBJECTS_DIR}/SimpleXPathAPI.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SimpleXPathAPI/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SimpleXPathAPI/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-SimpleXPathCAPI: lib $(BINTARGETDIR)/SimpleXPathCAPI
-
-$(BINTARGETDIR)/SimpleXPathCAPI: ${ALL_OBJECTS_DIR}/SimpleXPathCAPI.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SimpleXPathCAPI/%.c
-	$(CC4) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/SimpleXPathCAPI/%.c
-	$(CC4) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-StreamTransform: lib $(BINTARGETDIR)/StreamTransform
-
-$(BINTARGETDIR)/StreamTransform: ${ALL_OBJECTS_DIR}/StreamTransform.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/StreamTransform/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<		
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/StreamTransform/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<		
-endif
-
-TraceListen: lib $(BINTARGETDIR)/TraceListen
-
-$(BINTARGETDIR)/TraceListen: ${ALL_OBJECTS_DIR}/TraceListen.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/TraceListen/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<		
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/TraceListen/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<		
-endif
-
-UseStylesheetParam: lib $(BINTARGETDIR)/UseStylesheetParam
-
-$(BINTARGETDIR)/UseStylesheetParam: ${ALL_OBJECTS_DIR}/UseStylesheetParam.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/UseStylesheetParam/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<	
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/UseStylesheetParam/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<	
-endif
-
-XalanTransform: lib $(BINTARGETDIR)/XalanTransform
-
-$(BINTARGETDIR)/XalanTransform: ${ALL_OBJECTS_DIR}/XalanTransform.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/XalanTransform/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/XalanTransform/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-XalanTransformerCallback: lib $(BINTARGETDIR)/XalanTransformerCallback
-
-$(BINTARGETDIR)/XalanTransformerCallback: ${ALL_OBJECTS_DIR}/XalanTransformerCallback.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/XalanTransformerCallback/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/XalanTransformerCallback/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-XPathWrapper: lib $(BINTARGETDIR)/XPathWrapper
-
-$(BINTARGETDIR)/XPathWrapper: ${ALL_OBJECTS_DIR}/XPathWrapper.o ${ALL_OBJECTS_DIR}/TestDriver.o
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/XPathWrapper/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(SAMPLES_DIR)/XPathWrapper/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-Tests: lib  ThreadTest Conf
-
-ThreadTest: lib $(BINTARGETDIR)/ThreadTest
-
-$(BINTARGETDIR)/ThreadTest: ${ALL_OBJECTS_DIR}/ThreadTest.o 
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Threads/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Threads/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-Harness : lib ${ALL_OBJECTS_DIR}/XMLFileReporter.o ${ALL_OBJECTS_DIR}/FileUtility.o
-
-${ALL_OBJECTS_DIR}/FileUtility.o:
-ifeq ($(PLATFORM), OS390)
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Harness/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I$(TESTS_DIR) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Harness/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I$(TESTS_DIR) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-${ALL_OBJECTS_DIR}/XMLFileReporter.o:
-ifeq ($(PLATFORM), OS390)
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Harness/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I$(TESTS_DIR) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Harness/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I$(TESTS_DIR) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-
-Conf: Harness $(BINTARGETDIR)/Conf
-
-$(BINTARGETDIR)/Conf: ${ALL_OBJECTS_DIR}/conf.o ${ALL_OBJECTS_DIR}/FileUtility.o ${ALL_OBJECTS_DIR}/XMLFileReporter.o 
-ifeq ($(PLATFORM), OS390)
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} $(LIB_DIR)/lib$(PROJECT_NAME)$(VER).x $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Conf/%.cpp
-	$(CC3) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I$(TESTS_DIR) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-else
-	${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} ${LIBRARY_SEARCH_PATHS} \
-	${EXTRA_LINK_OPTIONS} -L$(LIB_DIR) -l$(PROJECT_NAME)$(VER) $(ALLLIBS) $(CXXFLAGS) $^ -o $@	
-${ALL_OBJECTS_DIR}/%.o:$(TESTS_DIR)/Conf/%.cpp
-	$(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I$(TESTS_DIR) $(EXTRA_COMPILE_OPTIONS) -o $@ $<
-endif
-
-lib:	prepare compile $(THISLIB)$(VER)$(SHLIBSUFFIX)
-
-$(THISLIB)$(VER)$(SHLIBSUFFIX): $(ALL_OBJECTS)
-	$(MAKE_SHARED) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) $^ -o $@ 
-ifeq ($(PLATFORM), OS390)
-	cp -p *.x  ${LIB_DIR}        
-endif                                
-
-clean:
-	rm -rf $(ALL_OBJECTS_DIR)/*
-ifeq ($(PLATFORM), TRU64)
-	rm -rf $(ALL_OBJECTS_DIR)/.cxx_repository
-	rm -rf $(XALANCROOT)/src/so_locations
-endif
-	rm -f $(THISLIB)$(VER)$(SHLIBSUFFIX)
-	rm -f $(THISLIB)$(VER).map1
-	rm -f $(BINTARGETDIR)/testXSLT
-	rm -f $(BINTARGETDIR)/testXPath
-	rm -f ${LIB_DIR}/mod_xslt$(SHLIBSUFFIX)
-	rm -f $(BINTARGETDIR)/CompileStylesheet
-	rm -f $(BINTARGETDIR)/DocumentBuilder
-	rm -f $(BINTARGETDIR)/ExternalFunction
-	rm -f $(BINTARGETDIR)/SerializeNodeSet
-	rm -f $(BINTARGETDIR)/SimpleTransform
-	rm -f $(BINTARGETDIR)/SimpleXPathAPI
-	rm -f $(BINTARGETDIR)/SimpleXPathCAPI
-	rm -f $(BINTARGETDIR)/StreamTransform
-	rm -f $(BINTARGETDIR)/ThreadTest
-	rm -f $(BINTARGETDIR)/TraceListen
-	rm -f $(BINTARGETDIR)/UseStylesheetParam
-	rm -f $(BINTARGETDIR)/Xalan
-	rm -f $(BINTARGETDIR)/XalanTransform
-	rm -f $(BINTARGETDIR)/XalanTransformerCallback
-	rm -f $(BINTARGETDIR)/XPathWrapper
diff --git a/src/PlatformSupport/ArenaAllocator.hpp b/src/PlatformSupport/ArenaAllocator.hpp
deleted file mode 100644
index 1df2472..0000000
--- a/src/PlatformSupport/ArenaAllocator.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(ARENAALLOCATOR_INCLUDE_GUARD_1357924680)
-#define ARENAALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-#include <algorithm>
-#include <vector>
-
-
-
-#include "ArenaBlock.hpp"
-
-
-
-template<class Type>
-class ArenaDeleteFunctor
-{
-public:
-
-	void
-	operator()(const Type*	theType) const
-	{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (Type*)theType;
-#else
-		delete theType;
-#endif
-	}
-};
-
-
-
-template<class ObjectType,
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-		 class ArenaBlockType>
-#else
-		 class ArenaBlockType = ArenaBlock<ObjectType> >
-#endif
-class ArenaAllocator
-{
-public:
-
-	typedef typename ArenaBlockType::size_type	size_type;
-
-	/*
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	ArenaAllocator(size_type	theBlockSize) :
-		m_blockSize(theBlockSize),
-		m_blocks()
-	{
-	}
-
-	virtual
-	~ArenaAllocator()
-	{
-		reset();
-	}
-
-	/*
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_blockSize;
-	}
-
-	/*
-	 * Set size of an ArenaBlock, that is, the number
-	 * of objects in each block.  Only affects blocks
-	 * allocated after the call.
-	 *
-	 * @param theSize The size of the block
-	 */
-	void
-	setBlockSize(size_type	theSize)
-	{
-		m_blockSize = theSize;
-	}
-
-	/*
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_blocks.size();
-	}
-
-	/*
-	 * Allocate a block of the appropriate size for an
-	 * object.  Call commitAllocation() when after
-	 * the object is successfully constructed.
-	 *
-	 * @return A pointer to a block of memory
-	 */
-	virtual ObjectType*
-	allocateBlock()
-	{
-		if (m_blocks.size() == 0 ||
-			m_blocks.back()->blockAvailable() == false)
-		{
-			m_blocks.push_back(new ArenaBlockType(m_blockSize));
-		}
-		assert(m_blocks.size() > 0 && m_blocks.back() != 0 && m_blocks.back()->blockAvailable() == true);
-
-		return m_blocks.back()->allocateBlock();
-	}
-
-	/*
-	 * Commits the allocation of the previous
-	 * allocateBlock() call.
-	 *
-	 * @param theObject A pointer to a block of memory
-	 */
-	virtual void
-	commitAllocation(ObjectType*	theObject)
-	{
-		assert(m_blocks.size() != 0 && m_blocks.back()->ownsBlock(theObject) == true);
-
-		m_blocks.back()->commitAllocation(theObject);
-		assert(m_blocks.back()->ownsObject(theObject) == true);
-	}
-
-	virtual bool
-	ownsObject(const ObjectType*	theObject) const
-	{
-		bool	fResult = false;
-
-		// Search back for a block that may have allocated the object...
-		// Note that this-> is required by template lookup rules.
-		const typename ArenaBlockListType::const_reverse_iterator	theEnd = this->m_blocks.rend();
-
-		typename ArenaBlockListType::const_reverse_iterator	i = this->m_blocks.rbegin();
-
-		while(i != theEnd)
-		{
-			assert(*i != 0);
-
-			if ((*i)->ownsObject(theObject) == true)
-			{
-				fResult = true;
-
-				break;
-			}
-			else
-			{
-				++i;
-			}
-		}
-
-		return fResult;
-	}
-
-	virtual void
-	reset()
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::for_each;
-#endif
-
-		for_each(m_blocks.begin(),
-				 m_blocks.end(),
-				 ArenaDeleteFunctor<ArenaBlockType>());
-
-		m_blocks.clear();
-	}
-
-protected:
-
-	// data members...
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<ArenaBlockType*>			ArenaBlockListType;
-#else
-	typedef std::vector<ArenaBlockType*>	ArenaBlockListType;
-#endif
-
-	size_type			m_blockSize;
-
-	ArenaBlockListType	m_blocks;
-
-private:
-
-	// Not defined...
-	ArenaAllocator(const ArenaAllocator<ObjectType, ArenaBlockType>&);
-
-	ArenaAllocator<ObjectType, ArenaBlockType>&
-	operator=(const ArenaAllocator<ObjectType, ArenaBlockType>&);
-};
-
-
-
-#endif	// !defined(ARENAALLOCATOR_INCLUDE_GUARD_1357924680)
diff --git a/src/PlatformSupport/ArenaBlock.hpp b/src/PlatformSupport/ArenaBlock.hpp
deleted file mode 100644
index d9815b6..0000000
--- a/src/PlatformSupport/ArenaBlock.hpp
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(ARENABLOCK_INCLUDE_GUARD_1357924680)
-#define ARENABLOCK_INCLUDE_GUARD_1357924680
-
-
-
-#include <algorithm>
-#include <cassert>
-#include <set>
-#include <memory>
-
-
-
-#if defined(XALAN_NO_STD_ALLOCATORS) && !defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
-#include <PlatformSupport/XalanAllocator.hpp>
-#endif
-
-
-
-#if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
-
-template <class Type>
-class ArenaBlockAllocator
-{
-public:
-
-	typedef size_t			size_type;
-	typedef ptrdiff_t		difference_type;
-	typedef Type*			pointer;
-	typedef const Type*		const_pointer;
-	typedef Type&			reference;
-	typedef const Type&		const_reference;
-	typedef Type			value_type;
-
-	ArenaBlockAllocator()
-	{
-	}
-
-	ArenaBlockAllocator(const ArenaBlockAllocator<Type>&)
-	{
-	};
-
-	~ArenaBlockAllocator()
-	{
-	}
-
-	pointer
-	allocate(
-			size_type		size,
-			const void*		/* hint */ = 0)
-	{
-		return (pointer)operator new(size * sizeof(Type));
-	}
-
-	void
-	deallocate(
-				pointer		p,
-				size_type	/* n */)
-	{
-		operator delete(p);
-	}
-};
-#endif
-
-
-
-template<class ObjectType>
-class ArenaBlockDestroy
-{
-public:
-
-	void
-	operator()(ObjectType&	theObject) const
-	{
-#if defined(XALAN_EXPLICIT_SCOPE_IN_TEMPLATE_BUG)
-		theObject.~ObjectType();
-#else
-		theObject.ObjectType::~ObjectType();
-#endif
-	}
-};
-
-
-
-template<class ObjectType>
-class ArenaBlock
-{
-public:
-
-#if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
-	typedef ArenaBlockAllocator<ObjectType>		AllocatorType;
-#elif defined(XALAN_NO_STD_ALLOCATORS)
-	typedef XalanAllocator<ObjectType>			AllocatorType;
-#else
-	typedef std::allocator<ObjectType>			AllocatorType;
-#endif
-
-	typedef ArenaBlockDestroy<ObjectType>		DestroyFunctionType;
-
-	typedef typename AllocatorType::size_type	size_type;
-
-	/*
-	 * Construct an ArenaBlock of the specified size
-	 * of objects.
-	 *
-	 * @param theBlockSize The size of the block (the number of objects it can contain).
-	 */
-	ArenaBlock(size_type	theBlockSize) :
-		m_destroyFunction(DestroyFunctionType()),
-		m_objectCount(0),
-		m_blockSize(theBlockSize),
-		m_objectBlock(0),
-		m_allocator()
-	{
-		assert(theBlockSize > 0);
-	}
-
-	virtual 
-	~ArenaBlock()
-	{
-		destroyAll();
-
-		// Release the memory...
-		m_allocator.deallocate(m_objectBlock, m_blockSize);
-	}
-
-	/*
-	 * Allocate a block.  Once the object is constructed, you must call
-	 * commitAllocation().
-	 *
-	 * @return a pointer to the new block.
-	 */
-	virtual ObjectType*
-	allocateBlock()
-	{
-		// Any space left?
-		if (m_objectCount == m_blockSize)
-		{
-			return 0;
-		}
-		else
-		{
-			// If no memory has yet been allocated, then allocate it...
-			if (m_objectBlock == 0)
-			{
-#if defined(XALAN_NEW_STD_ALLOCATOR)
-				m_objectBlock = m_allocator.allocate(m_blockSize);
-#else
-				m_objectBlock = m_allocator.allocate(m_blockSize, 0);
-#endif
-			}
-			assert(m_objectBlock != 0);
-
-			return m_objectBlock + m_objectCount;
-		}
-	}
-
-	/*
-	 * Commit the previous allocation.
-	 *
-	 * @param theBlock the address that was returned by allocateBlock()
-	 */
-	virtual void
-#if defined (NDEBUG)
-	commitAllocation(ObjectType*	/* theBlock */)
-#else
-	commitAllocation(ObjectType*	theBlock)
-#endif
-	{
-		assert(theBlock == m_objectBlock + m_objectCount);
-		assert(m_objectCount < m_blockSize);
-
-		m_objectCount++;
-	}
-
-	/*
-	 * Find out if there is a block available.
-	 *
-	 * @return true if one is available, false if not.
-	 */
-	virtual bool
-	blockAvailable() const
-	{
-		return m_objectCount < m_blockSize ? true : false;
-	}
-
-	/*
-	 * Get the number of objects currently allocated in the
-	 * block.
-	 *
-	 * @return The number of objects allocated.
-	 */
-	virtual size_type
-	getCountAllocated() const
-	{
-		return m_objectCount;
-	}
-
-	/*
-	 * Get the block size, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_blockSize;
-	}
-
-	/*
-	 * Determine if this block owns the specified object.  Note
-	 * that even if the object address is within our block, this
-	 * call will return false if no object currently occupies the
-	 * block.  See also ownsBlock().
-	 *
-	 * @param theObject the address of the object.
-	 * @return true if we own the object, false if not.
-	 */
-	virtual bool
-	ownsObject(const ObjectType*	theObject) const
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::less;
-#endif
-
-		// Use less<>, since it's guaranteed to do pointer
-		// comparisons correctly...
-		less<const ObjectType*>		functor;
-
-		if (functor(theObject, m_objectBlock) == false &&
-			functor(theObject, m_objectBlock + m_objectCount) == true)
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-
-	/*
-	 * Determine if this block owns the specified object block.
-	 * Note that, unlike ownsObject(), there does not need to
-	 * be an object at the address.
-	 *
-	 * @param theObject the address of the object
-	 * @return true if we own the object block, false if not.
-	 */
-	bool
-	ownsBlock(const ObjectType*		theObject) const
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::less;
-#endif
-
-		// Use less<>, since it's guaranteed to do pointer
-		// comparisons correctly...
-		less<const ObjectType*>		functor;
-
-		if (functor(theObject, m_objectBlock) == false &&
-			functor(theObject, m_objectBlock + m_blockSize) == true)
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-
-	/*
-	 * Destroy all objects in the block.  You can then reuse the
-	 * block.
-	 */
-	void
-	destroyAll()
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::for_each;
-#endif
-
-		// Destroy all existing objects...
-		for_each(m_objectBlock,
-				 m_objectBlock + m_objectCount,
-				 DeleteFunctor(*this, m_destroyFunction));
-
-		m_objectCount = 0;
-	}
-
-protected:
-
-	/*
-	 * Determine if the block should be destroyed.  Called by
-	 * an instance of DeleteFunctor, this function is for
-	 * deriving classes that might want to control the destruction
-	 * of things.
-	 *
-	 * @param theObject the address of the object
-	 * @return true if block should be destroyed, false if not.
-	 */
-	virtual bool
-	shouldDestroyBlock(const ObjectType*	/* theObject */) const
-	{
-		return true;
-	}
-
-	/*
-	 * Determine the offset into the block for the given address.
-	 * Behavior is undefined if the address is not within our
-	 * block
-	 *
-	 * @param theObject the address of the object
-	 * @return the offset
-	 */
-	size_type
-	getBlockOffset(const ObjectType*	theObject) const
-	{
-		assert(size_type(theObject - m_objectBlock) < m_blockSize);
-
-		return theObject - m_objectBlock;
-	}
-
-	/*
-	 * Determine the address within our block of the object
-	 * at the specified offset.
-	 * Behavior is undefined if the offset is greater than the
-	 * block size.
-	 *
-	 * @param theObject the address of the object
-	 * @return the offset
-	 */
-	ObjectType*
-	getBlockAddress(size_type	theOffset) const
-	{
-		assert(theOffset < m_blockSize);
-
-		return m_objectBlock + theOffset;
-	}
-
-	struct DeleteFunctor
-	{
-		DeleteFunctor(
-				const ArenaBlock<ObjectType>&	theArenaBlock,
-				const DestroyFunctionType&		theDestroyFunction) :
-			m_arenaBlock(theArenaBlock),
-			m_destroyFunction(theDestroyFunction)
-		{
-		}
-
-		void
-		operator()(ObjectType&	theObject) const
-		{
-			if (m_arenaBlock.shouldDestroyBlock(&theObject) == true)
-			{
-				m_destroyFunction(theObject);
-			}
-		}
-
-	private:
-
-		const ArenaBlock<ObjectType>&	m_arenaBlock;
-		const DestroyFunctionType&		m_destroyFunction;
-	};
-
-	friend struct DeleteFunctor;
-
-	const DestroyFunctionType	m_destroyFunction;
-
-private:
-
-	// Not implemented...
-	ArenaBlock(const ArenaBlock<ObjectType>&);
-
-	ArenaBlock<ObjectType>&
-	operator=(const ArenaBlock<ObjectType>&);
-
-	bool
-	operator==(const ArenaBlock<ObjectType>&) const;
-
-
-	// data members...
-	size_type			m_objectCount;
-
-	const size_type		m_blockSize;
-
-	ObjectType*			m_objectBlock;
-
-	AllocatorType		m_allocator;
-};
-
-
-
-#endif	// !defined(ARENABLOCK_INCLUDE_GUARD_1357924680)
diff --git a/src/PlatformSupport/AttributeListImpl.cpp b/src/PlatformSupport/AttributeListImpl.cpp
deleted file mode 100644
index 891cc8b..0000000
--- a/src/PlatformSupport/AttributeListImpl.cpp
+++ /dev/null
@@ -1,516 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "AttributeListImpl.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-#include <Include/STLHelper.hpp>
-
-
-
-#include "AttributeVectorEntry.hpp"
-
-
-
-AttributeListImpl::AttributeListImpl() :
-	AttributeList(),
-	m_AttributeVector(),
-	m_cacheVector()
-{
-}
-
-
-
-AttributeListImpl::~AttributeListImpl()
-{
-	// Clean up everything...
-	clear();
-
-	assert(m_AttributeVector.empty() == true);
-
-	deleteEntries(m_cacheVector);
-}
-
-
-
-AttributeListImpl::AttributeListImpl(const AttributeListImpl&	theSource) :
-	AttributeList(),
-	m_AttributeVector()
-{
-	// Use the assignment operator to do the dirty work...
-	*this = theSource;
-
-	assert(getLength() == theSource.getLength());
-}
-
-
-
-AttributeListImpl::AttributeListImpl(const AttributeList&	theSource) :
-	AttributeList(),
-	m_AttributeVector()
-{
-	// Use the assignment operator to do the dirty work...
-	*this = theSource;
-
-	assert(getLength() == theSource.getLength());
-}
-
-
-
-void
-AttributeListImpl::deleteEntries(AttributeVectorType&	theVector)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Delete all of the objects in the vector.
-	for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<AttributeVectorEntry>());
-}
-
-
-
-AttributeListImpl&
-AttributeListImpl::operator=(const AttributeListImpl&	theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Note that we can't chain up to our base class operator=()
-		// because it's private.
-
-		// Some temporary structures to hold everything
-		// until we're done.
-		AttributeVectorType		tempVector;
-
-		const unsigned int	theLength = theRHS.getLength();
-
-		if (theLength > 0)
-		{
-			// Reserve the appropriate capacity right now...
-			tempVector.reserve(theLength);
-
-			// This will delete everything in tempVector when we're done...
-			CollectionDeleteGuard<AttributeVectorType,
-								  DeleteFunctor<AttributeVectorEntry> >		theGuard(tempVector);
-
-			typedef AttributeVectorType::const_iterator		const_iterator;
-
-			const const_iterator	theEnd = theRHS.m_AttributeVector.end();
-
-			// Copy the vector entries, and build the index map...
-			for(const_iterator i = theRHS.m_AttributeVector.begin(); i != theEnd; ++i)
-			{
-				AttributeVectorEntry* const		theEntry = *i;
-
-				assert(theEntry != 0);
-
-				// Add the item...
-				tempVector.push_back(
-					getNewEntry(
-						&*theEntry->m_Name.begin(),
-						&*theEntry->m_Type.begin(),
-						&*theEntry->m_Value.begin()));
-			}
-
-			// OK, we're safe, so swap the contents of the
-			// containers.  This is guaranteed not to throw.
-			m_AttributeVector.swap(tempVector);
-		}
-
-		assert(getLength() == theLength);
-	}
-
-	return *this;
-}
-
-
-
-AttributeListImpl&
-AttributeListImpl::operator=(const AttributeList&	theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Note that we can't chain up to our base class operator=()
-		// because it's private.
-
-		// Add all of the attributes to this temp list,
-		// then swap at the end.  This means we're exception
-		// safe and don't need any try blocks.
-		AttributeListImpl	theTempList;
-
-		const unsigned int	theLength = theRHS.getLength();
-
-		theTempList.reserve(theLength);
-
-		// Add each attribute.
-		for(unsigned int i = 0; i < theLength; i++)
-		{
-			theTempList.addAttribute(
-					theRHS.getName(i),
-					theRHS.getType(i),
-					theRHS.getValue(i));
-		}
-
-		// Now that the temp list is built, swap everything. This is
-		// guaranteed not to throw.
-		swap(theTempList);
-	}
-
-	return *this;
-}
-
-
-
-unsigned int
-AttributeListImpl::getLength() const
-{
-	// Make sure the mismatch between Xerces and vector<> doesn't cause a problem...
-	assert(m_AttributeVector.size() == unsigned(m_AttributeVector.size()));
-
-	return unsigned(m_AttributeVector.size());
-}
-
-
-
-const XMLCh*
-AttributeListImpl::getName(const unsigned int index) const
-{
-	assert(index < getLength());
-
-	return &*m_AttributeVector[index]->m_Name.begin();
-}
-
-
-
-const XMLCh*
-AttributeListImpl::getType(const unsigned int index) const
-{
-	assert(index < getLength());
-
-	return &*m_AttributeVector[index]->m_Type.begin();
-}
-
-
-
-const XMLCh*
-AttributeListImpl::getValue(const unsigned int index) const
-{
-	assert(index < getLength());
-
-	return &*m_AttributeVector[index]->m_Value.begin();
-}
-
-
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-bool
-AttributeListImpl::NameCompareFunctor::operator()(const AttributeVectorEntry*	theEntry) const
-{
-	return equals(&*theEntry->m_Name.begin(), m_name);
-}
-#else
-struct NameCompareFunctor
-{
-	NameCompareFunctor(const XMLCh*		theName) :
-		m_name(theName)
-	{
-	}
-
-	bool
-	operator()(const AttributeVectorEntry*	theEntry) const
-	{
-		return equals(&*theEntry->m_Name.begin(), m_name);
-	}
-
-private:
-
-	const XMLCh* const	m_name;
-};
-#endif
-
-
-
-const XMLCh*
-AttributeListImpl::getType(const XMLCh* const name) const
-{
-	assert(name != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	const AttributeVectorType::const_iterator	i =
-		find_if(
-			m_AttributeVector.begin(),
-			m_AttributeVector.end(),
-			NameCompareFunctor(name));
-
-	if (i != m_AttributeVector.end())
-	{
-		// Found it, so return a pointer to the type.
-		return &*(*i)->m_Type.begin();
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-const XMLCh*
-AttributeListImpl::getValue(const char* const name) const
-{
-	return getValue(&*MakeXalanDOMCharVector(name).begin());
-}
-
-
-
-const XMLCh*
-AttributeListImpl::getValue(const XMLCh* const name) const
-{
-	assert(name != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	const AttributeVectorType::const_iterator	i =
-		find_if(
-			m_AttributeVector.begin(),
-			m_AttributeVector.end(),
-			NameCompareFunctor(name));
-
-	if (i != m_AttributeVector.end())
-	{
-		// Found it, so return a pointer to the value.
-		return &*(*i)->m_Value.begin();
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-void
-AttributeListImpl::clear()
-{
-	m_cacheVector.insert(m_cacheVector.end(), m_AttributeVector.begin(), m_AttributeVector.end());
-
-	// Clear everything out.
-	m_AttributeVector.clear();
-}
-
-
-
-bool
-AttributeListImpl::addAttribute(
-			const XMLCh*	name,
-			const XMLCh*	type,
-			const XMLCh*	value)
-{
-	assert(name != 0);
-	assert(type != 0);
-	assert(value != 0);
-
-	bool	fResult = false;
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-	using std::copy;
-#endif
-
-	typedef AttributeVectorEntry::XMLChVectorType	XMLChVectorType;
-
-	// Update the attribute, if it's already there...
-	const AttributeVectorType::const_iterator	i =
-		find_if(
-			m_AttributeVector.begin(),
-			m_AttributeVector.end(),
-			NameCompareFunctor(name));
-
-	if (i != m_AttributeVector.end())
-	{
-		// This is a special optimization for type, since it's (almost) always "CDATA".
-		if (equals(type, &*(*i)->m_Type.begin()) == false)
-		{
-			// If necessary, create the a new vector and swap them.  Otherwise,
-			// just copy the new data in.
-			const XMLCh* const	theNewTypeEnd = AttributeVectorEntry::endArray(type) + 1;
-
-			if ((*i)->m_Type.capacity() < XMLChVectorType::size_type(theNewTypeEnd - type))
-			{
-				XMLChVectorType		theNewType(type, theNewTypeEnd);
-
-				theNewType.swap((*i)->m_Type);
-			}
-			else
-			{
-				copy(type, theNewTypeEnd, (*i)->m_Type.begin());
-			}
-		}
-
-		const XMLCh* const	theNewValueEnd = AttributeVectorEntry::endArray(value) + 1;
-
-		// If necessary, create the a new vector and swap them.  Otherwise,
-		// just copy the new data in.
-		if ((*i)->m_Value.capacity() < XMLChVectorType::size_type(theNewValueEnd - value))
-		{
-			XMLChVectorType		theNewValue(value, theNewValueEnd);
-
-			theNewValue.swap((*i)->m_Value); 
-		}
-		else
-		{
-			copy(value, theNewValueEnd, (*i)->m_Value.begin());
-		}
-	}
-	else
-	{
-		if (m_AttributeVector.capacity() == 0)
-		{
-			m_AttributeVector.reserve(eDefaultVectorSize);
-		}
-
-		XalanAutoPtr<AttributeVectorEntry>	theEntry(getNewEntry(name, type, value));
-
-		// Add the new one.
-		m_AttributeVector.push_back(theEntry.get());
-
-		// The entry is now safely in the vector, so release the
-		// XalanAutoPtr...
-		theEntry.release();
-
-		fResult = true;
-	}
-
-	return fResult;
-}
-
-
-
-AttributeVectorEntry*
-AttributeListImpl::getNewEntry(
-			const XMLCh*	name,
-			const XMLCh*	type,
-			const XMLCh*	value)
-{
-	if (m_cacheVector.size() == 0)
-	{
-		return new AttributeVectorEntry(name, value, type);
-	}
-	else
-	{
-		AttributeVectorEntry* const		theEntry =
-			m_cacheVector.back();
-
-		theEntry->clear();
-
-		assert(theEntry->m_Name.size() == 0 && theEntry->m_Value.size() == 0 && theEntry->m_Type.size() == 0);
-
-		theEntry->m_Name.insert(theEntry->m_Name.begin(), name, AttributeVectorEntry::endArray(name) + 1);
-		theEntry->m_Value.insert(theEntry->m_Value.begin(), value, AttributeVectorEntry::endArray(value) + 1);
-		theEntry->m_Type.insert(theEntry->m_Type.begin(), type, AttributeVectorEntry::endArray(type) + 1);
-
-		m_cacheVector.pop_back();
-
-		return theEntry;
-	}
-}
-
-
-
-bool
-AttributeListImpl::removeAttribute(const XMLCh*		name)
-{
-	assert(name != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	bool	fResult = false;
-
-	// Update the attribute, if it's already there...
-	const AttributeVectorType::iterator		i =
-		find_if(
-			m_AttributeVector.begin(),
-			m_AttributeVector.end(),
-			NameCompareFunctor(name));
-
-	if (i != m_AttributeVector.end())
-	{
-		m_cacheVector.push_back(*i);
-
-		m_AttributeVector.erase(i);
-
-		fResult = true;
-	}
-
-	return fResult;
-}
diff --git a/src/PlatformSupport/AttributeListImpl.hpp b/src/PlatformSupport/AttributeListImpl.hpp
deleted file mode 100644
index db8e821..0000000
--- a/src/PlatformSupport/AttributeListImpl.hpp
+++ /dev/null
@@ -1,228 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ATTRIBUTELISTIMPL_HEADER_GUARD_1357924680)
-#define ATTRIBUTELISTIMPL_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-class AttributeVectorEntry;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT AttributeListImpl : public AttributeList
-{
-public:
-
-	explicit
-	AttributeListImpl();
-
-	virtual
-	~AttributeListImpl();
-
-    AttributeListImpl(const AttributeListImpl&	theSource);
-
-    AttributeListImpl(const AttributeList&	theSource);
-
-    AttributeListImpl&
-	operator=(const AttributeListImpl&	theRHS);
-
-	AttributeListImpl&
-	operator=(const AttributeList&	theRHS);
-
-	// These are inherited from AttributeList
-    virtual unsigned int
-	getLength() const;
-
-    virtual const XMLCh*
-	getName(const unsigned int index) const;
-
-    virtual const XMLCh*
-	getType(const unsigned int index) const;
-
-    virtual const XMLCh*
-	getValue(const unsigned int index) const;
-
-    virtual const XMLCh*
-	getType(const XMLCh* const name) const;
-
-    virtual const XMLCh*
-	getValue(const XMLCh* const name) const;
-
-	virtual const XMLCh*
-	getValue(const char* const name) const;
-
-	// The mutators are new to this class.
-
-	/**
-	 * Remove all attributes from the list
-	 */
-	virtual void
-	clear();
-
-	/**
-	 * Adds an attribute to the attribute list
-	 *
-	 * @param  name   attribute name
-	 * @param type   attribute type, "CDATA," for example
-	 * @param value  attribute value
-	 */
-	virtual bool
-	addAttribute(
-			const XMLCh*	name,
-			const XMLCh*	type,
-			const XMLCh*	value);
-
-	/**
-	 * Removes an attribute from the attribute list
-	 *
-	 * @param  name   attribute name
-	 */
-	virtual bool
-	removeAttribute(const XMLCh*	name);
-
-	/**
-	 * Swap the contents of two instances.  This must _never_
-	 * throw an exception.
-	 *
-	 * @param thOther The instance with which to swap.
-	 */
-	void
-	swap(AttributeListImpl&		theOther)
-	{
-		m_AttributeVector.swap(theOther.m_AttributeVector);
-	}
-
-	/**
-	 * Reserve room for the given number of
-	 * attributes.
-	 *
-	 * @param theCount The number to reserve
-	 */
-	void
-	reserve(unsigned int	theCount)
-	{
-		m_AttributeVector.reserve(theCount);
-	}
-
-#if defined(XALAN_NO_NAMESPACES)
-	// This vector will hold the entries.
-	typedef vector<AttributeVectorEntry*>			AttributeVectorType;
-#else
-	// This vector will hold the entries.
-	typedef std::vector<AttributeVectorEntry*>		AttributeVectorType;
-#endif
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-	struct NameCompareFunctor
-	{
-		NameCompareFunctor(const XMLCh*		theName) :
-			m_name(theName)
-		{
-		}
-
-		bool
-		operator()(const AttributeVectorEntry*	theEntry) const;
-
-	private:
-
-		const XMLCh* const	m_name;
-	};
-#endif
-
-private:
-
-	// This is not implemented.
-    bool
-	operator==(const AttributeListImpl&) const;
-
-	// Default vector allocation size.
-	enum
-	{
-		eDefaultVectorSize = 5
-	};
-
-	AttributeVectorEntry*
-	getNewEntry(
-			const XMLCh*	name,
-			const XMLCh*	type,
-			const XMLCh*	value);
-
-	// Helper function to delete entries...
-	static void
-	deleteEntries(AttributeVectorType&	theVector);
-
-	AttributeVectorType		m_AttributeVector;
-
-	AttributeVectorType		m_cacheVector;
-};
-
-
-
-#endif	// ATTRIBUTELISTIMPL_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/AttributeVectorEntry.hpp b/src/PlatformSupport/AttributeVectorEntry.hpp
deleted file mode 100644
index 3de4d34..0000000
--- a/src/PlatformSupport/AttributeVectorEntry.hpp
+++ /dev/null
@@ -1,147 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680)
-#define ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT AttributeVectorEntry
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XMLCh>		XMLChVectorType;
-#else
-	typedef std::vector<XMLCh>	XMLChVectorType;
-#endif
-
-	AttributeVectorEntry(
-			const XMLChVectorType&	theName,
-			const XMLChVectorType&	theValue,
-			const XMLChVectorType&	theType) :
-		m_Name(theName),
-		m_Value(theValue),
-		m_Type(theType)
-	{
-	}
-
-	AttributeVectorEntry(
-			const XMLCh*	theName,
-			const XMLCh*	theValue,
-			const XMLCh*	theType) :
-		m_Name(theName, theName + length(theName) + 1),
-		m_Value(theValue, theValue + length(theValue) + 1),
-		m_Type(theType, theType + length(theType) + 1)
-	{
-	}
-
-	AttributeVectorEntry() :
-		m_Name(),
-		m_Value(),
-		m_Type()
-	{
-	}
-
-    virtual
-	~AttributeVectorEntry()
-	{
-	}
-
-	void
-	clear()
-	{
-		m_Name.clear();
-		m_Value.clear();
-		m_Type.clear();
-	}
-
-	XMLChVectorType		m_Name;
-	XMLChVectorType		m_Value;
-	XMLChVectorType		m_Type;
-
-	// A convenience function to find the length of a null-terminated
-	// array of XMLChs
-	static const XMLCh*
-	endArray(const XMLCh*	data)
-	{
-		assert(data != 0);
-
-		while(*data)
-		{
-			++data;
-		}
-
-		return data;
-	}
-};
-
-
-
-#endif	// ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/AttributeVectorEntryExtended.hpp b/src/PlatformSupport/AttributeVectorEntryExtended.hpp
deleted file mode 100644
index a3d73cb..0000000
--- a/src/PlatformSupport/AttributeVectorEntryExtended.hpp
+++ /dev/null
@@ -1,136 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ATTRIBUTEVECTORENTRYEXTENDED_HEADER_GUARD_1357924680)
-#define ATTRIBUTEVECTORENTRYEXTENDED_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/AttributeVectorEntry.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT AttributeVectorEntryExtended : public AttributeVectorEntry
-{
-public:
-
-	AttributeVectorEntryExtended(
-			const XMLChVectorType&	theName,
-			const XMLChVectorType&	theValue,
-			const XMLChVectorType&	theType,
-			const XMLChVectorType&	theURI = XMLChVectorType(),
-			const XMLChVectorType&	theLocalName = XMLChVectorType()) :
-		AttributeVectorEntry(theName, theValue, theType),
-		m_uri(theURI),
-		m_localName(theLocalName)
-	{
-	}
-
-	AttributeVectorEntryExtended(
-			const XMLCh*	theName,
-			const XMLCh*	theValue,
-			const XMLCh*	theType,
-			const XMLCh*	theURI,
-			const XMLCh*	theLocalName) :
-		AttributeVectorEntry(theName, theValue, theType),
-		m_uri(theURI, theURI + length(theURI) + 1),
-		m_localName(theLocalName, theLocalName + length(theLocalName) + 1)
-	{
-	}
-
-	AttributeVectorEntryExtended(
-			const XMLCh*	theName,
-			const XMLCh*	theValue,
-			const XMLCh*	theType) :
-		AttributeVectorEntry(theName, theValue, theType),
-		m_uri(),
-		m_localName()
-	{
-	}
-
-	AttributeVectorEntryExtended() :
-		AttributeVectorEntry(),
-		m_uri(),
-		m_localName()
-	{
-	}
-
-    virtual
-	~AttributeVectorEntryExtended()
-	{
-	}
-
-	void
-	clear()
-	{
-		AttributeVectorEntry::clear();
-
-		m_uri.clear();
-		m_localName.clear();
-	}
-
-	XMLChVectorType		m_uri;
-	XMLChVectorType		m_localName;
-};
-
-
-
-#endif	// ATTRIBUTEVECTORENTRY_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/AttributesImpl.cpp b/src/PlatformSupport/AttributesImpl.cpp
deleted file mode 100644
index cb4b791..0000000
--- a/src/PlatformSupport/AttributesImpl.cpp
+++ /dev/null
@@ -1,597 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "AttributesImpl.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-#include <Include/STLHelper.hpp>
-
-
-
-#include "AttributeVectorEntryExtended.hpp"
-
-
-
-AttributesImpl::AttributesImpl() :
-	Attributes(),
-	m_attributesVector(),
-	m_cacheVector()
-{
-}
-
-
-
-AttributesImpl::~AttributesImpl()
-{
-	// Clean up everything...
-	clear();
-
-	assert(m_attributesVector.empty() == true);
-
-	deleteEntries(m_cacheVector);
-}
-
-
-
-AttributesImpl::AttributesImpl(const AttributesImpl&	theSource) :
-	Attributes(),
-	m_attributesVector()
-{
-	// Use the assignment operator to do the dirty work...
-	*this = theSource;
-
-	assert(getLength() == theSource.getLength());
-}
-
-
-
-AttributesImpl::AttributesImpl(const Attributes&	theSource) :
-	Attributes(),
-	m_attributesVector()
-{
-	// Use the assignment operator to do the dirty work...
-	*this = theSource;
-
-	assert(getLength() == theSource.getLength());
-}
-
-
-
-void
-AttributesImpl::deleteEntries(AttributesVectorType&	theVector)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Delete all of the objects in the vector.
-	for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<AttributeVectorEntryExtended>());
-}
-
-
-
-AttributesImpl&
-AttributesImpl::operator=(const AttributesImpl&		theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Note that we can't chain up to our base class operator=()
-		// because it's private.
-
-		// Some temporary structures to hold everything
-		// until we're done.
-		AttributesVectorType		tempVector;
-
-		const unsigned int	theLength = theRHS.getLength();
-
-		if (theLength > 0)
-		{
-			// Reserve the appropriate capacity right now...
-			tempVector.reserve(theLength);
-
-			// This will delete everything in tempVector when we're done...
-			CollectionDeleteGuard<AttributesVectorType,
-								  DeleteFunctor<AttributeVectorEntryExtended> >		theGuard(tempVector);
-
-			typedef AttributesVectorType::const_iterator		const_iterator;
-
-			const const_iterator	theEnd = theRHS.m_attributesVector.end();
-
-			// Copy the vector entries, and build the index map...
-			for(const_iterator i = theRHS.m_attributesVector.begin(); i != theEnd; ++i)
-			{
-				AttributeVectorEntryExtended* const		theEntry = *i;
-
-				assert(theEntry != 0);
-
-				// Add the item...
-				tempVector.push_back(
-					getNewEntry(
-						&*theEntry->m_Name.begin(),
-						&*theEntry->m_Type.begin(),
-						&*theEntry->m_Value.begin(),
-						&*theEntry->m_uri.begin(),
-						&*theEntry->m_localName.begin()));
-			}
-
-			// OK, we're safe, so swap the contents of the
-			// containers.  This is guaranteed not to throw.
-			m_attributesVector.swap(tempVector);
-		}
-
-		assert(getLength() == theLength);
-	}
-
-	return *this;
-}
-
-
-
-AttributesImpl&
-AttributesImpl::operator=(const Attributes&		theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Note that we can't chain up to our base class operator=()
-		// because it's private.
-
-		// Add all of the attributes to this temp list,
-		// then swap at the end.  This means we're exception
-		// safe and don't need any try blocks.
-		AttributesImpl	theTempList;
-
-		const unsigned int	theLength = theRHS.getLength();
-
-		theTempList.reserve(theLength);
-
-		// Add each attribute.
-		for(unsigned int i = 0; i < theLength; i++)
-		{
-			theTempList.addAttribute(
-					theRHS.getQName(i),
-					theRHS.getType(i),
-					theRHS.getValue(i),
-					theRHS.getURI(i),
-					theRHS.getLocalName(i));
-		}
-
-		// Now that the temp list is built, swap everything. This is
-		// guaranteed not to throw.
-		swap(theTempList);
-	}
-
-	return *this;
-}
-
-
-
-unsigned int
-AttributesImpl::getLength() const
-{
-	return unsigned(m_attributesVector.size());
-}
-
-
-
-const XMLCh*
-AttributesImpl::getURI(const unsigned int index) const
-{
-	assert(index < getLength());
-
-	return &*m_attributesVector[index]->m_uri.begin();
-}
-
-
-
-const XMLCh*
-AttributesImpl::getLocalName(const unsigned int index) const
-{
-	assert(index < getLength());
-
-	return &*m_attributesVector[index]->m_localName.begin();
-}
-
-
-
-const XMLCh*
-AttributesImpl::getQName(const unsigned int		index) const
-{
-	assert(index < getLength());
-
-	return &*m_attributesVector[index]->m_Name.begin();
-}
-
-
-
-const XMLCh*
-AttributesImpl::getType(const unsigned int	index) const
-{
-	assert(index < getLength());
-
-	return &*m_attributesVector[index]->m_Type.begin();
-}
-
-
-
-const XMLCh*
-AttributesImpl::getValue(const unsigned int		index) const
-{
-	assert(index < getLength());
-
-	return &*m_attributesVector[index]->m_Value.begin();
-}
-
-
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-bool
-AttributesImpl::NameCompareFunctor::operator()(const AttributeVectorEntryExtended*	theEntry) const
-{
-	return equals(&*theEntry->m_Name.begin(), m_qname);
-}
-
-bool
-AttributesImpl::URIAndLocalNameCompareFunctor::operator()(const AttributeVectorEntryExtended*	theEntry) const
-{
-	return equals(&*theEntry->m_uri.begin(), m_uri) && equals(&*theEntry->m_localName.begin(), m_localName) ;
-}
-#else
-struct NameCompareFunctor
-{
-	NameCompareFunctor(const XMLCh*		theQName) :
-		m_qname(theQName)
-	{
-	}
-
-	bool
-	operator()(const AttributeVectorEntryExtended*	theEntry) const
-	{
-		return equals(&*theEntry->m_Name.begin(), m_qname);
-	}
-
-private:
-
-	const XMLCh* const	m_qname;
-};
-
-
-
-struct URIAndLocalNameCompareFunctor
-{
-	URIAndLocalNameCompareFunctor(
-			const XMLCh*	theURI,
-			const XMLCh*	theLocalName) :
-		m_uri(theURI),
-		m_localName(theLocalName)
-	{
-	}
-
-	bool
-	operator()(const AttributeVectorEntryExtended*	theEntry) const
-	{
-		return equals(&*theEntry->m_uri.begin(), m_uri) && equals(&*theEntry->m_localName.begin(), m_localName) ;
-	}
-
-private:
-
-	const XMLCh* const	m_uri;
-	const XMLCh* const	m_localName;
-};
-#endif
-
-
-
-const XMLCh*
-AttributesImpl::getType(const XMLCh* const	qname) const
-{
-	const int	theIndex = getIndex(qname);
-
-	if (theIndex == -1)
-	{
-		return 0;
-	}
-	else
-	{
-		return getType(theIndex);
-	}
-}
-
-
-
-const XMLCh*
-AttributesImpl::getValue(const XMLCh* const		qname) const
-{
-	const int	theIndex = getIndex(qname);
-
-	if (theIndex == -1)
-	{
-		return 0;
-	}
-	else
-	{
-		return getValue(theIndex);
-	}
-}
-
-
-
-const XMLCh*
-AttributesImpl::getType(
-			const XMLCh* const	uri,
-			const XMLCh* const	localName) const
-{
-	const int	theIndex = getIndex(uri, localName);
-
-	if (theIndex == -1)
-	{
-		return 0;
-	}
-	else
-	{
-		return getType(theIndex);
-	}
-}
-
-
-
-const XMLCh*
-AttributesImpl::getValue(
-			const XMLCh* const	uri,
-			const XMLCh* const	localName) const
-{
-	const int	theIndex = getIndex(uri, localName);
-
-	if (theIndex == -1)
-	{
-		return 0;
-	}
-	else
-	{
-		return getValue(theIndex);
-	}
-}
-
-
-
-int
-AttributesImpl::getIndex(
-			const XMLCh* const	uri,
-			const XMLCh* const	localName) const
-{
-	assert(uri != 0 && localName != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	const AttributesVectorType::const_iterator	i =
-		find_if(
-			m_attributesVector.begin(),
-			m_attributesVector.end(),
-			URIAndLocalNameCompareFunctor(uri, localName));
-
-	if (i != m_attributesVector.end())
-	{
-		// Found it, so return the index, which is the difference between
-		// begin() and i.
-		return int(i - m_attributesVector.begin());
-	}
-	else
-	{
-		return -1;
-	}
-}
-
-
-
-int
-AttributesImpl::getIndex(const XMLCh* const		qname) const
-{
-	assert(qname != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	const AttributesVectorType::const_iterator	i =
-		find_if(
-			m_attributesVector.begin(),
-			m_attributesVector.end(),
-			NameCompareFunctor(qname));
-
-	if (i != m_attributesVector.end())
-	{
-		// Found it, so return the index, which is the difference between
-		// begin() and i.
-		return int(i - m_attributesVector.begin());
-	}
-	else
-	{
-		return -1;
-	}
-}
-
-
-
-void
-AttributesImpl::clear()
-{
-	m_cacheVector.insert(m_cacheVector.end(), m_attributesVector.begin(), m_attributesVector.end());
-
-	// Clear everything out.
-	m_attributesVector.clear();
-}
-
-
-
-void
-AttributesImpl::addAttribute(
-			const XMLCh*	uri,
-			const XMLCh*	localName,
-			const XMLCh*	name,
-			const XMLCh*	type,
-			const XMLCh*	value)
-{
-	assert(name != 0);
-	assert(type != 0);
-	assert(value != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-	using std::copy;
-#endif
-
-	typedef AttributeVectorEntry::XMLChVectorType	XMLChVectorType;
-
-	if (m_attributesVector.capacity() == 0)
-	{
-		m_attributesVector.reserve(eDefaultVectorSize);
-	}
-
-	XalanAutoPtr<AttributeVectorEntryExtended>	theEntry(getNewEntry(name, type, value, uri, localName));
-
-	// Add the new one.
-	m_attributesVector.push_back(theEntry.get());
-
-	// The entry is now safely in the vector, so release the
-	// XalanAutoPtr...
-	theEntry.release();
-}
-
-
-
-AttributeVectorEntryExtended*
-AttributesImpl::getNewEntry(
-			const XMLCh*	name,
-			const XMLCh*	type,
-			const XMLCh*	value,
-			const XMLCh*	uri,
-			const XMLCh*	localName)
-{
-	assert(name != 0);
-	assert(type != 0);
-	assert(value != 0);
-	assert(uri != 0);
-	assert(localName != 0);
-
-	if (m_cacheVector.size() == 0)
-	{
-		return new AttributeVectorEntryExtended(name, value, type, uri, localName);
-	}
-	else
-	{
-		AttributeVectorEntryExtended* const		theEntry =
-			m_cacheVector.back();
-
-		theEntry->clear();
-
-		assert(theEntry->m_Name.size() == 0 && theEntry->m_Value.size() == 0 &&
-			   theEntry->m_Type.size() == 0 && theEntry->m_uri.size() == 0 &&
-			   theEntry->m_localName.size() == 0 );
-
-		theEntry->m_Name.insert(theEntry->m_Name.begin(), name, AttributeVectorEntry::endArray(name) + 1);
-		theEntry->m_Value.insert(theEntry->m_Value.begin(), value, AttributeVectorEntry::endArray(value) + 1);
-		theEntry->m_Type.insert(theEntry->m_Type.begin(), type, AttributeVectorEntry::endArray(type) + 1);
-		theEntry->m_uri.insert(theEntry->m_uri.begin(), uri, AttributeVectorEntry::endArray(uri) + 1);
-		theEntry->m_localName.insert(theEntry->m_localName.begin(), localName, AttributeVectorEntry::endArray(localName) + 1);
-
-		m_cacheVector.pop_back();
-
-		return theEntry;
-	}
-}
-
-
-
-bool
-AttributesImpl::removeAttribute(const XMLCh*		name)
-{
-	assert(name != 0);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	bool	fResult = false;
-
-	// Update the attribute, if it's already there...
-	const AttributesVectorType::iterator		i =
-		find_if(
-			m_attributesVector.begin(),
-			m_attributesVector.end(),
-			NameCompareFunctor(name));
-
-	if (i != m_attributesVector.end())
-	{
-		m_cacheVector.push_back(*i);
-
-		m_attributesVector.erase(i);
-
-		fResult = true;
-	}
-
-	return fResult;
-}
diff --git a/src/PlatformSupport/AttributesImpl.hpp b/src/PlatformSupport/AttributesImpl.hpp
deleted file mode 100644
index 8daf4da..0000000
--- a/src/PlatformSupport/AttributesImpl.hpp
+++ /dev/null
@@ -1,294 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ATTRIBUTESIMPL_HEADER_GUARD_1357924680)
-#define ATTRIBUTESIMPL_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <xercesc/sax2/Attributes.hpp>
-
-
-
-class AttributeVectorEntryExtended;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT AttributesImpl : public Attributes
-{
-public:
-
-	explicit
-	AttributesImpl();
-
-	virtual
-	~AttributesImpl();
-
-    AttributesImpl(const AttributesImpl&	theSource);
-
-    AttributesImpl(const Attributes&	theSource);
-
-    AttributesImpl&
-	operator=(const AttributesImpl&	theRHS);
-
-	AttributesImpl&
-	operator=(const Attributes&	theRHS);
-
-	// These are inherited from AttributeList
-    virtual unsigned int
-	getLength() const;
-
-	virtual const XMLCh*
-	getURI(const unsigned int index) const;
-
-	virtual const XMLCh*
-	getLocalName(const unsigned int index) const;
-
-    virtual const XMLCh*
-	getQName(const unsigned int index) const;
-
-    virtual const XMLCh*
-	getType(const unsigned int index) const;
-
-    virtual const XMLCh*
-	getValue(const unsigned int index) const;
-
-	virtual int
-	getIndex(
-			const XMLCh* const	uri,
-			const XMLCh* const	localName) const;
-
-	virtual int
-	getIndex(const XMLCh* const		qname) const;
-
-    virtual const XMLCh*
-	getType(const XMLCh* const qname) const;
-
-	virtual const XMLCh*
-	getType(
-			const XMLCh* const	uri,
-			const XMLCh* const	localName) const;
-
-    virtual const XMLCh*
-	getValue(const XMLCh* const qname) const;
-
-	virtual const XMLCh*
-	getValue(
-			const XMLCh* const	uri,
-			const XMLCh* const	localName) const;
-
-	// The mutators are new to this class.
-
-	/**
-	 * Remove all attributes from the list
-	 */
-	virtual void
-	clear();
-
-	/**
-	 * Adds an attribute to the attribute list.  Does not check for
-	 * duplicates.
-	 *
-	 * @param  qname   attribute qname
-	 * @param type   attribute type, "CDATA," for example
-	 * @param value  attribute value
-	 */
-	void
-	addAttribute(
-			const XMLCh*	qname,
-			const XMLCh*	type,
-			const XMLCh*	value)
-	{
-		const XMLCh		theDummy = 0;
-
-		addAttribute(&theDummy, &theDummy, qname, type, value);
-	}
-
-	/**
-	 * Adds an attribute to the attribute list.  Does not check for
-	 * duplicates.
-	 *
-	 * @param uri attribute namespace URI
-	 * @param localName attribute local name
-	 * @param qname attribute qname
-	 * @param type attribute type, "CDATA," for example
-	 * @param value attribute value
-	 */
-	void
-	addAttribute(
-			const XMLCh*	uri,
-			const XMLCh*	localName,
-			const XMLCh*	qname,
-			const XMLCh*	type,
-			const XMLCh*	value);
-
-	/**
-	 * Removes an attribute from the attribute list
-	 *
-	 * @param  qname   attribute qname
-	 */
-	virtual bool
-	removeAttribute(const XMLCh*	qname);
-
-	/**
-	 * Swap the contents of two instances.  This must _never_
-	 * throw an exception.
-	 *
-	 * @param thOther The instance with which to swap.
-	 */
-	void
-	swap(AttributesImpl&		theOther)
-	{
-		m_attributesVector.swap(theOther.m_attributesVector);
-	}
-
-	/**
-	 * Reserve room for the given number of
-	 * attributes.
-	 *
-	 * @param theCount The number to reserve
-	 */
-	void
-	reserve(unsigned int	theCount)
-	{
-		m_attributesVector.reserve(theCount);
-	}
-
-#if defined(XALAN_NO_NAMESPACES)
-	// This vector will hold the entries.
-	typedef vector<AttributeVectorEntryExtended*>		AttributesVectorType;
-#else
-	// This vector will hold the entries.
-	typedef std::vector<AttributeVectorEntryExtended*>	AttributesVectorType;
-#endif
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-	struct NameCompareFunctor
-	{
-		NameCompareFunctor(const XMLCh*		theQName) :
-			m_qname(theQName)
-		{
-		}
-
-		bool
-		operator()(const AttributeVectorEntryExtended*	theEntry) const;
-
-	private:
-
-		const XMLCh* const	m_qname;
-	};
-
-	struct URIAndLocalNameCompareFunctor
-	{
-		URIAndLocalNameCompareFunctor(
-				const XMLCh*	theURI,
-				const XMLCh*	theLocalName) :
-			m_uri(theURI),
-			m_localName(theLocalName)
-		{
-		}
-
-		bool
-		operator()(const AttributeVectorEntryExtended*	theEntry) const;
-
-	private:
-
-		const XMLCh* const	m_uri;
-		const XMLCh* const	m_localName;
-	};
-#endif
-
-private:
-
-	// This is not implemented.
-    bool
-	operator==(const AttributesImpl&) const;
-
-	// Default vector allocation size.
-	enum
-	{
-		eDefaultVectorSize = 5
-	};
-
-	AttributeVectorEntryExtended*
-	getNewEntry(
-			const XMLCh*	qname,
-			const XMLCh*	type,
-			const XMLCh*	value,
-			const XMLCh*	uri = 0,
-			const XMLCh*	localName = 0);
-
-	// Helper function to delete entries...
-	static void
-	deleteEntries(AttributesVectorType&		theVector);
-
-	AttributesVectorType	m_attributesVector;
-
-	AttributesVectorType	m_cacheVector;
-};
-
-
-
-#endif	// ATTRIBUTESIMPL_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/Cloneable.cpp b/src/PlatformSupport/Cloneable.cpp
deleted file mode 100644
index 6999461..0000000
--- a/src/PlatformSupport/Cloneable.cpp
+++ /dev/null
@@ -1,69 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "Cloneable.hpp"
-
-
-
-Cloneable::Cloneable()
-{
-}
-
-
-
-Cloneable::~Cloneable()
-{
-}
diff --git a/src/PlatformSupport/Cloneable.hpp b/src/PlatformSupport/Cloneable.hpp
deleted file mode 100644
index 20ed117..0000000
--- a/src/PlatformSupport/Cloneable.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(CLONEABLE_HEADER_GUARD_1357924680)
-#define CLONEABLE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT Cloneable
-{
-public:
-
-	Cloneable();
-
-	virtual
-	~Cloneable();
-
-	/**
-	 * Clone the instance.
-	 * 
-	 * @param deep	clone all subobjects if true
-	 */
-	virtual Cloneable*
-	clone(bool	deep) const = 0;
-};
-
-
-
-#endif	// CLONEABLE_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/DOMStringHelper.cpp b/src/PlatformSupport/DOMStringHelper.cpp
deleted file mode 100644
index e5a1d4b..0000000
--- a/src/PlatformSupport/DOMStringHelper.cpp
+++ /dev/null
@@ -1,1710 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "DOMStringHelper.hpp"
-
-
-
-#include <cassert>
-#include <cmath>
-#include <cstdio>
-#include <cstdlib>
-
-
-
-#include <algorithm>
-#include <vector>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <strstream.h>
-#else
-#include <strstream>
-#endif
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::back_inserter;
-using std::copy;
-using std::hex;
-using std::ios;
-using std::istrstream;
-using std::ostream;
-using std::ostrstream;
-using std::transform;
-using std::vector;
-#endif
-
-
-
-// Xerces header files
-#include <xercesc/util/XMLString.hpp>
-
-#if !defined(XML_LSTRSUPPORT)
-#include <xercesc/util/PlatformUtils.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-#include <Include/STLHelper.hpp>
-
-
-
-#include "DoubleSupport.hpp"
-#include "XalanOutputStream.hpp"
-#include "XalanUnicode.hpp"
-
-
-
-// The maximum number of digits that sprintf can put in a buffer.
-// 100 for now.  We're using this because we want to avoid transcoding
-// number strings when we don't have to,
-const size_t	MAX_PRINTF_DIGITS = 100;
-
-// The maximum number of characters for a floating point number.
-const size_t	MAX_FLOAT_CHARACTERS = 100;
-
-
-
-static XalanDOMString	theNaNString;
-
-static XalanDOMString	theNegativeInfinityString;
-
-static XalanDOMString	thePositiveInfinityString;
-
-static XalanDOMString	theNegativeZeroString;
-
-static XalanDOMString	thePositiveZeroString;
-
-
-
-/**
- * Initialize static data.  Must be called before any
- * other functions are called.  See PlatformSupportInit.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-DOMStringHelperInitialize()
-{
-	theNaNString = XALAN_STATIC_UCODE_STRING("NaN");
-	theNegativeInfinityString = XALAN_STATIC_UCODE_STRING("-Infinity");
-	thePositiveInfinityString = XALAN_STATIC_UCODE_STRING("Infinity");
-	theNegativeZeroString = XALAN_STATIC_UCODE_STRING("-0");
-	thePositiveZeroString = XALAN_STATIC_UCODE_STRING("0");
-}
-
-
-
-/**
- * Destroy static data.  After thus function is called,
- * no other functions can be called.  See PlatformSupportInit.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-DOMStringHelperTerminate()
-{
-	releaseMemory(theNaNString);
-	releaseMemory(theNegativeInfinityString);
-	releaseMemory(thePositiveInfinityString);
-	releaseMemory(theNegativeZeroString);
-	releaseMemory(thePositiveZeroString);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString::size_type)
-indexOf(
-			const XalanDOMChar*		theString,
-			const XalanDOMChar*		theSubstring)
-{
-	assert(theString != 0);
-	assert(theSubstring != 0);
-
-	const XalanDOMString::size_type		theStringLength = length(theString);
-	const XalanDOMString::size_type		theSubstringLength = length(theSubstring);
-
-	// If the substring is longer than the string, then
-	// it's not a substring.
-	if (theStringLength < theSubstringLength)
-	{
-		return theStringLength;
-	}
-	else
-	{
-		bool						fMatch = false;
-
-		XalanDOMString::size_type	theStringIndex = 0;
-
-		// While we haven't matched, and we haven't finished with the
-		// first string, and the number of characters left in the first
-		// string is greater than the length of the second string, try
-		// to match the strings.
-		while(fMatch == false &&
-			  theStringIndex < theStringLength &&
-			  theStringLength - theStringIndex >= theSubstringLength)
-		{
-			// We always start over from the beginning of the second string.
-			XalanDOMString::size_type	theSubstringIndex = 0;
-
-			// This variable will be incremented to index into the first
-			// string.  That way, we preserve the first string index for
-			// when we have to restart the following loop with the next
-			// position in the first string.
-			XalanDOMString::size_type	theOffset = 0;
-
-			// Compare the characters in the two strings, at the
-			// current indices, until the characters don't match.
-			while(theStringIndex < theStringLength &&
-				  theSubstringIndex < theSubstringLength &&
-				  theString[theStringIndex + theOffset] ==
-						theSubstring[theSubstringIndex])
-			{
-				theOffset++;
-				theSubstringIndex++;
-			}
-
-			// If we've reached the end of the second string,
-			// then we've found a match.
-			if (theSubstringIndex == theSubstringLength)
-			{
-				fMatch = true;
-			}
-			else
-			{
-				theStringIndex++;
-			}
-		}
-
-		return fMatch == false ? theStringLength : theStringIndex;
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString::size_type)
-indexOf(
-			const XalanDOMString&	theString,
-			const XalanDOMString&	theSubstring)
-{
-	if (isEmpty(theString) == true)
-	{
-		return 0;
-	}
-	else if (isEmpty(theSubstring) == true)
-	{
-		return theString.length();
-	}
-	else
-	{
-		return indexOf(c_wstr(theString), c_wstr(theSubstring));
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString::size_type)
-lastIndexOf(
-			const XalanDOMChar*		theString,
-			XalanDOMChar			theChar)
-{
-	const XalanDOMString::size_type		theLength = length(theString);
-
-	if (theLength == 0)
-	{
-		return theLength;
-	}
-	else
-	{
-		XalanDOMString::size_type	theIndex = theLength;
-
-		while(theIndex > 0 && theString[theIndex - 1] != theChar)
-		{
-			theIndex--;
-		}
-
-		return theIndex == 0 ? theLength : theIndex - 1;
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-startsWith(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStringLength,
-			const XalanDOMChar*			theSubstring,
-			XalanDOMString::size_type	theSubstringLength)
-{
-	if (theSubstringLength == 0)
-	{
-		// Make this work like Java...
-		return true;
-	}
-	else if (theStringLength < theSubstringLength)
-	{
-		return false;
-	}
-	else
-	{
-		XalanDOMString::size_type	i = 0;
-
-		// Compare each character...
-		for (;
-				i < theSubstringLength &&
-						theString[i] == theSubstring[i];
-					++i)
-		{
-			;
-		}
-
-		// If we've gotten to the end of the substring, then
-		// return true.
-		if (i == theSubstringLength)
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-endsWith(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStringLength,
-			const XalanDOMChar*			theSubstring,
-			XalanDOMString::size_type	theSubstringLength)
-{
-	assert(theString != 0);
-	assert(theSubstring != 0);
-
-	bool				fResult = false;
-
-	// If the substring is longer, there's no point in continuing.
-	if (theSubstringLength >  0 && theStringLength >= theSubstringLength)
-	{
-		XalanDOMString::size_type	i = theStringLength;
-		XalanDOMString::size_type	j = theSubstringLength;
-
-		// Compare each character...
-		for (;
-				j > 0 &&
-						theString[i - 1] == theSubstring[j - 1];
-					--j, --i)
-		{
-			;
-		}
-
-		// If we've gotten to the beginning of the substring, then
-		// return true.
-		if (j == 0)
-		{
-			fResult = true;
-		}
-	}
-
-	return fResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(XalanOutputStream&		theStream,
-			 const CharVectorType&	theString)
-{
-	if (theString.size() > 0)
-	{
-		theStream.write(c_str(theString));
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&				theStream,
-#else
-			std::ostream&			theStream,
-#endif
-			const CharVectorType&	theString)
-{
-	if (theString.size() > 0)
-	{
-		theStream << c_str(theString);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(XalanOutputStream&		theStream,
-			 const XalanDOMChar*	theString)
-{
-	if (theString != 0)
-	{
-		theStream.write(theString);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&				theStream,
-#else
-			std::ostream&			theStream,
-#endif
-			const XalanDOMChar*		theString)
-{
-	OutputString(theStream, TranscodeToLocalCodePage(theString));
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-substring(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex)
-{
-	assert(theString != 0);
-
-	const XalanDOMString::size_type		theStringLength = length(theString);
-
-	// $$$ ToDo: In Java-land, any failing of this
-	// assertion would result in an exception being thrown.
-	assert(theStartIndex <= theStringLength);
-
-	if (theStartIndex == theStringLength)
-	{
-		// This is allowed, and should return an empty string.
-		return XalanDOMString();
-	}
-	else
-	{
-		const XalanDOMString::size_type		theLength = theEndIndex == XalanDOMString::npos ? theStringLength - theStartIndex :
-													theEndIndex - theStartIndex;
-		assert(theStartIndex + theLength <= theStringLength);
-
-		return XalanDOMString(theString + theStartIndex, theLength);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-substring(
-			const XalanDOMChar*			theString,
-			XalanDOMString&				theSubstring,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex)
-{
-	assert(theString != 0);
-
-	const XalanDOMString::size_type		theStringLength = length(theString);
-
-	// $$$ ToDo: In Java-land, any failing of this
-	// assertion would result in an exception being thrown.
-	assert(theStartIndex <= theStringLength);
-
-	if (theStartIndex == theStringLength)
-	{
-		// This is allowed, and should return an empty string.
-		clear(theSubstring);
-	}
-	else
-	{
-		const XalanDOMString::size_type		theLength = theEndIndex == XalanDOMString::npos ? theStringLength - theStartIndex :
-													theEndIndex - theStartIndex;
-		assert(theStartIndex + theLength <= theStringLength);
-
-		theSubstring.assign(theString + theStartIndex, theLength);
-	}
-
-	return theSubstring;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-substring(
-			const XalanDOMString&		theString,
-			XalanDOMString&				theSubstring,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex)
-{
-	const XalanDOMString::size_type		theStringLength = length(theString);
-
-	// $$$ ToDo: In Java-land, any failing of this
-	// assertion would result in an exception being thrown.
-	assert(theStartIndex <= theStringLength);
-
-	if (theStartIndex == theStringLength)
-	{
-		// This is allowed, and should return an empty string.
-		clear(theSubstring);
-	}
-	else
-	{
-		const XalanDOMString::size_type		theLength = theEndIndex == XalanDOMString::npos ? theStringLength - theStartIndex :
-													theEndIndex - theStartIndex;
-
-		if (theLength == 0)
-		{
-			clear(theSubstring);
-		}
-		else
-		{
-			assert(theStartIndex + theLength <= theStringLength);
-
-			theString.substr(theSubstring, theStartIndex, theLength);
-		}
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-substring(
-			const XalanDOMString&		theString,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex)
-{
-	const XalanDOMString::size_type		theStringLength = length(theString);
-
-	// $$$ ToDo: In Java-land, any failing of this
-	// assertion would result in an exception being thrown.
-	assert(theStartIndex <= theStringLength);
-
-	if (theStartIndex == theStringLength)
-	{
-		// This is allowed, and should return an empty string.
-		return XalanDOMString();
-	}
-	else
-	{
-		const XalanDOMString::size_type		theLength = theEndIndex == XalanDOMString::npos ? theStringLength - theStartIndex :
-													theEndIndex - theStartIndex;
-
-		if (theLength == 0)
-		{
-			return XalanDOMString();
-		}
-		else
-		{
-			assert(theStartIndex + theLength <= theStringLength);
-
-			return theString.substr(theStartIndex, theLength);
-		}
-	}
-}
-
-
-
-#if defined(XALAN_NO_ALGORITHMS_WITH_BUILTINS)
-
-template<class InputIteratorType, class OutputIteratorType>
-inline OutputIteratorType
-XalanCopy(
-			InputIteratorType	begin,
-			InputIteratorType	end,
-			OutputIteratorType	iterator)
-{
-	for(; begin != end; ++iterator, ++begin)
-	{
-		*iterator = *begin;
-	}
-
-	return iterator;
-}
-
-
-
-template<class InputIteratorType, class OutputIteratorType, class UnaryFunction>
-inline OutputIteratorType
-XalanTransform(
-			InputIteratorType	begin,
-			InputIteratorType	end,
-			OutputIteratorType	iterator,
-			UnaryFunction		function)
-{
-	for(; begin != end; ++iterator, ++begin)
-	{
-		*iterator = function(*begin);
-	}
-
-	return iterator;
-}
-
-#endif
-
-
-
-template <class InputIteratorType, class OutputIteratorType, class FunctionType>
-OutputIteratorType
-TransformString(
-			InputIteratorType	theInputBegin,
-			InputIteratorType	theInputEnd,
-			OutputIteratorType	theOutputIterator,
-			FunctionType		theFunction)
-{
-#if defined(XALAN_NO_ALGORITHMS_WITH_BUILTINS)
-	return XalanTransform(
-			theInputBegin,
-			theInputEnd,
-			theOutputIterator,
-			theFunction);
-#else
-	return transform(
-			theInputBegin,
-			theInputEnd,
-			theOutputIterator,
-			theFunction);
-#endif
-}
-
-
-
-template <class SizeType, class FunctionType>
-XalanDOMString
-TransformString(
-			const XalanDOMChar*		theInputString,
-			SizeType				theInputStringLength,
-			FunctionType			theFunction)
-{
-	assert(theInputString != 0);
-
-	XalanDOMString	theConvertedString;
-
-	TransformString(
-			theInputString,
-			theInputString + theInputStringLength,
-			back_inserter(theConvertedString),
-			theFunction);
-
-	return theConvertedString;
-}
-
-
-
-template <class FunctionType>
-XalanDOMString
-TransformXalanDOMString(
-			const XalanDOMString&	theInputString,
-			FunctionType			theFunction)
-{
-	const XalanDOMString::size_type		theStringLength = length(theInputString);
-
-	if (theStringLength == 0)
-	{
-		return theInputString;
-	}
-	else
-	{
-		const XalanDOMChar* const	theBuffer = c_wstr(theInputString);
-		assert(theBuffer != 0);
-
-		return TransformString(theBuffer, unsigned(theStringLength), theFunction);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toLowerCaseASCII(const XalanDOMChar*	theString)
-{
-	return TransformString(theString, length(theString), toLowerASCII);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toLowerCaseASCII(const XalanDOMString&	theString)
-{
-	return TransformXalanDOMString(theString, toLowerASCII);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toUpperCaseASCII(const XalanDOMChar*	theString)
-{
-	return TransformString(theString, length(theString), toUpperASCII);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toUpperCaseASCII(const XalanDOMString&	theString)
-{
-	return TransformXalanDOMString(theString, toUpperASCII);
-}
-
-
-
-template <class InputCharType, class OutputCharType>
-class IdentityTransform
-{
-public:
-
-	OutputCharType
-	operator()(InputCharType	theChar) const
-	{
-		return OutputCharType(theChar);
-	}
-};
-
-
-
-template<class InputCharType, class OutputCharType>
-IdentityTransform<InputCharType, OutputCharType>
-makeIdentityTransform(
-			const InputCharType*,
-			const OutputCharType*)
-{
-	return IdentityTransform<InputCharType, OutputCharType>();
-}
-
-
-
-IdentityTransform<char, char>
-makeCharIdentityTransform()
-{
-	char	theDummy;
-
-	return makeIdentityTransform(&theDummy, &theDummy);
-}
-
-
-IdentityTransform<XalanDOMChar, XalanDOMChar>
-makeXalanDOMCharIdentityTransform()
-{
-	XalanDOMChar	theDummy;
-
-	return makeIdentityTransform(&theDummy, &theDummy);
-}
-
-
-template <class Type, class SizeType, class FunctionType>
-int
-doCompare(
-			const Type*		theLHS,
-			SizeType		theLHSLength,
-			const Type*		theRHS,
-			SizeType		theRHSLength,
-			FunctionType	theTransformFunction)
-{
-	// We don't really have to order, so save some time...
-	if (theLHSLength < theRHSLength)
-	{
-		return -1;
-	}
-	else if (theRHSLength < theLHSLength)
-	{
-		return 1;
-	}
-	else
-	{
-		Type	theLHSChar = Type(0);
-		Type	theRHSChar = Type(0);
-
-		for(SizeType i = 0; i < theLHSLength; i++)
-		{
-			theLHSChar = theTransformFunction(theLHS[i]);
-			theRHSChar = theTransformFunction(theRHS[i]);
-
-			if (theLHSChar != theRHSChar)
-			{
-				break;
-			}
-		}
-
-		return int(theLHSChar - theRHSChar);
-	}
-}
-
-
-
-template <class Type, class SizeType, class FunctionType>
-int
-doCollationCompare(
-			const Type*		theLHS,
-			SizeType		theLHSLength,
-			const Type*		theRHS,
-			SizeType		theRHSLength,
-			FunctionType	theTransformFunction)
-{
-	int		theResult = 0;
-
-	if (theLHSLength != 0 || theRHSLength != 0)
-	{
-		Type		theLHSChar = Type(0);
-		Type		theRHSChar = Type(0);
-
-		SizeType	i = 0;
-
-		for(; i < theLHSLength && i < theRHSLength; i++)
-		{
-			theLHSChar = theTransformFunction(theLHS[i]);
-			theRHSChar = theTransformFunction(theRHS[i]);
-
-			if (theLHSChar != theRHSChar)
-			{
-				break;
-			}
-		}
-
-		if (i == theLHSLength)
-		{
-			// We reached the end of theLHS...
-			if (i != theRHSLength)
-			{
-				// but not the end of theRHS.
-				theResult = -1;
-			}
-		}
-		else if (i == theRHSLength)
-		{
-			// We reached the end of theRHS string...
-			if (i != theLHSLength)
-			{
-				// but not the end of theLHS string.
-				theResult = 1;
-			}
-		}
-		else
-		{
-			// We didn't reach the end of _either_ string, so
-			// return the difference between the two characters
-			// that caused the problem.
-			theResult = theLHSChar - theRHSChar;
-		}
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-compare(
-			const CharVectorType&	theLHS,
-			const CharVectorType&	theRHS)
-{
-	return doCompare(
-				toCharArray(theLHS),
-				theLHS.size(),
-				toCharArray(theRHS),
-				theRHS.size(),
-				makeCharIdentityTransform());
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-compare(
-			const XalanDOMChar*			theLHS,
-			XalanDOMString::size_type	theLHSLength,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theRHSLength)
-{
-	return doCompare(
-				theLHS,
-				theLHSLength,
-				theRHS,
-				theRHSLength,
-				makeXalanDOMCharIdentityTransform());
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-compareIgnoreCaseASCII(
-			const XalanDOMChar*			theLHS,
-			XalanDOMString::size_type	theLHSLength,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theRHSLength)
-{
-	return doCompare(
-				theLHS,
-				theLHSLength,
-				theRHS,
-				theRHSLength,
-				toUpperASCII);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-collationCompare(
-			const XalanDOMChar*			theLHS,
-			XalanDOMString::size_type	theLHSLength,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theRHSLength)
-{
-	return doCollationCompare(
-				theLHS,
-				theLHSLength,
-				theRHS,
-				theRHSLength,
-				makeXalanDOMCharIdentityTransform());
-}
-
-
-
-template <class Type, class SizeType, class FunctionType>
-bool
-doEquals(
-			const Type*		theLHS,
-			const Type*		theRHS,
-			SizeType		theLength,
-			FunctionType	theTransformFunction)
-{
-	assert(theLHS != 0 && theRHS != 0);
-
-#if 1
-	if (theLength == 0)
-	{
-		return true;
-	}
-	else
-	{
-		const Type* const	theEnd = theLHS + theLength;
-
-		while(theTransformFunction(*theLHS) == theTransformFunction(*theRHS))
-		{
-			++theLHS;
-
-			if (theLHS == theEnd)
-			{
-				return true;
-			}
-			else
-			{
-				++theRHS;
-			}
-		}
-
-		return false;
-	}
-#else
-	for(SizeType i = 0; i < theLength; ++i)
-	{
-		const Type	theLHSChar = theTransformFunction(theLHS[i]);
-		const Type	theRHSChar = theTransformFunction(theRHS[i]);
-
-		if (theLHSChar != theRHSChar)
-		{
-			return false;
-		}
-	}
-
-	return true;
-#endif
-}
-
-
-				   
-template <class Type, class SizeType, class FunctionType>
-bool
-doEqualsIgnoreCase(
-			const Type*		theLHS,
-			const Type*		theRHS,
-			SizeType		theLength,
-			FunctionType	theToUpperFunction)
-{
-	// Check each character, converting to uppercase
-	// for the test.
-	for(SizeType i = 0; i < theLength; i++)
-	{
-		const Type	charLHS = theLHS[i];
-		const Type	charRHS = theRHS[i];
-
-		if (charLHS != charRHS &&
-			Type(theToUpperFunction(charLHS)) != charRHS &&
-			charLHS != Type(theToUpperFunction(charRHS)))
-		{
-			return false;
-		}
-	}
-
-	return true;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-equals(
-			const XalanDOMChar*			theLHS,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theLength)
-{
-	return doEquals(
-				theLHS,
-				theRHS,
-				theLength,
-				makeXalanDOMCharIdentityTransform());
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-equalsIgnoreCaseASCII(
-			const XalanDOMChar*			theLHS,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theLength)
-{
-	return doEqualsIgnoreCase(
-				theLHS,
-				theRHS,
-				theLength,
-				toUpperASCII);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMCharVectorType)
-MakeXalanDOMCharVector(
-			const char*		data,
-			bool			fTranscode)
-{
-	assert(data != 0);
-
-	XalanDOMCharVectorType	theResult;
-
-	if (fTranscode == true)
-	{
-		// Create a vector which includes the terminating 0.
-		TranscodeFromLocalCodePage(data, theResult, true);
-	}
-	else
-	{
-		// Include the terminating null byte...
-		const XalanDOMString::size_type		theLength = XalanDOMString::length(data) + 1;
-
-		theResult.reserve(theLength);
-
-#if defined(XALAN_NO_ALGORITHMS_WITH_BUILTINS)
-		XalanCopy(
-			data,
-			data + theLength,
-			back_inserter(theResult));
-#else
-		copy(
-			data,
-			data + theLength,
-			back_inserter(theResult));
-#endif
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMCharVectorType)
-MakeXalanDOMCharVector(const XalanDOMChar*	data)
-{
-	assert(data != 0);
-
-	const XalanDOMString::size_type		theLength = length(data);
-
-	// Create a vector which includes the terminating 0.
-	return XalanDOMCharVectorType(data, data + theLength + 1);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-CopyWideStringToVector(
-			const XalanDOMChar*		theString,
-			CharVectorType&			theVector)
-{
-	const XalanDOMString::size_type		theLength = length(theString);
-
-	if (theLength != 0)
-	{
-		theVector.reserve(theVector.size() + theLength + 1);
-
-		for(XalanDOMString::size_type i = 0; i < theLength; i++)
-		{
-			// Assert that the truncation will not affect the resulting character.
-			assert(theString[i] == char(theString[i]));
-
-			theVector.push_back(char(theString[i]));
-		}
-
-		// Put a terminating 0 byte.
-		theVector.push_back(0);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-CopyStringToVector(
-			const char*			theString,
-			CharVectorType&		theVector)
-{
-	theVector.insert(
-		theVector.end(),
-		theString,
-		theString + XalanDOMString::length(theString) + 1);
-}
-
-
-
-template <class Type>
-Type
-WideStringToIntegral(
-			const XalanDOMChar*		theString,
-			Type					/* theDummy */)
-{
-	if (theString == 0 || DoubleSupport::isValid(theString) == false)
-	{
-		return Type(0);
-	}
-	else
-	{
-		// OK, now we know we have a valid string, so start converting...
-		Type	theResult = 0;
-
-		// Consume any leading whitespace (which we allow)
-		while(isXMLWhitespace(*theString) == true)
-		{
-			++theString;
-		}
-
-		const bool	isNegative = *theString == XalanUnicode::charHyphenMinus ? true : false;
-
-		if (isNegative == true)
-		{
-			++theString;
-		}
-
-		while(*theString != 0)
-		{
-			if (*theString >= XalanUnicode::charDigit_0 && *theString <= XalanUnicode::charDigit_9)
-			{
-				theResult *= 10;
-
-				theResult += *theString - XalanUnicode::charDigit_0;
-
-				++theString;
-			}
-			else if (isXMLWhitespace(*theString) == true)
-			{
-				// This must be trailing whitespace...
-				break;
-			}
-			else
-			{
-				// An non-numeric character was encountered, so stop...
-				return 0;
-			}
-		}
-
-		return isNegative == true ? -theResult : theResult;
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-WideStringToInt(const XalanDOMChar*		theString)
-{
-	return WideStringToIntegral(theString, int(0));
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(long)
-WideStringToLong(const XalanDOMChar*	theString)
-{
-	return WideStringToIntegral(theString, long(0));
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(unsigned long)
-WideStringToUnsignedLong(const XalanDOMChar*	theString)
-{
-	return WideStringToIntegral(theString, (unsigned long)0);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(double)
-WideStringToDouble(const XalanDOMChar*	theString)
-{
-	return DoubleSupport::toDouble(theString);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-trim(const XalanDOMString&	theString)
-{
-	if (isEmpty(theString))
-		return theString;
-
-	const XalanDOMString::size_type		strLen = length(theString);
-	assert(strLen > 0);
-
-	// index of first non-whitespace character
-	XalanDOMString::size_type	leadingSpace = 0;
-
-	for (; leadingSpace < strLen; ++leadingSpace)
-		if (!isXMLWhitespace(charAt(theString, leadingSpace)))
-			break;
-
-	// index of last non-whitespace character
-	XalanDOMString::size_type	trailingSpace = strLen -1;
-
-	for (; trailingSpace > 0; --trailingSpace)
-		if (!isXMLWhitespace(charAt(theString, trailingSpace)))
-			break;
-
-	return substring(theString, leadingSpace, trailingSpace +1);
-}
-
-
-
-// A very cheap decimal number transcoder...
-template <class InputCharType, class OutputCharType>
-class DecimalNumberTranscodeTransform
-{
-public:
-
-	OutputCharType
-	operator()(InputCharType	theChar) const
-	{
-		switch(theChar)
-		{
-		case '-':
-			return OutputCharType(XalanUnicode::charHyphenMinus);
-			break;
-
-		case '.':
-			return OutputCharType(XalanUnicode::charFullStop);
-			break;
-
-		case '0':
-			return OutputCharType(XalanUnicode::charDigit_0);
-			break;
-
-		case '1':
-			return OutputCharType(XalanUnicode::charDigit_1);
-			break;
-
-		case '2':
-			return OutputCharType(XalanUnicode::charDigit_2);
-			break;
-
-		case '3':
-			return OutputCharType(XalanUnicode::charDigit_3);
-			break;
-
-		case '4':
-			return OutputCharType(XalanUnicode::charDigit_4);
-			break;
-
-		case '5':
-			return OutputCharType(XalanUnicode::charDigit_5);
-			break;
-
-		case '6':
-			return OutputCharType(XalanUnicode::charDigit_6);
-			break;
-
-		case '7':
-			return OutputCharType(XalanUnicode::charDigit_7);
-			break;
-
-		case '8':
-			return OutputCharType(XalanUnicode::charDigit_8);
-			break;
-
-		case '9':
-			return OutputCharType(XalanUnicode::charDigit_9);
-			break;
-
-		default:
-			return OutputCharType(0);
-			break;
-		}
-	}
-};
-
-
-
-template<class InputCharType, class OutputCharType>
-DecimalNumberTranscodeTransform<InputCharType, OutputCharType>
-makeDecimalNumberTranscodeTransform(
-			const InputCharType*,
-			const OutputCharType*)
-{
-	return DecimalNumberTranscodeTransform<InputCharType, OutputCharType>();
-}
-
-
-
-// A very cheap hex number transcoder...
-template <class InputCharType, class OutputCharType>
-class HexadecimalNumberTranscodeTransform : public DecimalNumberTranscodeTransform<InputCharType, OutputCharType>
-{
-public:
-
-	typedef DecimalNumberTranscodeTransform<InputCharType, OutputCharType>	BaseClassType;
-
-	OutputCharType
-	operator()(InputCharType	theChar) const
-	{
-		switch(theChar)
-		{
-		case 'A':
-			return OutputCharType(XalanUnicode::charLetter_A);
-			break;
-
-		case 'a':
-			return OutputCharType(XalanUnicode::charLetter_a);
-			break;
-
-		case 'B':
-			return OutputCharType(XalanUnicode::charLetter_B);
-			break;
-
-		case 'b':
-			return OutputCharType(XalanUnicode::charLetter_b);
-			break;
-
-		case 'C':
-			return OutputCharType(XalanUnicode::charLetter_C);
-			break;
-
-		case 'c':
-			return OutputCharType(XalanUnicode::charLetter_c);
-			break;
-
-		case 'D':
-			return OutputCharType(XalanUnicode::charLetter_D);
-			break;
-
-		case 'd':
-			return OutputCharType(XalanUnicode::charLetter_d);
-			break;
-
-		case 'E':
-			return OutputCharType(XalanUnicode::charLetter_E);
-			break;
-
-		case 'e':
-			return OutputCharType(XalanUnicode::charLetter_e);
-			break;
-
-		case 'F':
-			return OutputCharType(XalanUnicode::charLetter_F);
-			break;
-
-		case 'f':
-			return OutputCharType(XalanUnicode::charLetter_f);
-			break;
-
-		default:
-			return BaseClassType::operator()(theChar);
-			break;
-		}
-	}
-};
-
-
-
-template <class InputIteratorType, class OutputIteratorType>
-OutputIteratorType
-TranscodeNumber(
-			InputIteratorType	theInputBegin,
-			InputIteratorType	theInputEnd,
-			OutputIteratorType	theOutputIterator)
-{
-	return TransformString(
-				theInputBegin,
-				theInputEnd,
-				theOutputIterator,
-#if defined(XALAN_NON_ASCII_PLATFORM)
-				DecimalNumberTranscodeTransform<char, XalanDOMChar>());
-#else
-				IdentityTransform<char, XalanDOMChar>());
-#endif
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-PointerToDOMString(
-			const void*			theValue,
-			XalanDOMString&		theResult)
-{
-	char			theBuffer[MAX_PRINTF_DIGITS + 1];
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-        using std::sprintf;
-#endif
-
-	unsigned int	theCharsWritten = sprintf(theBuffer, "%p", theValue);
-	assert(theCharsWritten != 0);
-
-	reserve(theResult, length(theResult) + theCharsWritten);
-
-	TranscodeNumber(
-			theBuffer,
-			theBuffer + theCharsWritten,
-			back_inserter(theResult));
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-DoubleToDOMString(
-			double				theDouble,
-			XalanDOMString&		theResult)
-{
-	if (DoubleSupport::isNaN(theDouble) == true)
-	{
-		append(theResult, theNaNString);
-	}
-	else if (DoubleSupport::isPositiveInfinity(theDouble) == true)
-	{
-		append(theResult, thePositiveInfinityString);
-	}
-	else if (DoubleSupport::isNegativeInfinity(theDouble) == true)
-	{
-		append(theResult, theNegativeInfinityString);
-	}
-	else if (DoubleSupport::isPositiveZero(theDouble) == true)
-	{
-		append(theResult, thePositiveZeroString);
-	}
-	else if (DoubleSupport::isNegativeZero(theDouble) == true)
-	{
-		append(theResult, theNegativeZeroString);
-	}
-	else if (long(theDouble) == theDouble)
-	{
-		LongToDOMString(long(theDouble), theResult);
-	}
-	else
-	{
-		char			theBuffer[MAX_PRINTF_DIGITS + 1];
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using std::sprintf;
-#endif
-
-		unsigned int	theCharsWritten = sprintf(theBuffer, "%f", theDouble);
-		assert(theCharsWritten != 0);
-
-		// First, cleanup the output to conform to the XPath standard,
-		// which says no trailing '0's for the decimal portion.
-		// So start with the last digit, and search until we find
-		// the last correct character for the output.
-		// Also, according to the XPath standard, any values without
-		// a fractional part are printed as integers.  There's always
-		// a decimal point, so we have to strip stuff away...
-
-		// Now, move back while there are zeros...
-		while(theBuffer[--theCharsWritten] == '0')
-		{
-		}
-
-		// If a decimal point stopped the loop, then
-		// we don't want to preserve it.  Otherwise,
-		// another digit stopped the loop, so we must
-		// preserve it.
-		if(theBuffer[theCharsWritten] != '.')
-		{
-			++theCharsWritten;
-		}
-
-		reserve(theResult, length(theResult) + theCharsWritten);
-
-		TranscodeNumber(
-				theBuffer,
-				theBuffer + theCharsWritten,
-				back_inserter(theResult));
-	}
-
-	return theResult;
-}
-
-
-
-template <class ScalarType>
-XalanDOMChar*
-ScalarToDecimalString(
-			ScalarType		theValue,
-			XalanDOMChar*	theOutput)
-{
-	// Null terminate it...
-	*theOutput = 0;
-
-	if (theValue < 0)
-	{
-		do
-		{
-			*--theOutput = XalanDOMChar(-(theValue % 10) + XalanUnicode::charDigit_0);
-
-			// OK, we're done with it...
-			theValue /= 10;
-		}
-		while(theValue != 0);
-
-		*--theOutput = XalanUnicode::charHyphenMinus;
-	}
-	else
-	{
-		do
-		{
-			*--theOutput = XalanDOMChar(theValue % 10 + XalanUnicode::charDigit_0);
-
-			// OK, we're done with it...
-			theValue /= 10;
-		}
-		while(theValue != 0);
-	}
-
-	return theOutput;
-}
-
-
-
-template <class ScalarType>
-void
-ScalarToDecimalString(
-			ScalarType			theValue,
-			XalanDOMString&		theResult)
-{
-	// We don't need to transcode, so just make it a
-	// wide character string...
-	XalanDOMChar			theBuffer[MAX_PRINTF_DIGITS + 1];
-
-	XalanDOMChar* const		theEnd = &theBuffer[MAX_PRINTF_DIGITS];
-
-	XalanDOMChar* const		theBegin = ScalarToDecimalString(theValue, theEnd);
-
-	append(theResult, theBegin, theEnd - theBegin);
-}
-
-
-
-template <class ScalarType>
-XalanDOMChar*
-UnsignedScalarToHexadecimalString(
-			ScalarType		theValue,
-			XalanDOMChar*	theOutput)
-{
-	if (theValue >= 0)
-	{
-		// Null terminate it...
-		*theOutput = 0;
-
-		do
-		{
-			// Next spot...
-			--theOutput;
-
-			const ScalarType	theTemp = theValue % 16;
-
-			// Isolate the left most character.
-			if (theTemp >= 0 && theTemp <= 9)
-			{
-				*theOutput = XalanDOMChar(theTemp + XalanUnicode::charDigit_0);
-			}
-			else
-			{
-				assert(theTemp >= 10 && theTemp <= 15);
-
-				*theOutput = XalanDOMChar(theTemp - 10 + XalanUnicode::charLetter_A);
-			}
-
-			// OK, we're done with it...
-			theValue /= 16;
-		}
-		while(theValue != 0);
-	}
-
-	return theOutput;
-}
-
-
-
-template <class ScalarType>
-void
-UnsignedScalarToHexadecimalString(
-			ScalarType			theValue,
-			XalanDOMString&		theResult)
-{
-	if (theValue >= 0)
-	{
-		// We don't need to transcode, so just make it a
-		// wide character string...
-		XalanDOMChar			theBuffer[MAX_PRINTF_DIGITS + 1];
-
-		XalanDOMChar* const		theEnd = &theBuffer[MAX_PRINTF_DIGITS];
-
-		XalanDOMChar* const		theBegin = UnsignedScalarToHexadecimalString(theValue, theEnd);
-
-		append(theResult, theBegin, theEnd - theBegin);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-LongToHexDOMString(
-			long				theValue,
-			XalanDOMString&		theResult)
-{
-	UnsignedScalarToHexadecimalString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-UnsignedLongToHexDOMString(
-			unsigned long		theValue,
-			XalanDOMString&		theResult)
-{
-	UnsignedScalarToHexadecimalString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-LongToDOMString(
-			long				theValue,
-			XalanDOMString&		theResult)
-{
-	ScalarToDecimalString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-UnsignedLongToDOMString(
-			unsigned long		theValue,
-			XalanDOMString&		theResult)
-{
-	ScalarToDecimalString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-isXMLWhitespace(const XalanDOMString&	string)
-{
-	const XalanDOMString::size_type		theLength = length(string);
-
-	if (theLength == 0)
-	{
-		return true;
-	}
-	else
-	{
-		const XalanDOMChar* const	theBuffer =
-			c_wstr(string);
-
-		assert(theBuffer != 0);
-
-		return isXMLWhitespace(theBuffer, 0, theLength);
-	}
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-isXMLWhitespace(
-			const XalanDOMChar			ch[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	const XalanDOMString::size_type		end = start + length;
-
-	for(XalanDOMString::size_type s = start; s < end; s++) 
-	{
-		if (!isXMLWhitespace(ch[s]))	
-			return false;
-	}
-
-	return true;
-}
diff --git a/src/PlatformSupport/DOMStringHelper.hpp b/src/PlatformSupport/DOMStringHelper.hpp
deleted file mode 100644
index c31c0bb..0000000
--- a/src/PlatformSupport/DOMStringHelper.hpp
+++ /dev/null
@@ -1,2668 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSTRINGHELPER_HEADER_GUARD_1357924680)
-#define DOMSTRINGHELPER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <functional>
-#if defined(XALAN_OLD_STREAMS)
-class ostream;
-#else
-#include <iosfwd>
-#endif
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/XalanUnicode.hpp>
-#include <PlatformSupport/XalanXMLChar.hpp>
-
-
-
-class XalanOutputStream;
-
-
-
-// This macro has been defined to deal with certain C++ compilers which
-// do not create Unicode strings when the "L" string constant prefix is
-// used.  It is meant _only_ for use with static strings.
-#if defined(XALAN_LSTRSUPPORT) && !defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-
-#define XALAN_STATIC_UCODE_STRING(str) L##str
-
-/**
- * This is a convenience function to allow for identical
- * for platforms that support Unicode wide static strings
- * and platforms that don't.
- *
- * See the previous macro definition for more information.
- * 
- * @param theString the string to copy
- * @return a reference to the string passed
- */
-inline const XalanDOMString
-StaticStringToDOMString(const XalanDOMChar*		theString)
-{
-	return XalanDOMString(theString);
-}
-
-#else
-
-#define XALAN_STATIC_UCODE_STRING(str) TranscodeFromLocalCodePage(str)
-
-/**
- * Determines if a range in an array contains only whitespace
- * 
- * @param ch target array
- * @param start starting index to examine
- * @param length number of characters to examine
- * @return true if specified range contains only whitespace
- */
-inline const XalanDOMString&
-StaticStringToDOMString(const XalanDOMString&	theString)
-{
-	return theString;
-}
-
-#endif
-
-
-
-/**
- * Initialize static data.  Must be called before any
- * other functions are called.  See PlatformSupportInit.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-DOMStringHelperInitialize();
-
-
-
-/**
- * Destroy static data.  After thus function is called,
- * no other functions can be called.  See PlatformSupportInit.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-DOMStringHelperTerminate();
-
-
-
-/**
- * Get the underlying representation of the target XalanDOMString as a
- * null-terminated string
- * 
- * @param theString target string
- * @return null-terminated string of XalanDOMChar
- */
-inline const XalanDOMChar*
-c_wstr(const XalanDOMString&	theString)
-{
-	return theString.c_str();
-}
-
-
-
-/**
- * Get the underlying representation of the target CharVectorType as a
- * null-terminated string
- * 
- * @param theString target string
- * @return null-terminated string of chars
- */
-inline const char*
-c_str(const CharVectorType&		theString)
-{
-	if (theString.size() == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		const char* const	ptr = &theString[0];
-
-		assert(ptr[theString.size() - 1] == '\0');
-
-		return ptr;
-	}
-}
-
-
-
-/**
- * Get the underlying representation of the wide string as a
- * UNICODE null-terminated string.  This is here simply for
- * consistency in the code.  On certain platforms, compiler-
- * generated wide strings will not contain Unicode code
- * points.  Another macro converts those into XalanDOMStrings,
- * which are then transcoded.  In these cases, the previous
- * defined c_sstr() function gets called.
- *
- * On platforms where the compiler does generate Unicode wide
- * strings, this function will be called instead.
- * 
- * @param theString target string
- * @return null-terminated string of XalanDOMChar
- */
-inline const XalanDOMChar*
-c_wstr(const XalanDOMChar*	theString)
-{
-	return theString;
-}
-
-
-
-/**
- * Get the underlying representation of the target XalanDOMString as an array of
- * XalanDOMChar, not guaranteed to be null-terminated.
- * 
- * @param theString target string
- * @return array of XalanDOMChar
- */
-inline const XalanDOMChar*
-toCharArray(const XalanDOMString&	theString)
-{
-	return theString.c_str();
-}
-
-
-
-/**
- * Get the underlying representation of a XalanDOMChar.
- * 
- * @param theString target string
- * @return array of XalanDOMChar
- */
-inline const XalanDOMChar*
-toCharArray(const XalanDOMChar*		theString)
-{
-	return theString;
-}
-
-
-
-/**
- * Get the underlying representation of the target CharVectorType as a
- * pointer to an array of characters
- * 
- * @param theString target string
- * @return the pointer
- */
-inline const char*
-toCharArray(const CharVectorType&	theString)
-{
-	return theString.size() == 0 ? 0 : &theString[0];
-}
-
-
-
-/**
- * Reserve some space in the string for more efficient
- * concatenation...
- * 
- * @param theString target string
- * @param theCount The amount of space to reserve
- */
-inline void
-reserve(
-			XalanDOMString&				theString,
-			XalanDOMString::size_type	theCount)
-{
-	theString.reserve(theCount);
-}
-
-
-
-/**
- * Get the length of a XalanDOMString
- * 
- * @param theString target string
- * @return the length of the target string
- */
-inline XalanDOMString::size_type
-length(const XalanDOMString&	theString)
-{
-	return theString.length();
-}
-
-
-
-/**
- * Get the length of a null-terminated string of
- * XalanDOMChar characters
- * 
- * @param theString target string
- * @return the length of the target string
- */
-inline XalanDOMString::size_type
-length(const XalanDOMChar*	theString)
-{
-	assert(theString != 0);
-
-	const XalanDOMChar*		theBufferPointer = theString;
-
-	while(*theBufferPointer != 0)
-	{
-		theBufferPointer++;
-	}
-
-	return XalanDOMString::size_type(theBufferPointer - theString);
-}
-
-
-
-/**
- * Get the length of a null-terminated string.
- * 
- * @param theString target string
- * @return the length of the target string
- */
-inline XalanDOMString::size_type
-length(const char*	theString)
-{
-	assert(theString != 0);
-
-	return XalanDOMString::length(theString);
-}
-
-
-
-/**
- * Determines if the target string contains any elements
- * 
- * @param str target string
- * @return true if the target string has a non-zero length
- */
-inline bool 
-isEmpty(const XalanDOMString&	str)
-{
-	return str.empty(); 
-}
-
-
-
-/**
- * Simulates the java String method indexOf().
- * 
- * @param theString string to search
- * @param theChar   character searched for
- * @return the index of theChar in theString,
- * or length(theString) if the character is not
- * found.    
- */
-inline XalanDOMString::size_type
-indexOf(
-			const XalanDOMChar*		theString,
-			XalanDOMChar			theChar)
-{
-	assert(theString != 0);
-
-	const XalanDOMChar*		thePointer = theString;
-
-	while(*thePointer != theChar && *thePointer != 0)
-	{
-		++thePointer;
-	}
-
-	return XalanDOMString::size_type(thePointer - theString);
-}
-
-
-
-/**
- * Simulates the java String method indexOf().
- * 
- * @param theString string to search
- * @param theStringLength the length of theString
- * @param theChar   character searched for
- * @return the index of theChar in theString,
- * or length(theString) if the character is not
- * found.    
- */
-inline XalanDOMString::size_type
-indexOf(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStringLength,
-			XalanDOMChar				theChar)
-{
-	assert(theString != 0);
-
-	const XalanDOMChar*			thePointer = theString;
-	const XalanDOMChar*	const	theEndPointer = theString + theStringLength;
-
-	while(*thePointer != theChar && thePointer != theEndPointer)
-	{
-		++thePointer;
-	}
-
-	return XalanDOMString::size_type(thePointer - theString);
-}
-
-
-
-/**
- * Simulates the java String method indexOf().
- * 
- * @param theString string to search
- * @param theChar   character searched for
- * @return the index of theChar in theString,
- * or length(theString) if the character is not
- * found.    
- */
-inline XalanDOMString::size_type
-indexOf(
-			const XalanDOMString&	theString,
-			XalanDOMChar			theChar)
-{
-	return length(theString) == 0 ? 0 : indexOf(c_wstr(theString), theChar);
-}
-
-
-
-/**
- * Simulates the java String method indexOf().
- * 
- * @param theString string to search
- * @param theSubstring substring searched for
- * @return the index of theSubstring in theString, 
- * or length(theString) if the string is not
- * found.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString::size_type)
-indexOf(
-			const XalanDOMChar*		theString,
-			const XalanDOMChar*		theSubstring);
-
-
-/**
- * Simulates the java String method indexOf().
- * 
- * @param theString string to search
- * @param theSubstring substring searched for
- * @return the index of theSubstring in theString, 
- * or length(theString) if the string is not
- * found.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString::size_type)
-indexOf(
-			const XalanDOMString&	theString,
-			const XalanDOMString&	theSubstring);
-
-
-
-/**
- * Simulates the java String method lastIndexOf().
- * 
- * @param theString string to search
- * @param theChar   character searched for
- * @return the index of theChar in theString,
- * or length(theString) if the character is not
- * found.
- */
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString::size_type)
-lastIndexOf(
-			const XalanDOMChar*		theString,
-			XalanDOMChar			theChar);
-
-
-
-/**
- * Simulates the java String method lastIndexOf().
- * 
- * @param theString string to search
- * @param theChar   character searched for
- * @return the index of theChar in theString,
- * or length(theString) if the character is not
- * found.
- */
-inline XalanDOMString::size_type
-lastIndexOf(
-			const XalanDOMString&	theString,
-			XalanDOMChar			theChar)
-{
-	return lastIndexOf(c_wstr(theString), theChar);
-}
-
-
-
-/**
- * Simulates the java String method startsWith().
- * 
- * @param theDOMString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string begins with the substring
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-startsWith(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStringLength,
-			const XalanDOMChar*			theSubstring,
-			XalanDOMString::size_type	theSubstringLength);
-
-
-
-/**
- * Simulates the java String method startsWith().
- * 
- * @param theDOMString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string begins with the substring
- */
-inline bool
-startsWith(
-			const XalanDOMChar*		theString,
-			const XalanDOMChar*		theSubstring)
-{
-	assert(theString != 0 && theSubstring != 0);
-
-	return startsWith(theString, length(theString), theSubstring, length(theSubstring));
-}
-
-
-
-/**
- * Simulates the java String method startsWith().
- * 
- * @param theDOMString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string begins with the substring
- */
-inline bool
-startsWith(
-			const XalanDOMChar*		theString,
-			const XalanDOMString&	theSubstring)
-{
-	assert(theString != 0);
-
-	return startsWith(theString, length(theString), c_wstr(theSubstring), length(theSubstring));
-}
-
-
-
-/**
- * Simulates the java String method startsWith().
- * 
- * @param theDOMString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string begins with the substring
- */
-inline bool
-startsWith(
-			const XalanDOMString&	theString,
-			const XalanDOMChar*		theSubstring)
-{
-	assert(theSubstring != 0);
-
-	return startsWith(c_wstr(theString), length(theString), theSubstring, length(theSubstring));
-}
-
-
-
-/**
- * Simulates the java String method startsWith().
- * 
- * @param theDOMString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string begins with the substring
- */
-inline bool
-startsWith(
-			const XalanDOMString&	theString,
-			const XalanDOMString&	theSubstring)
-{
-	return startsWith(c_wstr(theString), length(theString), c_wstr(theSubstring), length(theSubstring));
-}
-
-
-
-/**
- * Simulates the java String method startsWith().
- * 
- * @param theString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string begins with the substring
- */
-inline bool
-startsWith(
-			const XalanDOMString&	theString,
-			const char*				theSubstring)
-{
-	return startsWith(
-			theString,
-			XalanDOMString(theSubstring));
-}
-
-
-
-/**
- * Simulates the java String method endsWith().
- * 
- * @param theString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string ends with the substring
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-endsWith(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStringLength,
-			const XalanDOMChar*			theSubstring,
-			XalanDOMString::size_type	theSubstringLength);
-
-
-
-/**
- * Simulates the java String method endsWith().
- * 
- * @param theString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string ends with the substring
- */
-inline bool
-endsWith(
-			const XalanDOMChar*		theString,
-			const XalanDOMChar*		theSubstring)
-{
-	assert(theString != 0 && theSubstring != 0);
-
-	return endsWith(theString, length(theString), theSubstring, length(theSubstring));
-}
-
-
-
-/**
- * Simulates the java String method endsWith().
- * 
- * @param theString target string to search
- * @param theSubstring substring searched for
- * @return true if the target string ends with the substring
- */
-inline bool
-endsWith(
-			const XalanDOMString&	theString,
-			const XalanDOMString&	theSubstring)
-{
-	return endsWith(c_wstr(theString), length(theString), c_wstr(theSubstring), length(theSubstring));
-}
-
-
-
-/**
- * Converts a pointer into a XalanDOMString
- * 
- * @param theValue pointer to be converted
- * @param theResult the string to append with the result
- * @return a reference to the passed string result.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-PointerToDOMString(
-			const void*			theValue,
-			XalanDOMString&		theResult);
-
-
-
-/**
- * Converts a pointer into a XalanDOMString
- * 
- * @param theValue pointer to be converted
- * @return string representation of the pointer
- */
-inline const XalanDOMString
-PointerToDOMString(const void*	theValue)
-{
-	XalanDOMString	theResult;
-
-	PointerToDOMString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-/**
- * Converts a double value into a XalanDOMString
- * 
- * @param theValue number to be converted
- * @param theResult the string to append with the result
- * @return a reference to the passed string result.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-DoubleToDOMString(
-			double				theValue,
-			XalanDOMString&		theResult);
-
-
-
-/**
- * Converts a double value into a XalanDOMString
- * 
- * @param theValue number to be converted
- * @return decimal string representation of the number
- */
-inline const XalanDOMString
-DoubleToDOMString(double	theValue)
-{
-	XalanDOMString	theResult;
-
-	DoubleToDOMString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-/**
- * Converts a long value into a XalanDOMString.  Negative
- * values are ignored.
- * 
- * @param theValue number to be converted
- * @param theResult the string to append with the result
- * @return a reference to the passed string result.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-LongToHexDOMString(
-			long				theValue,
-			XalanDOMString&		theResult);
-
-
-
-/**
- * Converts a long value into a XalanDOMString.  Returns
- * an empty string for negative values.
- * 
- * @param theValue number to be converted
- * @return hexadecimal string representation of the number
- */
-inline const XalanDOMString
-LongToHexDOMString(long		theValue)
-{
-	XalanDOMString	theResult;
-
-	LongToHexDOMString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-/**
- * Converts an unsigned long value  and appends the
- * result to a XalanDOMString.
- * 
- * @param theValue number to be converted
- * @param theResult the string to append with the result
- * @return a reference to the passed string result.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-UnsignedLongToHexDOMString(
-			unsigned long		theValue,
-			XalanDOMString&		theResult);
-
-
-
-/**
- * Converts an unsigned long value and appends the
- * result to a XalanDOMString.
- *
- * @param theValue number to be converted
- * @return hexadecimal string representation of the number
- */
-inline const XalanDOMString
-UnsignedLongToHexDOMString(unsigned long	theValue)
-{
-	XalanDOMString	theResult;
-
-	UnsignedLongToHexDOMString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-/**
- * Converts a long value into a XalanDOMString
- * 
- * @param theValue number to be converted
- * @param theResult the string to append with the result
- * @return a reference to the passed string result.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-LongToDOMString(
-			long				theValue,
-			XalanDOMString&		theResult);
-
-
-
-/**
- * Converts a long value into a XalanDOMString
- * 
- * @param theValue number to be converted
- * @return decimal string representation of the number
- */
-inline const XalanDOMString
-LongToDOMString(long	theValue)
-{
-	XalanDOMString	theResult;
-
-	LongToDOMString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-/**
- * Converts an unsigned long value and appends the
- * result to a XalanDOMString.
- * 
- * @param theValue number to be converted
- * @param theResult the string to append with the result
- * @return a reference to the passed string result.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-UnsignedLongToDOMString(
-			unsigned long		theValue,
-			XalanDOMString&		theResult);
-
-
-
-/**
- * Converts an unsigned long value into a XalanDOMString
- * 
- * @param theValue number to be converted
- * @return decimal string representation of the number
- */
-inline const XalanDOMString
-UnsignedLongToDOMString(unsigned long	theValue)
-{
-	XalanDOMString	theResult;
-
-	UnsignedLongToDOMString(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-/**
- * Converts a wide string into an integer value
- * 
- * @param theString target string
- * @return integer value of target string
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-WideStringToInt(const XalanDOMChar*		theString);
-
-
-
-/**
- * Converts a wide string into a long value
- * 
- * @param theString target string
- * @return long value of target string
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(long)
-WideStringToLong(const XalanDOMChar*	theString);
-
-
-
-/**
- * Converts a wide string into an unsigned long value
- * 
- * @param theString target string
- * @return unsigned long value of target string
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(unsigned long)
-WideStringToUnsignedLong(const XalanDOMChar*	theString);
-
-
-
-/**
- * Converts a wide string into a double value
- * 
- * @param theString target string
- * @return double value of target string
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(double)
-WideStringToDouble(const XalanDOMChar*	theString);
-
-
-
-/**
- * Converts a XalanDOMString into an integer value
- * 
- * @param theString target string
- * @return integer value of target string
- */
-inline int
-DOMStringToInt(const XalanDOMString&	theString)
-{
-	return WideStringToInt(c_wstr(theString));
-}
-
-
-
-/**
- * Converts a XalanDOMString into a long value
- * 
- * @param theString target string
- * @return long value of target string
- */
-inline long
-DOMStringToLong(const XalanDOMString&	theString)
-{
-	return WideStringToLong(c_wstr(theString));
-}
-
-
-
-/**
- * Converts a XalanDOMString into a long value
- * 
- * @param theString target string
- * @return unsigned long value of target string
- */
-inline unsigned long
-DOMStringToUnsignedLong(const XalanDOMString&	theString)
-{
-	return WideStringToUnsignedLong(c_wstr(theString));
-}
-
-
-
-/**
- * Converts a XalanDOMString into a double value
- * 
- * @param theString target string
- * @return double value of target string
- */
-inline double
-DOMStringToDouble(const XalanDOMString&		theString)
-{
-	return WideStringToDouble(c_wstr(theString));
-}
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see operator<<
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(
-			XalanOutputStream&		theStream,
-			const CharVectorType&	theString);
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see operator<<
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&				theStream,
-#else
-			std::ostream&			theStream,
-#endif
-			const CharVectorType&	theString);
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see operator<<
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(
-			XalanOutputStream&		theStream,
-			const XalanDOMChar*		theString);
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see operator<<
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-OutputString(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&				theStream,
-#else
-			std::ostream&			theStream,
-#endif
-			const XalanDOMChar*		theString);
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see operator<<
- */
-inline void
-OutputString(
-			XalanOutputStream&		theStream,
-			const XalanDOMString&	theString)
-{
-	if (isEmpty(theString) == false)
-	{
-		OutputString(theStream, c_wstr(theString));
-	}
-}
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see operator<<
- */
-inline void
-OutputString(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&				theStream,
-#else
-			std::ostream&			theStream,
-#endif
-			const XalanDOMString&	theString)
-{
-	OutputString(theStream, c_wstr(theString));
-}
-
-
-
-/**
- * Outputs the string to the specified stream
- * 
- * @param theStream output stream
- * @param theString the string to output
- * @see OutputString
- */
-inline XalanOutputStream&
-operator<<(
-			XalanOutputStream&		theStream,
-			const CharVectorType&	theString)
-{
-	OutputString(theStream, theString);
-
-	return theStream;
-}
-
-
-
-/**
- * Outputs the string to the specified stream
- * 
- * @param theStream output stream
- * @param theString the string to output
- * @see OutputString
- */
-#if defined(XALAN_NO_NAMESPACES)
-inline ostream&
-operator<<(
-			ostream&				theStream,
-#else
-inline std::ostream&
-operator<<(
-			std::ostream&			theStream,
-#endif
-			const CharVectorType&	theString)
-{
-	OutputString(theStream, theString);
-
-	return theStream;
-}
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see OutputString
- */
-inline XalanOutputStream&
-operator<<(
-			XalanOutputStream&		theStream,
-			const XalanDOMChar*		theString)
-{
-	OutputString(theStream,
-				 theString);
-
-	return theStream;
-}
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see OutputString
- */
-#if defined(XALAN_NO_NAMESPACES)
-inline ostream&
-operator<<(
-			ostream&				theStream,
-#else
-inline std::ostream&
-operator<<(
-			std::ostream&			theStream,
-#endif
-			const XalanDOMChar*		theString)
-{
-	OutputString(theStream,
-				 theString);
-
-	return theStream;
-}
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see OutputString
- */
-inline XalanOutputStream&
-operator<<(
-			XalanOutputStream&		theStream,
-			const XalanDOMString&	theString)
-{
-	OutputString(theStream,
-				 theString);
-
-	return theStream;
-}
-
-
-
-/**
- * Outputs the target string to the specified stream
- * 
- * @param theStream output stream
- * @param theString target string
- * @see OutputString
- */
-#if defined(XALAN_NO_NAMESPACES)
-inline ostream&
-operator<<(
-			ostream&				theStream,
-#else
-inline std::ostream&
-operator<<(
-			std::ostream&			theStream,
-#endif
-			const XalanDOMString&	theString)
-{
-	OutputString(theStream,
-				 theString);
-
-	return theStream;
-}
-
-
-
-/**
- * Retrieves a character at a specified index in the target string
- * 
- * @param theString target string
- * @param theIndex  index of character
- * @return character at specified index
- */
-inline XalanDOMChar
-charAt(
-			const XalanDOMString&		theString,
-			XalanDOMString::size_type	theIndex)
-{
-	return theString[theIndex];
-}
-
-
-
-/**
- * Determines whether character represents white space
- * 
- * @param theChar target character
- * @return true if character represents white space
- */
-inline bool
-isXMLWhitespace(XalanDOMChar	theChar)
-{
-	return XalanXMLChar::isWhitespace(theChar);
-}
-
-
-
-/**
- * Determines whether character represents a digit
- * 
- * @param theChar target character
- * @return true if character represents a digit
- */
-inline bool
-isXMLDigit(XalanDOMChar		theChar)
-{	
-	return XalanXMLChar::isDigit(theChar);
-}
-
-
-
-/**
- * Determines whether character represents a letter or digit
- * 
- * @param theChar target character
- * @return true if character represents a letter or digit
- */
-inline bool
-isXMLLetterOrDigit(XalanDOMChar		theChar)
-{
-	return	XalanXMLChar::isDigit(theChar) || 
-			XalanXMLChar::isLetter(theChar);
-}
-
-
-
-/**
- * Simulates the java String method substring(). Returns a new string that is
- * a substring of this string. The substring begins at the specified
- * theStartIndex and extends to the character at index theEndIndex - 1. Thus
- * the length of the substring is theEndIndex - theStartIndex.
- * 
- * @param theString     source string
- * @param theStartIndex starting index, inclusive
- * @param theEndIndex   ending index, exclusive
- * @return string containing the specified range of characters from target
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-substring(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex = XalanDOMString::npos);
-
-
-
-/**
- * Simulates the java String method substring(). Returns a new string that is
- * a substring of this string. The substring begins at the specified
- * theStartIndex and extends to the character at index theEndIndex - 1. Thus
- * the length of the substring is theEndIndex - theStartIndex.
- * 
- * @param theString     source string
- * @param theSubstring  target string
- * @param theStartIndex starting index, inclusive
- * @param theEndIndex   ending index, exclusive
- * @return A reference to theSubstring
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)&
-substring(
-			const XalanDOMChar*			theString,
-			XalanDOMString&				theSubstring,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex = XalanDOMString::npos);
-
-
-
-/**
- * Simulates the java String method substring(). Returns a new string that is
- * a substring of this string. The substring begins at the specified
- * theStartIndex and extends to the character at index theEndIndex - 1. Thus
- * the length of the substring is theEndIndex - theStartIndex.
- * 
- * @param theString     source string
- * @param theSubstring  target string
- * @param theStartIndex starting index, inclusive
- * @param theEndIndex   ending index, exclusive
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-substring(
-			const XalanDOMString&		theString,
-			XalanDOMString&				theSubstring,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex = XalanDOMString::npos);
-
-
-
-/**
- * Simulates the java String method substring(). Returns a new string that is
- * a substring of this string. The substring begins at the specified
- * theStartIndex and extends to the character at index theEndIndex - 1. Thus
- * the length of the substring is theEndIndex-theStartIndex.
- * 
- * @param theString     source string
- * @param theStartIndex starting index, inclusive
- * @param theEndIndex   ending index, exclusive
- * @return string containing the specified range of characters from target
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-substring(
-			const XalanDOMString&		theString,
-			XalanDOMString::size_type	theStartIndex,
-			XalanDOMString::size_type	theEndIndex = XalanDOMString::npos);
-
-
-
-/**
- * Converts ASCII alphabetic characters from upper case to
- * lower case.  This function works only with the Unicode
- * characters A-Z.
- *
- * @param theString target string
- * @return string containing lower case characters
- */
-inline XalanDOMChar
-toLowerASCII(XalanDOMChar	theChar)
-{
-	if (theChar >= XalanUnicode::charLetter_A && theChar <= XalanUnicode::charLetter_Z)
-	{
-		return XalanDOMChar(theChar - (XalanUnicode::charLetter_A - XalanUnicode::charLetter_a));
-	}
-	else
-	{
-		return theChar;
-	}
-}
-
-
-
-/**
- * Converts ASCII alphabetic characters from lower case to
- * upper case.  This function works only with the Unicode
- * characters a-z.
- *
- * @param theString target string
- * @return string containing upper case characters
- */
-inline XalanDOMChar
-toUpperASCII(XalanDOMChar	theChar)
-{
-	if (theChar >= XalanUnicode::charLetter_a && theChar <= XalanUnicode::charLetter_z)
-	{
-		return XalanDOMChar(theChar + (XalanUnicode::charLetter_A - XalanUnicode::charLetter_a));
-	}
-	else
-	{
-		return theChar;
-	}
-}
-
-
-
-/**
- * Converts ASCII alphabetic characters from upper case to
- * lower case.  This function works only with the characters
- * a-z and A-Z.
- *
- * @param theString target string
- * @return string containing lower case characters
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toLowerCaseASCII(const XalanDOMChar*	theString);
-
-
-
-/**
- * Converts ASCII alphabetic characters from upper case to
- * lower case.  This function works only with the characters
- * a-z and A-Z.
- *
- * @param theString target string
- * @return string containing lower case characters
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toLowerCaseASCII(const XalanDOMString&	theString);
-
-
-
-/**
- * Converts ASCII alphabetic characters from lower case to
- * upper case.  This function works only with the characters
- * a-z and A-Z.
- *
- * @param theString target string
- * @return string containing upper case characters
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toUpperCaseASCII(const XalanDOMChar*	theString);
-
-
-
-/**
- * Converts ASCII alphabetic characters from lower case to
- * upper case.  This function works only with the characters
- * a-z and A-Z.
- *
- * @param theString target string
- * @return string containing upper case characters
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-toUpperCaseASCII(const XalanDOMString&	theString);
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- * @see operator<()
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-compare(
-			const CharVectorType&	theLHS,
-			const CharVectorType&	theRHS);
-
-
-
-/**
- * Compare the contents of two character arrays.
- * 
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first array to compare
- * @param theLHSLength the length of the first array
- * @param theRHS second array to compare
- * @param theRHSLength the length of the second array
- * @return Returns 0 for equal arrays, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-compare(
-			const XalanDOMChar*			theLHS,
-			XalanDOMString::size_type	theLHSLength,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theRHSLength);
-
-
-
-/**
- * Compare the contents of two null-terminated strings.
- * 
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-compare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return compare(theLHS, length(theLHS), theRHS, length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- * @see operator<()
- * @see collationCompare()
- */
-inline int
-compare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return compare(toCharArray(theLHS), length(theLHS), toCharArray(theRHS), length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-compare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return compare(theLHS, length(theLHS), toCharArray(theRHS), length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-compare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return compare(toCharArray(theLHS), length(theLHS), theRHS, length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two arrays in a case insensitive
- * manner.  Only the characters a-z and A-Z are considered as
- * characters with "case".
- *
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first array to compare
- * @param theLHSLength the length of the first array
- * @param theRHS second array to compare
- * @param theRHSLength the length of the second array
- * @return Returns 0 for equal arrays, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-compareIgnoreCaseASCII(
-			const XalanDOMChar*			theLHS,
-			XalanDOMString::size_type	theLHSLength,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theRHSLength);
-
-
-
-/**
- * Compare the contents of two strings, in a case insensitive
- * manner.  Only the characters a-z and A-Z are considered as
- * characters with "case".
- *
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-compareIgnoreCaseASCII(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return compareIgnoreCaseASCII(theLHS, length(theLHS), theRHS, length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings, in a case insensitive
- * manner.  Only the characters a-z and A-Z are considered as
- * characters with "case".
- *
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- * @see operator<
- * @see collationCompare
- */
-inline int
-compareIgnoreCaseASCII(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return compareIgnoreCaseASCII(toCharArray(theLHS), length(theLHS), toCharArray(theRHS), length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings, in a case insensitive
- * manner.  Only the characters a-z and A-Z are considered as
- * characters with "case".
- *
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-compareIgnoreCaseASCII(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return compareIgnoreCaseASCII(toCharArray(theLHS), length(theLHS), theRHS, length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings, in a case insensitive
- * manner.  Only the characters a-z and A-Z are considered for
- * the comparison.
- *
- * THIS FUNCTION DOES NOT COMPARE STRINGS LIKE strcmp() OR ANY
- * OTHER "COLLATION" ALGORITHM.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-compareIgnoreCaseASCII(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return compareIgnoreCaseASCII(theLHS, length(theLHS), toCharArray(theRHS), length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two character arrays.
- * 
- * @param theLHS first array to compare
- * @param theLHSLength the length of the first array
- * @param theRHS second array to compare
- * @param theRHSLength the length of the second array
- * @return Returns 0 for equal arrays, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(int)
-collationCompare(
-			const XalanDOMChar*			theLHS,
-			XalanDOMString::size_type	theLHSLength,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theRHSLength);
-
- 
- 
-/**
- * Compare the contents of two strings.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- * @see operator<()
- * @see compare()
- */
-inline int
-collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return collationCompare(theLHS, length(theLHS), theRHS, length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- * @see operator<()
- * @see compare()
- */
-inline int
-collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return collationCompare(toCharArray(theLHS), length(theLHS), toCharArray(theRHS), length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return collationCompare(theLHS, length(theLHS), toCharArray(theRHS), length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two strings.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns 0 for equal strings, less than 0 if theLHS is less
- * than theRHS, or greater than 0 if theRHS is greater than theLHS.
- */
-inline int
-collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return collationCompare(toCharArray(theLHS), length(theLHS), theRHS, length(theRHS));
-}
-
-
-
-/**
- * Compare the contents of two arrays for equality
- * 
- * @param theLHS first array to compare
- * @param theRHS second array to compare
- * @param theLength the length of the arrays
- * @return true if the contents of both arrays are identical
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-equals(
-			const XalanDOMChar*			theLHS,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theLength);
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	const XalanDOMString::size_type		theLHSLength = length(theLHS);
-
-	return theLHSLength != length(theRHS) ? false : equals(theLHS, theRHS, theLHSLength);
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return theLHS == theRHS;
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	assert(theLHS != 0);
-
-	// Swap them...
-	return theRHS == theLHS;
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(const XalanDOMString&	theLHS,
-	   const XalanDOMChar*		theRHS)
-{
-	return equals(theRHS, theLHS);
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(const XalanDOMString&	theLHS,
-	   const char*				theRHS)
-{
-	assert(theRHS != 0);
-
-	const XalanDOMString::size_type		theRHSLength = length(theRHS);
-
-	if (theRHSLength != length(theLHS))
-	{
-		return false;
-	}
-	else
-	{
-		return theLHS == XalanDOMString(theRHS, theRHSLength);
-	}
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(const char*				theLHS,
-	   const XalanDOMString&	theRHS)
-{
-	return equals(theRHS, theLHS);
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(const XalanDOMChar*	theLHS,
-	   const char*			theRHS)
-{
-	assert(theLHS != 0);
-	assert(theRHS != 0);
-
-	const XalanDOMString::size_type		theRHSLength = length(theRHS);
-
-	if (theRHSLength != length(theLHS))
-	{
-		return false;
-	}
-	else
-	{
-		return equals(XalanDOMString(theRHS, theRHSLength), theLHS);
-	}
-}
-
-
-
-/**
- * Compare the contents of two strings for equality
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-inline bool
-equals(const char*			theLHS,
-	   const XalanDOMChar*	theRHS)
-{
-	return equals(theRHS, theLHS);
-}
-
-
-
-/**
- * Compare the contents of two arrays for equality, without regard for case.
- * Only the characters a-z and A-Z are considered characters with "case".
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the case-insensitive contents of both strings are identical
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-equalsIgnoreCaseASCII(
-			const XalanDOMChar*			theLHS,
-			const XalanDOMChar*			theRHS,
-			XalanDOMString::size_type	theLength);
-
-
-
-/**
- * Compare the contents of two strings for equality, without regard for case.
- * Only the characters a-z and A-Z are considered characters with "case".
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if both strings are identical
- */
-inline bool
-equalsIgnoreCaseASCII(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	const XalanDOMString::size_type		theLength = length(theLHS);
-
-	return theLength != length(theRHS) ? false :
-		equalsIgnoreCaseASCII(theLHS, theRHS, theLength);
-}
-
-
-
-/**
- * Compare the contents of two strings for equality, without regard for case
- * Only the characters A-Z and a-z are considered.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the case-insensitive contents of both strings are identical
- */
-inline bool
-equalsIgnoreCaseASCII(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	const XalanDOMString::size_type		theLength = length(theLHS);
-
-	return theLength != length(theRHS) ? false :
-		equalsIgnoreCaseASCII(toCharArray(theLHS), toCharArray(theRHS), theLength);
-}
-
-
-
-/**
- * Compare the contents of two strings for equality, without regard for case.
- * Only the characters a-z and A-Z are considered characters with "case".
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the case-insensitive contents of both strings are identical
- */
-inline bool
-equalsIgnoreCaseASCII(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	const XalanDOMString::size_type		theRHSLength = length(theRHS);
-
-	return theRHSLength != length(theLHS) ? false :
-		equalsIgnoreCaseASCII(theLHS, toCharArray(theRHS), theRHSLength);
-}
-
-
-
-/**
- * Compare the contents of two strings for equality, without regard for case.
- * Only the characters A-Z and a-z are considered.
- *
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the case-insensitive contents of both strings are identical
- */
-inline bool
-equalsIgnoreCaseASCII(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return equalsIgnoreCaseASCII(theRHS, theLHS);
-}
-
-
-
-/**
- * Implements operator< for CharVectorType.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns true if theLHS is lexically
- * less than theRHS
- * @see compare
- */
-inline bool
-operator<(
-			const CharVectorType&	theLHS,
-			const CharVectorType&	theRHS)
-{
-	return compare(theLHS, theRHS) < 0 ? true : false;
-}
-
-
-
-/**
- * Implements operator< for DOMStrings.
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return Returns true if theLHS is lexically
- * less than theRHS
- * @see compare
- */
-inline bool
-operator<(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return compare(theLHS, theRHS) < 0 ? true : false;
-}
-
-
-
-/**
- * Assign one string to another
- * 
- * @param theString         target string
- * @param theStringToAppend string to assign
- * @param theStringToAppendLength length of the string (XalanDOMString::npos implies the string is null-terminated)
- * @return a reference to the target string
- */
-inline XalanDOMString&
-assign(
-			XalanDOMString&			theString,
-			const XalanDOMString&	theStringToAssign)
-{
-	theString = theStringToAssign;
-
-	return theString;
-}
-
-
-
-/**
- * Assign one string to another
- * 
- * @param theString         target string
- * @param theStringToAppend string to assign
- * @param theStringToAppendLength length of the string (XalanDOMString::npos implies the string is null-terminated)
- * @return a reference to the target string
- */
-inline XalanDOMString&
-assign(
-			XalanDOMString&				theString,
-			const XalanDOMChar*			theStringToAssign,
-			XalanDOMString::size_type	theStringToAssignLength = XalanDOMString::npos)
-{
-	if (theStringToAssignLength == XalanDOMString::npos)
-	{
-		theString.assign(theStringToAssign);
-	}
-	else
-	{
-		theString.assign(theStringToAssign, theStringToAssignLength);
-	}
-
-	return theString;
-}
-
-
-
-/**
- * Concatenate two strings
- * 
- * @param theString         target string
- * @param theStringToAppend string to add to target
- * @return a reference to the target string
- */
-inline XalanDOMString&
-append(
-			XalanDOMString&			theString,
-			const XalanDOMString&	theStringToAppend)
-{
-	theString.append(theStringToAppend);
-
-	return theString;
-}
-
-
-
-/**
- * Concatenate two strings
- * 
- * @param theString         target string
- * @param theStringToAppend string to add to target
- * @param theStringToAppendLength length of the string (XalanDOMString::npos implies the string is null-terminated)
- * @return a reference to the target string
- */
-inline XalanDOMString&
-append(
-			XalanDOMString&				theString,
-			const XalanDOMChar*			theStringToAppend,
-			XalanDOMString::size_type	theStringToAppendLength = XalanDOMString::npos)
-{
-	assert(theStringToAppend != 0);
-
-	if (theStringToAppendLength == XalanDOMString::npos)
-	{
-		theString.append(theStringToAppend);
-	}
-	else
-	{
-		theString.append(theStringToAppend, theStringToAppendLength);
-	}
-
-	return theString;
-}
-
-
-
-/**
- * Concatenate two strings
- * 
- * @param theString         target string
- * @param theStringToAppend string to add to target
- * @param theStringToAppendLength length of the string (XalanDOMString::npos implies the string is null-terminated)
- * @return string with contents of 'theStringToAppend' added to target string
- */
-inline XalanDOMString&
-append(
-			XalanDOMString&				theString,
-			const char*					theStringToAppend,
-			XalanDOMString::size_type	theStringToAppendLength = XalanDOMString::npos)
-{
-	theString.append(TranscodeFromLocalCodePage(theStringToAppend, theStringToAppendLength));
-
-	return theString;
-}
-
-
-
-/**
- * Concatenate a string and a character
- * 
- * @param theString target string
- * @param theCharToAppend the character to add to the target
- * @return string with the character appended
- */
-inline XalanDOMString&
-append(
-			XalanDOMString&		theString,
-			const XalanDOMChar	theCharToAppend)
-{
-	theString.append(1, theCharToAppend);
-
-	return theString;
-}
-
-
-
-/**
- * Concatenate a string and a character
- * 
- * @param theString target string
- * @param theCharToAppend the character to add to the target
- * @return string with the character appended
- */
-inline XalanDOMString&
-append(
-			XalanDOMString&		theString,
-			char				theCharToAppend)
-{
-	// We have to transcode before appending...
-	char	theTempBuffer[] = { theCharToAppend, '\0' };
-
-	return append(theString, theTempBuffer);
-}
-
-
-
-/**
- * Insert a string into another string.
- * 
- * @param theString target string
- * @param thePosition The position in the target string to insert
- * @param theStringToInsert The string to insert
- * @return A reference to the target string
- */
-inline XalanDOMString&
-insert(
-			XalanDOMString&				theString,
-			XalanDOMString::size_type	thePosition,
-			const XalanDOMString&		theStringToInsert)
-{
-	theString.insert(thePosition, theStringToInsert);
-
-	return theString;
-}
-
-
-
-/**
- * Insert a string into another string.
- * 
- * @param theString target string
- * @param thePosition The position in the target string to insert
- * @param theStringToInsert The string to insert
- * @return A reference to the target string
- */
-inline XalanDOMString&
-insert(
-			XalanDOMString&				theString,
-			XalanDOMString::size_type	thePosition,
-			const XalanDOMChar*			theStringToInsert)
-{
-	theString.insert(thePosition, theStringToInsert);
-
-	return theString;
-}
-
-
-
-/**
- * Remove trailing whitespace
- * 
- * @param theString         target string
- * @return string with contents of target string less trailing whitespace
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMString)
-trim(const XalanDOMString&	theString);
-
-
-
-/**
- * Remove all elements from target string
- * 
- * @param theString target string
- */
-inline void
-clear(XalanDOMString&	theString)
-{
-	theString.clear();
-}
-
-
-
-/**
- * Remove all elements from target string
- * 
- * @param theString target string
- */
-inline void
-erase(XalanDOMString&	theString)
-{
-	theString.erase();
-}
-
-
-
-/**
- * Remove all elements from target string
- * and frees all allocated memory.
- * 
- * @param theString target string
- */
-inline void
-releaseMemory(XalanDOMString&	theString)
-{
-	XalanDOMString().swap(theString);
-}
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-CopyWideStringToVector(
-			const XalanDOMChar*		theString,
-			CharVectorType&			theVector);
-
-
-
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(void)
-CopyStringToVector(
-			const char*			theString,
-			CharVectorType&		theVector);
-
-
-
-/**
- * Utility function to make a null-terminated vector of XMLChs, from a
- * null-terminated array of chars, via transcoding, if requested.
- * 
- * @param data array to be converted
- * @param whether or not to transcode
- * @return null-terminated vector of XalanDOMChar
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMCharVectorType)
-MakeXalanDOMCharVector(
-			const char*		data,
-			bool			fTranscode = true);
-
-
-
-/**
- * Utility function to make a null-terminated vector of XMLChs, from a
- * null-terminated array of XalanDOMChar.
- * 
- * @param data array to be converted
- * @return null-terminated vector of XalanDOMChar
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(XalanDOMCharVectorType)
-MakeXalanDOMCharVector(const XalanDOMChar*	data);
-
-
-
-/**
- * Utility function to make a null-terminated vector of XMLChs, from a
- * XalanDOMString
- * 
- * @param data XalanDOMString to be converted
- * @return null-terminated vector of XalanDOMChar
- */
-inline XalanDOMCharVectorType
-MakeXalanDOMCharVector(const XalanDOMString&	data)
-{
-	return MakeXalanDOMCharVector(c_wstr(data));
-}
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-struct c_wstr_functor : public unary_function<XalanDOMString, const XalanDOMChar*>
-#else
-struct c_wstr_functor : public std::unary_function<XalanDOMString, const XalanDOMChar*>
-#endif
-{
-	result_type
-	operator() (const argument_type&	theString) const
-	{
-		return c_wstr(theString);
-	}
-};
-
-
-
-/**
- * Hash functor for DOMStrings
- * 
- * @param theKey XalanDOMString to be hashed
- * @return hash value for XalanDOMString
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringHashFunction : public unary_function<const XalanDOMString&, size_t>
-#else
-struct DOMStringHashFunction : public std::unary_function<const XalanDOMString&, size_t>
-#endif
-{
-	result_type
-	operator() (argument_type	theKey) const
-	{
-		const XalanDOMChar*		theRawBuffer = c_wstr(theKey);
-
-		result_type		theHashValue = 0; 
-
-		if (theRawBuffer != 0)
-		{
-			while (*theRawBuffer)
-			{
-				theHashValue = 5 * theHashValue + *theRawBuffer;
-
-				theRawBuffer++;
-			}
-		}
-
-		return theHashValue++;
-	}
-};
-
-
-
-/**
- * Equals functor for DOMStrings
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringEqualsFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringEqualsFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return equals(theLHS, theRHS);
-	}
-};
-
-
-
-/**
- * Not equals functor for DOMStrings
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the contents of both strings are identical
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringNotEqualsFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringNotEqualsFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return !equals(theLHS, theRHS);
-	}
-};
-
-
-
-/**
- * Less than functor for DOMStrings
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the theLHS is less than theRHSl
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringLessThanFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringLessThanFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return compare(theLHS, theRHS) < 0 ? true : false;
-	}
-};
-
-
-
-/**
- * Less than functor for DOMStrings which ignores case for the characters a-z and A-Z
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the theLHS is less than theRHS, without respect to case.
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringLessThanIgnoreCaseASCIIFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringLessThanIgnoreCaseASCIIFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return compareIgnoreCaseASCII(theLHS, theRHS) < 0 ? true : false;
-	}
-};
-
-
-
-/**
- * Less than or equal functor for DOMStrings
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the theLHS is less than or equal to theRHS
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringLessThanOrEqualFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringLessThanOrEqualFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return compare(theLHS, theRHS) <= 0 ? true : false;
-	}
-};
-
-
-
-/**
- * Greater than functor for DOMStrings
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the theLHS is greater than theRHS
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringGreaterThanFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringGreaterThanFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return compare(theLHS, theRHS) > 0 ? true : false;
-	}
-};
-
-
-
-/**
- * Greater than or equal functor for DOMStrings
- * 
- * @param theLHS first string to compare
- * @param theRHS second string to compare
- * @return true if the theLHS is greater than or equal to theRHS
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct DOMStringGreaterThanOrEqualFunction : public binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#else
-struct DOMStringGreaterThanOrEqualFunction : public std::binary_function<const XalanDOMString&, const XalanDOMString&, bool>
-#endif
-{
-	result_type
-	operator() (first_argument_type		theLHS,
-				second_argument_type	theRHS) const
-	{
-		return compare(theLHS, theRHS) >= 0 ? true : false;
-	}
-};
-
-
-
-/**
- * This functor is designed to compare 0-terminated wide strings in a case-insensitive
- * manner.  It substitutes for the default less<type*> so that the contents of wide strings
- * can be compared, rather than just the pointers.
- */
-#if defined(XALAN_NO_NAMESPACES)
-struct less_no_case_ascii_wide_string : public binary_function<const XalanDOMChar*, const XalanDOMChar*, bool>
-#else
-struct less_no_case_ascii_wide_string : public std::binary_function<const XalanDOMChar*, const XalanDOMChar*, bool>
-#endif
-{
-	/**
-	 * Compare the values of two objects.
-	 *
-	 *
-	 * @param theLHS first object to compare
-	 * @param theRHS second object to compare
-	 * @return true if objects are the same
-	 */
-	result_type
-	operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-	{
-		return compareIgnoreCaseASCII(theLHS, theRHS) < 0 ? true : false;
-	}
-};
-
-
-
-/**
- * Determines if the string contains only whitespace
- * 
- * @param theString target string
- * @return true if string contains only whitespace
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-isXMLWhitespace(const XalanDOMString&	string);
-
-
-
-/**
- * Determines if a range in an array contains only whitespace
- * 
- * @param ch target array
- * @param start starting index to examine
- * @param length number of characters to examine
- * @return true if specified range contains only whitespace
- */
-XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
-isXMLWhitespace(
-			const XalanDOMChar			ch[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-
-
-/**
- * Determines if a null-terminated string contains only whitespace
- * 
- * @param theString target string
- * @return true if the string contains only whitespace
- */
-inline bool
-isXMLWhitespace(const XalanDOMChar*		theString)
-{
-	assert(theString != 0);
-
-	return isXMLWhitespace(theString, 0, length(theString));
-}
-
-
-
-#endif	// DOMSTRINGHELPER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/DOMStringPrintWriter.cpp b/src/PlatformSupport/DOMStringPrintWriter.cpp
deleted file mode 100644
index 8c1af2d..0000000
--- a/src/PlatformSupport/DOMStringPrintWriter.cpp
+++ /dev/null
@@ -1,334 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "DOMStringPrintWriter.hpp"
-
-
-
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-DOMStringPrintWriter::DOMStringPrintWriter(XalanDOMString&	theString) :
-	PrintWriter(true),
-	m_outputString(theString)
-{
-}
-
-
-
-DOMStringPrintWriter::~DOMStringPrintWriter()
-{
-}
-
-
-
-bool
-DOMStringPrintWriter::checkError() const
-{
-	return false;
-}
-
-
-
-void
-DOMStringPrintWriter::close()
-{
-}
-
-
-void
-DOMStringPrintWriter::flush()
-{
-}
-
-
-
-void
-DOMStringPrintWriter::write(
-			const char*		s,
-			size_t			theOffset,
-			size_t			theLength)
-{
-	write(TranscodeFromLocalCodePage(s), theOffset, theLength);
-}
-
-
-
-void
-DOMStringPrintWriter::write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset,
-			XalanDOMString::size_type	theLength)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::vector;
-	using std::copy;
-#endif
-
-	assert(s != 0);
-
-	append(m_outputString, (s + theOffset), theLength);
-}
-
-
-
-void
-DOMStringPrintWriter::write(XalanDOMChar	c)
-{
-	m_outputString += c;
-}
-
-
-
-void
-DOMStringPrintWriter::write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset,
-			XalanDOMString::size_type	theLength)
-{
-	assert(c_wstr(s) != 0);
-	assert(theLength == npos || length(s) >= theOffset + theLength);
-
-	if (theOffset == 0 && theLength == npos)
-	{
-		m_outputString += s;
-	}
-	else
-	{
-		m_outputString.append(s, theOffset, theLength);
-	}
-}
-
-
-
-#if !defined(XALAN_BOOL_AS_INT)
-void
-DOMStringPrintWriter::print(bool	b)
-{
-	if (b == true)
-	{
-		print(s_trueString);
-	}
-	else
-	{
-		print(s_falseString);
-	}
-}
-#endif
-
-
-
-void
-DOMStringPrintWriter::print(char	c)
-{
-	write(c);
-}
-
-
-
-void
-DOMStringPrintWriter::print(
-			const char*		s,
-			size_t			theLength)
-{
-	write(s,
-		  0,
-		  theLength);
-}
-
-
-
-void
-DOMStringPrintWriter::print(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength)
-{
-	write(s,
-		  0,
-		  theLength);
-}
-
-
-
-void
-DOMStringPrintWriter::print(double	d)
-{
-	m_outputString += DoubleToDOMString(d);
-}
-
-
-
-void
-DOMStringPrintWriter::print(int	i)
-{
-	m_outputString += LongToDOMString(i);
-}
-
-
-
-void
-DOMStringPrintWriter::print(long	l)
-{
-	m_outputString += LongToDOMString(l);
-}
-
-
-
-void
-DOMStringPrintWriter::print(const XalanDOMString&	s)
-{
-	m_outputString += s;
-}
-
-
-
-void
-DOMStringPrintWriter::println()
-{
-	m_outputString += s_newlineString;
-}
-
-
-
-#if !defined(XALAN_BOOL_AS_INT)
-void
-DOMStringPrintWriter::println(bool	b)
-{
-	print(b);
-
-	println();
-}
-#endif
-
-
-
-void
-DOMStringPrintWriter::println(char	c)
-{
-	print(c);
-
-	println();
-}
-
-
-
-void
-DOMStringPrintWriter::println(
-			const char*		s,
-			size_t			theLength)
-{
-	print(s, theLength);
-
-	println();
-}
-
-
-
-void
-DOMStringPrintWriter::println(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength)
-{
-	print(s, theLength);
-
-	println();
-}
-
-
-
-void
-DOMStringPrintWriter::println(double	d)
-{
-	print(d);
-
-	println();
-}
-
-
-
-void
-DOMStringPrintWriter::println(int		i)
-{
-	print(i);
-
-	println();
-}
-
-
-
-void
-DOMStringPrintWriter::println(long	l)
-{
-	print(l);
-
-	println();
-}
-
-
-
-void
-DOMStringPrintWriter::println(const XalanDOMString&	s)
-{
-	print(s);
-
-	println();
-}
diff --git a/src/PlatformSupport/DOMStringPrintWriter.hpp b/src/PlatformSupport/DOMStringPrintWriter.hpp
deleted file mode 100644
index 82a8775..0000000
--- a/src/PlatformSupport/DOMStringPrintWriter.hpp
+++ /dev/null
@@ -1,207 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOMSTRING_PRINTWRITER_HEADER_GUARD_1357924680)
-#define DOMSTRING_PRINTWRITER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-
-
-
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT DOMStringPrintWriter : public PrintWriter
-{
-public:
-
-	DOMStringPrintWriter(XalanDOMString&	theString);
-
-	virtual
-	~DOMStringPrintWriter();
-
-	XalanDOMString&
-	getString() const
-	{
-		return m_outputString;
-	}
-
-
-	// Output functions inherited from PrintWriter...
-
-	virtual bool
-    checkError() const;
-
-	virtual void
-	close();
-
-	virtual void
-	flush();
-
-	virtual void
-	write(
-			const char*		s,
-			size_t			theOffset = 0,
-			size_t			theLength = npos);
-
-	virtual void
-	write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	write(XalanDOMChar		c);
-
-	virtual void
-	write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	print(bool	b);
-#endif
-
-	virtual void
-	print(char	c);
-
-	virtual void
-	print(
-			const char*		s,
-			size_t			theLength = npos);
-
-	virtual void
-	print(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	print(double	d);
-
-	virtual void
-	print(int	i);
-
-	virtual void
-	print(long	l);
-
-	virtual void
-	print(const XalanDOMString&		s);
-
-	virtual void
-	println();
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	println(bool	x);
-#endif
-
-	virtual void
-	println(char	x);
-
-	virtual void
-	println(
-			const char*		s,
-		    size_t			theLength = npos);
-
-	virtual void
-	println(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	println(double	x);
-
-	virtual void
-	println(int		x);
-
-	virtual void
-	println(long	x);
-
-	virtual void
-	println(const XalanDOMString&	s);
-
-protected:
-
-	XalanDOMString&		m_outputString;
-
-private:
-
-	// Not implemented
-	DOMStringPrintWriter(const DOMStringPrintWriter&);
-
-	DOMStringPrintWriter&
-	operator=(const DOMStringPrintWriter&);
-
-	bool
-	operator==(const DOMStringPrintWriter&);
-};
-
-
-
-#endif	// DOMSTRING_PRINTWRITER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/DirectoryEnumerator.hpp b/src/PlatformSupport/DirectoryEnumerator.hpp
deleted file mode 100644
index c2b0389..0000000
--- a/src/PlatformSupport/DirectoryEnumerator.hpp
+++ /dev/null
@@ -1,425 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DIRECTORY_ENUMERATOR_HEADER_GUARD_1357924680)
-#define DIRECTORY_ENUMERATOR_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#if defined(_MSC_VER)
-#include <io.h>
-#else
-#include <dirent.h>
-#endif
-
-
-
-#include <functional>
-#include <iterator>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#if defined(_MSC_VER)
-
-class FindFileStruct : public _wfinddata_t
-{
-
-	enum eAttributes
-	{
-		eAttributeArchive = _A_ARCH,
-		eAttributeDirectory = _A_SUBDIR,
-		eAttributeHidden = _A_HIDDEN,
-		eAttributeNormal = _A_NORMAL,
-		eReadOnly = _A_RDONLY,
-		eSystem = _A_SYSTEM
-	};
-
-public:
-
-	/**
-	 * Retrieve name of file
-	 *
-	 * @return file name
-	 */
-	const XalanDOMChar*
-	getName() const
-	{
-		return name;
-	}
-
-	/**
-	 * Determine whether file is a directory
-	 *
-	 * @return true if file is a directory
-	 */
-	bool
-	isDirectory() const
-	{
-		return attrib & eAttributeDirectory ? true : false;
-	}
-
-	bool
-	isSelfOrParent() const
-	{
-		if (isDirectory() == false)
-		{
-			return false;
-		}
-		else if (name[0] == XalanUnicode::charFullStop)
-		{
-			if (name[1] == 0)
-			{
-				return true;
-			}
-			else if (name[1] == XalanUnicode::charFullStop &&
-					 name[2] == 0)
-			{
-				return true;
-			}
-			else
-			{
-				return false;
-			}
-		}
-		else
-		{
-			return false;
-		}
-	}
-};
-
-#else
-
-class FindFileStruct : public dirent
-{
-public:
-
-	/**
-	 * Retrieve name of file
-	 *
-	 * @return file name
-	 */
-	const char* getName() const
-	{
-		return d_name;
-	}
-
-	/**
-	 * Determine whether file is a directory
-	 *
-	 * @return true if file is a directory
-	 */
-	bool isDirectory() const
-	{
-#if defined(AIX) || defined(HPUX) || defined(SOLARIS) || defined(OS390) || defined(TRU64)
-		return false;
-#else		
-		return d_type == DT_DIR;		
-#endif		
-	}
-};
-
-#endif
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-struct DirectoryFilterPredicate : public unary_function<FindFileStruct, bool>
-#else
-struct DirectoryFilterPredicate : public std::unary_function<FindFileStruct, bool>
-#endif
-{
-	result_type
-	operator()(const argument_type&	theFindData) const
-	{
-		return theFindData.isDirectory();
-	}
-};
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-struct FilesOnlyFilterPredicate : public unary_function<FindFileStruct, bool>
-#else
-struct FilesOnlyFilterPredicate : public std::unary_function<FindFileStruct, bool>
-#endif
-{
-	result_type
-	operator()(const argument_type&	theFindData) const
-	{
-		DirectoryFilterPredicate		theDirectoryPredicate;
-
-		return !theDirectoryPredicate(theFindData);
-			   
-	}
-};
-
-
-
-template<class OutputIteratorType,
-		 class FilterPredicateType,
-		 class StringType,
-		 class StringConversionFunction>
-void
-EnumerateDirectory(
-			const StringType&			theFullSearchSpec,
-			OutputIteratorType			theOutputIterator,
-			FilterPredicateType			theFilterPredicate,
-			StringConversionFunction	theConversionFunction,
-#if defined(XALAN_TEMPLATE_FUNCTION_NO_DEFAULT_PARAMETERS)
-			bool						fIncludeSelfAndParent)
-#else
-			bool						fIncludeSelfAndParent = false)
-#endif
-{
-#if defined(_MSC_VER)
-	FindFileStruct 		theFindData;
-
-	long	theSearchHandle = _wfindfirst(const_cast<wchar_t*>(theConversionFunction(theFullSearchSpec)),
-										  &theFindData);
-
-	if (theSearchHandle != -1)
-	{
-		try
-		{
-			do
-			{
-				if ((fIncludeSelfAndParent == true || theFindData.isSelfOrParent() == false) &&
-					theFilterPredicate(theFindData) == true)
-				{
-					*theOutputIterator = StringType(theFindData.getName());
-				}
-			}
-			while(_wfindnext(theSearchHandle,
-							 &theFindData) == 0);
-		}
-		catch(...)
-		{
-			_findclose(theSearchHandle);
-
-			throw;
-		}
-
-		_findclose(theSearchHandle);
-	}
-
-	
-#else
-	// Do nothing for now...
-	// Unsupported platform!!!
-#endif
-}
-
-
-
-template<class OutputIteratorType,
-		 class FilterPredicateType,
-		 class StringType,
-		 class StringConversionFunction>
-void
-EnumerateDirectory(
-			const StringType&			theDirectory,
-			const StringType&			theSearchSpec,
-			OutputIteratorType			theOutputIterator,
-			FilterPredicateType			theFilterPredicate,
-			StringConversionFunction	theConversionFunction,
-#if defined(XALAN_TEMPLATE_FUNCTION_NO_DEFAULT_PARAMETERS)
-			bool						fIncludeSelfAndParent)
-#else
-			bool						fIncludeSelfAndParent = false)
-#endif
-{
-	StringType	theFullSearchSpec(theDirectory);
-
-	theFullSearchSpec += theSearchSpec;
-
-	EnumerateDirectory(theFullSearchSpec, theOutputIterator, theFilterPredicate, theConversionFunction, fIncludeSelfAndParent);
-}
-
-
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-template<class CollectionType, class StringType>
-struct DirectoryEnumeratorFunctor
-{
-	CollectionType
-	operator()(const StringType&	theDirectory) const
-	{
-		CollectionType		theCollection;
-
-		operator()(theDirectory,
-			   theCollection);
-
-		return theCollection;
-	}
-
-	void
-	operator()(
-		const StringType&,
-		const CollectionType&) const
-	{
-	}
-};
-#else
-template<class CollectionType,
-  	 class StringType = XalanDOMString,
-  	 class FilterPredicateType = FilesOnlyFilterPredicate,
-  	 class StringConversionFunction = c_wstr_functor>
-#if defined(XALAN_NO_NAMESPACES)
-struct DirectoryEnumeratorFunctor : public unary_function<StringType, CollectionType>
-#else
-struct DirectoryEnumeratorFunctor : public std::unary_function<StringType, CollectionType>
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef unary_function<StringType, CollectionType>	BaseClassType;
-#else
-	typedef std::unary_function<StringType, CollectionType>	BaseClassType;
-#endif
-
-	typedef typename BaseClassType::result_type		result_type;
-	typedef typename BaseClassType::argument_type	argument_type;
-
-	explicit
-	DirectoryEnumeratorFunctor(bool		fIncludeSelfAndParent = false) :
-		m_includeSelfAndParent(fIncludeSelfAndParent)
-	{
-	}
-			
-	void
-	operator()(
-			const argument_type&	theFullSearchSpec,
-			CollectionType&			theCollection) const
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::back_inserter;
-#endif
-
-		EnumerateDirectory(theFullSearchSpec,
-						   back_inserter(theCollection),
-						   m_filterPredicate,
-						   m_conversionFunction,
-						   m_includeSelfAndParent);
-	}
-
-	result_type
-	operator()(const argument_type&		theFullSearchSpec) const
-	{
-		result_type		theCollection;
-
-		operator()(
-				theFullSearchSpec,
-				theCollection);
-
-		return theCollection;
-	}
-
-	void
-	operator()(
-			const argument_type&	theDirectory,
-			const argument_type&	theSearchSpec,
-			CollectionType&			theCollection) const
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::back_inserter;
-#endif
-
-		EnumerateDirectory(
-				theDirectory,
-				theSearchSpec,
-				back_inserter(theCollection),
-				m_filterPredicate,
-				m_conversionFunction,
-				m_includeSelfAndParent);
-	}
-
-	result_type
-	operator()(
-			const argument_type&	theDirectory,
-			const argument_type&	theSearchSpec) const
-	{
-		result_type		theCollection;
-
-		operator()(
-				theDirectory,
-				theSearchSpec,
-				theCollection);
-
-		return theCollection;
-	}
-
-private:
-
-	FilterPredicateType			m_filterPredicate;
-
-	StringConversionFunction	m_conversionFunction;
-
-	const bool					m_includeSelfAndParent;
-};
-#endif
-
-
-#endif	// DIRECTORY_ENUMERATOR_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/DoubleSupport.cpp b/src/PlatformSupport/DoubleSupport.cpp
deleted file mode 100644
index bee8d86..0000000
--- a/src/PlatformSupport/DoubleSupport.cpp
+++ /dev/null
@@ -1,1076 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "DoubleSupport.hpp"
-
-
-
-#if !defined(XALAN_NO_STD_NUMERIC_LIMITS)
-#include <limits>
-#endif
-
-#include <cmath>
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanUnicode.hpp"
-
-
-#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
-// To circumvent an OS/390 problem
-#if !defined(OS390)
-#define XALAN_POSITIVE_INFINITY HUGE_VAL
-#else
-
-static const union
-{
-	unsigned char	c[8];
-	double			d;
-} theHugeVal = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } };
-
-#define XALAN_POSITIVE_INFINITY (theHugeVal.d)
-
-#endif
-
-const double	DoubleSupport::s_NaN = sqrt(-2.01);
-const double	DoubleSupport::s_positiveInfinity = XALAN_POSITIVE_INFINITY;
-
-#else
-
-const double	DoubleSupport::s_NaN = std::numeric_limits<double>::quiet_NaN();
-const double	DoubleSupport::s_positiveInfinity = std::numeric_limits<double>::infinity();
-
-#endif
-
-const double	DoubleSupport::s_negativeInfinity = -DoubleSupport::s_positiveInfinity;
-const double	DoubleSupport::s_positiveZero = 0.0;
-
-#if !defined(_AIX)
-const double	DoubleSupport::s_negativeZero = -DoubleSupport::s_positiveZero;
-#else
-// Some compiler are overly aggressive and think that there is no such thing as -0,
-// so we have to get it in a very sneaky way.
-double	theDummy;
-
-const double	DoubleSupport::s_negativeZero = modf(-7.0, &theDummy);
-#endif
-
-
-typedef DoubleSupport::DWORDPointerType				DWORDPointerType;
-typedef DoubleSupport::UnalignedDWORDPointerType	UnalignedDWORDPointerType;
-
-
-const DWORDPointerType				DoubleSupport::s_NaNFirstDWORD =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(DWORDPointerType)&s_NaN;
-#else
-					reinterpret_cast<DWORDPointerType>(&s_NaN);
-#endif
-
-const UnalignedDWORDPointerType		DoubleSupport::s_NaNSecondDWORD =
-					s_NaNFirstDWORD + 1;
-
-
-const DWORDPointerType				DoubleSupport::s_positiveZeroFirstDWORD =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(DWORDPointerType)&s_positiveZero;
-#else
-					reinterpret_cast<DWORDPointerType>(&s_positiveZero);
-#endif
-
-const UnalignedDWORDPointerType		DoubleSupport::s_positiveZeroSecondDWORD = s_positiveZeroFirstDWORD + 1;
-
-
-const DWORDPointerType				DoubleSupport::s_negativeZeroFirstDWORD =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(DWORDPointerType)&s_negativeZero;
-#else
-					reinterpret_cast<DWORDPointerType>(&s_negativeZero);
-#endif
-
-const UnalignedDWORDPointerType		DoubleSupport::s_negativeZeroSecondDWORD = s_negativeZeroFirstDWORD + 1;
-
-
-
-bool
-DoubleSupport::equal(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true || isNaN(theRHS) == true)
-	{
-		return false;
-	}
-	else
-	{
-		return theLHS == theRHS;
-	}
-}
-
-
-
-bool
-DoubleSupport::notEqual(
-			double	theLHS,
-			double	theRHS)
-{
-	return !equal(theLHS, theRHS);
-}
-
-
-
-bool
-DoubleSupport::lessThan(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true || isNaN(theRHS) == true)
-	{
-		return false;
-	}
-	else
-	{
-		return theLHS < theRHS;
-	}
-}
-
-
-
-bool
-DoubleSupport::lessThanOrEqual(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true || isNaN(theRHS) == true)
-	{
-		return false;
-	}
-	else
-	{
-		return theLHS <= theRHS;
-	}
-}
-
-
-
-bool
-DoubleSupport::greaterThan(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true || isNaN(theRHS) == true)
-	{
-		return false;
-	}
-	else
-	{
-		return theLHS > theRHS;
-	}
-}
-
-
-
-bool
-DoubleSupport::greaterThanOrEqual(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true || isNaN(theRHS) == true)
-	{
-		return false;
-	}
-	else
-	{
-		return theLHS >= theRHS;
-	}
-}
-
-
-
-double
-DoubleSupport::add(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true)
-	{
-		return theLHS;
-	}
-	else if (isNaN(theRHS) == true)
-	{
-		return theRHS;
-	}
-	else
-	{
-		return theLHS + theRHS;
-	}
-}
-
-
-
-double
-DoubleSupport::subtract(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true)
-	{
-		return theLHS;
-	}
-	else if (isNaN(theRHS) == true)
-	{
-		return theRHS;
-	}
-	else
-	{
-		return theLHS - theRHS;
-	}
-}
-
-
-
-double
-DoubleSupport::multiply(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true)
-	{
-		return theLHS;
-	}
-	else if (isNaN(theRHS) == true)
-	{
-		return theRHS;
-	}
-	else
-	{
-		return theLHS * theRHS;
-	}
-}
-
-
-
-double
-DoubleSupport::divide(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true)
-	{
-		return theLHS;
-	}
-	else if (isNaN(theRHS) == true)
-	{
-		return theRHS;
-	}
-	else if (theRHS != 0.0L)
-	{
-		return theLHS / theRHS;
-	}
-	else if (theLHS == 0.0L)
-	{
-		// This is NaN...
-		return DoubleSupport::getNaN();
-	}
-	else if (theLHS > 0.0L && isPositiveZero(theRHS) == true)
-	{
-		// This is positive infinity...
-		return DoubleSupport::getPositiveInfinity();
-	}
-	else
-	{
-		// This is negative infinity...
-		return DoubleSupport::getNegativeInfinity();
-	}
-}
-
-
-
-double
-DoubleSupport::modulus(
-			double	theLHS,
-			double	theRHS)
-{
-	if (isNaN(theLHS) == true)
-	{
-		return theLHS;
-	}
-	else if (isNaN(theRHS) == true)
-	{
-		return theRHS;
-	}
-	else if (theRHS == 0.0)
-	{
-		return getNaN();
-	}
-	else if (long(theLHS) == theLHS && long(theRHS) == theRHS)
-	{
-		return long(theLHS) % long(theRHS);
-	}
-	else
-	{
-		double	theDummy;
-
-		double	theResult = divide(theLHS, theRHS);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		return std::modf(theResult, &theDummy) * theRHS;
-#else
-		return modf(theResult, &theDummy) * theRHS;
-#endif
-	}
-}
-
-
-
-double
-DoubleSupport::negative(double	theDouble)
-{
-	if (isNaN(theDouble) == true)
-	{
-		return getNaN();
-	}
-	else
-	{
-		return -theDouble;
-	}
-}
-
-
-
-double
-DoubleSupport::toDouble(const XalanDOMString&	theString)
-{
-	return toDouble(c_wstr(theString));
-}
-
-
-
-inline void
-consumeWhitespace(const XalanDOMChar*&	theString)
-{
-	while(*theString != 0 &&
-		  isXMLWhitespace(*theString))
-	{
-		++theString;
-	}
-}
-
-
-
-inline void
-consumeWhitespace(
-			const XalanDOMChar*&		theString,
-			XalanDOMString::size_type&	theLength)
-{
-	while(*theString != 0 &&
-		  isXMLWhitespace(*theString))
-	{
-		++theString;
-		--theLength;
-	}
-}
-
-
-
-inline static void
-consumeNumbers(const XalanDOMChar*&	theString)
-{
-	while(*theString &&
-		  *theString >= XalanUnicode::charDigit_0 &&
-		  *theString <= XalanUnicode::charDigit_9)
-	{
-			++theString;
-	}
-}
-
-
-
-static bool
-doValidate(
-			const XalanDOMChar*		theString,
-			bool&					fGotDecimalPoint)
-{
-	assert(theString != 0);
-
-	bool	fError = false;
-	bool	fGotDigit = false;
-	bool	fGotMinus = false;
-	bool	fGotWhitespace = false;
-
-	const XalanDOMChar*		theCurrent = theString;
-
-	// trim any whitespace
-	consumeWhitespace(theCurrent);
-
-	while(*theCurrent != 0 && fError == false)
-	{
-		switch(*theCurrent)
-		{
-		case XalanUnicode::charFullStop:
-			if (fGotDecimalPoint == true ||	// can't have more than one...
-				fGotWhitespace == true)	// can't have one after whitespace...
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotDecimalPoint = true;
-
-				++theCurrent;
-			}
-			break;
-
-		case XalanUnicode::charHyphenMinus:
-			if (fGotDecimalPoint == true ||
-				fGotMinus == true ||
-				fGotDigit == true ||
-				fGotWhitespace == true)
-			{
-				// Error -- more than one, or in bad position.
-				fError = true;
-			}
-			else
-			{
-				fGotMinus = true;
-
-				++theCurrent;
-			}
-			break;
-
-		case XalanUnicode::charDigit_0:
-		case XalanUnicode::charDigit_1:
-		case XalanUnicode::charDigit_2:
-		case XalanUnicode::charDigit_3:
-		case XalanUnicode::charDigit_4:
-		case XalanUnicode::charDigit_5:
-		case XalanUnicode::charDigit_6:
-		case XalanUnicode::charDigit_7:
-		case XalanUnicode::charDigit_8:
-		case XalanUnicode::charDigit_9:
-			if (fGotWhitespace == true)
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotDigit = true;
-
-				consumeNumbers(theCurrent);
-			}
-			break;
-
-		case XalanUnicode::charSpace:
-		case XalanUnicode::charCR:
-		case XalanUnicode::charHTab:
-		case XalanUnicode::charLF:
-			if (fGotWhitespace == true)
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotWhitespace = true;
-
-				consumeWhitespace(theCurrent);
-			}
-			break;
-
-		default:
-			fError = true;
-			break;
-		}
-	}
-
-	// If there was no error, check to see that we got
-	// at least one digit.  Otherwise, return false if
-	// there was an error.
-	return fError == false ? fGotDigit : false;
-}
-
-
-
-static bool
-doValidate(const XalanDOMChar*	theString)
-{
-	bool	fDummy = false;
-
-	return doValidate(theString, fDummy);
-}
-
-
-
-#if defined(XALAN_NON_ASCII_PLATFORM)
-void
-translateWideString(
-			const XalanDOMChar*			theWideString,
-			char*						theNarrowString,
-			XalanDOMString::size_type	theStringLength)
-{
-	for(XalanDOMString::size_type i = 0; i < theStringLength; ++i)
-	{
-		switch(theWideString[i])
-		{
-		case XalanUnicode::charHyphenMinus:
-			theNarrowString[i] = '-';
-			break;
-
-		case XalanUnicode::charFullStop:
-			theNarrowString[i] = '.';
-			break;
-
-		case XalanUnicode::charDigit_0:
-			theNarrowString[i] = '0';
-			break;
-
-		case XalanUnicode::charDigit_1:
-			theNarrowString[i] = '1';
-			break;
-
-		case XalanUnicode::charDigit_2:
-			theNarrowString[i] = '2';
-			break;
-
-		case XalanUnicode::charDigit_3:
-			theNarrowString[i] = '3';
-			break;
-
-		case XalanUnicode::charDigit_4:
-			theNarrowString[i] = '4';
-			break;
-
-		case XalanUnicode::charDigit_5:
-			theNarrowString[i] = '5';
-			break;
-
-		case XalanUnicode::charDigit_6:
-			theNarrowString[i] = '6';
-			break;
-
-		case XalanUnicode::charDigit_7:
-			theNarrowString[i] = '7';
-			break;
-
-		case XalanUnicode::charDigit_8:
-			theNarrowString[i] = '8';
-			break;
-
-		case XalanUnicode::charDigit_9:
-			theNarrowString[i] = '9';
-			break;
-
-		default:
-			theNarrowString[i] = char(0);
-			break;
-		}
-	}
-	
-	theNarrowString[theStringLength] = char(0);
-}
-#endif
-
-
-
-inline double
-convertHelper(
-			const XalanDOMChar*		theString,
-			bool					fGotDecimalPoint)
-{
-	// This is a big hack.  If the length of the
-	// string is less than n characters, we'll convert
-	// it as a long and coerce that to a double.  This
-	// is _much_ cheaper...
-	const XalanDOMString::size_type		theLongHackThreshold = 10;
-
-	XalanDOMString::size_type	theLength = length(theString);
-
-	if (fGotDecimalPoint == false && theLength < theLongHackThreshold)
-	{
-		return double(WideStringToLong(theString));
-	}
-	else
-	{
-		// trim any whitespace
-		consumeWhitespace(theString, theLength);
-
-		// Use a stack-based buffer, when possible...
-		const XalanDOMString::size_type		theBufferSize = 200u;
-
-		if (theLength < theBufferSize)
-		{
-			char	theBuffer[theBufferSize];
-
-#if defined(XALAN_NON_ASCII_PLATFORM)
-			translateWideString(theString, theBuffer, theLength);
-#else
-			for(XalanDOMString::size_type i = 0; i < theLength; ++i)
-			{
-				theBuffer[i] = char(theString[i]);
-			}
-
-			theBuffer[theLength] = '\0';
-#endif
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			return std::atof(theBuffer);
-#else
-			return atof(theBuffer);
-#endif
-		}
-		else
-		{
-			CharVectorType	theVector;
-
-#if !defined(XALAN_NON_ASCII_PLATFORM)
-			theVector.reserve(theLength + 1);
-
-			CopyWideStringToVector(theString, theVector);
-#else
-			theVector.resize(theLength + 1, CharVectorType::value_type(0));
-
-			translateWideString(theString, &*theVector.begin(), theLength);
-#endif
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			return std::atof(&*theVector.begin());
-#else
-			return atof(&*theVector.begin());
-#endif
-		}
-	}
-}
-
-
-
-double
-doConvert(const XalanDOMChar*	theString)
-{
-	assert(theString != 0);
-	assert(*theString != 0);
-
-#if 0
-	bool	fError = false;
-	bool	fGotDecimalPoint = false;
-	bool	fGotDigit = false;
-	bool	fGotMinus = false;
-	bool	fGotWhitespace = false;
-
-	const XalanDOMChar*		theCurrent = theString;
-
-	// trim any whitespace
-	consumeWhitespace(theCurrent);
-
-	while(*theCurrent != 0 && fError == false)
-	{
-		switch(*theCurrent)
-		{
-		case XalanUnicode::charFullStop:
-			if (fGotDecimalPoint == true ||	// can't have more than one...
-				fGotWhitespace == true)	// can't have one after whitespace...
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotDecimalPoint = true;
-
-				++theCurrent;
-			}
-			break;
-
-		case XalanUnicode::charHyphenMinus:
-			if (fGotDecimalPoint == true ||
-				fGotMinus == true ||
-				fGotDigit == true ||
-				fGotWhitespace == true)
-			{
-				// Error -- more than one, or in bad position.
-				fError = true;
-			}
-			else
-			{
-				fGotMinus = true;
-
-				++theCurrent;
-			}
-			break;
-
-		case XalanUnicode::charDigit_0:
-		case XalanUnicode::charDigit_1:
-		case XalanUnicode::charDigit_2:
-		case XalanUnicode::charDigit_3:
-		case XalanUnicode::charDigit_4:
-		case XalanUnicode::charDigit_5:
-		case XalanUnicode::charDigit_6:
-		case XalanUnicode::charDigit_7:
-		case XalanUnicode::charDigit_8:
-		case XalanUnicode::charDigit_9:
-			if (fGotWhitespace == true)
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotDigit = true;
-
-				consumeNumbers(theCurrent);
-			}
-			break;
-
-		case XalanUnicode::charSpace:
-		case XalanUnicode::charCR:
-		case XalanUnicode::charHTab:
-		case XalanUnicode::charLF:
-			if (fGotWhitespace == true)
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotWhitespace = true;
-
-				consumeWhitespace(theCurrent);
-			}
-			break;
-
-		default:
-			fError = true;
-			break;
-		}
-	}
-
-	if (fError == true || fGotDigit == false)
-	{
-		return DoubleSupport::getNaN();
-	}
-	else
-	{
-		return convertHelper(theString, fGotDecimalPoint);
-	}
-#else
-	bool	fGotDecimalPoint = false;
-
-	if (doValidate(theString, fGotDecimalPoint) == false)
-	{
-		return DoubleSupport::getNaN();
-	}
-	else
-	{
-		return convertHelper(theString, fGotDecimalPoint);
-	}
-#endif
-}
-
-
-
-double
-DoubleSupport::toDouble(const XalanDOMChar*		theString)
-{
-	if (theString == 0 ||
-		*theString == 0)
-	{
-		return getNaN();
-	}
-	else
-	{
-		return doConvert(theString);
-	}
-}
-
-
-
-bool
-DoubleSupport::isValid(const XalanDOMString		theString)
-{
-	return isValid(c_wstr(theString));
-}
-
-
-
-bool
-DoubleSupport::isValid(const XalanDOMChar*		theString)
-{
-	return doValidate(theString);
-}
-
-
-
-#if 0
-
-// This version is disabled because it turns out that
-// an unsigned long is not large enough to accumulate
-// all values (duh!).  Perhaps on 64-bit platforms, we
-// can use this code, as it's much faster.
-void
-accumulateNumbers(
-			const XalanDOMChar*&	theString,
-			double&					theResult,
-			bool					fAfterDecimal)
-{
-	if (fAfterDecimal == false)
-	{
-		assert(theResult == 0.0);
-
-		// accumulate as an integer, to avoid
-		// rounding issues.  It's also much
-		// faster...
-		double	temp = 0;
-
-		while(*theString &&
-			  *theString >= XalanUnicode::charDigit_0 &&
-			  *theString <= XalanUnicode::charDigit_9)
-		{
-			temp *= 10;
-			temp += char(*theString) - XalanUnicode::charDigit_0;
-
-			++theString;
-		}
-
-		theResult = temp;
-	}
-	else
-	{
-		// Accumulate a divisor, so we can divide at the end.
-		double	theDivisor = 1;
-
-		// accumulate as an integer, to avoid
-		// rounding issues.  It's also much
-		// faster...
-		unsigned long	temp = 0;
-
-		while(*theString &&
-			  *theString >= XalanUnicode::charDigit_0 &&
-			  *theString <= XalanUnicode::charDigit_9)
-		{
-			theDivisor *= 10;
-
-			temp *= 10;
-			temp += char(*theString) - XalanUnicode::charDigit_0;
-
-			++theString;
-		}
-
-		if (temp > 0 && theDivisor > 1)
-		{
-			const double	theFactionalPart =
-				double(temp) / double(theDivisor);
-
-			theResult += theFactionalPart;
-		}
-	}
-}
-
-
-
-double
-doConvert(const XalanDOMChar*	theString)
-{
-	assert(theString != 0);
-	assert(*theString != 0);
-
-	double	theResult = 0.0;
-
-	bool	fError = false;
-	bool	fGotDecimalPoint = false;
-	bool	fGotDigit = false;
-	bool	fGotMinus = false;
-	bool	fGotWhitespace = false;
-
-	const XalanDOMChar*		theCurrent = theString;
-
-	// trim any whitespace
-	consumeWhitespace(theCurrent);
-
-	while(*theCurrent != 0 && fError == false)
-	{
-		switch(*theCurrent)
-		{
-		case XalanUnicode::charFullStop:
-			if (fGotDecimalPoint == true ||	// can't have more than one...
-				fGotWhitespace == true)	// can't have one after whitespace...
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotDecimalPoint = true;
-
-				++theCurrent;
-			}
-			break;
-
-		case XalanUnicode::charHyphenMinus:
-			if (fGotDecimalPoint == true ||
-				fGotMinus == true ||
-				fGotDigit == true ||
-				fGotWhitespace == true)
-			{
-				// Error -- more than one, or in bad position.
-				fError = true;
-			}
-			else
-			{
-				fGotMinus = true;
-
-				++theCurrent;
-			}
-			break;
-
-		case XalanUnicode::charDigit_0:
-		case XalanUnicode::charDigit_1:
-		case XalanUnicode::charDigit_2:
-		case XalanUnicode::charDigit_3:
-		case XalanUnicode::charDigit_4:
-		case XalanUnicode::charDigit_5:
-		case XalanUnicode::charDigit_6:
-		case XalanUnicode::charDigit_7:
-		case XalanUnicode::charDigit_8:
-		case XalanUnicode::charDigit_9:
-			if (fGotWhitespace == true)
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotDigit = true;
-
-				accumulateNumbers(theCurrent, theResult, fGotDecimalPoint);
-			}
-			break;
-
-		case XalanUnicode::charSpace:
-		case XalanUnicode::charCR:
-		case XalanUnicode::charHTab:
-		case XalanUnicode::charLF:
-			if (fGotWhitespace == true)
-			{
-				fError = true;
-			}
-			else
-			{
-				fGotWhitespace = true;
-
-				consumeWhitespace(theCurrent);
-			}
-			break;
-
-		default:
-			fError = true;
-			break;
-		}
-	}
-
-	if (fError == true || fGotDigit == false)
-	{
-		return DoubleSupport::getNaN();
-	}
-	else
-	{
-		return fGotMinus == true ? -theResult : theResult;
-	}
-}
-
-#endif
-
-
-double
-DoubleSupport::round(double		theValue)
-{
-	if (isNaN(theValue))
-	{
-		return getNaN();
-	}
-	else if (isPositiveInfinity(theValue))
-	{
-		return getPositiveInfinity();
-	}
-	if (isNegativeInfinity(theValue))
-	{
-		return getNegativeInfinity();
-	}
-	else if (theValue == 0)
-	{
-		return 0.0;
-	}
-	else if (theValue > 0)
-	{
-		return long(theValue + 0.5);
-	}
-	else
-	{
-		// Negative numbers are a special case.  Any time we
-		// have -0.5 as the fractional part, we have to
-		// round up (toward 0), rather than down.
-		double			intPart = 0;
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		const double	fracPart = std::modf(theValue, &intPart);
-#else
-		const double	fracPart = modf(theValue, &intPart);
-#endif
-
-		if (fracPart == -0.5)
-		{
-			// special case -- we have have to round toward 0...
-			return long(theValue + 0.5);
-		}
-		else
-		{
-			return long(theValue - 0.5);
-		}
-	}
-}
diff --git a/src/PlatformSupport/DoubleSupport.hpp b/src/PlatformSupport/DoubleSupport.hpp
deleted file mode 100644
index 125bac3..0000000
--- a/src/PlatformSupport/DoubleSupport.hpp
+++ /dev/null
@@ -1,629 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(DOUBLESUPPORT_HEADER_GUARD_1357924680)
-#define DOUBLESUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <functional>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// A class to help us support IEEE 754.
-class XALAN_PLATFORMSUPPORT_EXPORT DoubleSupport
-{
-public:
-
-	// Use these functions to determine if a value represents one of these
-	// values.  It seems that under some architectures, NaN will compare
-	// as equal to any number, which is a big problem.  Hence these helper
-	// functions.
-
-	/**
-	 * Determine if target is not a number
-	 * 
-	 * @param theNumber target number
-	 * @return true if target represents the "not a number" value
-	 */
-	static bool
-	isNaN(double	theNumber)
-	{
-		// Compare the two DWORDs of the double as unsigned longs.
-		const DWORDPointerType	theFirstDWORD =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(DWORDPointerType)&theNumber;
-#else
-			reinterpret_cast<DWORDPointerType>(&theNumber);
-#endif
-
-		const UnalignedDWORDPointerType		theSecondDWORD =
-							theFirstDWORD + 1;
-
-		return *theFirstDWORD == *s_NaNFirstDWORD &&
-			   *theSecondDWORD == *s_NaNSecondDWORD;
-	}
-
-	/**
-	 * Determine if target is positive infinity
-	 * 
-	 * @param theNumber target number
-	 * @return true if target represents the value for positive infinity
-	 */
-	static bool
-	isPositiveInfinity(double	theNumber)
-	{
-		return !isNaN(theNumber) && theNumber == s_positiveInfinity;
-	}
-
-	/**
-	 * Determine if target is negative infinity
-	 * 
-	 * @param theNumber target number
-	 * @return true if target represents the value for negative infinity
-	 */
-	static bool
-	isNegativeInfinity(double	theNumber)
-	{
-		return !isNaN(theNumber) && theNumber == s_negativeInfinity;
-	}
-
-	/**
-	 * Determine if target is positive 0.
-	 * 
-	 * @param theNumber target number
-	 * @return true if target represents the value for positive 0.
-	 */
-	static bool
-	isPositiveZero(double	theNumber)
-	{
-		// Compare the two DWORDs of the double as unsigned longs.
-		const DWORDPointerType	theFirstDWORD =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(DWORDPointerType)&theNumber;
-#else
-			reinterpret_cast<DWORDPointerType>(&theNumber);
-#endif
-
-		const UnalignedDWORDPointerType		theSecondDWORD =
-							theFirstDWORD + 1;
-
-		return *theFirstDWORD == *s_positiveZeroFirstDWORD &&
-			   *theSecondDWORD == *s_positiveZeroSecondDWORD;
-	}
-
-	/**
-	 * Determine if target is negative 0
-	 * 
-	 * @param theNumber target number
-	 * @return true if target represents the value for negative 0
-	 */
-	static bool
-	isNegativeZero(double	theNumber)
-	{
-		// Compare the two DWORDs of the double as unsigned longs.
-		const DWORDPointerType	theFirstDWORD =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(DWORDPointerType)&theNumber;
-#else
-			reinterpret_cast<DWORDPointerType>(&theNumber);
-#endif
-
-		const UnalignedDWORDPointerType		theSecondDWORD =
-							theFirstDWORD + 1;
-
-		return *theFirstDWORD == *s_negativeZeroFirstDWORD &&
-			   *theSecondDWORD == *s_negativeZeroSecondDWORD;
-	}
-
-	// These can be used to initialize values, but should not
-	// be used to do equality comparisons, as == may fail on
-	// some platforms.
-	//
-
-	/**
-	 * Double value that represents "not a number"
-	 * 
-	 * @return "not a number" value
-	 */
-	static double
-	getNaN()
-	{
-		return s_NaN;
-	}
-
-	/**
-	 * Double value that represents positive infinity
-	 * 
-	 * @return positive infinity value
-	 */
-	static double
-	getPositiveInfinity()
-	{
-		return s_positiveInfinity;
-	}
-
-	/**
-	 * Double value that represents negative infinity
-	 * 
-	 * @return negative infinity value
-	 */
-	static double
-	getNegativeInfinity()
-	{
-		return s_negativeInfinity;
-	}
-
-	/**
-	 * Compare two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to compare
-	 * @param theRHS a number to compare
-	 * @return the result of the compare
-	 */
-	static bool
-	equal(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Compare two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to compare
-	 * @param theRHS a number to compare
-	 * @return the result of the compare
-	 */
-	static bool
-	notEqual(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Compare two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to compare
-	 * @param theRHS a number to compare
-	 * @return the result of the compare
-	 */
-	static bool
-	lessThan(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Compare two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to compare
-	 * @param theRHS a number to compare
-	 * @return the result of the compare
-	 */
-	static bool
-	lessThanOrEqual(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Compare two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to compare
-	 * @param theRHS a number to compare
-	 * @return the result of the compare
-	 */
-	static bool
-	greaterThan(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Compare two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to compare
-	 * @param theRHS a number to compare
-	 * @return the result of the compare
-	 */
-	static bool
-	greaterThanOrEqual(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Add two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to add
-	 * @param theRHS a number to add
-	 * @return the result of the addition
-	 */
-	static double
-	add(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Subtract two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to subtract
-	 * @param theRHS a number to subtract
-	 * @return the result of the subtraction
-	 */
-	static double
-	subtract(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Multiply two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to multiply
-	 * @param theRHS a number to multiply
-	 * @return the result of the multiplication
-	 */
-	static double
-	multiply(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Divide two double values, taking into account
-	 * the fact that we must support IEEE 754
-	 *
-	 * @param theLHS a number to divide
-	 * @param theRHS a number to divide
-	 * @return the result of the division
-	 */
-	static double
-	divide(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Determine the modulus two double values,
-	 * taking into account the fact that we must
-	 * support IEEE 754
-	 *
-	 * @param theLHS a number to divide
-	 * @param theRHS a number to divide
-	 * @return the result of the modulus
-	 */
-	static double
-	modulus(
-			double	theLHS,
-			double	theRHS);
-
-	/**
-	 * Determine the negative of a double value,
-	 * taking into account the fact that we must
-	 * support IEEE 754
-	 *
-	 * @param theDouble a number to negate
-	 * @return the result of the negation
-	 */
-	static double
-	negative(double	theDouble);
-
-	// Some functors to do the same thing.  This is for
-	// STL integration...
-	#if defined(XALAN_NO_NAMESPACES)
-	struct equalFunction : public binary_function<const double&, const double&, bool>
-	#else
-	struct equalFunction : public std::binary_function<const double&, const double&, bool>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return equal(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct notEqualFunction : public binary_function<const double&, const double&, bool>
-	#else
-	struct notEqualFunction : public std::binary_function<const double&, const double&, bool>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return notEqual(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct lessThanFunction : public binary_function<const double&, const double&, bool>
-	#else
-	struct lessThanFunction : public std::binary_function<const double&, const double&, bool>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return lessThan(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct lessThanOrEqualFunction : public binary_function<const double&, const double&, bool>
-	#else
-	struct lessThanOrEqualFunction : public std::binary_function<const double&, const double&, bool>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return lessThanOrEqual(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct greaterThanFunction : public binary_function<const double&, const double&, bool>
-	#else
-	struct greaterThanFunction : public std::binary_function<const double&, const double&, bool>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return greaterThan(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct greaterThanOrEqualFunction : public binary_function<const double&, const double&, bool>
-	#else
-	struct greaterThanOrEqualFunction : public std::binary_function<const double&, const double&, bool>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return greaterThanOrEqual(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct addFunction : public binary_function<const double&, const double&, double>
-	#else
-	struct addFunction : public std::binary_function<const double&, const double&, double>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return add(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct subtractFunction : public binary_function<const double&, const double&, double>
-	#else
-	struct subtractFunction : public std::binary_function<const double&, const double&, double>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return subtract(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct multiplyFunction : public binary_function<const double&, const double&, double>
-	#else
-	struct multiplyFunction : public std::binary_function<const double&, const double&, double>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return multiply(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct divideFunction : public binary_function<const double&, const double&, double>
-	#else
-	struct divideFunction : public std::binary_function<const double&, const double&, double>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return divide(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct modulusFunction : public binary_function<const double&, const double&, double>
-	#else
-	struct modulusFunction : public std::binary_function<const double&, const double&, double>
-	#endif
-	{
-		result_type
-		operator()(
-			first_argument_type		theLHS,
-			second_argument_type	theRHS) const
-		{
-			return modulus(theLHS, theRHS);
-		}
-	};
-
-	#if defined(XALAN_NO_NAMESPACES)
-	struct negativeFunction : public unary_function<const double&, double>
-	#else
-	struct negativeFunction : public std::unary_function<const double&, double>
-	#endif
-	{
-		result_type
-		operator()(argument_type	theDouble) const
-		{
-			return negative(theDouble);
-		}
-	};
-
-	/**
-	 * Determine whether or not a string contains
-	 * a valid floating point number.
-	 *
-	 * @param theString The string to check.
-	 * @return true if the string is valid, false if not.
-	 */
-	static bool
-	isValid(const XalanDOMString	theString);
-
-	/**
-	 * Determine whether or not a string contains
-	 * a valid floating point number.
-	 *
-	 * @param theString The string to check.
-	 * @return true if the string is valid, false if not.
-	 */
-	static bool
-	isValid(const XalanDOMChar*		theString);
-
-	/**
-	 * Convert a string to a double value.  Returns
-	 * NaN if the string is not a valid floating
-	 * point number.
-	 *
-	 * @param theString The string to convert.
-	 * @return The result of the conversion
-	 */
-	static double
-	toDouble(const XalanDOMString&	theString);
-
-	/**
-	 * Convert a string to a double value.  Returns
-	 * NaN if the string is not a valid floating
-	 * point number.
-	 *
-	 * @param theString The string to convert.
-	 * @return The result of the conversion
-	 */
-	static double
-	toDouble(const XalanDOMChar*	theString);
-
-	/**
-	 * Round a number according to the XPath
-	 * rules.
-	 *
-	 * @param theValue The value to round.
-	 * @return The result of the rounding
-	 */
-	static double
-	round(double	theValue);
-
-	typedef const unsigned int*						DWORDPointerType;
-	typedef XALAN_UNALIGNED const unsigned int*		UnalignedDWORDPointerType;
-
-private:
-
-	static const double			s_NaN;
-	static const double			s_positiveInfinity;
-	static const double			s_negativeInfinity;
-	static const double			s_positiveZero;
-	static const double			s_negativeZero;
-
-	static const DWORDPointerType			s_NaNFirstDWORD;
-	static const UnalignedDWORDPointerType	s_NaNSecondDWORD;
-
-	static const DWORDPointerType			s_positiveZeroFirstDWORD;
-	static const UnalignedDWORDPointerType	s_positiveZeroSecondDWORD;
-
-	static const DWORDPointerType			s_negativeZeroFirstDWORD;
-	static const UnalignedDWORDPointerType	s_negativeZeroSecondDWORD;
-};
-
-
-
-#endif	// DOUBLESUPPORT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/ExecutionContext.cpp b/src/PlatformSupport/ExecutionContext.cpp
deleted file mode 100644
index 2a582a4..0000000
--- a/src/PlatformSupport/ExecutionContext.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "ExecutionContext.hpp"
-
-
-
-ExecutionContext::ExecutionContext()
-{
-}
-
-
-
-ExecutionContext::~ExecutionContext()
-{
-}
diff --git a/src/PlatformSupport/ExecutionContext.hpp b/src/PlatformSupport/ExecutionContext.hpp
deleted file mode 100644
index 869938e..0000000
--- a/src/PlatformSupport/ExecutionContext.hpp
+++ /dev/null
@@ -1,249 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXECUTIONCONTEXT_HEADER_GUARD_1357924680)
-#define EXECUTIONCONTEXT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-// $$$ ToDo:  Needed for now, since XalanDOMString is still a typedef...
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class Locator;
-class XalanNode;
-
-
-
-//
-// An abstract class which provides support for execution.
-//
-class XALAN_PLATFORMSUPPORT_EXPORT ExecutionContext
-{
-public:
-
-	explicit
-	ExecutionContext();
-
-	virtual
-	~ExecutionContext();
-
-	/**
-	 * Tell the user of an error, and throw an exception.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the error occurred
-	 * @param styleNode  node in stylesheet where the error occurred
-	 */
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	/**
-	 * Tell the user of an error, and throw an exception.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the error occurred.  May be 0.
-	 * @param locator  A Locator to determine where the error occurred.  May be 0.
-	 */
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	/**
-	 * Tell the user of an error, and throw an exception.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the error occurred
-	 * @param styleNode  node in stylesheet where the error occurred
-	 */
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	/**
-	 * Tell the user of an error, and throw an exception.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the error occurred.  May be 0.
-	 * @param locator  A Locator to determine where the error occurred.  May be 0.
-	 */
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	/**
-	 * Tell the user of an warning.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the warning occurred
-	 * @param styleNode  node in stylesheet where the warning occurred
-	 */
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	/**
-	 * Tell the user of a warning.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the warning occurred.  May be 0.
-	 * @param locator  A Locator to determine where the warning occurred.  May be 0.
-	 */
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	/**
-	 * Tell the user of an warning, and probably throw an exception.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the warning occurred
-	 * @param styleNode  node in stylesheet where the warning occurred
-	 */
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	/**
-	 * Tell the user of a warning.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the warning occurred.  May be 0.
-	 * @param locator  A Locator to determine where the warning occurred.  May be 0.
-	 */
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	/**
-	 * Output a message.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where error occurred
-	 * @param styleNode  node in stylesheet where error occurred
-	 */
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	/**
-	 * Output a message.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the message occurred.  May be 0.
-	 * @param locator  A Locator to determine where the message occurred.  May be 0.
-	 */
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	/**
-	 * Output a message.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the message occurred
-	 * @param styleNode  node in stylesheet where the message occurred
-	 */
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	/**
-	 * Output a message.
-	 * 
-	 * @param msg        text of message to output
-	 * @param sourceNode node in source where the message occurred.  May be 0.
-	 * @param locator  A Locator to determine where the message occurred.  May be 0.
-	 */
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-};
-
-
-
-#endif	// EXECUTIONCONTEXT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/FormatterListener.cpp b/src/PlatformSupport/FormatterListener.cpp
deleted file mode 100644
index 3e3e501..0000000
--- a/src/PlatformSupport/FormatterListener.cpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- */
-
-
-
-// Class header file.
-#include "FormatterListener.hpp"
-
-
-
-#include "DOMStringHelper.hpp"
-
-
-
-FormatterListener::FormatterListener(eFormat	theFormat) :
-	DocumentHandler(),
-	m_prefixResolver(0),
-	m_outputFormat(theFormat)
-{
-}
-
-
-
-FormatterListener::~FormatterListener()
-{
-}
-
-
-
-static XalanDOMString	s_xsltNextIsRawString;
-
-static XalanDOMString	s_formatterListenerString;
-
-
-
-const XalanDOMString&	FormatterListener::s_xsltNextIsRawString = ::s_xsltNextIsRawString;
-
-const XalanDOMString&	FormatterListener::s_formatterListenerString = ::s_formatterListenerString;
-
-
-
-void
-FormatterListener::initialize()
-{
-	::s_xsltNextIsRawString = XALAN_STATIC_UCODE_STRING("raw");
-
-	::s_formatterListenerString = XALAN_STATIC_UCODE_STRING("formatter-listener");
-}
-
-
-
-void
-FormatterListener::terminate()
-{
-	releaseMemory(::s_xsltNextIsRawString);
-
-	releaseMemory(::s_formatterListenerString);
-}
diff --git a/src/PlatformSupport/FormatterListener.hpp b/src/PlatformSupport/FormatterListener.hpp
deleted file mode 100644
index c8f06f1..0000000
--- a/src/PlatformSupport/FormatterListener.hpp
+++ /dev/null
@@ -1,280 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERLISTENER_HEADER_GUARD_1357924680)
-#define FORMATTERLISTENER_HEADER_GUARD_1357924680
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- */
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <xercesc/sax/DocumentHandler.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class PrefixResolver;
-
-
-
-/**
- * A SAX-based formatter interface for the XSL processor.  This interface 
- * will be called as result tree elements are constructed.
- */
-class XALAN_PLATFORMSUPPORT_EXPORT FormatterListener : public DocumentHandler
-{
-public:
-
-	// A handy typedef...  Must match DocumentHandler's type for characters(), etc...
-	typedef unsigned int	size_type;
-
-	/**
-	 * Perform static initialization.  See class XMLSupportInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XMLSupportInit.
-	 */
-	static void
-	terminate();
-
-
-	enum eFormat
-	{
-		OUTPUT_METHOD_NONE = 0,
-		OUTPUT_METHOD_XML = 1,
-		OUTPUT_METHOD_HTML = 2,
-		OUTPUT_METHOD_TEXT = 3,
-		OUTPUT_METHOD_DOM = 4,
-		OUTPUT_METHOD_OTHER = 5
-	};
-
-	FormatterListener(eFormat	theFormat);
-
-	virtual
-	~FormatterListener();
-
-
-	eFormat
-	getOutputFormat() const
-	{
-		return m_outputFormat;
-	}
-
-	/**
-	 * Get the PrefixResolver for the FormatterListener
-	 *
-	 * @return A pointer to the PrefixResolver, if any.
-	 */
-	const PrefixResolver*
-	getPrefixResolver() const
-	{
-		return m_prefixResolver;
-	}
-
-	/**
-	 * Set the PrefixResolver for the FormatterListener
-	 *
-	 * @param thePrefixResolver A pointer to the PrefixResolver, if any.
-	 */
-	void
-	setPrefixResolver(const PrefixResolver*		thePrefixResolver)
-	{
-		m_prefixResolver = thePrefixResolver;
-	}
-
-	/**
-	 * Receive notification of character data. If available, when the
-	 * disable-output-escaping attribute is used, output raw text without
-	 * escaping.
-	 *
-	 * @param chars  pointer to characters from the XML document
-	 * @param length number of characters to read from the array
-	 * @exception SAXException
-	 */
-	virtual void
-	charactersRaw(
-			const XMLCh* const	chars,
-			const size_type		length) = 0;
-
-	/**
-	 * Called when a Comment is to be constructed.
-	 *
-	 * @param   data	pointer to comment data
-	 * @exception SAXException
-	 */
-	virtual void
-	comment(const XMLCh* const	data) = 0;
-
-	/**
-	 * Receive notification of cdata.
-	 *
-	 * <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     pointer to characters from the XML document
-	 * @param length number of characters to read from the array
-	 * @exception SAXException
-	 */
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const size_type 	length) = 0;
-
-	/**
-	 * Receive notification of a entityReference.
-	 *
-	 * @param data pointer to characters from the XML document
-	 * @exception SAXException
-	 */
-	virtual void
-	entityReference(const XMLCh* const	name) = 0;
-
-
-// These methods are inherited from DocumentHandler ...
-
-    virtual void
-	characters(
-			const XMLCh* const	chars,
-			const size_type		length) = 0;
-
-    virtual void
-	endDocument() = 0;
-
-    virtual void
-	endElement(const XMLCh* const	name) = 0;
-
-	virtual void
-	ignorableWhitespace(
-			const XMLCh* const	chars,
-			const size_type		length) = 0;
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data) = 0;
-
-	virtual void
-	resetDocument() = 0;
-
-	virtual void
-	setDocumentLocator(const Locator* const		locator) = 0;
-
-	virtual void
-	startDocument() = 0;
-
-	virtual void
-	startElement(
-			const	XMLCh* const	name,
-			AttributeList&			attrs) = 0;
-
-
-	// Used when creating PI to work around limitations of
-	// our interfaces...
-	static const XalanDOMString&	s_xsltNextIsRawString;
-
-	static const XalanDOMString&	s_formatterListenerString;
-
-protected:
-
-	// Data membmers...
-	const PrefixResolver*	m_prefixResolver;
-
-private:
-
-	// Not implemented...
-	FormatterListener(const FormatterListener&);
-
-	FormatterListener&
-	operator=(const FormatterListener&);
-
-	bool
-	operator==(const FormatterListener&) const;
-
-	// Data membmers...
-	const eFormat			m_outputFormat;
-};
-
-
-
-#endif	// FORMATTERLISTENER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/NamedNodeMapAttributeList.cpp b/src/PlatformSupport/NamedNodeMapAttributeList.cpp
deleted file mode 100644
index cf7c549..0000000
--- a/src/PlatformSupport/NamedNodeMapAttributeList.cpp
+++ /dev/null
@@ -1,193 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "NamedNodeMapAttributeList.hpp"
-
-
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanUnicode.hpp"
-
-
-
-const XalanDOMChar	NamedNodeMapAttributeList::s_typeString[] = 
-{
-	XalanUnicode::charLetter_C,
-	XalanUnicode::charLetter_D,
-	XalanUnicode::charLetter_A,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charLetter_A,
-	0
-};
-
-
-
-NamedNodeMapAttributeList::NamedNodeMapAttributeList(const XalanNamedNodeMap&	theMap) :
-	m_nodeMap(theMap),
-	m_lastIndex(theMap.getLength() - 1)
-{
-}
-
-
-
-NamedNodeMapAttributeList::~NamedNodeMapAttributeList()
-{
-}
-
-
-
-unsigned int
-NamedNodeMapAttributeList::getLength() const
-{
-	return m_nodeMap.getLength();
-}
-
-
-
-const XMLCh*
-NamedNodeMapAttributeList::getName(const unsigned int index) const
-{
-	// We have to return a pointer to a something, but the Xerces
-	// DOM classes return strings by value, so we have to get
-	// the value from the node and store the data somewhere
-	// safe, so we have a vector to hold everything.
-	const XalanAttr* const	theAttribute =
-#if defined(XALAN_OLD_STYLE_CASTS)
-		(const XalanAttr*)m_nodeMap.item(m_lastIndex - index);
-#else
-		static_cast<const XalanAttr*>(m_nodeMap.item(m_lastIndex - index));
-#endif
-	assert(theAttribute != 0);
-
-	return c_wstr(theAttribute->getName());
-}
-
-
-
-const XMLCh*
-NamedNodeMapAttributeList::getType(const unsigned int /* index */) const
-{
-	assert(length(s_typeString) > 0);
-
-	return s_typeString;
-}
-
-
-
-const XMLCh*
-NamedNodeMapAttributeList::getValue(const unsigned int index) const
-{
-	const XalanAttr* const	theAttribute =
-#if defined(XALAN_OLD_STYLE_CASTS)
-		(const XalanAttr*)m_nodeMap.item(m_lastIndex - index);
-#else
-		static_cast<const XalanAttr*>(m_nodeMap.item(m_lastIndex - index));
-#endif
-	assert(theAttribute != 0);
-
-	return c_wstr(theAttribute->getValue());
-}
-
-
-
-const XMLCh*
-NamedNodeMapAttributeList::getType(const XMLCh* const /* name */) const
-{
-	assert(length(s_typeString) > 0);
-
-	return c_wstr(s_typeString);
-}
-
-
-
-const XMLCh*
-NamedNodeMapAttributeList::getValue(const XMLCh* const name) const
-{
-	// We have to return a pointer to a something, but the Xerces
-	// DOM classes return strings by value, so we have to get
-	// the value from the node and store the XalanDOMString somewhere
-	// safe, so we have a vector of XalanDOMStrings to hold everything.
-	const XalanNode*	theNode = m_nodeMap.getNamedItem(XalanDOMString(name));
-
-	if (theNode == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		const XalanAttr* const	theAttribute =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(const XalanAttr*)theNode;
-#else
-			static_cast<const XalanAttr*>(theNode);
-#endif
-
-		return c_wstr(theAttribute->getValue());
-	}
-}
-
-
-
-const XMLCh* 
-NamedNodeMapAttributeList::getValue(const char* const name) const
-{
-	return getValue(c_wstr(TranscodeFromLocalCodePage(name)));
-}
diff --git a/src/PlatformSupport/NamedNodeMapAttributeList.hpp b/src/PlatformSupport/NamedNodeMapAttributeList.hpp
deleted file mode 100644
index 38f4c86..0000000
--- a/src/PlatformSupport/NamedNodeMapAttributeList.hpp
+++ /dev/null
@@ -1,134 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NAMEDNODEMAPATTRIBUTELIST_HEADER_GUARD_1357924680)
-#define NAMEDNODEMAPATTRIBUTELIST_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanNamedNodeMap;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT NamedNodeMapAttributeList : public AttributeList
-{
-public:
-
-	explicit
-	NamedNodeMapAttributeList(const XalanNamedNodeMap&	theMap);
-
-	virtual
-	~NamedNodeMapAttributeList();
-
-	// These are inherited from AttributeList
-    virtual unsigned int
-	getLength() const;
-
-    virtual const XalanDOMChar*
-	getName(const unsigned int index) const;
-
-    virtual const XalanDOMChar*
-	getType(const unsigned int index) const;
-
-    virtual const XalanDOMChar*
-	getValue(const unsigned int index) const;
-
-    virtual const XalanDOMChar*
-	getType(const XalanDOMChar* const name) const;
-
-    virtual const XalanDOMChar*
-	getValue(const XalanDOMChar* const name) const;
-
-	virtual const XalanDOMChar* 
-	getValue(const char* const name) const;
-
-private:
-
-	// Not implemented...
-	NamedNodeMapAttributeList&
-	operator=(const NamedNodeMapAttributeList&);
-
-	bool
-	operator==(const NamedNodeMapAttributeList&);
-
-	// Data members...
-	const XalanNamedNodeMap&	m_nodeMap;
-
-	const unsigned int			m_lastIndex;
-
-	static const XalanDOMChar	s_typeString[];
-};
-
-
-
-#endif	// NAMEDNODEMAPATTRIBUTELIST_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/NullPrintWriter.cpp b/src/PlatformSupport/NullPrintWriter.cpp
deleted file mode 100644
index d1b09ab..0000000
--- a/src/PlatformSupport/NullPrintWriter.cpp
+++ /dev/null
@@ -1,261 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "NullPrintWriter.hpp"
-
-
-
-NullPrintWriter::NullPrintWriter() :
-	PrintWriter(false)
-{
-}
-
-
-
-NullPrintWriter::~NullPrintWriter()
-{
-}
-
-
-
-bool
-NullPrintWriter::checkError() const
-{
-	return false;
-}
-
-
-
-void
-NullPrintWriter::close()
-{
-}
-
-
-
-void
-NullPrintWriter::flush()
-{
-}
-
-
-
-void
-NullPrintWriter::write(
-			const char*		/* s */,
-			size_t			/* theOffset */,
-			size_t			/* theLength */)
-{
-}
-
-
-
-void
-NullPrintWriter::write(
-			const XalanDOMChar*			/* s */,
-			XalanDOMString::size_type	/* theOffset */,
-			XalanDOMString::size_type	/* theLength */)
-{
-}
-
-
-
-void
-NullPrintWriter::write(XalanDOMChar	/* c */)
-{
-}
-
-
-
-void
-NullPrintWriter::write(
-			const XalanDOMString&		/* s */,
-			XalanDOMString::size_type	/* theOffset */,
-			XalanDOMString::size_type	/* theLength */)
-{
-}
-
-
-
-#if !defined(XALAN_BOOL_AS_INT)
-void
-NullPrintWriter::print(bool	/* b */)
-{
-}
-#endif
-
-
-
-void
-NullPrintWriter::print(char	/* c */)
-{
-}
-
-
-
-void
-NullPrintWriter::print(
-			const char*		/* s */,
-			size_t			/* theLength */)
-{
-}
-
-
-
-void
-NullPrintWriter::print(
-			const XalanDOMChar*			/* s */,
-			XalanDOMString::size_type	/* theLength */)
-{
-}
-
-
-
-void
-NullPrintWriter::print(double	/* d */)
-{
-}
-
-
-
-void
-NullPrintWriter::print(int	/* i */)
-{
-}
-
-
-
-void
-NullPrintWriter::print(long	/* l */)
-{
-}
-
-
-
-void
-NullPrintWriter::print(const XalanDOMString&	/* s */)
-{
-}
-
-
-
-void
-NullPrintWriter::println()
-{
-}
-
-
-
-#if !defined(XALAN_BOOL_AS_INT)
-void
-NullPrintWriter::println(bool	/* x */)
-{
-}
-#endif
-
-
-
-void
-NullPrintWriter::println(char	/* x */)
-{
-}
-
-
-
-void
-NullPrintWriter::println(
-			const char*		/* s */,
-			size_t			/* theLength */)
-{
-}
-
-
-
-void
-NullPrintWriter::println(
-			const XalanDOMChar*			/* s */,
-			XalanDOMString::size_type	/* theLength */)
-{
-}
-
-
-
-void
-NullPrintWriter::println(double	/* x */)
-{
-}
-
-
-
-void
-NullPrintWriter::println(int	/* x */)
-{
-}
-
-
-
-void
-NullPrintWriter::println(long	/* x */)
-{
-}
-
-
-
-void
-NullPrintWriter::println(const XalanDOMString&	/* s */)
-{
-}
diff --git a/src/PlatformSupport/NullPrintWriter.hpp b/src/PlatformSupport/NullPrintWriter.hpp
deleted file mode 100644
index 285b4c8..0000000
--- a/src/PlatformSupport/NullPrintWriter.hpp
+++ /dev/null
@@ -1,191 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NULLPRINTWRITER_HEADER_GUARD_1357924680)
-#define NULLPRINTWRITER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT NullPrintWriter : public PrintWriter
-{
-public:
-
-	explicit
-	NullPrintWriter();
-
-	virtual
-	~NullPrintWriter();
-
-	// Functions inherited from PrintWriter...
-
-	virtual bool
-    checkError() const;
-
-	virtual void
-	close();
-
-	virtual void
-	flush();
-
-	virtual void
-	write(
-			const char*		s,
-			size_t			theOffset = 0,
-			size_t			theLength = npos);
-
-	virtual void
-	write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	write(XalanDOMChar		c);
-
-	virtual void
-	write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	print(bool	b);
-#endif
-
-	virtual void
-	print(char	c);
-
-	virtual void
-	print(
-			const char*		s,
-			size_t			theLength = npos);
-
-	virtual void
-	print(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	print(double	d);
-
-	virtual void
-	print(int	i);
-
-	virtual void
-	print(long	l);
-
-	virtual void
-	print(const XalanDOMString&		s);
-
-	virtual void
-	println();
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	println(bool	x);
-#endif
-
-	virtual void
-	println(char	x);
-
-	virtual void
-	println(
-			const char*		s,
-		    size_t			theLength = npos);
-
-	virtual void
-	println(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	println(double	x);
-
-	virtual void
-	println(int		x);
-
-	virtual void
-	println(long	x);
-
-	virtual void
-	println(const XalanDOMString&	s);
-
-private:
-
-	// Not implemented
-	NullPrintWriter(const NullPrintWriter&);
-
-	NullPrintWriter&
-	operator=(const NullPrintWriter&);
-
-	bool
-	operator==(const NullPrintWriter&);
-};
-
-
-
-#endif	// NULLPRINTWRITER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/PlatformSupport.cpp b/src/PlatformSupport/PlatformSupport.cpp
deleted file mode 100644
index e0c8c61..0000000
--- a/src/PlatformSupport/PlatformSupport.cpp
+++ /dev/null
@@ -1,83 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "PlatformSupport.hpp"
-
-
-
-#if defined(XALAN_XERCES)
-
-#include <XercesInit/XercesInit.hpp>
-
-
-
-// This takes care of ensuring that the Xerces platform is
-// initialized
-XercesInit		theInitializer;
-#endif
-
-
-
-PlatformSupportInitializer::PlatformSupportInitializer()
-{
-}
-
-
-
-PlatformSupportInitializer::~PlatformSupportInitializer()
-{
-}
diff --git a/src/PlatformSupport/PlatformSupport.hpp b/src/PlatformSupport/PlatformSupport.hpp
deleted file mode 100644
index 4aa93e0..0000000
--- a/src/PlatformSupport/PlatformSupport.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(PLATFORMSUPPORT_HEADER_GUARD_1357924680)
-#define PLATFORMSUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT PlatformSupportInitializer
-{
-public:
-
-	PlatformSupportInitializer();
-
-	~PlatformSupportInitializer();
-
-private:
-};
-
-
-
-#endif	// PLATFORMSUPPORT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/PlatformSupportDefinitions.hpp b/src/PlatformSupport/PlatformSupportDefinitions.hpp
deleted file mode 100644
index d8b6e0c..0000000
--- a/src/PlatformSupport/PlatformSupportDefinitions.hpp
+++ /dev/null
@@ -1,82 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(PLATFORMSUPPORTDEFINITIONS_HEADER_GUARD_1357924680)
-#define PLATFORMSUPPORTDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_PLATFORMSUPPORT_BUILD_DLL)
-
-#define XALAN_PLATFORMSUPPORT_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_PLATFORMSUPPORT_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// PLATFORMSUPPORTDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/PlatformSupportInit.cpp b/src/PlatformSupport/PlatformSupportInit.cpp
deleted file mode 100644
index 572e749..0000000
--- a/src/PlatformSupport/PlatformSupportInit.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "PlatformSupportInit.hpp"
-
-
-
-#include "DOMStringHelper.hpp"
-#include "FormatterListener.hpp"
-#include "XalanTranscodingServices.hpp"
-
-
-
-unsigned long	PlatformSupportInit::s_initCounter = 0;
-
-
-
-PlatformSupportInit::PlatformSupportInit() :
-	m_xalanDOMInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-PlatformSupportInit::~PlatformSupportInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-PlatformSupportInit::initialize()
-{
-	DOMStringHelperInitialize();
-
-	XalanTranscodingServices::initialize();
-
-	FormatterListener::initialize();
-}
-
-
-
-void
-PlatformSupportInit::terminate()
-{
-	FormatterListener::terminate();
-
-	XalanTranscodingServices::terminate();
-
-	DOMStringHelperTerminate();
-}
diff --git a/src/PlatformSupport/PlatformSupportInit.hpp b/src/PlatformSupport/PlatformSupportInit.hpp
deleted file mode 100644
index 31b67df..0000000
--- a/src/PlatformSupport/PlatformSupportInit.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(PLATFORMSUPPORTINIT_INCLUDE_GUARD_1357924680)
-#define PLATFORMSUPPORTINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMInit.hpp>
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT PlatformSupportInit
-{
-public:
-
-	explicit
-	PlatformSupportInit();
-
-	~PlatformSupportInit();
-
-private:
-
-	// Not implemented...
-	PlatformSupportInit(const PlatformSupportInit&);
-
-	PlatformSupportInit&
-	operator=(const PlatformSupportInit&);
-
-	
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	const XalanDOMInit		m_xalanDOMInit;
-
-	static unsigned long	s_initCounter;
-};
-
-
-
-#endif	// !defined(ARENAALLOCATOR_INCLUDE_GUARD_1357924680)
diff --git a/src/PlatformSupport/PrefixResolver.cpp b/src/PlatformSupport/PrefixResolver.cpp
deleted file mode 100644
index 86a7e61..0000000
--- a/src/PlatformSupport/PrefixResolver.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "PrefixResolver.hpp"
-
-
-
-PrefixResolver::PrefixResolver()
-{
-}
-
-
-
-PrefixResolver::PrefixResolver(const PrefixResolver&)
-{
-}
-
-
-
-PrefixResolver::~PrefixResolver()
-{
-}
diff --git a/src/PlatformSupport/PrefixResolver.hpp b/src/PlatformSupport/PrefixResolver.hpp
deleted file mode 100644
index b1981e1..0000000
--- a/src/PlatformSupport/PrefixResolver.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(PREFIXRESOLVER_HEADER_GUARD_1357924680)
-#define PREFIXRESOLVER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-/**
- * This class defines an interface for classes that resolve namespace prefixes
- * to their URIs 
- */
-class XALAN_PLATFORMSUPPORT_EXPORT PrefixResolver
-{
-public:
-
-	PrefixResolver();
-
-	PrefixResolver(const PrefixResolver&);
-
-	virtual
-	~PrefixResolver();
-
-	/**
-	 * Retrieve a namespace corresponding to a prefix.  This assumes that 
-	 * the PrevixResolver hold's its own namespace context, or is a namespace
-	 * context itself.
-	 *
-	 * @param prefix Prefix to resolve
-	 * @return namespace that prefix resolves to, or null if prefix is not found
-	 */
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const = 0;
-
-	/**
-	 * Retrieve the base URI for the resolver.
-	 * 
-	 * @return URI string
-	 */
-	virtual const XalanDOMString&
-	getURI() const = 0;
-};
-
-
-
-#endif	// PREFIXRESOLVER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/PrintWriter.cpp b/src/PlatformSupport/PrintWriter.cpp
deleted file mode 100644
index 9b3436e..0000000
--- a/src/PlatformSupport/PrintWriter.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "PrintWriter.hpp"
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanUnicode.hpp"
-
-
-
-const XalanDOMChar	PrintWriter::s_trueString[] =
-{
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-const XalanDOMChar	PrintWriter::s_falseString[] =
-{
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-const XalanDOMChar	PrintWriter::s_newlineString[] =
-{
-	XalanUnicode::charLF,
-	0
-};
-
-
-
-PrintWriter::PrintWriter(bool	fAutoFlush) :
-	Writer(),
-	m_fAutoFlush(fAutoFlush)
-{
-}
-
-
-
-PrintWriter::~PrintWriter()
-{
-}
diff --git a/src/PlatformSupport/PrintWriter.hpp b/src/PlatformSupport/PrintWriter.hpp
deleted file mode 100644
index 9d225c2..0000000
--- a/src/PlatformSupport/PrintWriter.hpp
+++ /dev/null
@@ -1,216 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(PRINTWRITER_HEADER_GUARD_1357924680)
-#define PRINTWRITER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/Writer.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT PrintWriter : public Writer
-{
-public:
-
-	/**
-	 * Constructor
-	 * 
-	 * @param fAutoFlush if true, the output will not be buffered
-	 */
-	PrintWriter(bool	fAutoFlush = false);
-
-	virtual
-	~PrintWriter();
-
-	/**
-	 * Flush the stream, then check the error status.
-	 * 
-	 * @return true if no errors
-	 */
-	virtual bool
-    checkError() const = 0;
-
-	// Functions inherited from Writer...
-
-	virtual void
-	close() = 0;
-
-	virtual void
-	flush() = 0;
-
-
-	// Output functions inherited from Writer...
-
-	virtual void
-	write(
-			const char*		s,
-			size_t			theOffset = 0,
-			size_t			theLength = npos) = 0;
-
-	virtual void
-	write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos) = 0;
-
-	virtual void
-	write(XalanDOMChar	c) = 0;
-
-	virtual void
-	write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos) = 0;
-
-	// Output functions which are new...
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	print(bool	b) = 0;
-#endif
-
-	virtual void
-	print(char	c) = 0;
-
-	virtual void
-	print(
-			const char*		s,
-			size_t			theLength = npos) = 0;
-
-	virtual void
-	print(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos) = 0;
-
-	virtual void
-	print(double	d) = 0;
-
-	virtual void
-	print(int	i) = 0;
-
-	virtual void
-	print(long	l) = 0;
-
-	virtual void
-	print(const XalanDOMString&		s) = 0;
-
-	virtual void
-	println() = 0;
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	println(bool	b) = 0;
-#endif
-
-	virtual void
-	println(char	x) = 0;
-
-	virtual void
-	println(
-			const char*		s,
-		    size_t			theLength = npos) = 0;
-
-	virtual void
-	println(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos) = 0;
-
-	virtual void
-	println(double	x) = 0;
-
-	virtual void
-	println(int		x) = 0;
-
-	virtual void
-	println(long	x) = 0;
-
-	virtual void
-	println(const XalanDOMString&	s) = 0;
-
-protected:
-
-	const bool						m_fAutoFlush;
-
-	// Some static strings to help derived classes...
-	static const XalanDOMChar	s_trueString[];
-
-	static const XalanDOMChar	s_falseString[];
-
-	static const XalanDOMChar	s_newlineString[];
-
-private:
-
-	// Not implemented
-	PrintWriter(const PrintWriter&);
-
-	PrintWriter&
-	operator=(const PrintWriter&);
-
-	bool
-	operator==(const PrintWriter&);
-};
-
-
-
-#endif	// PRINTWRITER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/Resettable.cpp b/src/PlatformSupport/Resettable.cpp
deleted file mode 100644
index b6f999d..0000000
--- a/src/PlatformSupport/Resettable.cpp
+++ /dev/null
@@ -1,69 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "Resettable.hpp"
-
-
-
-Resettable::Resettable()
-{
-}
-
-
-
-Resettable::~Resettable()
-{
-}
diff --git a/src/PlatformSupport/Resettable.hpp b/src/PlatformSupport/Resettable.hpp
deleted file mode 100644
index d0e671f..0000000
--- a/src/PlatformSupport/Resettable.hpp
+++ /dev/null
@@ -1,85 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(RESETTABLE_HEADER_GUARD_1357924680)
-#define RESETTABLE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT Resettable
-{
-public:
-
-	Resettable();
-
-	virtual
-	~Resettable();
-
-	/**
-	 * Reset the instance.
-	 */
-	virtual void
-	reset() = 0;
-};
-
-
-
-#endif	// RESETTABLE_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/ReusableArenaAllocator.hpp b/src/PlatformSupport/ReusableArenaAllocator.hpp
deleted file mode 100644
index c0ddb02..0000000
--- a/src/PlatformSupport/ReusableArenaAllocator.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(REUSABLEARENAALLOCATOR_INCLUDE_GUARD_1357924680)
-#define REUSABLEARENAALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-#include <algorithm>
-#include <vector>
-
-
-
-#include "ReusableArenaBlock.hpp"
-#include "ArenaAllocator.hpp"
-
-
-
-template<class ObjectType>
-class ReusableArenaAllocator : public ArenaAllocator<ObjectType,
-													 ReusableArenaBlock<ObjectType> >
-{
-public:
-
-	typedef ReusableArenaBlock<ObjectType>				ReusableArenaBlockType;
-
-	typedef typename ReusableArenaBlockType::size_type	size_type;
-
-	typedef ArenaAllocator<ObjectType,
-						   ReusableArenaBlockType>		BaseClassType;
-
-	// $$$ ToDo: This typedef is here because of a bug in gcc.
-#if defined (XALAN_NO_NAMESPACES)
-	typedef	vector<ReusableArenaBlockType*>				ArenaBlockListType;
-#else
-	typedef	std::vector<ReusableArenaBlockType*>		ArenaBlockListType;
-#endif
-
-	/*
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	ReusableArenaAllocator(size_type	theBlockSize) :
-		BaseClassType(theBlockSize),
-		m_lastBlockReferenced(0)
-	{
-	}
-
-	virtual
-	~ReusableArenaAllocator()
-	{
-	}
-
-	/*
-	 * Destroy the object, and free the block for re-use.
-	 *
-	 * @param theObject the address of the object.
-	 * @return true if the object was deleted, false if not.
-	 */
-	bool
-	destroyObject(ObjectType*	theObject)
-	{
-		bool	fSuccess = false;
-
-		// Check this, just in case...
-		if (m_lastBlockReferenced != 0 && m_lastBlockReferenced->ownsObject(theObject) == true)
-		{
-			m_lastBlockReferenced->destroyObject(theObject);
-
-			fSuccess = true;
-		}
-		else
-		{
-			// Note that this-> is required by template lookup rules.
-			const typename ArenaBlockListType::reverse_iterator	theEnd = this->m_blocks.rend();
-
-			typename ArenaBlockListType::reverse_iterator	i = this->m_blocks.rbegin();
-
-			while(i != theEnd)
-			{
-				if ((*i)->ownsObject(theObject) == true)
-				{
-					m_lastBlockReferenced = *i;
-
-					m_lastBlockReferenced->destroyObject(theObject);
-
-					fSuccess = true;
-
-					break;
-				}
-				else
-				{
-					++i;
-				}
-			}
-		}
-
-		return fSuccess;
-	}
-
-	/*
-	 * Allocate a block of the appropriate size for an
-	 * object.  Call commitAllocation() when after
-	 * the object is successfully constructed.  You _must_
-	 * commit an allocation before performing any other
-	 * operation on the allocator.
-	 *
-	 * @return A pointer to a block of memory
-	 */
-	virtual ObjectType*
-	allocateBlock()
-	{
-		if (m_lastBlockReferenced == 0 ||
-			m_lastBlockReferenced->blockAvailable() == false)
-		{
-			// Search back for a block with some space available...		
-			const typename ArenaBlockListType::reverse_iterator	theEnd = this->m_blocks.rend();
-			
-			// Note that this-> is required by template lookup rules.
-			typename ArenaBlockListType::reverse_iterator	i = this->m_blocks.rbegin();
-
-			while(i != theEnd)
-			{
-				assert(*i != 0);
-
-				if (*i != m_lastBlockReferenced && (*i)->blockAvailable() == true)
-				{
-					// Ahh, found one with free space.
-					m_lastBlockReferenced = *i;
-
-					break;
-				}
-				else
-				{
-					++i;
-				}
-			}
-
-			if (i == theEnd)
-			{
-				// No blocks have free space available, so create a new block, and
-				// push it on the list.
-				// Note that this-> is required by template lookup rules.
-				m_lastBlockReferenced = new ReusableArenaBlockType(this->m_blockSize);
-
-				this->m_blocks.push_back(m_lastBlockReferenced);
-			}
-		}
-		assert(m_lastBlockReferenced != 0 && m_lastBlockReferenced->blockAvailable() == true);
-
-		return m_lastBlockReferenced->allocateBlock();
-	}
-
-	/*
-	 * Commits the allocation of the previous
-	 * allocateBlock() call.
-	 *
-	 * @param theObject A pointer to a block of memory
-	 */
-	virtual void
-	commitAllocation(ObjectType*	theObject)
-	{
-		// Note that this-> is required by template lookup rules.
-		assert(this->m_blocks.size() != 0 && m_lastBlockReferenced != 0 && m_lastBlockReferenced->ownsBlock(theObject) == true);
-
-		m_lastBlockReferenced->commitAllocation(theObject);
-		assert(m_lastBlockReferenced->ownsObject(theObject) == true);
-	}
-
-	virtual void
-	reset()
-	{
-		m_lastBlockReferenced = 0;
-
-		BaseClassType::reset();
-	}
-
-	virtual bool
-	ownsObject(const ObjectType*	theObject) const
-	{
-		bool	fResult = false;
-
-		// If no block has ever been referenced, then we haven't allocated
-		// any objects.
-		if (m_lastBlockReferenced != 0)
-		{
-			// Check the last referenced block first.
-			fResult = m_lastBlockReferenced->ownsObject(theObject);
-
-			if (fResult == false)
-			{
-				fResult = BaseClassType::ownsObject(theObject);
-			}
-		}
-
-		return fResult;
-	}
-
-private:
-
-	// Not defined...
-	ReusableArenaAllocator(const ReusableArenaAllocator<ObjectType>&);
-
-	ReusableArenaAllocator<ObjectType>&
-	operator=(const ReusableArenaAllocator<ObjectType>&);
-
-	// Data members...
-	ReusableArenaBlockType*		m_lastBlockReferenced;
-};
-
-
-
-#endif	// !defined(REUSABLEARENAALLOCATOR_INCLUDE_GUARD_1357924680)
diff --git a/src/PlatformSupport/ReusableArenaBlock.hpp b/src/PlatformSupport/ReusableArenaBlock.hpp
deleted file mode 100644
index a23241d..0000000
--- a/src/PlatformSupport/ReusableArenaBlock.hpp
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(REUSABLEARENABLOCK_INCLUDE_GUARD_1357924680)
-#define REUSABLEARENABLOCK_INCLUDE_GUARD_1357924680
-
-
-
-#include <PlatformSupport/XalanBitmap.hpp>
-#include <PlatformSupport/ArenaBlock.hpp>
-
-
-
-
-template<class ObjectType>
-class ReusableArenaBlock : public ArenaBlock<ObjectType>
-{
-public:
-
-	typedef ArenaBlock<ObjectType>				BaseClassType;
-
-	typedef typename BaseClassType::size_type	size_type;
-
-	/*
-	 * Construct an ArenaBlock of the specified size
-	 * of objects.
-	 *
-	 * @param theBlockSize The size of the block (the number of objects it can contain).
-	 */
-	ReusableArenaBlock(size_type	theBlockSize) :
-		BaseClassType(theBlockSize),
-		m_freeList(theBlockSize),
-		m_freeBlockCount(0)
-	{
-	}
-
-	~ReusableArenaBlock()
-	{
-		// Note that this-> is required by template lookup rules.
-		this->destroyAll();
-	}
-
-	/*
-	 * Allocate a block.  Once the object is constructed, you must call
-	 * commitAllocation().
-	 *
-	 * @return a pointer to the new block.
-	 */
-	virtual ObjectType*
-	allocateBlock()
-	{
-		if (m_freeBlockCount == 0)
-		{
-			return BaseClassType::allocateBlock();
-		}
-		else
-		{
-			return getNextFromFreeList();
-		}
-	}
-
-	/*
-	 * Commit the previous allocation.
-	 *
-	 * @param theBlock the address that was returned by allocateBlock()
-	 */
-	virtual void
-	commitAllocation(ObjectType*	theBlock)
-	{
-		assert(theBlock != 0);
-		assert(m_freeBlockCount == 0 ||
-			   theBlock == getNextFromFreeList());
-
-		if (m_freeBlockCount == 0)
-		{
-			BaseClassType::commitAllocation(theBlock);
-		}
-		else
-		{
-			removeFromFreeList(theBlock);
-		}
-	}
-
-	/*
-	 * Find out if there is a block available.
-	 *
-	 * @return true if one is available, false if not.
-	 */
-	virtual bool
-	blockAvailable() const
-	{
-		return m_freeBlockCount != 0 ? true : BaseClassType::blockAvailable();
-	}
-
-	/*
-	 * Get the number of objects currently allocated in the
-	 * block.
-	 *
-	 * @return The number of objects allocated.
-	 */
-	virtual size_type
-	getCountAllocated() const
-	{
-		return BaseClassType::getCountAllocated() - m_freeBlockCount;
-	}
-
-	/*
-	 * Determine if this block owns the specified object.  Note
-	 * that even if the object address is within our block, this
-	 * call will return false if no object currently occupies the
-	 * block.  See also ownsBlock().
-	 *
-	 * @param theObject the address of the object.
-	 * @return true if we own the object, false if not.
-	 */
-	virtual bool
-	ownsObject(const ObjectType*	theObject) const
-	{
-		return BaseClassType::ownsObject(theObject) && !isOnFreeList(theObject);
-	}
-
-	/*
-	 * Destroy the object, and return the block to the free list.
-	 * The behavior is undefined if the object pointed to is not
-	 * owned by the block.
-	 *
-	 * @param theObject the address of the object.
-	 */
-	void
-	destroyObject(ObjectType*	theObject)
-	{
-		assert(ownsObject(theObject) == true);
-
-		m_destroyFunction(*theObject);
-
-		addToFreeList(theObject);
-	}
-
-protected:
-
-	/*
-	 * Determine if the block should be destroyed.  Returns true,
-	 * unless the object is on the free list.  The behavior is
-	 * undefined if the object pointed to is not owned by the
-	 * block.
-	 *
-	 * @param theObject the address of the object
-	 * @return true if block should be destroyed, false if not.
-	 */
-	virtual bool
-	shouldDestroyBlock(const ObjectType*	theObject) const
-	{
-		return !isOnFreeList(theObject);
-	}
-
-private:
-
-	// Not implemented...
-	ReusableArenaBlock(const ReusableArenaBlock<ObjectType>&);
-
-	ReusableArenaBlock<ObjectType>&
-	operator=(const ReusableArenaBlock<ObjectType>&);
-
-	bool
-	operator==(const ReusableArenaBlock<ObjectType>&) const;
-
-
-	/*
-	 * Determine if the block is on the free list.  The behavior is
-	 * undefined if the object pointed to is not owned by the
-	 * block.
-	 *
-	 * @param theObject the address of the object
-	 * @return true if block is on the free list, false if not.
-	 */
-	bool
-	isOnFreeList(const ObjectType*	theObject) const
-	{
-		if (m_freeBlockCount == 0)
-		{
-			return false;
-		}
-		else
-		{
-			const size_type		theOffset =
-					getBlockOffset(theObject);
-
-			return m_freeList.isSet(theOffset);
-		}
-	}
-
-	/*
-	 * Add a block to the free list.  The behavior is
-	 * undefined if the object pointed to is not owned by the
-	 * block.
-	 *
-	 * @param theObject the address of the object
-	 */
-	void
-	addToFreeList(const ObjectType*		theObject)
-	{
-		const size_type		theOffset =
-				getBlockOffset(theObject);
-
-		m_freeList.set(theOffset);
-
-		++m_freeBlockCount;
-	}
-
-	/*
-	 * Remove a block from the free list.  The behavior is
-	 * undefined if the object pointed to is not owned by the
-	 * block.
-	 *
-	 * @param theObject the address of the object
-	 */
-	void
-	removeFromFreeList(const ObjectType*	theObject)
-	{
-		const size_type		theOffset =
-				getBlockOffset(theObject);
-
-		m_freeList.clear(theOffset);
-
-		--m_freeBlockCount;
-	}
-
-	/*
-	 * Get the next block from the free list.  Returns 0 if
-	 * the free list is empty.
-	 *
-	 * @return the address of the block
-	 */
-	ObjectType*
-	getNextFromFreeList()
-	{
-		ObjectType*		theResult = 0;
-
-		if (m_freeBlockCount > 0)
-		{
-			const size_type		theFreeListSize = m_freeList.getSize();
-
-			for(size_type i = 0; i < theFreeListSize; ++i)
-			{
-				if (m_freeList.isSet(i) == true)
-				{
-					// Note that this-> is required by template lookup rules.
-					theResult = this->getBlockAddress(i);
-
-					break;
-				}
-			}
-		}
-
-		return theResult;
-	}
-
-	// Bitmap which tracks which blocks are not in use
-	// and that should not be destroyed.
-	XalanBitmap		m_freeList;
-
-	// The number of blocks on the free list.)
-	size_type		m_freeBlockCount;
-};
-
-
-
-#endif	// !defined(REUSABLEARENABLOCK_INCLUDE_GUARD_1357924680)
diff --git a/src/PlatformSupport/StdBinInputStream.cpp b/src/PlatformSupport/StdBinInputStream.cpp
deleted file mode 100644
index 719da46..0000000
--- a/src/PlatformSupport/StdBinInputStream.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#include "StdBinInputStream.hpp"
-
-
-
-#include <cassert>
-
-#if !defined(XALAN_OLD_STREAMS)
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <istream>
-#endif
-#endif
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-StdBinInputStream::StdBinInputStream(istream&		theStream) :
-#else
-StdBinInputStream::StdBinInputStream(std::istream&	theStream) :
-#endif
-	BinInputStream(),
-	m_stream(theStream)
-{
-}
-
-
-
-StdBinInputStream::~StdBinInputStream()
-{
-}
-
-
-
-unsigned int
-StdBinInputStream::curPos() const
-{
-	return m_stream.tellg();
-}
-
-
-
-unsigned int
-StdBinInputStream::readBytes(
-			XMLByte* const      toFill,
-			const unsigned int	maxToRead)
-{
-	assert(sizeof(XMLByte) == sizeof(char));
-
-	if (!m_stream)
-	{
-		return 0;
-	}
-	else
-	{
-		unsigned int	i = 0;
-
-		while(i < maxToRead)
-		{
-			const int	ch = m_stream.get();
-
-			if (ch == EOF)
-			{
-				break;
-			}
-			else
-			{
-				toFill[i] = XMLByte(ch);
-
-				++i;
-			}
-		}
-
-		return i;
-	}
-}
diff --git a/src/PlatformSupport/StdBinInputStream.hpp b/src/PlatformSupport/StdBinInputStream.hpp
deleted file mode 100644
index 5dd2812..0000000
--- a/src/PlatformSupport/StdBinInputStream.hpp
+++ /dev/null
@@ -1,126 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_STDBININPUTSTREAM_HEADER_GUARD)
-#define XALAN_STDBININPUTSTREAM_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAMS)
-#include <iostream.h>
-#else
-#include <iosfwd>
-#endif
-
-
-
-#include <xercesc/util/BinInputStream.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT StdBinInputStream : public BinInputStream
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	StdBinInputStream(istream&			theStream);
-#else
-	StdBinInputStream(std::istream&	theStream);
-#endif
-
-	virtual
-	~StdBinInputStream();
-
-	virtual unsigned int
-	curPos() const;
-
-	virtual unsigned int
-	readBytes(
-			XMLByte* const      toFill,
-			const unsigned int	maxToRead);
-
-private:
-
-	// Unimplemented...
-	StdBinInputStream(const StdBinInputStream&	theSource);
-
-	bool
-	operator==(const StdBinInputStream&	theSource) const;
-
-	StdBinInputStream&
-	operator=(const StdBinInputStream&	theSource);
-
-
-	// Data members...
-#if defined(XALAN_NO_NAMESPACES)
-	istream&		m_stream;
-#else
-	std::istream&	m_stream;
-#endif
-};
-
-
-
-#endif	// XALAN_STDBININPUTSTREAM_HEADER_GUARD
diff --git a/src/PlatformSupport/StringTokenizer.cpp b/src/PlatformSupport/StringTokenizer.cpp
deleted file mode 100644
index 007ec33..0000000
--- a/src/PlatformSupport/StringTokenizer.cpp
+++ /dev/null
@@ -1,320 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "StringTokenizer.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanUnicode.hpp"
-
-
-
-const XalanDOMChar	StringTokenizer::s_defaultTokens[] =
-{
-	XalanUnicode::charSpace,
-	XalanUnicode::charHTab,
-	XalanUnicode::charLF,
-	XalanUnicode::charCR,
-	XalanUnicode::charFF,
-	0,
-};
-
-
-
-StringTokenizer::StringTokenizer(
-			const XalanDOMString&	theString,
-			const XalanDOMString&	theTokens,
-			bool					fReturnTokens) :
-	m_String(theString),
-	m_Tokens(theTokens),
-	m_fReturnTokens(fReturnTokens),
-	m_CurrentIndex(0),
-	m_StringLength(length(theString)),
-	m_tokensLength(length(theTokens))
-{
-}
-
-
-
-StringTokenizer::StringTokenizer(
-			const XalanDOMString&	theString,
-			const XalanDOMChar*		theTokens,
-			bool					fReturnTokens) :
-	m_String(theString),
-	m_Tokens(XalanDOMString(theTokens)),
-	m_fReturnTokens(fReturnTokens),
-	m_CurrentIndex(0),
-	m_StringLength(length(theString)),
-	m_tokensLength(length(theTokens))
-{
-}
-
-
-
-StringTokenizer::StringTokenizer(
-			const XalanDOMChar*		theString,
-			const XalanDOMChar*		theTokens,
-			bool					fReturnTokens) :
-	m_String(XalanDOMString(theString)),
-	m_Tokens(XalanDOMString(theTokens)),
-	m_fReturnTokens(fReturnTokens),
-	m_CurrentIndex(0),
-	m_StringLength(length(theString)),
-	m_tokensLength(length(theTokens))
-{
-}
-
-
-
-StringTokenizer::StringTokenizer(
-			const XalanDOMChar*		theString,
-			const XalanDOMString&	theTokens,
-			bool					fReturnTokens) :
-	m_String(XalanDOMString(theString)),
-	m_Tokens(theTokens),
-	m_fReturnTokens(fReturnTokens),
-	m_CurrentIndex(0),
-	m_StringLength(length(theString)),
-	m_tokensLength(length(theTokens))
-{
-}
-
-
-
-StringTokenizer::~StringTokenizer()
-{
-}
-
-
-
-bool
-StringTokenizer::hasMoreTokens() const
-{
-	return countTokens() > 0 ? true : false;
-}
-
-
-
-XalanDOMString
-StringTokenizer::nextToken()
-{
-	assert(m_CurrentIndex < m_StringLength);
-
-	XalanDOMString	theToken;
-
-	// Find the index of the next delimiter.
-	XalanDOMString::size_type	theIndex = FindNextDelimiterIndex(m_CurrentIndex);
-
-	if (theIndex == m_CurrentIndex)
-	{
-		m_CurrentIndex = theIndex + 1;
-
-		if (m_fReturnTokens == true)
-		{
-			// The next delimiter is at the current index.  If we're
-			// returning delimiters as tokens, then make that the
-			// return value.  Otherwise, return an empty string.
-			substring(
-				m_String,
-				theToken,
-				theIndex,
-				theIndex + 1);
-		}
-		else if (m_CurrentIndex < m_StringLength)
-		{
-			theToken = nextToken();
-		}
-	}
-	else
-	{
-		if (theIndex == m_CurrentIndex)
-		{
-			theIndex = FindNextDelimiterIndex(m_CurrentIndex + 1);
-		}
-		assert(theIndex > m_CurrentIndex);
-
-		substring(
-			m_String,
-			theToken,
-			m_CurrentIndex,
-			theIndex);
-
-		m_CurrentIndex = theIndex;
-	}
-
-	return theToken;
-}
-
-
-
-void
-StringTokenizer::nextToken(XalanDOMString&	theToken)
-{
-	assert(m_CurrentIndex < m_StringLength);
-
-	// Find the index of the next delimiter.
-	XalanDOMString::size_type	theIndex = FindNextDelimiterIndex(m_CurrentIndex);
-
-	if (theIndex == m_CurrentIndex)
-	{
-		m_CurrentIndex = theIndex + 1;
-
-		if (m_fReturnTokens == true)
-		{
-			// The next delimiter is at the current index.  If we're
-			// returning delimiters as tokens, then make that the
-			// return value.  Otherwise, return an empty string.
-			substring(
-				m_String,
-				theToken,
-				theIndex,
-				theIndex + 1);
-		}
-		else if (m_CurrentIndex < m_StringLength)
-		{
-			theToken = nextToken();
-		}
-	}
-	else
-	{
-		if (theIndex == m_CurrentIndex)
-		{
-			theIndex = FindNextDelimiterIndex(m_CurrentIndex + 1);
-		}
-		assert(theIndex > m_CurrentIndex);
-
-		substring(
-				m_String,
-				theToken,
-				m_CurrentIndex,
-				theIndex);
-
-		m_CurrentIndex = theIndex;
-	}
-}
-
-
-
-StringTokenizer::size_type
-StringTokenizer::countTokens() const
-{
-	size_t						theCount = 0;
-
-	XalanDOMString::size_type	theCurrentIndex = m_CurrentIndex;
-
-	if (theCurrentIndex < m_StringLength)
-	{
-		while(theCurrentIndex < m_StringLength)
-		{
-			const XalanDOMString::size_type		theNextIndex =
-				FindNextDelimiterIndex(theCurrentIndex);
-
-			if (theNextIndex == theCurrentIndex)
-			{
-				theCurrentIndex = theNextIndex + 1;
-
-				if (m_fReturnTokens == true)
-				{
-					theCount++;
-				}
-			}
-			else
-			{
-				theCount++;
-
-				theCurrentIndex = theNextIndex;
-			}
-		}
-	}
-
-	return theCount;
-}
-
-
-
-XalanDOMString::size_type
-StringTokenizer::FindNextDelimiterIndex(XalanDOMString::size_type	theStartIndex) const
-{
-	bool						fTokenFound = false;
-
-	XalanDOMString::size_type	theIndex = theStartIndex;
-
-	while(theIndex < m_StringLength &&
-		  fTokenFound == false)
-	{
-		const XalanDOMChar	theCurrentChar =
-			charAt(m_String,
-				   theIndex);
-
-		if (indexOf(m_Tokens,
-					theCurrentChar) < m_tokensLength)
-		{
-			fTokenFound = true;
-		}
-		else
-		{
-			theIndex++;
-		}
-	}
-
-	return theIndex;
-}
diff --git a/src/PlatformSupport/StringTokenizer.hpp b/src/PlatformSupport/StringTokenizer.hpp
deleted file mode 100644
index 01c6cc6..0000000
--- a/src/PlatformSupport/StringTokenizer.hpp
+++ /dev/null
@@ -1,193 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(STRINGTOKENIZER_HEADER_GUARD_1357924680)
-#define STRINGTOKENIZER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT StringTokenizer
-{
-public:
-
-	static const XalanDOMChar	s_defaultTokens[];
-
-	typedef size_t	size_type;
-
-	/**
-	 * Constructs a tokenizer for the target string
-	 * 
-	 * @param theString     string to tokenize
-	 * @param theTokens     string of delimiters used to parse target, default
-	 *                      is "\t\n\r\f"
-	 * @param fReturnTokens if true, delimiter characters are also returned
-	 *                      as tokens, default is false
-	 */
-	StringTokenizer(const XalanDOMString&	theString,
-					const XalanDOMString&	theTokens = XalanDOMString(s_defaultTokens),
-					bool					fReturnTokens = false);
-
-	/**
-	 * Constructs a tokenizer for the target string
-	 * 
-	 * @param theString     string to tokenize
-	 * @param theTokens     string of delimiters used to parse target, default
-	 *                      is "\t\n\r\f"
-	 * @param fReturnTokens if true, delimiter characters are also returned
-	 *                      as tokens, default is false
-	 */
-	StringTokenizer(const XalanDOMString&	theString,
-					const XalanDOMChar*		theTokens,
-					bool					fReturnTokens = false);
-
-	/**
-	 * Constructs a tokenizer for the target string.  This version constructs
-	 * from null-terminated wide strings, like those we get from SAX-like APIs.
-	 *
-	 * @param theString     string to tokenize
-	 * @param theTokens     string of delimiters used to parse target.
-	 * @param fReturnTokens if true, delimiter characters are also returned
-	 *                      as tokens, default is false
-	 */
-	StringTokenizer(const XalanDOMChar*		theString,
-					const XalanDOMChar*		theTokens = s_defaultTokens,
-					bool					fReturnTokens = false);
-
-	/**
-	 * Constructs a tokenizer for the target string.  This version constructs
-	 * from null-terminated wide strings, like those we get from SAX-like APIs.
-	 *
-	 * @param theString     string to tokenize
-	 * @param theTokens     string of delimiters used to parse target.
-	 * @param fReturnTokens if true, delimiter characters are also returned
-	 *                      as tokens, default is false
-	 */
-	StringTokenizer(const XalanDOMChar*		theString,
-					const XalanDOMString&	theTokens,
-					bool					fReturnTokens = false);
-
-	~StringTokenizer();
-
-	/**
-	 * Determine if there are tokens remaining
-	 * 
-	 * @return true if there are more tokens
-	 */
-	bool
-	hasMoreTokens() const;
-
-	/**
-	 * Retrieve the next token to be parsed; behavior is undefined if there are
-	 * no more tokens
-	 * 
-	 * @return next token string
-	 */
-	XalanDOMString
-	nextToken();
-
-	/**
-	 * Retrieve the next token to be parsed; behavior is undefined if there are
-	 * no more tokens
-	 * 
-	 * @param theToken next token string
-	 */
-	void
-	nextToken(XalanDOMString&	theToken);
-
-	/**
-	 * Count the number of tokens yet to be parsed
-	 * 
-	 * @return number of remaining tokens
-	 */
-	size_type
-	countTokens() const;
-
-protected:
-
-	XalanDOMString::size_type
-	FindNextDelimiterIndex(XalanDOMString::size_type	theStartIndex) const;
-
-private:
-
-	const XalanDOMString				m_String;
-
-	const XalanDOMString				m_Tokens;
-
-	const bool							m_fReturnTokens;
-
-	XalanDOMString::size_type			m_CurrentIndex;
-
-	const XalanDOMString::size_type		m_StringLength;
-
-	const XalanDOMString::size_type		m_tokensLength;
-};
-
-
-
-#endif	// STRINGTOKENIZER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/URISupport.cpp b/src/PlatformSupport/URISupport.cpp
deleted file mode 100644
index b657c3b..0000000
--- a/src/PlatformSupport/URISupport.cpp
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "URISupport.hpp"
-
-
-
-#include <algorithm>
-#include <vector>
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include "XalanUnicode.hpp"
-
-
-
-const XalanDOMChar	URISupport::s_fileProtocolString1[] =
-{
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	0
-};
-
-
-
-const XalanDOMChar	URISupport::s_fileProtocolString2[] =
-{
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	0
-};
-
-
-
-URISupport::URLAutoPtrType
-URISupport::getURLFromString(const XalanDOMChar*	urlString)
-{
-	URLAutoPtrType	url(new XMLURL);
-
-	url->setURL(getURLStringFromString(urlString).c_str());
-
-	return url;
-}
-
-
-
-void
-URISupport::getURLStringFromString(
-			const XalanDOMChar*			urlString,
-			XalanDOMString::size_type	len,
-			XalanDOMString&				theNormalizedURI)
-{
-	assert(urlString != 0);
-
-	// Let's see what sort of URI we have...
-	if (len != 0)
-	{
-		const XalanDOMString::size_type		index = indexOf(urlString, XalanUnicode::charColon);
-
-		bool	protocolPresent = false;
-
-		if (index != len)
-		{
-			const XalanDOMString	theProtocolString(urlString, index);
-
-			// $$$ ToDo: XMLURL::lookupByName() is supposed to be static, but is not.
-			const XMLURL::Protocols		theProtocol =
-					XMLURL().lookupByName(c_wstr(theProtocolString));
-
-			if (theProtocol != XMLURL::Unknown)
-			{
-				protocolPresent = true;
-			}
-		}
-
-		if (protocolPresent == true)
-		{
-			theNormalizedURI = urlString;
-
-			NormalizeURIText(theNormalizedURI);
-		}
-		else
-		{
-			// Assume it's a file specification...
-			const XalanArrayAutoPtr<XalanDOMChar>	theFullPathGuard(XMLPlatformUtils::getFullPath(c_wstr(urlString)));
-
-			const XalanDOMChar* const	theFullPath = theFullPathGuard.get();
-			assert(theFullPath != 0);
-
-			const XalanDOMString::size_type		theFullPathLength =
-				XalanDOMString::length(theFullPath);
-
-			assert(theFullPathLength > 0);
-
-			if (theFullPath[0] == XalanDOMChar(XalanUnicode::charSolidus))
-			{
-				const size_t	theSize = sizeof(s_fileProtocolString1) / sizeof(s_fileProtocolString1[0]) - 1;
-
-				theNormalizedURI.reserve(theFullPathLength + theSize);
-
-				theNormalizedURI.assign(s_fileProtocolString1, theSize);
-			}
-			else
-			{
-				const size_t	theSize = sizeof(s_fileProtocolString2) / sizeof(s_fileProtocolString2[0]) - 1;
-
-				theNormalizedURI.reserve(theFullPathLength + theSize);
-
-				theNormalizedURI.assign(s_fileProtocolString2, theSize);
-			}
-
-			theNormalizedURI.append(theFullPath, theFullPathLength);
-
-			NormalizeURIText(theNormalizedURI);
-		}
-	}
-}
-
-
-
-void
-URISupport::getURLStringFromString(
-			const XalanDOMChar*			urlString,
-			XalanDOMString::size_type	urlStringLen,
-			const XalanDOMChar*			base,
-			XalanDOMString::size_type	baseLen,
-			XalanDOMString&				theNormalizedURI)
-{
-	XalanDOMString	context(base, baseLen);
-
-	NormalizeURIText(context);
-
-	const XalanDOMString::size_type		indexOfSlash = baseLen == 0 ?
-							0 :
-							lastIndexOf(context, XalanUnicode::charSolidus);
-
-	const bool	hasPath = indexOfSlash < baseLen ? true : false;
-
-	if (hasPath == true)
-	{
-		// Strip off file name from context...
-		substring(context, context, 0, indexOfSlash + 1);
-	}
-
-	// OK, now let's look at the urlString...
-
-	// Is there a colon, indicating some sort of drive spec, or protocol?
-	const XalanDOMString::size_type		theColonIndex = indexOf(urlString, XalanUnicode::charColon);
-
-	if (theColonIndex == urlStringLen)
-	{
-		// No colon, so just use the urlString as is...
-		if (hasPath == true)
-		{
-			context += urlString;
-		}
-		else
-		{
-			context = urlString;
-		}
-	}
-	else
-	{
-		XalanDOMString	theProtocolString;
-		
-		substring(urlString, theProtocolString, 0, theColonIndex);
-
-		// $$$ ToDo: XMLURL::lookupByName() is supposed to be static, but is not.
-		const XMLURL::Protocols		theProtocol =
-			XMLURL().lookupByName(c_wstr(theProtocolString));
-
-		if (theColonIndex == 1 &&
-			theProtocol == XMLURL::Unknown)
-		{
-			// Ahh, it's a drive letter, so ignore the context...
-			context = urlString;
-		}
-		else
-		{
-			// It's a protocol...
-			if (startsWith(context, theProtocolString) == false)
-			{
-				// OK, not the same protocol, so what can we do???
-				context = urlString;
-			}
-			else
-			{
-				// They share the same protocol...
-
-				// Check if this is an absolute URI (starts with a leading '//')
-				const XalanDOMString::size_type		protoLength = length(theProtocolString);
-
-				if (protoLength + 3 <= urlStringLen &&
-					urlString[protoLength + 1] == XalanUnicode::charSolidus &&
-					urlString[protoLength + 2] == XalanUnicode::charSolidus)
-				{
-					// It's an absolute URI -- use it in full...
-					context = urlString;
-				}
-				else
-				{
-					// Strip off file name from context...
-					if (indexOfSlash < baseLen)
-					{
-						substring(context, context, 0, indexOfSlash + 1);
-					}
-
-					// OK, everything looks good, so strip off the protocol 
-					// and colon...
-					context.append(
-							urlString + theColonIndex + 1,
-							urlStringLen - (theColonIndex + 1));
-				}
-			}
-		}
-	}
-
-	getURLStringFromString(context, theNormalizedURI);
-}
-
-
-
-XalanDOMString&
-URISupport::NormalizeURIText(XalanDOMString&	uriString)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::replace;
-#endif
-
-	// OK, look for a quick, cheap exit...
-	const XalanDOMString::size_type		len = length(uriString);
-	const XalanDOMString::size_type		index = indexOf(uriString, XalanUnicode::charReverseSolidus);
-
-	if (index != len)
-	{
-		// Start replacing at the index point, since that's the
-		// first one...
-		replace(
-				uriString.begin() + index,
-				uriString.end(),
-				XalanDOMChar(XalanUnicode::charReverseSolidus),
-				XalanDOMChar(XalanUnicode::charSolidus));
-	}
-
-	return uriString;
-}
-
-
-
-URISupport::InvalidURIException::InvalidURIException(const XalanDOMString&	theMessage) :
-	XSLException(theMessage,
-				 TranscodeFromLocalCodePage("InvalidURIException"))
-{
-}
-
-
-
-URISupport::InvalidURIException::~InvalidURIException()
-{
-}
diff --git a/src/PlatformSupport/URISupport.hpp b/src/PlatformSupport/URISupport.hpp
deleted file mode 100644
index 873e58b..0000000
--- a/src/PlatformSupport/URISupport.hpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(URISUPPORT_HEADER_GUARD_1357924680)
-#define URISUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <xercesc/util/XMLURL.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT URISupport
-{
-public:
-
-	typedef XalanAutoPtr<XMLURL>	URLAutoPtrType;
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return auto pointer to fully qualified URI
-	 */
-	static URLAutoPtrType
-	getURLFromString(const XalanDOMString&	urlString)
-	{
-		return getURLFromString(urlString.c_str());
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param url to update with the qualified string.
-	 */
-	static void
-	getURLFromString(
-			const XalanDOMString&	urlString,
-			XMLURL&					url)
-	{
-		getURLFromString(urlString.c_str(), url);
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return auto pointer to fully qualified URI
-	 */
-	static URLAutoPtrType
-	getURLFromString(const XalanDOMChar*	urlString);
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param url to update with the qualified string.
-	 */
-	static void
-	getURLFromString(
-			const XalanDOMChar*		urlString,
-			XMLURL&					url)
-	{
-		url.setURL(getURLStringFromString(urlString).c_str());
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @return auto pointer to fully qualified URI
-	 */
-	static URLAutoPtrType
-	getURLFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base)
-	{
-		return getURLFromString(getURLStringFromString(urlString, base));
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @return auto pointer to fully qualified URI
-	 */
-	static URLAutoPtrType
-	getURLFromString(
-			const XalanDOMChar*		urlString,
-			const XalanDOMChar*		base);
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return string to fully qualified URI
-	 */
-	static XalanDOMString
-	getURLStringFromString(const XalanDOMString&	urlString)
-	{
-		XalanDOMString	result;
-
-		getURLStringFromString(urlString.c_str(), urlString.length(), result);
-
-		return result;
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return string to fully qualified URI
-	 */
-	static void
-	getURLStringFromString(
-			const XalanDOMString&	urlString,
-			XalanDOMString&			theNormalizedURI)
-	{
-		getURLStringFromString(urlString.c_str(), urlString.length(), theNormalizedURI);
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return string to fully qualified URI
-	 */
-	static XalanDOMString
-	getURLStringFromString(const XalanDOMChar*	urlString)
-	{
-		XalanDOMString	theNormalizedURI;
-
-		getURLStringFromString(urlString, theNormalizedURI);
-
-		return theNormalizedURI;
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param theNormalizedURI fully qualified URI
-	 */
-	static void
-	getURLStringFromString(
-			const XalanDOMChar*			urlString,
-			XalanDOMString&				theNormalizedURI)
-	{
-		assert(urlString != 0);
-
-		getURLStringFromString(
-			urlString,
-			XalanDOMString::length(urlString),
-			theNormalizedURI);
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param len the length of urlString
-	 * @param theNormalizedURI fully qualified URI
-	 */
-	static void
-	getURLStringFromString(
-			const XalanDOMChar*			urlString,
-			XalanDOMString::size_type	len,
-			XalanDOMString&				theNormalizedURI);
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @return string to fully qualified URI
-	 */
-	static XalanDOMString
-	getURLStringFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base)
-	{
-		XalanDOMString	theNormalizedURI;
-
-		getURLStringFromString(
-			urlString.c_str(),
-			urlString.length(),
-			base.c_str(),
-			base.length(),
-			theNormalizedURI);
-
-		return theNormalizedURI;
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @param theNormalizedURI fully qualified URI
-	 */
-	static void
-	getURLStringFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base,
-			XalanDOMString&			theNormalizedURI)
-	{
-		getURLStringFromString(urlString.c_str(), base.c_str(), theNormalizedURI);
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @return string to fully qualified URI
-	 */
-	static XalanDOMString
-	getURLStringFromString(
-			const XalanDOMChar*		urlString,
-			const XalanDOMChar*		base)
-	{
-		XalanDOMString	theNormalizedURI;
-
-		getURLStringFromString(urlString, base, theNormalizedURI);
-
-		return theNormalizedURI;
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @param theNormalizedURI fully qualified URI
-	 */
-	static void
-	getURLStringFromString(
-			const XalanDOMChar*		urlString,
-			const XalanDOMChar*		base,
-			XalanDOMString&			theNormalizedURI)
-	{
-		assert(urlString != 0 && base != 0);
-
-		getURLStringFromString(
-			urlString,
-			XalanDOMString::length(urlString),
-			base,
-			XalanDOMString::length(base),
-			theNormalizedURI);
-	}
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @param theNormalizedURI fully qualified URI
-	 */
-	static void
-	getURLStringFromString(
-			const XalanDOMChar*			urlString,
-			XalanDOMString::size_type	urlStringLen,
-			const XalanDOMChar*			base,
-			XalanDOMString::size_type	baseLen,
-			XalanDOMString&				theNormalizedURI);
-
-	/**
-	 * Normalizes the string passed in, replacing
-	 * \ with /.
-	 *
-	 * @param urlString string to qualify
-	 * @return a reference to the passed parameter
-	 */
-	static XalanDOMString&
-	NormalizeURIText(XalanDOMString&	uriString);
-
-
-	class InvalidURIException : public XSLException
-	{
-	public:
-
-		/**
-		 * Construct an InvalidURIException.
-		 *
-		 * @param theMessage the error message
-		 */
-		InvalidURIException(const XalanDOMString&	theMessage);
-
-		virtual
-		~InvalidURIException();
-	};
-
-
-	static const XalanDOMChar	s_fileProtocolString1[];
-
-	static const XalanDOMChar	s_fileProtocolString2[];
-};
-
-
-
-#endif	// URISUPPORT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/Writer.cpp b/src/PlatformSupport/Writer.cpp
deleted file mode 100644
index f436e66..0000000
--- a/src/PlatformSupport/Writer.cpp
+++ /dev/null
@@ -1,92 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "Writer.hpp"
-
-
-
-#if !defined(XALAN_INLINE_INITIALIZATION)
-const size_t	Writer::npos = ~0u;
-#endif
-
-
-
-Writer::Writer()
-{
-}
-
-
-
-Writer::~Writer()
-{
-}
-
-
-
-XalanOutputStream*
-Writer::getStream()
-{
-	return 0;
-}
-
-
-
-const XalanOutputStream*
-Writer::getStream() const
-{
-	return 0;
-}
diff --git a/src/PlatformSupport/Writer.hpp b/src/PlatformSupport/Writer.hpp
deleted file mode 100644
index 67c34d2..0000000
--- a/src/PlatformSupport/Writer.hpp
+++ /dev/null
@@ -1,182 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(WRITER_HEADER_GUARD_1357924680)
-#define WRITER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <cstddef>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanOutputStream;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT Writer
-{
-public:
-
-	Writer();
-
-	virtual
-	~Writer();
-
-	/**
-	 * Close the stream
-	 */
-	virtual void
-	close() = 0;
-
-	/**
-	 * Flush the stream
-	 */
-	virtual void
-	flush() = 0;
-
-	/**
-	 * Get the stream associated with the writer...
-	 */
-	virtual XalanOutputStream*
-	getStream();
-
-	/**
-	 * Get the stream associated with the writer...
-	 */
-	virtual const XalanOutputStream*
-	getStream() const;
-
-
-	// Output functions
-
-#if defined(XALAN_INLINE_INITIALIZATION)
-	static const size_t		npos = ~0u;
-#else
-	static const size_t		npos;
-#endif
-
-	/**
-	 * Writes a string
-	 * 
-	 * @param 	s         string to write
-	 * @param 	theOffset starting offset in string to begin writing, default 0
-	 * @param 	theLength number of characters to write. If the length is npos, then the array is assumed to be null-terminated.
-	 */
-	virtual void
-	write(
-			const char*		s,
-			size_t			theOffset = 0,
-			size_t			theLength = npos) = 0;
-
-	/**
-	 * Writes a string
-	 * 
-	 * @param 	s         string to write
-	 * @param 	theOffset starting offset in string to begin writing, default 0
-	 * @param 	theLength number of characters to write. If the length is XalanDOMString::npos, then the array is assumed to be null-terminated.
-	 */
-	virtual void
-	write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos) = 0;
-
-	/**
-	 * Writes a character
-	 * 
-	 * @param 	c         character to write
-	 */
-	virtual void
-	write(XalanDOMChar	c) = 0;
-
-	/**
-	 * Writes a string
-	 * 
-	 * @param 	s         string to write
-	 * @param 	theOffset starting offset in string to begin writing, default 0
-	 * @param 	theLength number of characters to write. If the length is XalanDOMString::npos,  then the entire string is printed.
-	 */
-	virtual void
-	write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos) = 0;
-
-private:
-
-	// Not implemented
-	Writer(const Writer&);
-
-	Writer&
-	operator=(const Writer&);
-
-	bool
-	operator==(const Writer&);
-};
-
-
-
-#endif	// WRITER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XSLException.cpp b/src/PlatformSupport/XSLException.cpp
deleted file mode 100644
index 9dcfb3c..0000000
--- a/src/PlatformSupport/XSLException.cpp
+++ /dev/null
@@ -1,202 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XSLException.hpp"
-
-
-
-#include <xercesc/sax/Locator.hpp>
-
-
-
-#include "XalanUnicode.hpp"
-#include "DOMStringHelper.hpp"
-
-
-
-XSLException::XSLException(
-		const XalanDOMString&	theMessage,
-		const XalanDOMString&	theURI,
-		int						theLineNumber,
-		int						theColumnNumber,
-		const XalanDOMString&	theType) :
-	m_message(theMessage),
-	m_uri(theURI),
-	m_lineNumber(theLineNumber),
-	m_columnNumber(theColumnNumber),
-	m_type(theType)
-{
-}
-
-
-
-XSLException::XSLException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType) :
-	m_message(theMessage),
-	m_uri(theLocator.getSystemId()),
-	m_lineNumber(theLocator.getLineNumber()),
-	m_columnNumber(theLocator.getColumnNumber()),
-	m_type(theType)
-{
-}
-
-
-
-XSLException::XSLException(
-		const XalanDOMString&	theMessage,
-		const XalanDOMString&	theType) :
-	m_message(theMessage),
-	m_uri(),
-	m_lineNumber(-1),
-	m_columnNumber(-1),
-	m_type(theType)
-{
-}
-
-
-
-XSLException::~XSLException()
-{
-}
-
-
-
-XalanDOMString
-XSLException::defaultFormat() const
-{
-	XalanDOMString	theBuffer;
-
-	defaultFormat(theBuffer);
-
-	return theBuffer;
-}
-
-
-
-void
-XSLException::defaultFormat(XalanDOMString&		theBuffer) const
-{
-	defaultFormat(m_message, m_uri, m_lineNumber, m_columnNumber, m_type, theBuffer);
-}
-
-
-
-static
-XalanDOMChar	colonString[] =
-{
-	XalanUnicode::charColon,
-	XalanUnicode::charSpace,
-	0
-};
-
-
-
-static
-XalanDOMChar	lineString[] =
-{
-	XalanUnicode::charComma,
-	XalanUnicode::charSpace,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charSpace,
-	0
-};
-
-
-
-static
-XalanDOMChar	columnString[] =
-{
-	XalanUnicode::charComma,
-	XalanUnicode::charSpace,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charSpace,
-	0
-};
-
-
-
-void
-XSLException::defaultFormat(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanDOMString&	theType,
-			XalanDOMString&			theBuffer)
-{
-	theBuffer += theType;
-	theBuffer += colonString;
-	theBuffer += theMessage;
-	theBuffer += XalanDOMChar(XalanUnicode::charSpace);
-	theBuffer += XalanDOMChar(XalanUnicode::charLeftParenthesis);
-	theBuffer += theURI;
-	theBuffer += lineString;
-	LongToDOMString(theLineNumber, theBuffer);
-	theBuffer += columnString;
-	LongToDOMString(theColumnNumber, theBuffer);
-	theBuffer += XalanDOMChar(XalanUnicode::charRightParenthesis);
-}
diff --git a/src/PlatformSupport/XSLException.hpp b/src/PlatformSupport/XSLException.hpp
deleted file mode 100644
index 896cf7b..0000000
--- a/src/PlatformSupport/XSLException.hpp
+++ /dev/null
@@ -1,203 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSLEXCEPTION_HEADER_GUARD_1357924680)
-#define XSLEXCEPTION_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-class Locator;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XSLException
-{
-public:
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theMessage message to write when exception thrown
-	 * @param theURI the URI of the related document, if known
-	 * @param theLineNumber the line number of the related document, or -1 if not known
-	 * @param theColumnNumber the column number of the related document, or -1 if not known
-	 * @param theType type of exception, default is "XSLException"
-	 */
-	XSLException(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException")));
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theLocator The locator instance for error reporting.
-	 * @param theMessage message to write when exception thrown
-	 * @param theType type of exception, default is "XSLException"
-	 */
-	XSLException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException")));
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theMessage message to write when exception thrown
-	 * @param theType type of exception, default is "XSLException"
-	 */
-	XSLException(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException")));
-
-	virtual
-	~XSLException();
-
-	/**
-	 * Retrieve type of exception
-	 * 
-	 * @return type of exception
-	 */
-	const XalanDOMString&
-	getType() const
-	{
-		return m_type;
-	}
-
-	/**
-	 * Retrieve message for exception
-	 * 
-	 * @return exception message
-	 */
-	const XalanDOMString&
-	getMessage() const
-	{
-		return m_message;
-	}
-
-	/**
-	 * Get the URI for the associated document, if any
-	 * 
-	 * @return The URI.
-	 */
-	const XalanDOMString&
-	getURI() const
-	{
-		return m_uri;
-	}
-
-	/**
-	 * Retrieve the line number, or -1 if unknown
-	 * 
-	 * @return the line number
-	 */
-	int
-	getLineNumber() const
-	{
-		return m_lineNumber;
-	}
-
-	/**
-	 * Retrieve the column number, or -1 if unknown
-	 * 
-	 * @return the column number
-	 */
-	int
-	getColumnNumber() const
-	{
-		return m_columnNumber;
-	}
-
-	XalanDOMString
-	defaultFormat() const;
-
-	void
-	defaultFormat(XalanDOMString&	theBuffer) const;
-
-	static void
-	defaultFormat(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanDOMString&	theType,
-			XalanDOMString&			theBuffer);
-
-private:
-	
-	const XalanDOMString	m_message;
-	const XalanDOMString	m_uri;
-
-	const int				m_lineNumber;
-	const int				m_columnNumber;
-
-	const XalanDOMString	m_type;
-};
-
-
-
-#endif	// XSLEXCEPTION_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanAllocator.hpp b/src/PlatformSupport/XalanAllocator.hpp
deleted file mode 100644
index 871c78e..0000000
--- a/src/PlatformSupport/XalanAllocator.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XALANALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-#include <cstddef>
-
-
-
-template <class Type>
-class XalanAllocator
-{
-public:
-	typedef size_t			size_type;
-	typedef ptrdiff_t		difference_type;
-	typedef Type*			pointer;
-	typedef const Type*		const_pointer;
-	typedef Type&			reference;
-	typedef const Type&		const_reference;
-	typedef Type			value_type;
-
-	XalanAllocator()
-	{
-	}
-
-	XalanAllocator(const XalanAllocator<Type>&)
-	{
-	};
-
-	~XalanAllocator()
-	{
-	}
-
-	pointer
-	address(reference	x) const
-	{
-		return &x;
-	}
-
-	const_pointer
-	address(const_reference		x) const
-	{
-		return &x;
-	}
-
-	pointer
-	allocate(
-			size_type		size,
-			const void*		/* hint */ = 0)
-	{
-		return (pointer)operator new(size * sizeof(Type));
-	}
-
-	void
-	deallocate(
-				pointer		p,
-				size_type	/* n */)
-	{
-		operator delete(p);
-	}
-
-	size_type
-	max_size() const
-	{
-		return ~0;
-	}
-
-	void
-	construct(
-			pointer			p,
-			const Type&		val)
-	{
-		new (p) Type(val);
-	}
-
-	void
-	destroy(pointer		p)
-	{
-		p->Type::~Type();
-	}
-};
-
-
-
-#endif	// XALANALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanBitmap.cpp b/src/PlatformSupport/XalanBitmap.cpp
deleted file mode 100644
index 662addb..0000000
--- a/src/PlatformSupport/XalanBitmap.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanBitmap.hpp"
-
-
-
-#include <algorithm>
-
-
-
-// Pre-constructed masks for bit twiddling.  Update these if not using chars for storing the bits.
-static const int	theSetMasks[XalanBitmap::eBitsPerUnit] = { 1, 2, 4, 8, 16, 32, 64, 128 };
-static const int	theClearMasks[XalanBitmap::eBitsPerUnit] = { ~1, ~2, ~4, ~8, ~16, ~32, ~64, ~128 };
-
-
-
-XalanBitmap::XalanBitmap(size_type	theSize) :
-	m_size(theSize),
-	m_bitmap(size_type((theSize + eBitsPerUnit) / eBitsPerUnit), BitmapVectorType::value_type(0))
-{
-}
-
-
-
-XalanBitmap::~XalanBitmap()
-{
-}
-
-
-
-bool
-XalanBitmap::isSet(size_type	theBit) const
-{
-	if (theBit >= m_size)
-	{
-		return false;
-	}
-	else
-	{
-		return m_bitmap[theBit / eBitsPerUnit] & theSetMasks[theBit % eBitsPerUnit] ? true : false;
-	}
-}
-
-
-
-void
-XalanBitmap::set(size_type	theBit)
-{
-	if (theBit < m_size)
-	{
-		m_bitmap[theBit / eBitsPerUnit] |= theSetMasks[theBit % eBitsPerUnit];
-	}
-}
-
-
-
-void
-XalanBitmap::clear(size_type	theBit)
-{
-	if (theBit < m_size)
-	{
-		m_bitmap[theBit / eBitsPerUnit] &= theClearMasks[theBit % eBitsPerUnit];
-	}
-}
-
-
-
-void
-XalanBitmap::toggle(size_type	theBit)
-{
-	if (theBit < m_size)
-	{
-		m_bitmap[theBit / eBitsPerUnit] ^= theSetMasks[theBit % eBitsPerUnit];
-	}
-}
-
-
-
-void
-XalanBitmap::clearAll()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::fill;
-#endif
-
-	fill(m_bitmap.begin(), m_bitmap.end(), 0);
-}
diff --git a/src/PlatformSupport/XalanBitmap.hpp b/src/PlatformSupport/XalanBitmap.hpp
deleted file mode 100644
index a9f9110..0000000
--- a/src/PlatformSupport/XalanBitmap.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANBITMAP_HEADER_GUARD_1357924680)
-#define XALANBITMAP_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanBitmap
-{
-public:
-
-	// The basic storage unit for the bitmaps.
-	typedef char		UnitType;
-
-	// A handy typedef...
-	typedef size_t		size_type;
-
-	// Really all we're assuming is that a char is at least
-	// 8 bits.  If it's more, then we'll just waste some
-	// space.  This may need to be adjusted for various
-	// platforms, or perhaps change to using an integral of
-	// a known size, so that we don't waste any space.
-	enum { eBitsPerUnit = 8 };
-
-
-	/**
-	 * Construct an instance with room for the specified number
-	 * of bits.
-	 *
-	 * @param  theSize   The number of bits in the map.
-	 */
-	XalanBitmap(size_type	theSize);
-
-	~XalanBitmap();
-
-
-	/**
-	 * Determine if a bit is set.
-	 *
-	 * @param  theBit   The number of the bit to check.
-	 * @return true if the bit is set, false if not.
-	 */
-	bool
-	isSet(size_type		theBit) const;
-
-	/**
-	 * Set a bit.
-	 *
-	 * @param theBit The number of the bit to set.
-	 */
-	void
-	set(size_type	theBit);
-
-	/**
-	 * Clear a bit.
-	 *
-	 * @param theBit The number of the bit to clear.
-	 */
-	void
-	clear(size_type		theBit);
-
-	/**
-	 * Toggle a bit.
-	 *
-	 * @param theBit The number of the bit to toggle.
-	 */
-	void
-	toggle(size_type	theBit);
-
-	/**
-	 * Clear all of the bits.
-	 */
-	void
-	clearAll();
-
-	/**
-	 * Get the size of the map.
-	 *
-	 * @return The number of bits in the map.
-	 */
-	size_type
-	getSize() const
-	{
-		return m_size;
-	}
-
-private:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<UnitType>		BitmapVectorType;
-#else
-	typedef std::vector<UnitType>	BitmapVectorType;
-#endif
-
-	const size_type		m_size;
-
-	BitmapVectorType	m_bitmap;
-};
-
-
-
-#endif	// XALANBITMAP_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanDOMStringAllocator.cpp b/src/PlatformSupport/XalanDOMStringAllocator.cpp
deleted file mode 100644
index e2518e2..0000000
--- a/src/PlatformSupport/XalanDOMStringAllocator.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanDOMStringAllocator.hpp"
-
-
-
-XalanDOMStringAllocator::XalanDOMStringAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanDOMStringAllocator::~XalanDOMStringAllocator()
-{
-}
-
-
-
-XalanDOMStringAllocator::data_type*
-XalanDOMStringAllocator::create(
-			const char*				theString,
-			data_type_size_type		theCount)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theString, theCount);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XalanDOMStringAllocator::data_type*
-XalanDOMStringAllocator::create(
-			const data_type&		theSource,
-			data_type_size_type		theStartPosition,
-			data_type_size_type		theCount)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theSource, theStartPosition, theCount);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XalanDOMStringAllocator::data_type*
-XalanDOMStringAllocator::create(
-			const XalanDOMChar*		theString,
-			data_type_size_type		theCount)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theString, theCount);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XalanDOMStringAllocator::data_type*
-XalanDOMStringAllocator::create(
-			data_type_size_type		theCount,
-			XalanDOMChar			theChar)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theCount, theChar);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
diff --git a/src/PlatformSupport/XalanDOMStringAllocator.hpp b/src/PlatformSupport/XalanDOMStringAllocator.hpp
deleted file mode 100644
index 8938757..0000000
--- a/src/PlatformSupport/XalanDOMStringAllocator.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANDOMSTRINGALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANDOMSTRINGALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanDOMStringAllocator
-{
-public:
-
-	typedef XalanDOMString					data_type;
-	typedef data_type::size_type			data_type_size_type;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<data_type>			ArenaBlockType;
-
-	typedef ArenaAllocator<data_type,
-						   ArenaBlockType>	ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<data_type>		ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type	size_type;
-
-	enum { eDefaultBlockSize = 32 };
-
-
-	/**
-	 * Construct an instance that will allocate in blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanDOMStringAllocator(size_type	theBlockCount);
-
-	~XalanDOMStringAllocator();
-
-	/**
-	 * Create a XalanDOMString object.
-	 * 
-	 * @param theString A pointer to a character string
-	 * @param theCount The number of characters in the string, or npos if the string is null-terminated.
-	 *
-	 * @return pointer to the new instance
-	 */
-	data_type*
-	create(
-			const char*				theString,
-#if defined(_MSC_VER)
-			// $$$ ToDo: Some strange bug in MSVC++ complains when using data_type::npos here.
-			data_type_size_type		theCount = data_type_size_type(-1));
-#else
-	data_type_size_type		theCount = data_type_size_type(data_type::npos));
-#endif
-
-	/**
-	 * Copy constructor
-	 * 
-	 * @param theSource The source string for the copy
-	 * @param theStartPosition The position to start in the source string.
-	 * @param theCount The number of characters to copy from the source string.
-	 *
-	 * @return pointer to the new instance
-	 */
-	data_type*
-	create(
-			const data_type&		theSource,
-			data_type_size_type		theStartPosition = 0,
-			data_type_size_type		theCount = data_type_size_type(data_type::npos));
-
-	/**
-	 * Create a XalanDOMString object.
-	 * 
-	 * @param theString A pointer to a wide character string
-	 * @param theCount The number of characters in the string, or npos if the string is null-terminated.
-	 *
-	 * @return pointer to the new instance
-	 */
-	data_type*
-	create(
-			const XalanDOMChar*		theString,
-			data_type_size_type		theCount = data_type_size_type(data_type::npos));
-
-	/**
-	 * Create a XalanDOMString object.
-	 *
-	 * @param theCount the size of the string
-	 * @param theChar the character used to initialize the string
-	 *
-	 * @return pointer to the new instance
-	 */
-	data_type*
-	create(
-			data_type_size_type		theCount,
-			XalanDOMChar			theChar);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const data_type*		theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all instance objects from allocator.	 
-	 */	
-	void
-	reset()
-	{
-		m_allocator.reset();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanDOMStringAllocator(const XalanDOMStringAllocator&);
-
-	XalanDOMStringAllocator&
-	operator=(const XalanDOMStringAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANDOMSTRINGALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/PlatformSupport/XalanDOMStringCache.cpp b/src/PlatformSupport/XalanDOMStringCache.cpp
deleted file mode 100644
index e00cdd3..0000000
--- a/src/PlatformSupport/XalanDOMStringCache.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanDOMStringCache.hpp"
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include "DOMStringHelper.hpp"
-
-
-
-XalanDOMStringCache::XalanDOMStringCache(unsigned int	theMaximumSize) :
-	m_availableList(),
-	m_busyList(),
-	m_maximumSize(theMaximumSize)
-{
-}
-
-
-
-XalanDOMStringCache::~XalanDOMStringCache()
-{
-	clear();
-}
-
-
-
-XalanDOMString&
-XalanDOMStringCache::get()
-{
-	if (m_availableList.size() == 0)
-	{
-		m_busyList.push_back(new XalanDOMString());
-	}
-	else
-	{
-		m_busyList.push_back(m_availableList.back());
-
-		m_availableList.pop_back();
-	}
-
-	return *m_busyList.back();
-}
-
-
-
-bool
-XalanDOMStringCache::release(XalanDOMString&	theString)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	StringListType::iterator	i =
-		find(m_busyList.begin(),
-			 m_busyList.end(),
-			 &theString);
-
-	if (i == m_busyList.end())
-	{
-		return false;
-	}
-	else
-	{
-		if (m_availableList.size() > m_maximumSize)
-		{
-			delete *i;
-		}
-		else
-		{
-			::clear(theString);
-
-			m_availableList.push_back(*i);
-		}
-
-		m_busyList.erase(i);
-
-		return true;
-	}
-}
-
-
-
-void
-XalanDOMStringCache::clear()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_busyList.begin(),
-			 m_busyList.end(),
-			 DeleteFunctor<XalanDOMString>());
-
-	m_busyList.clear();
-
-	for_each(m_availableList.begin(),
-			 m_availableList.end(),
-			 DeleteFunctor<XalanDOMString>());
-
-	m_availableList.clear();
-}
-
-
-
-void
-XalanDOMStringCache::reset()
-{
-	const StringListType::size_type		theSize =
-		m_availableList.size();
-
-	while(m_busyList.size() > 0)
-	{
-		assert(m_busyList.back() != 0);
-
-		if (theSize > m_maximumSize)
-		{
-			delete m_busyList.back();
-		}
-		else
-		{
-			::clear(*m_busyList.back());
-
-			m_availableList.push_back(m_busyList.back());
-		}
-
-		m_busyList.pop_back();
-	}
-}
diff --git a/src/PlatformSupport/XalanDOMStringCache.hpp b/src/PlatformSupport/XalanDOMStringCache.hpp
deleted file mode 100644
index fe21b3e..0000000
--- a/src/PlatformSupport/XalanDOMStringCache.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_DOMSTRINGCACHE_HEADER_GUARD)
-#define XALAN_DOMSTRINGCACHE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <deque>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanDOMStringCache
-{
-public:
-
-	enum { eDefaultMaximumSize = 100 };
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMString*>			StringListType;
-#else
-	typedef std::vector<XalanDOMString*>	StringListType;
-#endif
-
-	explicit
-	XalanDOMStringCache(unsigned int	theMaximumSize = eDefaultMaximumSize);
-
-	~XalanDOMStringCache();
-
-	unsigned int
-	getMaximumSize() const
-	{
-		return m_maximumSize;
-	}
-
-	void
-	setMaximumSize(unsigned int		theSize)
-	{
-		m_maximumSize = theSize;
-	}
-
-	XalanDOMString&
-	get();
-
-	bool
-	release(XalanDOMString&		theString);
-
-	/*
-	 * Clear all of the strings in the cache.  This
-	 * destroys all of the strings.
-	 *
-	 */
-	void
-	clear();
-
-	/*
-	 * Reset the cache so that all strings that are
-	 * currently in use are available.
-	 */
-	void
-	reset();
-
-	class GetAndRelease
-	{
-	public:
-
-		GetAndRelease(XalanDOMStringCache&	theCache) :
-			m_cache(theCache),
-			m_string(&theCache.get())
-		{
-		}
-
-		~GetAndRelease()
-		{
-			m_cache.release(*m_string);
-		}
-
-		XalanDOMString&
-		get() const
-		{
-			return *m_string;
-		}
-
-	private:
-
-		XalanDOMStringCache&	m_cache;
-
-		XalanDOMString* const	m_string;
-	};
-
-private:
-
-	// not implemented
-	XalanDOMStringCache(const XalanDOMStringCache&);
-
-	bool
-	operator==(const XalanDOMStringCache&) const;
-
-	XalanDOMStringCache&
-	operator=(const XalanDOMStringCache&);
-
-	/**
-	 * A list to hold the strings that are available...
-	 */
-	StringListType	m_availableList;
-
-	/**
-	 * A list to hold the strings that are busy...
-	 */
-	StringListType	m_busyList;
-
-	unsigned int	m_maximumSize;
-};
-
-
-
-#endif	// XALAN_RESULTNAMESPACESSTACK_HEADER_GUARD
diff --git a/src/PlatformSupport/XalanDOMStringHashTable.cpp b/src/PlatformSupport/XalanDOMStringHashTable.cpp
deleted file mode 100644
index 0149945..0000000
--- a/src/PlatformSupport/XalanDOMStringHashTable.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file...
-#include "XalanDOMStringHashTable.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include "DOMStringHelper.hpp"
-
-
-
-XalanDOMStringHashTable::XalanDOMStringHashTable(
-			size_t		theBucketCount,
-			size_t		theBucketSize) :
-
-	m_bucketCount(theBucketCount),
-	m_bucketSize(theBucketSize),
-	m_buckets(new BucketType[theBucketCount]),
-	m_count(0),
-	m_collisions(0)
-{
-}
-
-
-
-void
-XalanDOMStringHashTable::clear()
-{
-	for(size_t i = 0; i < m_bucketCount; ++i)
-	{
-		m_buckets[i].clear();
-	}
-
-#if !defined(NDEBUG)
-	m_collisions = 0;
-#endif
-	m_count = 0;
-}
-
-
-
-void
-XalanDOMStringHashTable::getBucketCounts(BucketCountsType&	theVector) const
-{
-	for(size_t i = 0; i < m_bucketCount; ++i)
-	{
-		const bucket_size_type	size = m_buckets[i].size();
-
-		theVector.push_back(size);
-	}
-}
-
-
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-bool
-XalanDOMStringHashTable::equalsXalanDOMString::operator()(const XalanDOMString*		theString) const
-{
-	if (m_length != length(*theString))
-	{
-		return false;
-	}
-	else
-	{
-		return equals(m_string, c_wstr(*theString), m_length);
-	}
-}
-#else
-struct
-equalsXalanDOMString
-{
-	equalsXalanDOMString(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength) :
-		m_string(theString),
-		m_length(theLength)
-	{
-	}
-
-	bool
-	operator()(const XalanDOMString*	theString) const
-	{
-		if (m_length != length(*theString))
-		{
-			return false;
-		}
-		else
-		{
-			return equals(m_string, c_wstr(*theString), m_length);
-		}
-	}
-
-private:
-
-	const XalanDOMChar* const			m_string;
-
-	const XalanDOMString::size_type		m_length;
-};
-#endif
-
-
-
-const XalanDOMString*
-XalanDOMStringHashTable::find(
-			const XalanDOMString&	theString,
-			size_t*					theBucketIndex) const
-{
-	return find(c_wstr(theString), length(theString), theBucketIndex);
-}
-
-
-
-inline size_t
-hashString(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength)
-{
-	assert(theString != 0);
-
-    size_t				theResult = 0;
-
-	const XalanDOMChar* const	theEnd = theString + theLength;
-
-	while (theString != theEnd)
-    {
-        theResult += (theResult * 37) + (theResult >> 24) + size_t(*theString);
-
-        ++theString;
-    }
-
-	return theResult;
-}
-
-
-
-const XalanDOMString*
-XalanDOMStringHashTable::find(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength,
-			size_t*						theBucketIndex) const
-{
-	assert(theString != 0);
-
-	const XalanDOMString::size_type		theActualLength =
-		theLength == XalanDOMString::npos ? length(theString) : theLength;
-
-	const size_t	theHash = hashString(theString, theActualLength);
-
-	const size_t	theLocalBucketIndex = theHash % m_bucketCount;
-
-	assert(theLocalBucketIndex < m_bucketCount);
-
-	const BucketType&	theBucket = m_buckets[theLocalBucketIndex];
-
-	if (theBucketIndex != 0)
-	{
-		*theBucketIndex = theLocalBucketIndex;
-	}
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	const BucketType::const_iterator	i =
-		find_if(
-				theBucket.begin(),
-				theBucket.end(),
-				equalsXalanDOMString(theString, theActualLength));
-
-	if (i == theBucket.end())
-	{
-		return 0;
-	}
-	else
-	{
-		return *i;
-	}
-}
-
-
-
-void
-XalanDOMStringHashTable::insert(const XalanDOMString&	theString)
-{
-	const size_t	theHash = hashString(c_wstr(theString), length(theString));
-
-	const size_t	theBucketIndex = theHash % m_bucketCount;
-
-	assert(theBucketIndex < m_bucketCount);
-
-	BucketType&	theBucket = m_buckets[theBucketIndex];
-
-#if !defined(NDEBUG)
-	if (theBucket.size() > 0)
-	{
-		++m_collisions;
-	}
-#endif
-
-	theBucket.reserve(m_bucketSize);
-
-	theBucket.push_back(&theString);
-
-	++m_count;
-}
-
-
-
-void
-XalanDOMStringHashTable::insert(
-			const XalanDOMString&	theString,
-			size_t					theBucketIndex)
-{
-	assert(theBucketIndex == hashString(c_wstr(theString), length(theString)) % m_bucketCount);
-	assert(theBucketIndex < m_bucketCount);
-
-	BucketType&		theBucket = m_buckets[theBucketIndex];
-
-#if !defined(NDEBUG)
-	if (theBucket.size() > 0)
-	{
-		++m_collisions;
-	}
-#endif
-
-	theBucket.reserve(m_bucketSize);
-
-	theBucket.push_back(&theString);
-
-	++m_count;
-}
diff --git a/src/PlatformSupport/XalanDOMStringHashTable.hpp b/src/PlatformSupport/XalanDOMStringHashTable.hpp
deleted file mode 100644
index ad8e9f8..0000000
--- a/src/PlatformSupport/XalanDOMStringHashTable.hpp
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOMSTRINGHASHTABLE_HEADER_GUARD_1357924680)
-#define XALANDOMSTRINGHASHTABLE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanDOMStringHashTable
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<const XalanDOMString*>	BucketType;
-	typedef BucketType::size_type			bucket_size_type;
-	typedef vector<bucket_size_type>		BucketCountsType;
-#else
-	typedef std::vector<const XalanDOMString*>	BucketType;
-	typedef BucketType::size_type				bucket_size_type;
-	typedef std::vector<bucket_size_type>		BucketCountsType;
-#endif
-
-
-	enum { eDefaultBucketCount = 101, eDefaultBucketSize = 15 };
-
-
-	/**
-	 * Create a hash table.
-	 *
-	 * @param theBucketCount The number of buckets to use for the hash table.  This should be a prime number for best results.
-	 * @param theBucketSize The initial size of each bucket in the hash table.
-	 */
-	explicit
-	XalanDOMStringHashTable(
-			size_t				theBucketCount = eDefaultBucketCount,
-			bucket_size_type	theBucketSize = eDefaultBucketSize);
-
-	~XalanDOMStringHashTable() { }
-
-	/**
-	 * Clear the hash table.
-	 */
-	void
-	clear();
-
-	/**
-	 * Get the number of strings in the table
-	 *
-	 * @return The number of strings in the table
-	 */
-	size_t
-	size() const
-	{
-		return m_count;
-	}
-
-	/**
-	 * Get the number of buckets in the table
-	 *
-	 * @return The number of buckets in the table
-	 */
-	size_t
-	bucketCount() const
-	{
-		return m_bucketCount;
-	}
-
-	/**
-	 * Get the size of each of the buckets in the table
-	 *
-	 * @param A vector to return the bucket counts.
-	 */
-	void
-	getBucketCounts(BucketCountsType&	theVector) const;
-
-	/**
-	 * Get the collision count.  Release builds will always
-	 * return 0.
-	 *
-	 * @return The number of collisions.  Valid only for non-release builds.
-	 */
-	size_t
-	collisions() const
-	{
-		return m_collisions;
-	}
-
-	/**
-	 * Find a string.  If the string is not found, return null.
-	 *
-	 * @param theString The string to find.
-	 * @param theBucketIndex The index of the bucket for the string.
-	 * @return a pointer to the string, or null if not found.
-	 */
-	const XalanDOMString*
-	find(
-			const XalanDOMString&	theString,
-			size_t*					theBucketIndex = 0) const;
-
-	/**
-	 * Find a string.  If the string is not found, return null.
-	 * If theBucketIndex is not null, the variable pointed to
-	 * will be updated with the bucket index that was calculated
-	 * for the string.  This index can be used in a later call to
-	 * insert() to avoid recalculating the index.
-	 *
-	 * @param theString The string to find.
-	 * @param theLength The number of characters in the string.
-	 * @param theBucketIndex A pointer to an unsigned int to get the bucket index
-	 * @return a pointer to the string, or null if not found.
-	 */
-	const XalanDOMString*
-	find(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos,
-			size_t*						theBucketIndex = 0) const;
-
-	/**
-	 * Insert a pointer to a string into the table.  If the string
-	 * is already present, the string will still be added, but it
-	 * will never be found, since it will be placed after the identical
-	 * string.
-	 *
-	 * Note that this class only stores a _pointer_ to a XalanDOMString.
-	 * It's expected that the string will be allocated and managed outside
-	 * of the hash table.
-	 *
-	 * @param theString The string to insert.
-	 */
-	void
-	insert(const XalanDOMString&	theString);
-
-	/**
-	 * Insert a pointer to a string into the table.  If the string
-	 * is already present, the string will still be added, but it
-	 * will never be found, since it will be placed after the identical
-	 * string.  theBucketIndex _must_ be the index returned from a
-	 * previous call to find.  If not, then the behavior is undefined.
-	 * This is meant as an optimization to avoid re-hashing the string.
-	 *
-	 * Note that this class only stores a _pointer_ to a XalanDOMString.
-	 * It's expected that the string will be allocated and managed outside
-	 * of the hash table.
-	 *
-	 * @param theString The string to insert.
-	 * @param theBucketIndex The index of the bucket for the string.
-	 */
-	void
-	insert(
-			const XalanDOMString&	theString,
-			size_t					theBucketIndex);
-
-#if defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-	struct
-	equalsXalanDOMString
-	{
-		equalsXalanDOMString(
-				const XalanDOMChar*			theString,
-				XalanDOMString::size_type	theLength) :
-			m_string(theString),
-			m_length(theLength)
-		{
-		}
-
-		bool
-		operator()(const XalanDOMString*	theString) const;
-
-	private:
-
-		const XalanDOMChar* const			m_string;
-
-		const XalanDOMString::size_type		m_length;
-	};
-#endif
-
-private:
-
-	// Not implemented, for now...
-	XalanDOMStringHashTable(const XalanDOMStringHashTable&);
-
-	XalanDOMStringHashTable&
-	operator=(const XalanDOMStringHashTable&);
-
-	bool
-	operator==(const XalanDOMStringHashTable&) const;
-
-
-	// Data members...
-	const size_t					m_bucketCount;
-
-	const bucket_size_type			m_bucketSize;
-
-	XalanArrayAutoPtr<BucketType>	m_buckets;
-
-	size_t							m_count;
-
-	unsigned int					m_collisions;		
-};
-
-
-
-#endif	// !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
diff --git a/src/PlatformSupport/XalanDOMStringPool.cpp b/src/PlatformSupport/XalanDOMStringPool.cpp
deleted file mode 100644
index 831293c..0000000
--- a/src/PlatformSupport/XalanDOMStringPool.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file...
-#include "XalanDOMStringPool.hpp"
-
-
-
-const XalanDOMString	XalanDOMStringPool::s_emptyString;
-
-
-
-XalanDOMStringPool::XalanDOMStringPool(
-			block_size_type		theBlockSize,
-			bucket_count_type	theBucketCount,
-			bucket_size_type	theBucketSize) :
-	m_stringAllocator(theBlockSize),
-	m_stringCount(0),
-	m_hashTable(theBucketCount, theBucketSize)
-{
-}
-
-
-
-XalanDOMStringPool::~XalanDOMStringPool()
-{
-}
-
-
-
-void
-XalanDOMStringPool::clear()
-{
-	m_stringAllocator.reset();
-
-	m_hashTable.clear();
-
-	m_stringCount = 0;
-}
-
-
-
-size_t
-XalanDOMStringPool::size() const
-{
-	assert(m_stringCount == m_hashTable.size());
-
-	return m_stringCount;
-}
-
-
-
-const XalanDOMString&
-XalanDOMStringPool::get(const XalanDOMString&	theString)
-{
-	return get(toCharArray(theString), length(theString));
-}
-
-
-
-const XalanDOMString&
-XalanDOMStringPool::get(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength)
-{
-	assert(m_stringCount == m_hashTable.size());
-
-	if (theString == 0 || *theString == 0)
-	{
-		return s_emptyString;
-	}
-	else
-	{
-		const XalanDOMString::size_type		theActualLength = theLength == XalanDOMString::npos ? length(theString) : theLength;
-
-		size_t	theBucketIndex;
-
-		const XalanDOMString*	theTableString = m_hashTable.find(theString, theActualLength, &theBucketIndex);
-
-		if (theTableString != 0)
-		{
-			return *theTableString;
-		}
-		else
-		{
-			// Not found, so insert the string...
-			XalanDOMString* const	theNewString =
-				m_stringAllocator.create(theString, theActualLength);
-			assert(theNewString != 0);
-
-			assert(theActualLength == length(*theNewString));
-
-			++m_stringCount;
-
-			// Insert the string into the hash table...
-			m_hashTable.insert(*theNewString, theBucketIndex);
-
-			assert(m_stringCount == m_hashTable.size());
-
-			return *theNewString;
-		}
-	}
-}
diff --git a/src/PlatformSupport/XalanDOMStringPool.hpp b/src/PlatformSupport/XalanDOMStringPool.hpp
deleted file mode 100644
index d6fb74a..0000000
--- a/src/PlatformSupport/XalanDOMStringPool.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
-#define XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <deque>
-#include <map>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanDOMStringAllocator.hpp>
-#include <PlatformSupport/XalanDOMStringHashTable.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanDOMStringPool
-{
-public:
-
-	enum { eDefaultBlockSize = 32,
-		   eDefaultBucketCount = XalanDOMStringHashTable::eDefaultBucketCount,
-		   eDefaultBucketSize = XalanDOMStringHashTable::eDefaultBucketSize };
-
-	typedef XalanDOMStringAllocator			AllocatorType;
-
-	typedef AllocatorType::size_type					block_size_type;
-	typedef size_t										bucket_count_type;
-	typedef XalanDOMStringHashTable::bucket_size_type	bucket_size_type;
-
-	/**
-	 * Create a string pool.
-	 *
-	 * @param theBlockSize The block size for the allocator.
-	 * @param theBucketCount The number of buckets to use for the hash table.  This should be a prime number for best results.
-	 * @param theBucketSize The initial size of each bucket in the hash table.
-	 */
-	explicit
-	XalanDOMStringPool(
-			block_size_type		theBlockSize = eDefaultBlockSize,
-			bucket_count_type	theBucketCount = eDefaultBucketCount,
-			bucket_size_type	theBucketSize = eDefaultBucketSize);
-
-	virtual
-	~XalanDOMStringPool();
-
-	/**
-	 * Clear the pool.
-	 *
-	 */
-	virtual void
-	clear();
-
-	/**
-	 * Get the number of strings in the pool
-	 *
-	 * @return the size of the pool.
-	 */
-	virtual size_t
-	size() const;
-
-	/**
-	 * Get a pooled string.  If the string is not pooled, it is added.
-	 *
-	 * @param theString The string to pool.
-	 * @return a const reference to the pooled string.
-	 */
-	virtual const XalanDOMString&
-	get(const XalanDOMString&	theString);
-
-	/**
-	 * Get a pooled string.  If the string is not pooled, it is added.
-	 *
-	 * @param theString The string to pool.
-	 * @param theLength The length of the string.  If XalanDOMString::npos, the string is assumed to be null-terminated.
-	 * @return a const reference to the pooled string.
-	 */
-	virtual const XalanDOMString&
-	get(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	/**
-	 * Get a reference to the pool's hash table.  Useful for diagnostic
-	 * purposes.
-	 *
-	 * @return a const reference to the hash table.
-	 */
-	const XalanDOMStringHashTable&
-	getHashTable() const
-	{
-		return m_hashTable;
-	}
-
-private:
-
-	// Not implemented, for now...
-	XalanDOMStringPool(const XalanDOMStringPool&);
-
-	XalanDOMStringPool&
-	operator=(const XalanDOMStringPool&);
-
-	bool
-	operator==(const XalanDOMStringPool&) const;
-
-	// Data members...
-	AllocatorType					m_stringAllocator;
-
-	size_t							m_stringCount;
-
-	XalanDOMStringHashTable			m_hashTable;
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
diff --git a/src/PlatformSupport/XalanDecimalFormat.cpp b/src/PlatformSupport/XalanDecimalFormat.cpp
deleted file mode 100644
index 50f93bb..0000000
--- a/src/PlatformSupport/XalanDecimalFormat.cpp
+++ /dev/null
@@ -1,230 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDecimalFormat.hpp"
-#include "DOMStringHelper.hpp"
-
-
-
-const XalanDOMString	XalanDecimalFormat::s_defaultPatternString;
-
-
-
-XalanDecimalFormat::XalanDecimalFormat(
-			const XalanDOMString&				thePatternString,
-			const XalanDecimalFormatSymbols&	theSymbols) :
-	XalanNumberFormat(),
-	m_patternString(thePatternString),
-	m_decimalFormatSymbols(&theSymbols)
-{
-}
-
-
-
-XalanDecimalFormat::~XalanDecimalFormat()
-{
-}
-
-
-
-XalanDOMString
-XalanDecimalFormat::format(double	theValue)
-{
-	// $$$ ToDo: Fix this!!!
-	return XalanNumberFormat::format(theValue);
-}
-
-
-
-void
-XalanDecimalFormat::format(
-			double				theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	XalanNumberFormat::format(theValue, theResult);
-}
-
-
-
-XalanDOMString
-XalanDecimalFormat::format(int	theValue)
-{
-	// $$$ ToDo: Fix this!!!
-	return XalanNumberFormat::format(theValue);
-}
-
-
-
-void
-XalanDecimalFormat::format(
-			int					theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	XalanNumberFormat::format(theValue, theResult);
-}
-
-
-
-XalanDOMString
-XalanDecimalFormat::format(unsigned int	theValue)
-{
-	// $$$ ToDo: Fix this!!!
-	return XalanNumberFormat::format(theValue);
-}
-
-
-
-void
-XalanDecimalFormat::format(
-			unsigned int		theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	XalanNumberFormat::format(theValue, theResult);
-}
-
-
-
-XalanDOMString
-XalanDecimalFormat::format(long	theValue)
-{
-	// $$$ ToDo: Fix this!!!
-	return XalanNumberFormat::format(theValue);
-}
-
-
-
-void
-XalanDecimalFormat::format(
-			long				theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	XalanNumberFormat::format(theValue, theResult);
-}
-
-
-
-XalanDOMString
-XalanDecimalFormat::format(unsigned long	theValue)
-{
-	// $$$ ToDo: Fix this!!!
-	return XalanNumberFormat::format(theValue);
-}
-
-
-
-void
-XalanDecimalFormat::format(
-			unsigned long		theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	XalanNumberFormat::format(theValue, theResult);
-}
-
-
-
-void
-XalanDecimalFormat::applyPattern(const XalanDOMString&	thePattern)
-{
-	// $$$ ToDo: Fix this!!!
-}
-
-
-
-void
-XalanDecimalFormat::applyLocalizedPattern(const XalanDOMString&	thePattern)
-{
-	// $$$ ToDo: Fix this!!!
-}
-
-
-
-XalanDOMString
-XalanDecimalFormat::getNormalizedPattern(const XalanDOMString&	thePattern)
-{
-	// A pattern may not have an explicit specification for
-	// negative numbers.  If there is no pattern separator,
-	// and therefore no explicit specification for negative
-	// numbers, then assume that the pattern for negative
-	// numbers is the same as that for positive numbers.
-	const XalanDOMChar	thePatternSeparatorChar =
-		m_decimalFormatSymbols->getPatternSeparator();
-
-	// Is the a separator?
-	const XalanDOMString::size_type		theSeparatorIndex =
-		indexOf(thePattern, thePatternSeparatorChar);
-
-	if (theSeparatorIndex < length(thePattern))
-	{
-		// There is, so the pattern is already normalized.
-		return thePattern;
-	}
-	else
-	{
-		// There isn't, so 
-		XalanDOMString	theNewPattern(thePattern);
-
-		theNewPattern += thePatternSeparatorChar;
-		theNewPattern += m_decimalFormatSymbols->getMinusSign();
-		theNewPattern += thePattern;
-
-		return theNewPattern;
-	}
-}
diff --git a/src/PlatformSupport/XalanDecimalFormat.hpp b/src/PlatformSupport/XalanDecimalFormat.hpp
deleted file mode 100644
index 0e52994..0000000
--- a/src/PlatformSupport/XalanDecimalFormat.hpp
+++ /dev/null
@@ -1,194 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDECIMALFORMAT_HEADER_GUARD_1357924680)
-#define XALANDECIMALFORMAT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XalanDecimalFormatSymbols.hpp>
-#include <PlatformSupport/XalanNumberFormat.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanDecimalFormat : public XalanNumberFormat
-{
-public:
-
-	/**
-	 * Constructor
-	 * 
-	 * @param thePatternString string defining how output should be formatted
-	 * @param theSymbols       class defining the symbols used for output, for
-	 *                         example, symbol for currency
-	 */
-	XalanDecimalFormat(
-			const XalanDOMString&				thePatternString,
-			const XalanDecimalFormatSymbols&	theSymbols);
-
-	virtual
-	~XalanDecimalFormat();
-
-	// From NumberFormat...
-	virtual XalanDOMString
-	format(double	theValue);
-
-	virtual void
-	format(
-			double				theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(int	theValue);
-
-	virtual void
-	format(
-			int					theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(unsigned int		theValue);
-
-	virtual void
-	format(
-			unsigned int		theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(long		theValue);
-
-	virtual void
-	format(
-			long				theValue,
-			XalanDOMString&		theResult);
-
-	virtual XalanDOMString
-	format(unsigned long	theValue);
-
-	virtual void
-	format(
-			unsigned long		theValue,
-			XalanDOMString&		theResult);
-
-	// New for XalanDecimalFormat...
-
-	/**
-	 * Retrieve class defining symbols used for output
-	 * 
-	 * @return class defining the symbols used for output, for example, symbol
-	 *         for currency
-	 */
-	const XalanDecimalFormatSymbols&
-	getDecimalFormatSymbols() const
-	{
-		return *m_decimalFormatSymbols;
-	}
-
-	/**
-	 * Set class defining symbols used for output
-	 * 
-	 * @param class defining the symbols used for output, for example, symbol
-	 *        for currency
-	 */
-	void
-	setDecimalFormatSymbols(const XalanDecimalFormatSymbols&	theDecimalFormatSymbols)
-	{
-		m_decimalFormatSymbols = &theDecimalFormatSymbols;
-	}
-
-	void
-	applyPattern(const XalanDOMString&	thePattern);
-
-	void
-	applyLocalizedPattern(const XalanDOMString&		thePattern);
-
-protected:
-
-	XalanDOMString
-	getNormalizedPattern(const XalanDOMString&	thePattern);
-
-private:
-
-	// Not implemented
-	XalanDecimalFormat(const XalanDecimalFormat&);
-
-	XalanDecimalFormat&
-	operator=(const XalanDecimalFormat&);
-
-	bool
-	operator==(const XalanDecimalFormat&);
-
-
-	// Data members...
-	XalanDOMString						m_patternString;
-
-	const XalanDecimalFormatSymbols*	m_decimalFormatSymbols;
-
-	static const XalanDOMString			s_defaultPatternString;
-};
-
-
-#endif	// XALANDECIMALFORMAT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanDecimalFormatSymbols.cpp b/src/PlatformSupport/XalanDecimalFormatSymbols.cpp
deleted file mode 100644
index 3ffcc86..0000000
--- a/src/PlatformSupport/XalanDecimalFormatSymbols.cpp
+++ /dev/null
@@ -1,182 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDecimalFormatSymbols.hpp"
-#include "DOMStringHelper.hpp"
-#include "XalanUnicode.hpp"
-
-
-
-static XalanDOMChar		theNaNDefault[] =
-{
-	XalanUnicode::charLetter_N,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_N,
-	0
-};
-
-
-
-static XalanDOMChar		theInfinityDefault[] =
-{
-	XalanUnicode::charLetter_I,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_y,
-	0
-};
-
-
-
-static XalanDOMChar		theCurrencySymbol[] =
-{
-	XalanUnicode::charDollarSign,
-	0
-};
-
-
-
-XalanDecimalFormatSymbols::XalanDecimalFormatSymbols() :
-	m_currencySymbol(theCurrencySymbol),
-	m_decimalSeparator(XalanUnicode::charFullStop),
-	m_digit(0),
-	m_groupingSeparator(XalanUnicode::charComma),
-	m_infinity(theInfinityDefault),
-	m_internationalCurrencySymbol(),
-	m_minusSign(XalanUnicode::charHyphenMinus),
-	m_monetaryDecimalSeparator(XalanUnicode::charFullStop),
-	m_NaN(theNaNDefault),
-	m_patternSeparator(XalanUnicode::charSemicolon),
-	m_percent(XalanUnicode::charPercentSign),
-	m_perMill(0),
-	m_zeroDigit(XalanUnicode::charDigit_0)
-{
-}
-
-
-
-XalanDecimalFormatSymbols::XalanDecimalFormatSymbols(const XalanDecimalFormatSymbols&	theSource) :
-	m_currencySymbol(theSource.m_currencySymbol),
-	m_decimalSeparator(theSource.m_decimalSeparator),
-	m_digit(theSource.m_digit),
-	m_groupingSeparator(theSource.m_groupingSeparator),
-	m_infinity(theSource.m_infinity),
-	m_internationalCurrencySymbol(theSource.m_internationalCurrencySymbol),
-	m_minusSign(theSource.m_minusSign),
-	m_monetaryDecimalSeparator(theSource.m_monetaryDecimalSeparator),
-	m_NaN(theSource.m_NaN),
-	m_patternSeparator(theSource.m_patternSeparator),
-	m_percent(theSource.m_percent),
-	m_perMill(theSource.m_perMill),
-	m_zeroDigit(theSource.m_zeroDigit)
-{
-}
-
-
-
-XalanDecimalFormatSymbols::~XalanDecimalFormatSymbols()
-{
-}
-
-
-
-XalanDecimalFormatSymbols&
-XalanDecimalFormatSymbols::operator=(const XalanDecimalFormatSymbols&		theRHS)
-{
-	if (&theRHS != this)
-	{
-		m_currencySymbol = theRHS.m_currencySymbol;
-		m_decimalSeparator = theRHS.m_decimalSeparator;
-		m_digit = theRHS.m_digit;
-		m_groupingSeparator = theRHS.m_groupingSeparator;
-		m_infinity = theRHS.m_infinity;
-		m_internationalCurrencySymbol = theRHS.m_internationalCurrencySymbol;
-		m_minusSign = theRHS.m_minusSign;
-		m_monetaryDecimalSeparator = theRHS.m_monetaryDecimalSeparator;
-		m_NaN = theRHS.m_NaN;
-		m_patternSeparator = theRHS.m_patternSeparator;
-		m_percent = theRHS.m_percent;
-		m_perMill = theRHS.m_perMill;
-		m_zeroDigit = theRHS.m_zeroDigit;
-	}
-
-	return *this;
-}
-
-
-
-bool
-XalanDecimalFormatSymbols::operator==(const XalanDecimalFormatSymbols&	theRHS) const
-{
-	return 
-		m_currencySymbol == theRHS.m_currencySymbol &&
-		m_decimalSeparator == theRHS.m_decimalSeparator &&
-		m_digit == theRHS.m_digit &&
-		m_groupingSeparator == theRHS.m_groupingSeparator &&
-		m_infinity == theRHS.m_infinity &&
-		m_internationalCurrencySymbol == theRHS.m_internationalCurrencySymbol &&
-		m_minusSign == theRHS.m_minusSign &&
-		m_monetaryDecimalSeparator == theRHS.m_monetaryDecimalSeparator &&
-		m_NaN == theRHS.m_NaN &&
-		m_patternSeparator == theRHS.m_patternSeparator &&
-		m_percent == theRHS.m_percent &&
-		m_perMill == theRHS.m_perMill &&
-		m_zeroDigit == theRHS.m_zeroDigit;
-}
diff --git a/src/PlatformSupport/XalanDecimalFormatSymbols.hpp b/src/PlatformSupport/XalanDecimalFormatSymbols.hpp
deleted file mode 100644
index 31361d6..0000000
--- a/src/PlatformSupport/XalanDecimalFormatSymbols.hpp
+++ /dev/null
@@ -1,472 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDECIMALFORMATSYMBOLS_HEADER_GUARD_1357924680)
-#define XALANDECIMALFORMATSYMBOLS_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanDecimalFormatSymbols
-{
-public:
-
-	// Eventually, this constructor should take a locale to determine
-	// all of the stuff it needs to know.  But locales are implemented
-	// on all of our platforms yet.
-	explicit
-	XalanDecimalFormatSymbols();
-
-	XalanDecimalFormatSymbols(const XalanDecimalFormatSymbols&	theSource);
-
-	~XalanDecimalFormatSymbols();
-
-	XalanDecimalFormatSymbols&
-	operator=(const XalanDecimalFormatSymbols&	theRHS);
-
-	/**
-	 * Retrieve the string denoting the local currency, "$", for example
-	 * 
-	 * @return string used for local currency
-	 */
-	const XalanDOMString&
-	getCurrencySymbol() const
-	{
-		return m_currencySymbol;
-	}
-
-	/**
-	 * Retrieve the character used for decimal sign, '.' for example
-	 * 
-	 * @return character used for decimal sign
-	 */
-	XalanDOMChar
-	getDecimalSeparator() const
-	{
-		return m_decimalSeparator;
-	}
-
-	/**
-	 * Retrieve character used for a digit in a pattern
-	 * 
-	 * @return character used for a digit in a pattern 
-	 */
-	XalanDOMChar
-	getDigit() const
-	{
-		return m_digit;
-	}
-
-	/**
-	 * Retrieve the character used for thousands separator, "," for example
-	 * 
-	 * @return character used for thousands separator
-	 */
-	XalanDOMChar
-	getGroupingSeparator() const
-	{
-		return m_groupingSeparator;
-	}
-
-	/**
-	 * Retrieve the string used to represent infinity
-	 * 
-	 * @return string used to represent infinity
-	 */
-	const XalanDOMString&
-	getInfinity() const
-	{
-		return m_infinity;
-	}
-
-	/**
-	 * Retrieve the international string denoting the local currency
-	 * 
-	 * @return international string denoting the local currency
-	 */
-	const XalanDOMString&
-	getInternationalCurrencySymbol() const
-	{
-		return m_internationalCurrencySymbol;
-	}
-
-	/**
-	 * Retrieve the character used to represent minus sign
-	 * 
-	 * @return character used to represent minus sign
-	 */
-	XalanDOMChar
-	getMinusSign() const
-	{
-		return m_minusSign;
-	}
-
-	/**
-	 * Retrieve the monetary decimal separator
-	 * 
-	 * @return character used to separate decimal portion of currency
-	 */
-	XalanDOMChar
-	getMonetaryDecimalSeparator() const
-	{
-		return m_monetaryDecimalSeparator;
-	}
-
-	/**
-	 * Retrieve the string used for a numeric value that cannot be represented
-	 * as a number
-	 * 
-	 * @return string representing "not a number" value
-	 */
-	const XalanDOMString&
-	getNaN() const
-	{
-		return m_NaN;
-	}
-
-	/**
-	 * Retrieve the character used to separate positive and negative
-	 * subpatterns in a pattern
-	 * 
-	 * @return character used to separate positive and negative subpatterns
-	 */
-	XalanDOMChar
-	getPatternSeparator() const
-	{
-		return m_patternSeparator;
-	}
-
-	/**
-	 * Retrieve the character used for percent sign, "%," for example
-	 * 
-	 * @return character used for percent sign
-	 */
-	XalanDOMChar
-	getPercent() const
-	{
-		return m_percent;
-	}
-
-	/**
-	 * Retrieve the character used for per thousand sign
-	 * 
-	 * @return character used for per thousand sign
-	 */
-	XalanDOMChar
-	getPerMill() const
-	{
-		return m_perMill;
-	}
-
-	/**
-	 * Retrieve the character used for zero
-	 * 
-	 * @return character used for zero
-	 */
-	XalanDOMChar
-	getZeroDigit() const
-	{
-		return m_zeroDigit;
-	}
-
-	/**
-	 * Sets the string denoting the local currency, "$", for example
-	 * 
-	 * @param theCurrencySymbol symbol used for local currency
-	 */
-	void
-	setCurrencySymbol(const XalanDOMString&		theCurrencySymbol)
-	{
-		m_currencySymbol = theCurrencySymbol;
-	}
-
-	/**
-	 * Sets the string denoting the local currency, "$", for example
-	 * 
-	 * @param theCurrencySymbol symbol used for local currency
-	 */
-	void
-	setCurrencySymbol(const XalanDOMChar*	theCurrencySymbol)
-	{
-		assert(theCurrencySymbol != 0);
-
-		m_currencySymbol = theCurrencySymbol;
-	}
-
-	/**
-	 * Sets the character used for decimal sign, '.' for example
-	 * 
-	 * @param theDecimalSeparator character used for decimal sign
-	 */
-	void
-	setDecimalSeparator(XalanDOMChar	theDecimalSeparator)
-	{
-		m_decimalSeparator = theDecimalSeparator;
-	}
-
-	/**
-	 * Sets the character used for a digit in a pattern
-	 * 
-	 * @param theDigit character used for a digit in a pattern 
-	 */
-	void
-	setDigit(XalanDOMChar	theDigit)
-	{
-		m_digit = theDigit;
-	}
-
-	/**
-	 * Sets the character used for thousands separator, "," for example
-	 * 
-	 * @param theGroupingSeparator character used for thousands separator
-	 */
-	void
-	setGroupingSeparator(XalanDOMChar	theGroupingSeparator)
-	{
-		m_groupingSeparator = theGroupingSeparator;
-	}
-
-	/**
-	 * Sets the string used to represent infinity
-	 * 
-	 * @param theInfinity string used to represent infinity
-	 */
-	void
-	setInfinity(const XalanDOMString&	theInfinity)
-	{
-		m_infinity = theInfinity;
-	}
-
-	/**
-	 * Sets the string used to represent infinity
-	 * 
-	 * @param theInfinity string used to represent infinity
-	 */
-	void
-	setInfinity(const XalanDOMChar*		theInfinity)
-	{
-		assert(theInfinity != 0);
-
-		m_infinity = theInfinity;
-	}
-
-	/**
-	 * Sets the international string denoting the local currency
-	 * 
-	 * @param theInternationalCurrencySymbol international string denoting the
-	 *                                       local currency
-	 */
-	void
-	setInternationalCurrencySymbol(const XalanDOMString&	theInternationalCurrencySymbol)
-	{
-		m_internationalCurrencySymbol = theInternationalCurrencySymbol;
-	}
-
-	/**
-	 * Sets the international string denoting the local currency
-	 * 
-	 * @param theInternationalCurrencySymbol international string denoting the
-	 *                                       local currency
-	 */
-	void
-	setInternationalCurrencySymbol(const XalanDOMChar*	theInternationalCurrencySymbol)
-	{
-		assert(theInternationalCurrencySymbol != 0);
-
-		m_internationalCurrencySymbol = theInternationalCurrencySymbol;
-	}
-
-	/**
-	 * Sets the character used to represent minus sign
-	 * 
-	 * @param theMinusSign character used to represent minus sign
-	 */
-	void
-	setMinusSign(XalanDOMChar	theMinusSign)
-	{
-		m_minusSign = theMinusSign;
-	}
-
-	/**
-	 * Sets the monetary decimal separator
-	 * 
-	 * @param theMonetaryDecimalSeparator character used to separate decimal
-	 *                                    portion of currency
-	 */
-	void
-	setMonetaryDecimalSeparator(XalanDOMChar	theMonetaryDecimalSeparator)
-	{
-		m_monetaryDecimalSeparator = theMonetaryDecimalSeparator;
-	}
-
-	/**
-	 * Sets the string used for a numeric value that cannot be represented
-	 * as a number
-	 * 
-	 * @param theNaN string representing "not a number" value
-	 */
-	void
-	setNaN(const XalanDOMString&	theNaN)
-	{
-		m_NaN = theNaN;
-	}
-
-	/**
-	 * Sets the string used for a numeric value that cannot be represented
-	 * as a number
-	 * 
-	 * @param theNaN string representing "not a number" value
-	 */
-	void
-	setNaN(const XalanDOMChar*	theNaN)
-	{
-		assert(theNaN != 0);
-
-		m_NaN = theNaN;
-	}
-
-	/**
-	 * Sets the character used to separate positive and negative subpatterns in
-	 * a pattern
-	 * 
-	 * @param thePatternSeparator character used to separate positive and
-	 *                            negative subpatterns
-	 */
-	void
-	setPatternSeparator(XalanDOMChar	thePatternSeparator)
-	{
-		m_patternSeparator = thePatternSeparator;
-	}
-
-	/**
-	 * Sets the character used for percent sign, "%," for example
-	 * 
-	 * @param thePercent character used for percent sign
-	 */
-	void
-	setPercent(XalanDOMChar	thePercent)
-	{
-		m_percent = thePercent;
-	}
-
-	/**
-	 * Sets the character used for per thousand sign
-	 * 
-	 * @param thePerMill character used for per thousand sign
-	 */
-	void
-	setPerMill(XalanDOMChar	thePerMill)
-	{
-		m_perMill = thePerMill;
-	}
-
-	/**
-	 * Sets the character used for zero
-	 * 
-	 * @param theZeroDigit character used for zero
-	 */
-	void
-	setZeroDigit(XalanDOMChar	theZeroDigit)
-	{
-		m_zeroDigit = theZeroDigit;
-	}
-
-	bool
-	operator==(const XalanDecimalFormatSymbols&		theRHS) const;
-
-	bool
-	operator!=(const XalanDecimalFormatSymbols&		theRHS) const
-	{
-		return !operator==(theRHS);
-	}
-
-private:
-
-	XalanDOMString	m_currencySymbol;
-
-	XalanDOMChar	m_decimalSeparator;
-	XalanDOMChar	m_digit;
-	XalanDOMChar	m_groupingSeparator;
-
-	XalanDOMString	m_infinity;
-	XalanDOMString	m_internationalCurrencySymbol;
-
-	XalanDOMChar	m_minusSign;
-	XalanDOMChar	m_monetaryDecimalSeparator;
-
-	XalanDOMString	m_NaN;
-
-	XalanDOMChar	m_patternSeparator;
-	XalanDOMChar	m_percent;
-	XalanDOMChar	m_perMill;
-	XalanDOMChar	m_zeroDigit;
-};
-
-
-
-#endif	// XALANDECIMALFORMATSYMBOLS_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanEncodingPropertyCache.cpp b/src/PlatformSupport/XalanEncodingPropertyCache.cpp
deleted file mode 100644
index 8adf895..0000000
--- a/src/PlatformSupport/XalanEncodingPropertyCache.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanEncodingPropertyCache.hpp"
-#include "XalanTranscodingServices.hpp"
-
-
-
-XalanEncodingPropertyCache::XalanEncodingPropertyCache(
-			size_t							theCacheSize,
-			const XalanOutputTranscoder*	theTranscoder) :
-	m_transcoder(theTranscoder),
-	m_presentBitmap(theCacheSize),
-	m_valueBitmap(theCacheSize)
-{
-}
-
-
-
-XalanEncodingPropertyCache::~XalanEncodingPropertyCache()
-{
-}
-
-
-
-bool
-XalanEncodingPropertyCache::canEncodeCharacter(unsigned int 	theChar) const
-{
-	if (theChar > m_presentBitmap.getSize())
-	{
-		return m_transcoder == 0 ? true : m_transcoder->canTranscodeTo(theChar);
-	}
-	else if (m_presentBitmap.isSet(theChar) == true)
-	{
-		return m_valueBitmap.isSet(theChar);
-	}
-	else
-	{
-		if (m_transcoder == 0)
-		{
-			return true;
-		}
-		else
-		{
-#if defined(XALAN_NO_MUTABLE)
-			((XalanEncodingPropertyCache*)this)->m_presentBitmap.set(theChar);
-#else
-			m_presentBitmap.set(theChar);
-#endif
-
-			const bool	fResult = m_transcoder->canTranscodeTo(theChar);
-
-			if (fResult == true)
-			{
-#if defined(XALAN_NO_MUTABLE)
-				((XalanEncodingPropertyCache*)this)->m_valueBitmap.set(theChar);
-#else
-				m_valueBitmap.set(theChar);
-#endif
-			}
-
-			return fResult;
-		}
-	}
-}
diff --git a/src/PlatformSupport/XalanEncodingPropertyCache.hpp b/src/PlatformSupport/XalanEncodingPropertyCache.hpp
deleted file mode 100644
index 863d0e5..0000000
--- a/src/PlatformSupport/XalanEncodingPropertyCache.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANENCODINGPROPERTYCACHE_HEADER_GUARD_1357924680)
-#define XALANENCODINGPROPERTYCACHE_HEADER_GUARD_1357924680
-
-
-
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/XalanBitmap.hpp>
-
-
-
-class XalanOutputTranscoder;
-
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanEncodingPropertyCache
-{
-public:
-
-	XalanEncodingPropertyCache(
-			size_t								theCacheSize = XalanDOMChar(~0),
-			const XalanOutputTranscoder*		theTranscoder = 0);
-
-	~XalanEncodingPropertyCache();
-
-	bool
-	canEncodeCharacter(unsigned int		theChar) const;
-
-	const XalanOutputTranscoder*
-	getTranscoder() const
-	{
-		return m_transcoder;
-	}
-
-	void
-	setTranscoder(const XalanOutputTranscoder*	theTranscoder)
-	{
-		m_transcoder = theTranscoder;
-	}
-private:
-
-	const XalanOutputTranscoder*	m_transcoder;
-
-	mutable XalanBitmap				m_presentBitmap;
-
-	mutable XalanBitmap				m_valueBitmap;
-};
-
-
-
-#endif	// XALANENCODINGPROPERTYCACHE_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanFileOutputStream.cpp b/src/PlatformSupport/XalanFileOutputStream.cpp
deleted file mode 100644
index b09f364..0000000
--- a/src/PlatformSupport/XalanFileOutputStream.cpp
+++ /dev/null
@@ -1,305 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanFileOutputStream.hpp"
-
-
-
-#include <cerrno>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <strstream.h>
-#else
-#include <strstream>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-static  XalanFileOutputStream::HandleType
-openFile(const XalanDOMString&	theFileName)
-{
-	typedef XalanFileOutputStream::HandleType	HandleType;
-
-#if defined(WIN32)
-	HandleType	theFileHandle = CreateFileW(
-			c_wstr(theFileName),
-			GENERIC_WRITE,
-			0,
-			0,
-			CREATE_ALWAYS,
-			FILE_ATTRIBUTE_NORMAL,
-			0);
-
-	if (theFileHandle != INVALID_HANDLE_VALUE && theFileHandle != 0)
-	{
-		return theFileHandle;
-	}
-	else
-	{
-		const CharVectorType	theResult(TranscodeToLocalCodePage(theFileName));
-
-		if (theResult.size() == 0)
-		{
-			return INVALID_HANDLE_VALUE;
-		}
-		else
-		{
-			const char* const	tmpName = &theResult[0];
-
-			if (tmpName == 0)
-			{
-				return INVALID_HANDLE_VALUE;
-			}
-			else
-			{
-				return CreateFile(
-							tmpName,
-							GENERIC_WRITE,
-							0,
-							0,
-							CREATE_ALWAYS,
-							FILE_ATTRIBUTE_NORMAL,
-							0);
-			}
-		}
-	}
-#else
-	const CharVectorType	theResult(TranscodeToLocalCodePage(theFileName));
-
-	if (theResult.size() == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		const char* const	tmpName = &theResult[0];
-
-		if (tmpName == 0)
-		{
-			return 0;
-		}
-		else
-		{
-			return fopen(tmpName, "wb");
-		}
-	}
-#endif
-}
-
-
-
-XalanFileOutputStream::XalanFileOutputStream(
-			const XalanDOMString&	theFileName,
-			unsigned int			theBufferSize) :
-	XalanOutputStream(theBufferSize),
-	m_fileName(theFileName),
-	m_handle(openFile(theFileName))
-{
-#if defined(WIN32)
-    if (m_handle == INVALID_HANDLE_VALUE)
-#else
-    if (m_handle == 0)
-#endif
-	{
-		throw XalanFileOutputStreamOpenException(
-					theFileName,
-					errno);
-	}
-}
-
-
-
-XalanFileOutputStream::~XalanFileOutputStream()
-{
-#if defined(WIN32)
-    if (m_handle != INVALID_HANDLE_VALUE)
-	{
-		CloseHandle(m_handle);
-	}
-#else
-    if (m_handle != 0)
-	{
-		fclose(m_handle);
-	}
-#endif
-}
-
-
-
-void
-XalanFileOutputStream::doFlush()
-{
-#if !defined(WIN32)
-	if (fflush(m_handle) != 0)
-	{
-		throw XalanFileOutputStreamWriteException(
-			m_fileName,
-			errno);
-	}
-#endif
-}
-
-
-
-void
-XalanFileOutputStream::writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength)
-{
-#if defined(WIN32)
-	DWORD			theBytesWritten;
-
-	assert(size_t(DWORD(theBufferLength)) == theBufferLength);
-
-	if (WriteFile(m_handle, theBuffer, DWORD(theBufferLength), &theBytesWritten, 0) == false ||
-	    theBytesWritten != theBufferLength)
-	{
-		throw XalanFileOutputStreamWriteException(
-			m_fileName,
-			GetLastError());
-	}
-#else
-	const size_t	theBytesWritten =
-		fwrite(theBuffer,
-			   1,
-			   theBufferLength,
-			   m_handle);
-
-	if (theBytesWritten != theBufferLength)
-	{
-		throw XalanFileOutputStreamWriteException(
-			m_fileName,
-			errno);
-	}
-#endif
-}
-
-
-
-static XalanDOMString
-FormatMessageLocal(
-			const char*				theMessage,
-			const XalanDOMString&	theFileName,
-			int						theErrorCode)
-{
-	XalanDOMString	theResult(TranscodeFromLocalCodePage(theMessage));
-
-	theResult += theFileName;
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::ostrstream;
-#endif
-
-	ostrstream	theFormatter;
-
-	theFormatter << ".  The error code was "
-				 << theErrorCode << "." << '\0';
-
-	append(theResult, theFormatter.str());
-
-	delete theFormatter.str();
-
-	return theResult;
-}
-
-
-
-XalanFileOutputStream::XalanFileOutputStreamOpenException::XalanFileOutputStreamOpenException(
-		const XalanDOMString&	theFileName,
-		int					theErrorCode) :
-	XalanOutputStreamException(FormatMessageLocal(
-				"Error opening file: ",
-				theFileName,
-				theErrorCode),
-			TranscodeFromLocalCodePage("XalanFileOutputStreamOpenException"))
-{
-}
-
-
-
-XalanFileOutputStream::XalanFileOutputStreamOpenException::~XalanFileOutputStreamOpenException()
-{
-}
-
-
-
-XalanFileOutputStream::XalanFileOutputStreamWriteException::XalanFileOutputStreamWriteException(
-		const XalanDOMString&	theFileName,
-		int					theErrorCode) :
-	XalanOutputStreamException(FormatMessageLocal(
-				"Error writing file: ",
-				theFileName,
-				theErrorCode),
-			TranscodeFromLocalCodePage("XalanFileOutputStreamWriteException"))
-{
-}
-
-
-
-XalanFileOutputStream::XalanFileOutputStreamWriteException::~XalanFileOutputStreamWriteException()
-{
-}
diff --git a/src/PlatformSupport/XalanFileOutputStream.hpp b/src/PlatformSupport/XalanFileOutputStream.hpp
deleted file mode 100644
index 51c5919..0000000
--- a/src/PlatformSupport/XalanFileOutputStream.hpp
+++ /dev/null
@@ -1,176 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANFILEOUTPUTSTREAM_HEADER_GUARD_1357924680)
-#define XALANFILEOUTPUTSTREAM_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#if defined(WIN32)
-#include <windows.h>
-#else
-#include <cstdio>
-#endif
-
-#include <vector>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XalanOutputStream.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanFileOutputStream : public XalanOutputStream
-{
-public :
-
-	enum { eDefaultBufferSize = 8192 };
-
-#if defined(WIN32)
-	typedef HANDLE	HandleType;
-#else
-	typedef FILE*	HandleType;
-#endif
-
-	/**
-	 * Construct an XalanFileOutputStream object.
-	 * 
-	 * @param theFileName name of file
-	 * @param theBufferSize The size of the buffer
-	 */
-    XalanFileOutputStream(
-			const XalanDOMString&	theFileName,
-			unsigned int			theBufferSize = eDefaultBufferSize);
-
-    virtual
-	~XalanFileOutputStream();
-
-
-	class XALAN_PLATFORMSUPPORT_EXPORT XalanFileOutputStreamOpenException : public XalanOutputStream::XalanOutputStreamException
-	{
-	public:
-
-		/**
-		 * Construct an XalanFileOutputStreamOpen exception object for an exception
-		 * that occurred on opening a text file stream.
-		 * 
-		 * @param theFileName  name of file causing the exception
-		 * @param theErrorCode number of error encountered
-		 */
-		XalanFileOutputStreamOpenException(
-			const XalanDOMString&	theFileName,
-			int						theErrorCode);
-
-		virtual
-		~XalanFileOutputStreamOpenException();
-	};
-
-	class XALAN_PLATFORMSUPPORT_EXPORT XalanFileOutputStreamWriteException : public XalanOutputStream::XalanOutputStreamException
-	{
-	public:
-
-		/**
-		 * Construct an XalanFileOutputStreamOpen exception object for an exception
-		 * that occurred while writing to a text file stream.
-		 * 
-		 * @param theFileName  name of file causing the exception
-		 * @param theErrorCode number of error encountered
-		 */
-		XalanFileOutputStreamWriteException(
-			const XalanDOMString&	theFileName,
-			int						theErrorCode);
-
-		virtual
-		~XalanFileOutputStreamWriteException();
-	};
-
-protected:
-
-	virtual void
-	writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength);
-
-	virtual void
-	doFlush();
-
-private:
-
-    // These are not implemented...
-    XalanFileOutputStream(const XalanFileOutputStream&);
-
-    XalanFileOutputStream&
-	operator=(const XalanFileOutputStream&);
-
-    bool
-	operator==(const XalanFileOutputStream&) const;
-
-
-	// Data members...
-	const XalanDOMString	m_fileName;
-
-	const HandleType		m_handle;
-};
-
-
-
-#endif	// XALANFILEOUTPUTSTREAM_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanNullOutputStream.cpp b/src/PlatformSupport/XalanNullOutputStream.cpp
deleted file mode 100644
index e800cb3..0000000
--- a/src/PlatformSupport/XalanNullOutputStream.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanNullOutputStream.hpp"
-
-
-
-XalanNullOutputStream::XalanNullOutputStream() :
-	XalanOutputStream(1)
-{
-}
-
-
-
-XalanNullOutputStream::~XalanNullOutputStream()
-{
-}
-
-
-
-void
-XalanNullOutputStream::writeData(
-			const char*		/* theBuffer */,
-			size_type		/* theBufferLength */)
-{
-}
-
-
-
-void
-XalanNullOutputStream::doFlush()
-{
-}
diff --git a/src/PlatformSupport/XalanNullOutputStream.hpp b/src/PlatformSupport/XalanNullOutputStream.hpp
deleted file mode 100644
index de4c314..0000000
--- a/src/PlatformSupport/XalanNullOutputStream.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNULLOUTPUTSTREAM_HEADER_GUARD_1357924680)
-#define XALANNULLOUTPUTSTREAM_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XalanOutputStream.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanNullOutputStream : public XalanOutputStream
-{
-public :
-
-	explicit
-    XalanNullOutputStream();
-
-    virtual
-	~XalanNullOutputStream();
-
-protected:
-
-    // These are inherited from XalanOutputStream...
-	virtual void
-	writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength);
-
-	virtual void
-	doFlush();
-
-private:
-
-    // These are not implemented...
-    XalanNullOutputStream(const XalanNullOutputStream&);
-
-    XalanNullOutputStream&
-	operator=(const XalanNullOutputStream&);
-
-    bool
-	operator==(const XalanNullOutputStream&) const;
-};
-
-
-
-#endif	// NULLTEXTOUTPUTSTREAM_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanNumberFormat.cpp b/src/PlatformSupport/XalanNumberFormat.cpp
deleted file mode 100644
index 6f5506d..0000000
--- a/src/PlatformSupport/XalanNumberFormat.cpp
+++ /dev/null
@@ -1,310 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNumberFormat.hpp"
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-#include <Include/STLHelper.hpp>
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanUnicode.hpp"
-
-
-
-const XalanDOMChar	XalanNumberFormat::s_defaultGroupingSeparator[] = 
-{
-	XalanUnicode::charComma,
-	0
-};
-
-
-
-XalanNumberFormat::XalanNumberFormat() :
-	m_isGroupingUsed(false),
-	m_groupingSeparator(s_defaultGroupingSeparator),
-	m_groupingSize(3)	// Default to US values
-{
-}
-
-
-
-XalanNumberFormat::~XalanNumberFormat()
-{
-}
-
-
-
-XalanDOMString
-XalanNumberFormat::format(double	theValue)
-{
-	// $$$ ToDo: Fix this!
-	XalanDOMString	theResult;
-
-	format(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-void
-XalanNumberFormat::format(
-			double				theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	DoubleToDOMString(theValue, theResult);
-
-	applyGrouping(theResult, theResult);
-}
-
-
-
-XalanDOMString
-XalanNumberFormat::format(int	theValue)
-{
-	// $$$ ToDo: Fix this!
-	XalanDOMString	theResult;
-
-	format(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-void
-XalanNumberFormat::format(
-			int					theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	LongToDOMString(theValue, theResult);
-
-	applyGrouping(theResult, theResult);
-}
-
-
-
-XalanDOMString
-XalanNumberFormat::format(unsigned int	theValue)
-{
-	// $$$ ToDo: Fix this!
-	XalanDOMString	theResult;
-
-	format(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-void
-XalanNumberFormat::format(
-			unsigned int		theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	UnsignedLongToDOMString(theValue, theResult);
-
-	applyGrouping(theResult, theResult);
-}
-
-
-
-XalanDOMString
-XalanNumberFormat::format(long	theValue)
-{
-	// $$$ ToDo: Fix this!
-	XalanDOMString	theResult;
-
-	format(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-void
-XalanNumberFormat::format(
-			long				theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	LongToDOMString(theValue, theResult);
-
-	applyGrouping(theResult, theResult);
-}
-
-
-
-XalanDOMString
-XalanNumberFormat::format(unsigned long		theValue)
-{
-	// $$$ ToDo: Fix this!
-	XalanDOMString	theResult;
-
-	format(theValue, theResult);
-
-	return theResult;
-}
-
-
-
-void
-XalanNumberFormat::format(
-			unsigned long		theValue,
-			XalanDOMString&		theResult)
-{
-	// $$$ ToDo: Fix this!
-	UnsignedLongToDOMString(theValue, theResult);
-
-	applyGrouping(theResult, theResult);
-}
-
-
-
-/*
- * Convert a string value using the currently active values for grouping size
- * and separator; returns the converted string
- */
-void
-XalanNumberFormat::applyGrouping(
-			const XalanDOMString&	value,
-			XalanDOMString&			result)
-{
-	if (m_isGroupingUsed == false ||
-		m_groupingSize == 0)
-	{
-		result = value;
-	}
-	else
-	{
-		const XalanDOMString::size_type		len = length(value);
-
-		if (len == 0)
-		{
-			result = value;
-		}
-		else
-		{
-			// Add two, so we leave one byte at the beginning as empty space
-			const XalanDOMString::size_type		bufsize = len + len / m_groupingSize + 2;
-
-			XalanDOMChar* const		buffer = new XalanDOMChar[bufsize];
-
-			XalanArrayAutoPtr<XalanDOMChar>		theGuard(buffer);
-
-			XalanDOMChar*			p = buffer + bufsize - 1;
-
-			*p-- = 0;	// null terminate
-
-			for (XalanDOMString::size_type i = 0, ix = len - 1; i < len && p > buffer; i++, ix--)
-			{
-				const XalanDOMChar		c = charAt(value, ix);
-
-				if (i && !(i% m_groupingSize))
-				{
-					// Could be a multiple character separator??
-					for (long j = long(m_groupingSeparator.length() - 1); j >= 0 && p > buffer; j--)
-						*p-- = charAt(m_groupingSeparator, j);
-				}
-
-				*p-- = c;
-			}
-
-			result = ++p;
-		}
-	}
-}
-
-
-
-bool
-XalanNumberFormat::isGroupingUsed() const
-{
-	return m_isGroupingUsed;
-}
-
-
-
-void
-XalanNumberFormat::setGroupingUsed(bool bUsed)
-{
-	m_isGroupingUsed = bUsed;
-}
-
-
-
-void
-XalanNumberFormat::setGroupingSize(unsigned long	size)
-{
-	assert(size > 0);
-
-	m_groupingSize = size;
-}
-
-
-
-void
-XalanNumberFormat::setGroupingSeparator(const XalanDOMString&	s)
-{
-	m_groupingSeparator = s;
-}
diff --git a/src/PlatformSupport/XalanNumberFormat.hpp b/src/PlatformSupport/XalanNumberFormat.hpp
deleted file mode 100644
index 90a389d..0000000
--- a/src/PlatformSupport/XalanNumberFormat.hpp
+++ /dev/null
@@ -1,244 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNUMBERFORMAT_HEADER_GUARD_1357924680)
-#define XALANNUMBERFORMAT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanNumberFormat
-{
-public:
-
-	explicit
-	XalanNumberFormat();
-
-	virtual
-	~XalanNumberFormat();
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @return string representation of number
-	 */
-	virtual XalanDOMString
-	format(double	theValue);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @param theResult the string result
-	 */
-	virtual void
-	format(
-			double				theValue,
-			XalanDOMString&		theResult);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @return string representation of number
-	 */
-	virtual XalanDOMString
-	format(int	theValue);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @param theResult the string result
-	 */
-	virtual void
-	format(
-			int					theValue,
-			XalanDOMString&		theResult);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @return string representation of number
-	 */
-	virtual XalanDOMString
-	format(unsigned int		theValue);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @param theResult the string result
-	 */
-	virtual void
-	format(
-			unsigned int		theValue,
-			XalanDOMString&		theResult);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @return string representation of number
-	 */
-	virtual XalanDOMString
-	format(long		theValue);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @param theResult the string result
-	 */
-	virtual void
-	format(
-			long				theValue,
-			XalanDOMString&		theResult);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @return string representation of number
-	 */
-	virtual XalanDOMString
-	format(unsigned long	theValue);
-
-	/**
-	 * Format a number into a string.
-	 *
-	 * @param theValue number to format
-	 * @param theResult the string result
-	 */
-	virtual void
-	format(
-			unsigned long		theValue,
-			XalanDOMString&		theResult);
-
-	/**
-	 * Whether groupings are used for numbers, for example, "234,678"
-	 *
-	 * @return true if grouping used
-	 */
-	virtual bool
-	isGroupingUsed() const;
-
-	/**
-	 * Change whether groupings are used for numbers, for example, "234,678"
-	 *
-	 * @param bUsed true to use grouping
-	 */
-	virtual void
-	setGroupingUsed(bool bUsed);
-
-	/**
-	 * Change the size of groupings, for example, "234,678" uses a size of "3"
-	 *
-	 * @param size the grouping size
-	 */
-	virtual void
-	setGroupingSize(unsigned long	size);
-
-	/**
-	 * Change the separator string used for groupings, for example, "234,678"
-	 * uses the separator ","
-	 *
-	 * @param s grouping separator string
-	 */
-	virtual void
-	setGroupingSeparator(const XalanDOMString&	s);
-
-protected:
-
-	void
-	applyGrouping(
-			const XalanDOMString&		value,
-			XalanDOMString&				result);
-
-private:
-
-	// Not implemented...
-	XalanNumberFormat(const XalanNumberFormat&);
-
-	XalanNumberFormat&
-	operator=(const XalanNumberFormat&);
-
-	bool
-	operator==(const XalanNumberFormat&);
-
-	// Data members...
-	bool						m_isGroupingUsed;
-
-	XalanDOMString				m_groupingSeparator;
-
-	int							m_groupingSize;
-
-	static const XalanDOMChar	s_defaultGroupingSeparator[];
-};
-
-
-
-#endif	// XALANNUMBERFORMAT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanOutputStream.cpp b/src/PlatformSupport/XalanOutputStream.cpp
deleted file mode 100644
index cb1bb0f..0000000
--- a/src/PlatformSupport/XalanOutputStream.cpp
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999, 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanOutputStream.hpp"
-
-
-
-#include <xercesc/util/TransService.hpp>
-
-
-
-#include "XalanTranscodingServices.hpp"
-
-
-
-XalanOutputStream::XalanOutputStream(
-			BufferType::size_type			theBufferSize,
-			TranscodeVectorType::size_type	theTranscoderBlockSize,
-			bool							fThrowTranscodeException) :
-	m_transcoderBlockSize(theTranscoderBlockSize),
-	m_transcoder(0),
-	m_bufferSize(theBufferSize),
-	m_buffer(),
-	m_encoding(),
-	m_writeAsUTF16(false),
-	m_throwTranscodeException(fThrowTranscodeException),
-	m_transcodingBuffer()
-{
-	if (m_bufferSize == 0)
-	{
-		m_bufferSize = 1;
-	}
-
-	m_buffer.reserve(theBufferSize + 1);
-}
-
-
-
-XalanOutputStream::~XalanOutputStream()
-{
-	XalanTranscodingServices::destroyTranscoder(m_transcoder);
-}
-
-
-
-void
-XalanOutputStream::write(
-			const XalanDOMChar*		theBuffer,
-			size_t					theBufferLength)
-{
-	assert(theBuffer != 0);
-
-	if (theBufferLength + m_buffer.size() > m_bufferSize)
-	{
-		flushBuffer();
-	}
-
-	if (theBufferLength > m_bufferSize)
-	{
-		doWrite(theBuffer, theBufferLength);
-	}
-	else
-	{
-		m_buffer.insert(m_buffer.end(),
-						theBuffer,
-						theBuffer + theBufferLength);
-	}
-}
-
-
-
-void
-XalanOutputStream::transcode(
-			const XalanDOMChar*		theBuffer,
-			size_t					theBufferLength,
-			TranscodeVectorType&	theDestination)
-{
-	if (m_transcoder == 0)
-	{
-		if (TranscodeToLocalCodePage(
-				theBuffer,
-				theBufferLength,
-				theDestination) == false)
-		{
-			if (m_throwTranscodeException == true)
-			{
-				throw TranscodingException();
-			}
-			else
-			{
-			}
-		}
-	}
-	else
-	{
-		bool					fDone = false;
-
-		// Keep track of the total bytes we've added to the
-		// destination vector, and the total bytes we've
-		// eaten from theBuffer.
-		size_t	theTotalBytesFilled = 0;
-		size_t	theTotalBytesEaten = 0;
-
-		// Keep track of the current position in the input buffer,
-		// and amount remaining in the buffer, since we may not be
-		// able to transcode it all at once.
-		const XalanDOMChar*		theBufferPosition = theBuffer;
-		size_t					theRemainingBufferLength = theBufferLength;
-
-		// Keep track of the destination size, and the target size, which is
-		// the size of the destination that has not yet been filled with
-		// transcoded characters.  Double the buffer size, in case we're
-		// transcoding to a 16-bit encoding.
-		// $$$ ToDo: We need to know the size of an encoding, so we can
-		// do the right thing with the destination size.
-		size_t	theDestinationSize = theBufferLength * 2;
-		size_t	theTargetSize = theDestinationSize;
-
-		do
-		{
-			// Resize the buffer...
-			theDestination.resize(theDestinationSize + 1);
-
-			size_t	theSourceBytesEaten = 0;
-			size_t	theTargetBytesEaten = 0;
-
-			XalanTranscodingServices::eCode		theResult =
-				m_transcoder->transcode(
-						theBufferPosition,
-						theRemainingBufferLength,
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(XMLByte*)&theDestination[0] + theTotalBytesFilled,
-#else
-						reinterpret_cast<XMLByte*>(&theDestination[0]) + theTotalBytesFilled,
-#endif
-						theTargetSize,
-						theSourceBytesEaten,
-						theTargetBytesEaten);
-
-			if(theResult != XalanTranscodingServices::OK)
-			{
-				if (m_throwTranscodeException == true)
-				{
-					throw TranscodingException();
-				}
-				else
-				{
-				}
-			}
-
-			theTotalBytesFilled += theTargetBytesEaten;
-			theTotalBytesEaten += theSourceBytesEaten;
-
-			if (theTotalBytesEaten == theBufferLength)
-			{
-				fDone = true;
-			}
-			else
-			{
-				assert(theTotalBytesEaten < theBufferLength);
-
-				// Update everything...
-				theBufferPosition += theSourceBytesEaten;
-				theRemainingBufferLength -= theSourceBytesEaten;
-
-				// The new target size will always be the
-				// current destination size, since we
-				// grow by a factor of 2.  This will
-				// need to change if the factor is
-				// every changed.
-				theTargetSize = theDestinationSize;
-
-				// Grow the destination by a factor of
-				// two 2.  See the previous comment if
-				// you want to change this.
-				theDestinationSize = theDestinationSize * 2;
-			}
-		} while(fDone == false);
-
-		// Resize things, if there are any extra bytes...
-		if (theDestination.size() != theTotalBytesFilled)
-		{
-			theDestination.resize(theTotalBytesFilled);
-		}
-	}
-}
-
-
-
-void
-XalanOutputStream::setOutputEncoding(const XalanDOMString&	theEncoding)
-{
-	// Flush, just in case.  This should probably be an error...
-	flushBuffer();
-
-	XalanTranscodingServices::destroyTranscoder(m_transcoder);
-
-	XalanTranscodingServices::eCode		theCode = XalanTranscodingServices::OK;
-
-	// This turns on an optimization that we can only do if
-	// XalanDOMChar == sizeof(ushort).  See doWrite().
-#if !defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-	if (XalanTranscodingServices::encodingIsUTF16(theEncoding) == true)
-	{
-		m_writeAsUTF16 = true;
-	}
-	else
-#endif
-	{
-		m_transcoder = XalanTranscodingServices::makeNewTranscoder(
-					theEncoding,
-					theCode,
-					m_transcoderBlockSize);
-
-		if (theCode == XalanTranscodingServices::UnsupportedEncoding)
-		{
-			throw UnsupportedEncodingException(theEncoding);
-		}
-		else if (theCode != XalanTranscodingServices::OK)
-		{
-			throw TranscoderInternalFailureException(theEncoding);
-		}
-
-		assert(m_transcoder != 0);
-	}
-
-	m_encoding = theEncoding;
-
-	const XalanTranscodingServices::XalanXMLByte*	theProlog =
-		XalanTranscodingServices::getStreamProlog(theEncoding);
-	assert(theProlog != 0);
-
-	const size_t	theLength = XalanTranscodingServices::length(theProlog);
-
-	if (theLength > 0)
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		write((const char*)theProlog, theLength);
-#else
-		write(reinterpret_cast<const char*>(theProlog), theLength);
-#endif
-	}
-}
-
-
-
-bool
-XalanOutputStream::canTranscodeTo(unsigned int		theChar) const
-{
-	if (m_transcoder != 0)
-	{
-		return m_transcoder->canTranscodeTo(theChar);
-	}
-	else
-	{
-		// We'll always return true here, since an exception will be
-		// thrown when we try to transcode.  We'ed like to enable the
-		// commented out line, if we can ever figure out how to see
-		// if a character can be encoded.
-		return true;
-//		return XalanTranscodingServices::canTranscodeToLocalCodePage(theChar);
-	}
-}
-
-
-
-void
-XalanOutputStream::flushBuffer()
-{
-	if (m_buffer.size() > 0)
-	{
-		doWrite(&*m_buffer.begin(), m_buffer.size());
-
-		m_buffer.clear();
-	}
-}
-
-
-
-void
-XalanOutputStream::doWrite(
-			const XalanDOMChar*		theBuffer,
-			size_t					theBufferLength)
-{
-	assert(theBuffer != 0);
-
-	try
-	{
-		if (m_writeAsUTF16 == true)
-		{
-			assert(sizeof(XalanDOMChar) == sizeof(char) * 2);
-
-			// This is a hack to write UTF-16 through as if it
-			// were just chars.  Saves lots of time "transcoding."
-#if defined(XALAN_OLD_STYLE_CASTS)
-			writeData((const char*)theBuffer, theBufferLength * 2);
-#else
-			writeData(reinterpret_cast<const char*>(theBuffer), theBufferLength * 2);
-#endif
-		}
-		else
-		{
-			transcode(theBuffer, theBufferLength, m_transcodingBuffer);
-
-			assert(&m_transcodingBuffer[0] != 0);
-
-			writeData(&m_transcodingBuffer[0],
-					  m_transcodingBuffer.size());
-		}
-	}
-	catch(const XalanOutputStreamException&)
-	{
-		// Have to catch this error and flush any output remaining...
-		m_buffer.clear();
-
-		throw;
-	}
-}
-
-
-
-void
-XalanOutputStream::setBufferSize(BufferType::size_type	theBufferSize)
-{
-	flushBuffer();
-
-	if (theBufferSize == 0)
-	{
-		m_bufferSize = 1;
-	}
-	else
-	{
-		m_bufferSize = theBufferSize;
-	}
-
-	if (m_buffer.size() < m_bufferSize)
-	{
-		// Enlarge the buffer...
-		m_buffer.reserve(theBufferSize + 1);
-	}
-	else if (m_buffer.size() > m_bufferSize)
-	{
-		// Shrink the buffer.
-
-		// Create a temp buffer and make it
-		// the correct size.
-		BufferType	temp;
-		
-		temp.reserve(theBufferSize + 1);
-		
-		// Swap temp with m_buffer so that
-		// m_buffer is now the correct size.
-		temp.swap(m_buffer);
-	}
-}
-
-
-
-XalanOutputStream::XalanOutputStreamException::XalanOutputStreamException(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType) :
-	XSLException(theMessage, theType)
-{
-}
-
-
-
-XalanOutputStream::XalanOutputStreamException::~XalanOutputStreamException()
-{
-}
-
-
-
-XalanOutputStream::UnknownEncodingException::UnknownEncodingException() :
-	XalanOutputStreamException(
-			TranscodeFromLocalCodePage("Unknown error occurred while transcoding!"),
-			TranscodeFromLocalCodePage("UnknownEncodingException"))
-{
-}
-
-
-
-XalanOutputStream::UnknownEncodingException::~UnknownEncodingException()
-{
-}
-
-
-
-XalanOutputStream::UnsupportedEncodingException::UnsupportedEncodingException(const XalanDOMString&	theEncoding) :
-	XalanOutputStreamException(
-			TranscodeFromLocalCodePage("Unsupported encoding: ") + theEncoding,
-			TranscodeFromLocalCodePage("UnsupportedEncodingException")),
-	m_encoding(theEncoding)
-{
-}
-
-
-
-XalanOutputStream::UnsupportedEncodingException::~UnsupportedEncodingException()
-{
-}
-
-
-
-XalanOutputStream::TranscoderInternalFailureException::TranscoderInternalFailureException(const XalanDOMString&	theEncoding) :
-	XalanOutputStreamException(
-			TranscodeFromLocalCodePage("Unknown error occurred while transcoding to ") +
-					theEncoding +
-					TranscodeFromLocalCodePage("!"),
-			TranscodeFromLocalCodePage("TranscoderInternalFailureException")),
-	m_encoding(theEncoding)
-{
-}
-
-
-
-XalanOutputStream::TranscoderInternalFailureException::~TranscoderInternalFailureException()
-{
-}
-
-
-
-XalanOutputStream::TranscodingException::TranscodingException() :
-	XalanOutputStreamException(
-			TranscodeFromLocalCodePage("An error occurred while transcoding!"),
-			TranscodeFromLocalCodePage("TranscodingException"))
-{
-}
-
-
-
-XalanOutputStream::TranscodingException::~TranscodingException()
-{
-}
diff --git a/src/PlatformSupport/XalanOutputStream.hpp b/src/PlatformSupport/XalanOutputStream.hpp
deleted file mode 100644
index 467c190..0000000
--- a/src/PlatformSupport/XalanOutputStream.hpp
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999, 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANOUTPUTSTREAM_HEADER_GUARD_1357924680)
-#define XALANOUTPUTSTREAM_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XalanOutputTranscoder;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanOutputStream
-{
-public :
-
-	enum { eDefaultBufferSize = 512, eDefaultTranscoderBlockSize = 1024 };
-
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMChar>		BufferType;
-
-	typedef vector<char>				TranscodeVectorType;
-#else
-	typedef std::vector<XalanDOMChar>	BufferType;
-
-	typedef std::vector<char>			TranscodeVectorType;
-#endif
-
-	typedef BufferType::size_type	size_type;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theBufferSize the size of the transcoding buffer
-	 * @param theTranscoderBlockSize the size of the block used by the transcoder
-	 * @param fThrowTranscodeException If true, an error transcoding will result in an exception being thrown.
-	 */
-	explicit
-	XalanOutputStream(
-			BufferType::size_type			theBufferSize = eDefaultBufferSize,
-			TranscodeVectorType::size_type	theTranscoderBlockSize = eDefaultTranscoderBlockSize,
-			bool							fThrowTranscodeException = true);
-
-	virtual
-	~XalanOutputStream();
-
-	/**
-	 * Flush the stream's buffer.
-	 */
-    void
-	flush()
-	{
-		flushBuffer();
-
-		doFlush();
-	}
-
-	/**
-	 * Write a character to the output stream.  The character
-	 * will not be transcoded.
-	 *
-	 * @param theChar       the character to write
-	 */
-    void
-	write(char	theChar)
-	{
-		write(&theChar, 1);
-	}
-
-	/**
-	 * Write a wide character to the output stream.  The character
-	 * will be transcoded, if an output encoding is specified.
-	 *
-	 * @param theChar       the character to write
-	 */
-    void
-	write(XalanDOMChar	theChar)
-	{
-		assert(m_bufferSize > 0);
-
-		if (m_buffer.size() == m_bufferSize)
-		{
-			flushBuffer();
-		}
-
-		m_buffer.push_back(theChar);
-	}
-
-	/**
-	 * Write a null-terminated string to the output file.  The character
-	 * will not be transcoded.
-	 *
-	 * @param theBuffer       character buffer to write
-	 */
-    void
-	write(const char*	theBuffer)
-	{
-		assert(theBuffer != 0);
-
-		write(theBuffer, length(theBuffer));
-	}
-
-	/**
-	 * Write a null-terminated wide string to the output file.  The string
-	 * will be transcoded, if an output encoding is specified.
-	 *
-	 * @param theBuffer       character buffer to write
-	 */
-    void
-	write(const XalanDOMChar*	theBuffer)
-	{
-		write(theBuffer, length(theBuffer));
-	}
-
-	/**
-	 * Write a specified number of characters to the output stream.  The string
-	 * will not be transcoded.
-	 *
-	 * @param theBuffer       character buffer to write
-	 * @param theBufferLength number of characters to write
-	 */
-    void
-	write(
-			const char*		theBuffer,
-			size_type		theBufferLength)
-	{
-		assert(theBuffer != 0);
-
-		flushBuffer();
-
-		writeData(theBuffer,
-				  theBufferLength);
-	}
-
-	/**
-	 * Write a specified number of characters to the output stream.  The string
-	 * will be transcoded, if an output encoding is specified.
-	 *
-	 * @param theBuffer       character buffer to write
-	 * @param theBufferLength number of characters to write
-	 */
-    void
-	write(
-			const XalanDOMChar*		theBuffer,
-			size_type				theBufferLength);
-
-	/**
-	 * Get the output encoding for the stream.
-	 *
-	 * @return The encoding name
-	 */
-	const XalanDOMString&
-	getOutputEncoding() const
-	{
-		return m_encoding;
-	}
-
-	/**
-	 * Set the output encoding for the stream.
-	 *
-	 * @param theEncoding The encoding name
-	 */
-	void
-	setOutputEncoding(const XalanDOMString&		theEncoding);
-
-	/**
-	 * Determine if a given value can be represented in
-	 * the output encoding.
-	 *
-	 * @return true if the value can be represented, and false if not.
-	 */
-    bool
-	canTranscodeTo(unsigned int		theChar) const;
-
-	const XalanOutputTranscoder*
-	getTranscoder() const
-	{
-		return m_transcoder;
-	}
-
-	/**
-	 * Set the flag that indicates whether a transcoding
-	 * error should throw an exception.  The default is
-	 * to throw an exception.  If this flag is false, and
-	 * and an error occurs transcoding, then data will
-	 * likely be lost.
-	 *
-	 * @return the value of the flag.
-	 */
-	bool
-	getThrowTranscodeException() const
-	{
-		return m_throwTranscodeException;
-	}
-
-	/**
-	 * Set the flag that indicates whether a transcoding
-	 * error should throw an exception.  The default is
-	 * to throw an exception.  If this flag is false, and
-	 * and an error occurs transcoding, then data will
-	 * likely be lost.
-	 *
-	 * @param the new value of the flag.
-	 */
-	void
-	setThrowTranscodeException(bool	flag)
-	{
-		m_throwTranscodeException = flag;
-	}
-
-	/**
-	 * Set the size of the output buffer.
-	 *
-	 * @param theBufferSize The buffer size.
-	 */
-	void
-	setBufferSize(BufferType::size_type		theBufferSize);
-
-
-	class XALAN_PLATFORMSUPPORT_EXPORT XalanOutputStreamException : public XSLException
-	{
-	public:
-
-		XalanOutputStreamException(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType);
-
-		virtual
-		~XalanOutputStreamException();
-	};
-
-	class XALAN_PLATFORMSUPPORT_EXPORT UnknownEncodingException : public XalanOutputStreamException
-	{
-	public:
-
-		explicit
-		UnknownEncodingException();
-
-		virtual
-		~UnknownEncodingException();
-	};
-
-	class XALAN_PLATFORMSUPPORT_EXPORT UnsupportedEncodingException : public XalanOutputStreamException
-	{
-	public:
-
-		UnsupportedEncodingException(const XalanDOMString&	theEncoding);
-
-		virtual
-		~UnsupportedEncodingException();
-
-		const XalanDOMString&
-		getEncoding() const
-		{
-			return m_encoding;
-		}
-
-	private:
-
-		const XalanDOMString	m_encoding;
-	};
-
-	class XALAN_PLATFORMSUPPORT_EXPORT TranscoderInternalFailureException : public XalanOutputStreamException
-	{
-	public:
-
-		TranscoderInternalFailureException(const XalanDOMString&	theEncoding);
-
-		virtual
-		~TranscoderInternalFailureException();
-
-		const XalanDOMString&
-		getEncoding() const
-		{
-			return m_encoding;
-		}
-
-	private:
-
-		const XalanDOMString	m_encoding;
-	};
-
-	class XALAN_PLATFORMSUPPORT_EXPORT TranscodingException : public XalanOutputStreamException
-	{
-	public:
-
-		explicit
-		TranscodingException();
-
-		virtual
-		~TranscodingException();
-	};
-
-protected:
-
-	/**
-	 * Transcode a wide string.
-	 *
-	 * @param theBuffer The string to transcode.
-	 * @param theBufferLength The length of the string.
-	 * @param theDestination The destination vector.
-	 */
-	void
-	transcode(
-			const XalanDOMChar*		theBuffer,
-			size_type				theBufferLength,
-			TranscodeVectorType&	theDestination);
-
-	virtual void
-	writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength) = 0;
-
-	virtual void
-	doFlush() = 0;
-
-private:
-
-    // These are not implemented...
-    XalanOutputStream(const XalanOutputStream&);
-
-    XalanOutputStream&
-	operator=(const XalanOutputStream&);
-
-    bool
-	operator==(const XalanOutputStream&) const;
-
-	// Utility functions...
-	void
-	flushBuffer();
-
-	void
-	doWrite(
-			const XalanDOMChar*		theBuffer,
-			size_t					theBufferLength);
-
-
-	const TranscodeVectorType::size_type	m_transcoderBlockSize;
-
-	XalanOutputTranscoder*					m_transcoder;
-
-	BufferType::size_type					m_bufferSize;
-
-	BufferType								m_buffer;
-
-	XalanDOMString							m_encoding;
-
-	bool									m_writeAsUTF16;
-
-	bool									m_throwTranscodeException;
-
-	TranscodeVectorType						m_transcodingBuffer;
-};
-
-
-
-#endif	// XALANOUTPUTSTREAM_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanOutputStreamPrintWriter.cpp b/src/PlatformSupport/XalanOutputStreamPrintWriter.cpp
deleted file mode 100644
index 5ca80af..0000000
--- a/src/PlatformSupport/XalanOutputStreamPrintWriter.cpp
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999, 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XalanOutputStreamPrintWriter.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanOutputStream.hpp"
-
-
-
-XalanOutputStreamPrintWriter::XalanOutputStreamPrintWriter(
-			XalanOutputStream&	theOutputStream,
-			bool				fAutoFlush) :
-	PrintWriter(fAutoFlush),
-	m_OutputStream(theOutputStream)
-{
-}
-
-
-
-XalanOutputStreamPrintWriter::~XalanOutputStreamPrintWriter()
-{
-	flush();
-}
-
-
-
-bool
-XalanOutputStreamPrintWriter::checkError() const
-{
-	return false;
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::close()
-{
-	flush();
-}
-
-
-void
-XalanOutputStreamPrintWriter::flush()
-{
-	m_OutputStream.flush();
-}
-
-
-
-XalanOutputStream*
-XalanOutputStreamPrintWriter::getStream()
-{
-	return &m_OutputStream;
-}
-
-
-
-const XalanOutputStream*
-XalanOutputStreamPrintWriter::getStream() const
-{
-	return &m_OutputStream;
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::write(
-			const char*		s,
-			size_t			theOffset,
-			size_t			theLength)
-{
-	assert(s != 0);
-
-	if (theLength == npos)
-	{
-		if (theOffset == 0)
-		{
-			m_OutputStream.write(s);
-		}
-		else
-		{
-			m_OutputStream.write(s + theOffset);
-		}
-	}
-	else
-	{
-		m_OutputStream.write(s + theOffset, theLength);
-	}
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset,
-			XalanDOMString::size_type	theLength)
-{
-	assert(s != 0);
-
-	if (theLength == XalanDOMString::npos)
-	{
-		if (theOffset == 0)
-		{
-			m_OutputStream.write(s);
-		}
-		else
-		{
-			m_OutputStream.write(s + theOffset);
-		}
-	}
-	else
-	{
-		m_OutputStream.write(s + theOffset, theLength);
-	}
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::write(XalanDOMChar	c)
-{
-	m_OutputStream.write(c);
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset,
-			XalanDOMString::size_type	theLength)
-{
-	write(c_wstr(s), theOffset, theLength);
-}
-
-
-
-#if !defined(XALAN_BOOL_AS_INT)
-void
-XalanOutputStreamPrintWriter::print(bool	b)
-{
-	if (b == true)
-	{
-		print(s_trueString);
-	}
-	else
-	{
-		print(s_falseString);
-	}
-}
-#endif
-
-
-
-void
-XalanOutputStreamPrintWriter::print(char	c)
-{
-	write(c);
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::print(
-			const char*		s,
-			size_t			theLength)
-{
-	write(s,
-		  0,
-		  theLength);
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::print(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength)
-{
-	assert(s != 0);
-
-	write(s,
-		  0,
-		  theLength);
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::print(double	d)
-{
-	m_OutputStream.write(c_wstr(DoubleToDOMString(d)));
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::print(int	i)
-{
-	m_OutputStream.write(c_wstr(LongToDOMString(i)));
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::print(long	l)
-{
-	m_OutputStream.write(c_wstr(LongToDOMString(l)));
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::print(const XalanDOMString&	s)
-{
-	m_OutputStream.write(c_wstr(s), length(s));
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println()
-{
-	m_OutputStream.write(c_wstr(s_newlineString));
-
-	flush();
-}
-
-
-
-#if !defined(XALAN_BOOL_AS_INT)
-void
-XalanOutputStreamPrintWriter::println(bool	b)
-{
-	print(b);
-
-	println();
-}
-#endif
-
-
-
-void
-XalanOutputStreamPrintWriter::println(char	c)
-{
-	print(c);
-
-	println();
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println(
-			const char*		s,
-			size_t			theLength)
-{
-	print(s, theLength);
-
-	println();
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength)
-{
-	print(s, theLength);
-
-	println();
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println(double	d)
-{
-	print(d);
-
-	println();
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println(int		i)
-{
-	print(i);
-
-	println();
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println(long	l)
-{
-	print(l);
-
-	println();
-}
-
-
-
-void
-XalanOutputStreamPrintWriter::println(const XalanDOMString&		s)
-{
-	print(s);
-
-	println();
-}
diff --git a/src/PlatformSupport/XalanOutputStreamPrintWriter.hpp b/src/PlatformSupport/XalanOutputStreamPrintWriter.hpp
deleted file mode 100644
index 1d1834c..0000000
--- a/src/PlatformSupport/XalanOutputStreamPrintWriter.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999, 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANOUTPUTSTREAMPRINTWRITER_HEADER_GUARD_1357924680)
-#define XALANOUTPUTSTREAMPRINTWRITER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-class XalanOutputStream;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanOutputStreamPrintWriter : public PrintWriter
-{
-public:
-
-	/**
-	 * Construct a XalanOutputStreamPrintWriter instance. 
-	 *
-	 * @param theOutputStream output stream to write
-	 * @param fAutoFlush      if true, the output will not be buffered
-	 */
-	XalanOutputStreamPrintWriter(
-			XalanOutputStream&	theOutputStream,
-			bool				fAutoFlush = false);
-
-	virtual
-	~XalanOutputStreamPrintWriter();
-
-
-	virtual bool
-    checkError() const;
-
-	virtual void
-	close();
-
-	virtual void
-	flush();
-
-	virtual XalanOutputStream*
-	getStream();
-
-	virtual const XalanOutputStream*
-	getStream() const;
-
-
-	virtual void
-	write(
-			const char*		s,
-			size_t			theOffset = 0,
-			size_t			theLength = npos);
-
-	virtual void
-	write(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	write(XalanDOMChar		c);
-
-	virtual void
-	write(
-			const XalanDOMString&		s,
-			XalanDOMString::size_type	theOffset = 0,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	print(bool	b);
-#endif
-
-	virtual void
-	print(char	c);
-
-	virtual void
-	print(
-			const char*		s,
-			size_t			theLength = npos);
-
-	virtual void
-	print(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	print(double	d);
-
-	virtual void
-	print(int	i);
-
-	virtual void
-	print(long	l);
-
-	virtual void
-	print(const XalanDOMString&		s);
-
-	virtual void
-	println();
-
-#if !defined(XALAN_BOOL_AS_INT)
-	virtual void
-	println(bool	x);
-#endif
-
-	virtual void
-	println(char	x);
-
-	virtual void
-	println(
-			const char*		s,
-		    size_t			theLength = npos);
-
-	virtual void
-	println(
-			const XalanDOMChar*			s,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	virtual void
-	println(double	x);
-
-	virtual void
-	println(int		x);
-
-	virtual void
-	println(long	x);
-
-	virtual void
-	println(const XalanDOMString&	s);
-
-protected:
-
-	XalanOutputStream&	m_OutputStream;
-
-private:
-
-	// Not implemented
-	XalanOutputStreamPrintWriter(const XalanOutputStreamPrintWriter&);
-
-	XalanOutputStreamPrintWriter&
-	operator=(const XalanOutputStreamPrintWriter&);
-
-	bool
-	operator==(const XalanOutputStreamPrintWriter&);
-};
-
-
-
-#endif	// XALANOUTPUTSTREAMPRINTWRITER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanReferenceCountedObject.cpp b/src/PlatformSupport/XalanReferenceCountedObject.cpp
deleted file mode 100644
index f1cbd05..0000000
--- a/src/PlatformSupport/XalanReferenceCountedObject.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class heaer file...
-#include "XalanReferenceCountedObject.hpp"
-
-
-
-#include <cassert>
-
-#if !defined(NDEBUG)
-#include <climits>
-#endif
-
-
-
-XalanReferenceCountedObject::XalanReferenceCountedObject() :
-	m_referenceCount(0)
-{
-}
-
-
-
-XalanReferenceCountedObject::~XalanReferenceCountedObject()
-{
-	assert(m_referenceCount == 0);
-}	
-
-
-
-void
-XalanReferenceCountedObject::addReference(XalanReferenceCountedObject*		theInstance)
-{
-	if (theInstance != 0)
-	{
-		assert(theInstance->m_referenceCount < UINT_MAX);
-
-		if (++theInstance->m_referenceCount == 1)
-		{
-			theInstance->referenced();
-		}
-	}
-}
-
-
-
-void
-XalanReferenceCountedObject::removeReference(XalanReferenceCountedObject*	theInstance)
-{
-	if (theInstance != 0)
-	{
-		assert(theInstance->m_referenceCount > 0);
-
-		if (--theInstance->m_referenceCount == 0)
-		{
-			theInstance->dereferenced();
-		}
-	}
-}
diff --git a/src/PlatformSupport/XalanReferenceCountedObject.hpp b/src/PlatformSupport/XalanReferenceCountedObject.hpp
deleted file mode 100644
index a2790cf..0000000
--- a/src/PlatformSupport/XalanReferenceCountedObject.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680)
-#define XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-/**
- * Class to hold reference count information.
- */
-class XALAN_PLATFORMSUPPORT_EXPORT XalanReferenceCountedObject
-{
-public:
-
-	/**
-	 * Increment reference count.	 
-	 */
-	static void
-	addReference(XalanReferenceCountedObject*	theInstance);
-
-	/**
-	 * Decrement reference count.	 
-	 */
-	static void
-	removeReference(XalanReferenceCountedObject*	theInstance);
-
-protected:
-
-	/**
-	 * Create a XalanReferenceCountedObject.
-	 */
-	explicit
-	XalanReferenceCountedObject();
-
-	virtual
-	~XalanReferenceCountedObject();
-
-	virtual void 
-	referenced() = 0;
-
-	virtual void 
-	dereferenced() = 0;
-
-	virtual unsigned int
-	getReferenceCount() const
-	{
-		return m_referenceCount;
-	}
-
-private:
-
-	unsigned int	m_referenceCount;
-
-	// Not implemented...
-	XalanReferenceCountedObject&
-	operator=(const XalanReferenceCountedObject&);
-
-	XalanReferenceCountedObject(const XalanReferenceCountedObject&);
-};
-
-
-
-#endif	// XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanSimplePrefixResolver.cpp b/src/PlatformSupport/XalanSimplePrefixResolver.cpp
deleted file mode 100644
index a9c1df6..0000000
--- a/src/PlatformSupport/XalanSimplePrefixResolver.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanSimplePrefixResolver.hpp"
-
-
-
-XalanSimplePrefixResolver::XalanSimplePrefixResolver(
-			const XalanDOMString&	thePrefix,
-			const XalanDOMString&	theNamespaceURI,
-			const XalanDOMString&	theURI) :
-	m_prefix(thePrefix),
-	m_namespaceURI(theNamespaceURI),
-	m_uri(theURI)
-{
-}
-
-
-
-XalanSimplePrefixResolver::~XalanSimplePrefixResolver()
-{
-}
-
-
-
-const XalanDOMString*
-XalanSimplePrefixResolver::getNamespaceForPrefix(const XalanDOMString&	prefix) const
-{
-	if (prefix == m_prefix)
-	{
-		return &m_namespaceURI;
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-const XalanDOMString&
-XalanSimplePrefixResolver::getURI() const
-{
-	return m_uri;
-}
diff --git a/src/PlatformSupport/XalanSimplePrefixResolver.hpp b/src/PlatformSupport/XalanSimplePrefixResolver.hpp
deleted file mode 100644
index 292c3e5..0000000
--- a/src/PlatformSupport/XalanSimplePrefixResolver.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSIMPLEPREFIXRESOLVER_HEADER_GUARD_1357924680)
-#define XALANSIMPLEPREFIXRESOLVER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanSimplePrefixResolver : public PrefixResolver
-{
-public:
-
-	XalanSimplePrefixResolver(
-			const XalanDOMString&	thePrefix,
-			const XalanDOMString&	theNamespaceURI,
-			const XalanDOMString&	theURI);
-
-	virtual
-	~XalanSimplePrefixResolver();
-
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-public:
-
-	const XalanDOMString&	m_prefix;
-
-	const XalanDOMString&	m_namespaceURI;
-
-	const XalanDOMString&	m_uri;
-};
-
-
-
-#endif	// XALANSIMPLEPREFIXRESOLVER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanStdOutputStream.cpp b/src/PlatformSupport/XalanStdOutputStream.cpp
deleted file mode 100644
index 8268a16..0000000
--- a/src/PlatformSupport/XalanStdOutputStream.cpp
+++ /dev/null
@@ -1,186 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanStdOutputStream.hpp"
-
-
-
-#include <cerrno>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstream.h>
-#else
-#include <iostream>
-#include <strstream>
-#endif
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::ostream;
-using std::cerr;
-#endif
-
-
-
-XalanStdOutputStream::XalanStdOutputStream(ostream&	theOutputStream) :
-	XalanOutputStream(),
-	m_outputStream(theOutputStream)
-{
-	// This will make sure that cerr is not buffered...
-	if (&m_outputStream == &cerr)
-	{
-		setBufferSize(0);
-	}
-}
-
-
-
-XalanStdOutputStream::~XalanStdOutputStream()
-{
-}
-
-
-
-void
-XalanStdOutputStream::doFlush()
-{
-	// Don't try to flush if the stream is in a bad state...
-	if(m_outputStream)
-	{
-		m_outputStream.flush();
-
-		if(!m_outputStream)
-		{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			using namespace std;
-#endif
-
-			throw XalanStdOutputStreamWriteException(errno);
-		}
-	}
-}
-
-
-
-void
-XalanStdOutputStream::writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength)
-{
-	assert(StreamSizeType(theBufferLength) == theBufferLength);
-
-	m_outputStream.write(theBuffer, StreamSizeType(theBufferLength));
-
-	if(!m_outputStream)
-	{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		using namespace std;
-#endif
-
-		throw XalanStdOutputStreamWriteException(errno);
-	}
-}
-
-
-
-static XalanDOMString
-FormatMessageLocal(
-			const char*		theMessage,
-			int				theErrorCode)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-using std::ostrstream;
-#endif
-
-	XalanDOMString	theResult(TranscodeFromLocalCodePage(theMessage));
-
-	ostrstream   theFormatter;
-
-	theFormatter << ".  The error code was "
-				 << theErrorCode
-				 << "." << '\0';
-
-	append(theResult, theFormatter.str());
-
-	delete theFormatter.str();
-
-	return theResult;
-}
-
-
-
-XalanStdOutputStream::XalanStdOutputStreamWriteException::XalanStdOutputStreamWriteException(
-		int					theErrorCode) :
-	XalanOutputStreamException(FormatMessageLocal("Error writing to standard stream!",
-													   theErrorCode),
-								    TranscodeFromLocalCodePage("XercesStdOutputStreamWriteException"))
-{
-}
-
-
-
-XalanStdOutputStream::XalanStdOutputStreamWriteException::~XalanStdOutputStreamWriteException()
-{
-}
diff --git a/src/PlatformSupport/XalanStdOutputStream.hpp b/src/PlatformSupport/XalanStdOutputStream.hpp
deleted file mode 100644
index 4d6cb09..0000000
--- a/src/PlatformSupport/XalanStdOutputStream.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSTDOUTPUTSTREAM_HEADER_GUARD_1357924680)
-#define XALANSTDOUTPUTSTREAM_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAMS)
-#include <iostream.h>
-#else
-#include <iosfwd>
-#if !defined(XALAN_OLD_STREAM_HEADERS)
-#include <ios>
-#endif
-#endif
-
-
-
-// Base class header file.
-#include <PlatformSupport/XalanOutputStream.hpp>
-
-
-
-// A base class for all text output streams.
-class XALAN_PLATFORMSUPPORT_EXPORT XalanStdOutputStream : public XalanOutputStream
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef ostream				StreamType;
-#else
-	typedef std::ostream		StreamType;
-#endif
-
-#if defined(XALAN_OLD_STREAMS)
-	typedef int					StreamSizeType;
-#else
-#if defined(XALAN_NO_NAMESPACES)
-	typedef streamsize			StreamSizeType;
-#else
-	typedef std::streamsize		StreamSizeType;
-#endif
-#endif
-
-	/**
-	 * Construct a XalanStdOutputStream instance for output to the
-	 * standard output device.
-	 *
-	 * @param theOutputStream output stream to use
-	 */
-    XalanStdOutputStream(StreamType&	theOutputStream);
-
-    virtual
-	~XalanStdOutputStream();
-
-	class XALAN_PLATFORMSUPPORT_EXPORT XalanStdOutputStreamWriteException : public XalanOutputStream::XalanOutputStreamException
-	{
-	public:
-
-		XalanStdOutputStreamWriteException(
-			int					theErrorCode);
-
-		virtual
-		~XalanStdOutputStreamWriteException();
-
-	};
-
-protected:
-
-	virtual void
-	writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength);
-
-	virtual void
-	doFlush();
-
-private:
-
-    // These are not implemented...
-    XalanStdOutputStream(const XalanStdOutputStream&);
-
-    XalanStdOutputStream&
-	operator=(const XalanStdOutputStream&);
-
-	// Data members...
-	StreamType&		m_outputStream;
-};
-
-
-
-#endif	// XERCESSTDTEXTOUTPUTSTREAM_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanToXercesTranscoderWrapper.cpp b/src/PlatformSupport/XalanToXercesTranscoderWrapper.cpp
deleted file mode 100644
index 787e1b8..0000000
--- a/src/PlatformSupport/XalanToXercesTranscoderWrapper.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanToXercesTranscoderWrapper.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/util/TransService.hpp>
-#include <xercesc/util/XMLException.hpp>
-
-
-
-XalanToXercesTranscoderWrapper::XalanToXercesTranscoderWrapper(XMLTranscoder&	theTranscoder) :
-	XalanOutputTranscoder(),
-	m_transcoder(&theTranscoder)
-{
-}
-
-
-
-XalanToXercesTranscoderWrapper::~XalanToXercesTranscoderWrapper()
-{
-	delete m_transcoder;
-}
-
-
-
-XalanToXercesTranscoderWrapper::eCode
-XalanToXercesTranscoderWrapper::transcode(
-			const XalanDOMChar*		theSourceData,
-			size_t					theSourceCount,
-			XalanXMLByte*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed)
-{
-	eCode	theCode = XalanTranscodingServices::OK;
-
-	try
-	{
-		XercesSizeType	theXercesSourceCharsTranscoded = 0;
-
-		assert(XercesSizeType(theSourceCount) == theSourceCount);
-		assert(XercesSizeType(theTargetSize) == theTargetSize);
-
-		theTargetBytesUsed = m_transcoder->transcodeTo(
-			theSourceData,
-			XercesSizeType(theSourceCount),
-			theTarget,
-			XercesSizeType(theTargetSize),
-			theXercesSourceCharsTranscoded,
-			// $$$ ToDo: Eventually, we're going to want to
-			// replace this with UnRep_Throw, and let the
-			// caller try to recover.
-//			XMLTranscoder::UnRep_Throw);
-			XMLTranscoder::UnRep_RepChar);
-
-		theSourceCharsTranscoded = theXercesSourceCharsTranscoded;
-	}
-	catch(const XMLException&)
-	{
-		theSourceCharsTranscoded = 0;
-		theTargetBytesUsed = 0;
-		theCode = XalanTranscodingServices::InternalFailure;
-	}
-
-	return theCode;
-}
-
-
-
-XalanToXercesTranscoderWrapper::eCode
-XalanToXercesTranscoderWrapper::transcode(
-			const XalanXMLByte*		theSourceData,
-			size_t					theSourceCount,
-			XalanDOMChar*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed,
-			unsigned char*			theCharSizes)
-{
-	eCode	theCode = XalanTranscodingServices::OK;
-
-	try
-	{
-		XercesSizeType	theXercesSourceCharsTranscoded = 0;
-
-		assert(XercesSizeType(theSourceCount) == theSourceCount);
-		assert(XercesSizeType(theTargetSize) == theTargetSize);
-
-		const XercesSizeType	theXercesTargetBytesUsed =
-				m_transcoder->transcodeFrom(
-			theSourceData,
-			XercesSizeType(theSourceCount),
-			theTarget,
-			XercesSizeType(theTargetSize),
-			theXercesSourceCharsTranscoded,
-			theCharSizes);
-
-		theSourceCharsTranscoded = theXercesSourceCharsTranscoded;
-		theTargetBytesUsed = theXercesTargetBytesUsed;
-	}
-	catch(const XMLException&)
-	{
-		theSourceCharsTranscoded = 0;
-		theTargetBytesUsed = 0;
-		theCode = XalanTranscodingServices::InternalFailure;
-	}
-
-	return theCode;
-}
-
-
-
-bool
-XalanToXercesTranscoderWrapper::canTranscodeTo(unsigned int		theChar) const
-{
-	return m_transcoder->canTranscodeTo(theChar);
-}
diff --git a/src/PlatformSupport/XalanToXercesTranscoderWrapper.hpp b/src/PlatformSupport/XalanToXercesTranscoderWrapper.hpp
deleted file mode 100644
index a8ec212..0000000
--- a/src/PlatformSupport/XalanToXercesTranscoderWrapper.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANTOXERCESTRANSCODERWRAPPER_HEADER_GUARD_1357924680)
-#define XALANTOXERCESTRANSCODERWRAPPER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-
-
-
-class XMLTranscoder;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanToXercesTranscoderWrapper : public XalanOutputTranscoder
-{
-public:
-
-	explicit
-	XalanToXercesTranscoderWrapper(XMLTranscoder&	theTranscoder);
-   
-	virtual
-	~XalanToXercesTranscoderWrapper();
-
-	virtual eCode
-	transcode(
-			const XalanDOMChar*		theSourceData,
-			size_t					theSourceCount,
-			XalanXMLByte*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed);
-
-	virtual eCode
-	transcode(
-			const XalanXMLByte*		theSourceData,
-			size_t					theSourceCount,
-			XalanDOMChar*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed,
-			unsigned char*			theCharSizes);
-
-	virtual bool
-	canTranscodeTo(unsigned int		theChar) const;
-
-private:
-
-	// Not implemented...
-	XalanToXercesTranscoderWrapper(const XalanToXercesTranscoderWrapper&);
-
-	XalanToXercesTranscoderWrapper&
-	operator=(const XalanToXercesTranscoderWrapper&);
-
-	// A handy typedef...
-	typedef unsigned int	XercesSizeType;
-
-	// Data members...
-	XMLTranscoder* const	m_transcoder;
-};
-
-
-
-#endif	// XALANTOXERCESTRANSCODERWRAPPER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanTranscodingServices.cpp b/src/PlatformSupport/XalanTranscodingServices.cpp
deleted file mode 100644
index 3ccfff9..0000000
--- a/src/PlatformSupport/XalanTranscodingServices.cpp
+++ /dev/null
@@ -1,440 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanTranscodingServices.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/util/TransService.hpp>
-
-
-
-#include "DOMStringHelper.hpp"
-#include "XalanToXercesTranscoderWrapper.hpp"
-#include "XalanUTF16Transcoder.hpp"
-
-
-
-const XalanDOMChar 	XalanTranscodingServices::s_utf8String[] =
-{
-	XalanUnicode::charLetter_U,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charLetter_F,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charDigit_8,
-	0
-};
-
-
-
-const XalanDOMChar 	XalanTranscodingServices::s_utf16String[] =
-{
-	XalanUnicode::charLetter_U,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charLetter_F, 
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charDigit_1,
-	XalanUnicode::charDigit_6,
-	0
-};
-
-
-
-const XalanDOMChar 	XalanTranscodingServices::s_asciiString[] =
-{
-	XalanUnicode::charLetter_A,
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charLetter_C, 
-	XalanUnicode::charLetter_I,
-	XalanUnicode::charLetter_I,
-	0
-};
-
-
-
-const XalanDOMChar 	XalanTranscodingServices::s_usASCIIString[] =
-{
-	XalanUnicode::charLetter_U,
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_A,
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charLetter_C, 
-	XalanUnicode::charLetter_I,
-	XalanUnicode::charLetter_I,
-	0
-};
-
-
-
-const XalanDOMChar 	XalanTranscodingServices::s_windows1250String[] =
-{
-	XalanUnicode::charLetter_W,
-	XalanUnicode::charLetter_I,
-	XalanUnicode::charLetter_N,
-	XalanUnicode::charLetter_D,
-	XalanUnicode::charLetter_O, 
-	XalanUnicode::charLetter_W,
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charDigit_1,
-	XalanUnicode::charDigit_2,
-	XalanUnicode::charDigit_5,
-	XalanUnicode::charDigit_0,
-	0
-};
-
-
-
-const XalanTranscodingServices::XalanXMLByte	XalanTranscodingServices::s_dummyByteOrderMark[] =
-{
-	XalanTranscodingServices::XalanXMLByte(0)
-};
-
-
-
-const XalanTranscodingServices::XalanXMLByte	XalanTranscodingServices::s_UTF8ByteOrderMark[] =
-{
-	XalanTranscodingServices::XalanXMLByte(0xEF),
-	XalanTranscodingServices::XalanXMLByte(0xBB),
-	XalanTranscodingServices::XalanXMLByte(0xBF),
-	XalanTranscodingServices::XalanXMLByte(0)
-};
-
-
-
-const XalanDOMChar	XalanTranscodingServices::s_UTF16ByteOrderMark[] =
-{
-	XalanDOMChar(0xFEFF),
-	XalanTranscodingServices::XalanXMLByte(0)
-};
-
-
-
-static XalanTranscodingServices::eCode
-translateCode(XMLTransService::Codes	theCode)
-{
-	if (theCode == XMLTransService::Ok)
-	{
-		return XalanTranscodingServices::OK;
-	}
-	else if (theCode == XMLTransService::UnsupportedEncoding)
-	{
-		return XalanTranscodingServices::UnsupportedEncoding;
-	}
-	else if (theCode == XMLTransService::InternalFailure)
-	{
-		return XalanTranscodingServices::InternalFailure;
-	}
-	else
-	{
-		assert(theCode == XMLTransService::SupportFilesNotFound);
-
-		return XalanTranscodingServices::SupportFilesNotFound;
-	}
-}
-
-
-
-XalanOutputTranscoder*
-XalanTranscodingServices::makeNewTranscoder(
-			const XalanDOMString&	theEncodingName,
-			eCode&					theResult,
-			size_t					theBlockSize)
-{
-	assert(XMLPlatformUtils::fgTransService != 0);
-
-	XalanOutputTranscoder*	theTranscoder = 0;
-
-	XMLTransService::Codes	theCode = XMLTransService::Ok;
-
-	if (encodingIsUTF16(theEncodingName) == true)
-	{
-		theResult = OK;
-
-		theTranscoder = new XalanUTF16Transcoder;
-	}
-	else
-	{
-		XMLTranscoder*	theXercesTranscoder = 
-			XMLPlatformUtils::fgTransService->makeNewTranscoderFor(
-					c_wstr(theEncodingName),
-					theCode,
-					theBlockSize);
-
-		theResult = translateCode(theCode);
-		assert(theResult == XalanTranscodingServices::OK ||
-			   theXercesTranscoder == 0);
-
-		if (theResult == XalanTranscodingServices::OK)
-		{
-			theTranscoder = new XalanToXercesTranscoderWrapper(*theXercesTranscoder);
-		}
-	}
-
-	return theTranscoder;
-}
-
-
-
-void
-XalanTranscodingServices::destroyTranscoder(XalanOutputTranscoder*	theTranscoder)
-{
-	delete theTranscoder;
-}
-
-
-
-bool
-XalanTranscodingServices::encodingIsUTF8(const XalanDOMChar*	theEncodingName)
-{
-	return compareIgnoreCaseASCII(c_wstr(theEncodingName), s_utf8String) == 0 ? true : false;
-}
-
-
-bool
-XalanTranscodingServices::encodingIsUTF8(const XalanDOMString&		theEncodingName)
-{
-	return encodingIsUTF8(c_wstr(theEncodingName));
-}
-
-
-
-bool
-XalanTranscodingServices::encodingIsUTF16(const XalanDOMChar*	theEncodingName)
-{
-	return compareIgnoreCaseASCII(c_wstr(theEncodingName), s_utf16String) == 0 ? true : false;
-}
-
-
-bool
-XalanTranscodingServices::encodingIsUTF16(const XalanDOMString&		theEncodingName)
-{
-	return encodingIsUTF16(c_wstr(theEncodingName));
-}
-
-
-
-const XalanTranscodingServices::XalanXMLByte*
-XalanTranscodingServices::getStreamProlog(const XalanDOMString&		theEncodingName)
-{
-	if (compareIgnoreCaseASCII(c_wstr(theEncodingName), s_utf16String) == 0)
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return (const XalanXMLByte*)s_UTF16ByteOrderMark;
-#else
-		return reinterpret_cast<const XalanXMLByte*>(s_UTF16ByteOrderMark);
-#endif
-	}
-#if 0
-	// We won't do this for now...
-	else if (compareIgnoreCaseASCII(c_wstr(theEncodingName), s_utf8String) == 0)
-	{
-		return s_UTF8ByteOrderMark;
-	}
-#endif
-	else
-	{
-		return s_dummyByteOrderMark;
-	}
-}
-
-
-
-XalanDOMChar
-XalanTranscodingServices::getMaximumCharacterValue(const XalanDOMString&	theEncoding)
-{
-	const MaximumCharacterValueMapType::const_iterator	i =
-		s_maximumCharacterValues.find(toUpperCaseASCII(theEncoding));
-
-	if (i == s_maximumCharacterValues.end())
-	{
-		return XalanDOMChar(0x7fu);
-	}
-	else
-	{
-		return (*i).second;
-	}
-}
-
-
-
-XalanDOMChar
-XalanTranscodingServices::getMaximumCharacterValue()
-{
-	// $$$ ToDo: We need to set this according to the local
-	// code page, but how?  Perhaps try to transcode various
-	// strings with increasingly larger character values, using
-	// DOMStringHelper's TranscodeToLocalCodePage()?  Not exactly
-	// what we need, but it may do.
-	return XalanDOMChar(0x7fu);
-}
-
-
-
-bool
-XalanTranscodingServices::getBytesEqualChars(const XalanDOMString&	theEncoding)
-{
-	return equals(theEncoding, s_asciiString) ||
-		   equals(theEncoding, s_usASCIIString) ||
-		   equals(theEncoding, s_windows1250String);
-}
-
-
-
-XalanTranscodingServices::UnrepresentableCharacterException::UnrepresentableCharacterException(
-			XalanDOMChar			theCharacter,
-			const XalanDOMString&	theEncoding) :
-	XSLException(TranscodeFromLocalCodePage("Unable to represent a character in the specified encoding"),
-				 TranscodeFromLocalCodePage("UnrepresentableCharacterException")),
-	m_badCharacter(theCharacter),
-	m_encoding(theEncoding)
-{
-}
-
-
-
-XalanTranscodingServices::UnrepresentableCharacterException::~UnrepresentableCharacterException()
-{
-}
-
-
-
-XalanOutputTranscoder::XalanOutputTranscoder()
-{
-}
-
-
-
-XalanOutputTranscoder::~XalanOutputTranscoder()
-{
-}
-
-
-
-static XalanTranscodingServices::MaximumCharacterValueMapType	s_maximumCharacterValues;
-
-const XalanTranscodingServices::MaximumCharacterValueMapType&	XalanTranscodingServices::s_maximumCharacterValues =
-			::s_maximumCharacterValues;
-
-
-
-static void
-initMaximumCharacterValueMap(XalanTranscodingServices::MaximumCharacterValueMapType&	theMap)
-{
-	typedef XalanTranscodingServices::MaximumCharacterValueMapType::value_type	value_type;
-
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("WINDOWS-1250")),	 0xFF)); // Windows 1250 Peter Smolik
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF-8")),			 0xFFFF)); // Universal Transformation Format 8
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF-16")),			 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),		 0x7F));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")), 	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP")),	 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("SHIFT_JIS")),		 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-JP")), 		 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("GB2312")), 		 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("BIG5")),			 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-KR")), 		 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR")),	 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("KOI8-R")), 		 0xFFFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE")), 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS")),	 0xFF));
-	theMap.insert(value_type(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2")),	 0xFF));
-}
-
-
-
-void
-XalanTranscodingServices::initialize()
-{
-	initMaximumCharacterValueMap(::s_maximumCharacterValues);
-}
-
-
-
-void
-XalanTranscodingServices::terminate()
-{
-	MaximumCharacterValueMapType().swap(::s_maximumCharacterValues);
-}
diff --git a/src/PlatformSupport/XalanTranscodingServices.hpp b/src/PlatformSupport/XalanTranscodingServices.hpp
deleted file mode 100644
index 2e3989f..0000000
--- a/src/PlatformSupport/XalanTranscodingServices.hpp
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANTRANSCODINGSERVICES_HEADER_GUARD_1357924680)
-#define XALANTRANSCODINGSERVICES_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <map>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XalanOutputTranscoder;
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanTranscodingServices
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class PlatformSupportInit.
-	 */
-	static void
-	initialize();
- 
-	/**
-	 * Perform static shut down.  See class PlatformSupportInit.
-	 */
-	static void
-	terminate();
-
-	typedef unsigned char	XalanXMLByte;
-
-	static size_t
-	length(const XalanXMLByte*	theBytes)
-	{
-		assert(theBytes != 0);
-
-		const XalanXMLByte*		theCurrentByte = theBytes;
-
-		while(*theCurrentByte != 0)
-		{
-			++theCurrentByte;
-		}
-
-		return theCurrentByte - theBytes;
-	}
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				XalanDOMChar,
-				less<XalanDOMString> >	MaximumCharacterValueMapType;
-#else
-	typedef std::map<XalanDOMString,
-					 XalanDOMChar>		MaximumCharacterValueMapType;
-#endif
-
-    enum eCode
-    {
-		OK,
-		UnsupportedEncoding,
-		InternalFailure,
-		SupportFilesNotFound
-    };
-
-
-	/**
-	 * Create a transcoder instance for the specified encoding.
-	 * 
-	 * @param theEncodingName The name of the desired output encoding.
-	 * @param theResult The error code.
-	 * @param theTarget The target array for storing the transcoded data.
-	 * @param theBlockSize The block size the transcoder should use.
-	 * @return The new transcoder, or 0 if there was an error.
-	 */
-	static XalanOutputTranscoder*
-	makeNewTranscoder(
-			const XalanDOMString&	theEncodingName,
-			eCode&					theResult,
-			size_t					theBlockSize);
-
-	/**
-	 * Destroy a transcoder instance.
-	 * 
-	 * @theTranscoder The transcoder to destroy.
-	 */
-	static void
-	destroyTranscoder(XalanOutputTranscoder*	theTranscoder);
-
-	/**
-	 * Determine if the encoding name supplied is equivalent to UTF-8.
-	 * 
-	 * @param theEncodingName The name of the desired output encoding.
-	 * @return true or false
-	 */
-	static bool
-	encodingIsUTF8(const XalanDOMChar*		theEncodingName);
-
-	/**
-	 * Determine if the encoding name supplied is equivalent to UTF-8.
-	 * 
-	 * @param theEncodingName The name of the desired output encoding.
-	 * @return true or false
-	 */
-	static bool
-	encodingIsUTF8(const XalanDOMString&	theEncodingName);
-
-	/**
-	 * Determine if the encoding name supplied is equivalent to UTF-16.
-	 * 
-	 * @param theEncodingName The name of the desired output encoding.
-	 * @return true or false
-	 */
-	static bool
-	encodingIsUTF16(const XalanDOMChar*		theEncodingName);
-
-	/**
-	 * Determine if the encoding name supplied is equivalent to UTF-16.
-	 * 
-	 * @param theEncodingName The name of the desired output encoding.
-	 * @return true or false
-	 */
-	static bool
-	encodingIsUTF16(const XalanDOMString&	theEncodingName);
-
-	/**
-	 * Get an array that contains any leading bytes that should be
-	 * written to an XML stream for the specified encoding.  For example,
-	 * if the encoding is UTF-16, the vector will contain the appropriate
-	 * byte order mark for the current platform.  If there is no
-	 * prolog for the encoding, or the encoding is unknown, an empty
-	 * array is returned.
-	 * 
-	 * @param theEncodingName The name of the desired output encoding.
-	 * @return An array containing the appropriate bytes.
-	 */
-	static const XalanXMLByte*
-	getStreamProlog(const XalanDOMString&	theEncodingName);
-
-	/**
-	 * Get the maximum character value for the encoding.
-	 *
-	 * @param theEncoding The encoding name.
-	 * @return The maximum character value the encoding supports.
-	 */
-	static XalanDOMChar
-	getMaximumCharacterValue(const XalanDOMString&	theEncoding);
-
-	/**
-	 * Get the maximum character value for the local code page.
-	 * This is now deprecated, since it's impossibly broken.
-	 *
-	 * @deprecated
-	 *
-	 * @return The maximum character value the local code page supports.
-	 */
-	static XalanDOMChar
-	getMaximumCharacterValue();
-
-	/**
-	 * Determine if the output stage can safely skip transcoding
-	 * by truncating.
-	 *
-	 * @param theEncoding The encoding name.
-	 * @return true if truncation is possible, false if not.
-	 */
-	static bool
-	getBytesEqualChars(const XalanDOMString&	theEncoding);
-
-	static bool
-	canTranscodeToLocalCodePage(unsigned int	theChar)
-	{
-		// Yuck!! See getMaximumCharacterValue() for more details.
-		return theChar <= 0x7fu ? true : false;
-	}
-
-	static const XalanDOMChar 	s_utf8String[];
-
-	static const XalanDOMChar 	s_utf16String[];
-
-	static const XalanDOMChar 	s_asciiString[];
-
-	static const XalanDOMChar 	s_usASCIIString[];
-
-	static const XalanDOMChar 	s_windows1250String[];
-
-	class XALAN_PLATFORMSUPPORT_EXPORT UnrepresentableCharacterException : public XSLException
-	{
-	public:
-
-		UnrepresentableCharacterException(
-			XalanDOMChar			theCharacter,
-			const XalanDOMString&	theEncoding);
-
-		virtual
-		~UnrepresentableCharacterException();
-
-		XalanDOMChar
-		getCharacter() const
-		{
-			return m_badCharacter;
-		}
-
-		const XalanDOMString&
-		getEncoding() const
-		{
-			return m_encoding;
-		}
-
-	private:
-
-		const XalanDOMChar		m_badCharacter;
-
-		const XalanDOMString	m_encoding;
-	};
-
-private:
-
-	static const XalanXMLByte	s_dummyByteOrderMark[];
-	static const XalanXMLByte	s_UTF8ByteOrderMark[];
-	static const XalanDOMChar	s_UTF16ByteOrderMark[];
-
-	static const MaximumCharacterValueMapType&	s_maximumCharacterValues;
-};
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanOutputTranscoder
-{
-public:
-
-	typedef XalanTranscodingServices::XalanXMLByte	XalanXMLByte;
-	typedef XalanTranscodingServices::eCode			eCode;
-
-	explicit
-	XalanOutputTranscoder();
-
-	virtual
-	~XalanOutputTranscoder();
-
-	/**
-	 * Transcode data from UTF-16 to the transcoder's encoding.  If successfull,
-	 * theResult will be set to OK.  If not, it will be set to one of the other
-	 * codes.
-	 *
-	 * @param theSourceData The source data to transcode
-	 * @param theSourceCount The length of the source data.
-	 * @param theTarget The target array for storing the transcoded data.
-	 * @param theTargetSize The number of characters that can be stored in the target.
-	 * @param theSourceCharsTranscoded The count of the source characters that were transcoded.
-	 * @param theTargetBytesUsed The number of characters stored in the target array
-	 * @return The result code.
-	 */
-	virtual eCode
-	transcode(
-			const XalanDOMChar*		theSourceData,
-			size_t					theSourceCount,
-			XalanXMLByte*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed) = 0;
-
-	/**
-	 * Transcode data from the transcoder's encoding to UTF-16.  If successfull,
-	 * theResult will be set to OK.  If not, it will be set to one of the other
-	 * codes.
-	 *
-	 * @param theSourceData The source data to transcode
-	 * @param theSourceCount The length of the source data.
-	 * @param theTarget The target array for storing the transcoded data.
-	 * @param theTargetSize The number of characters that can be stored in the target.
-	 * @param theSourceCharsTranscoded The count of the source characters that were transcoded.
-	 * @param theTargetBytesUsed The number of characters stored in the target array
-	 * @param theCharSizes For each character in theTarget, the number of characters consumed from theSourceData.
-	 * @return The result code.
-	 */
-	virtual eCode
-	transcode(
-			const XalanXMLByte*		theSourceData,
-			size_t					theSourceCount,
-			XalanDOMChar*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed,
-			unsigned char*			theCharSizes) = 0;
-
-	virtual bool
-	canTranscodeTo(unsigned int		theChar) const = 0;
-
-private:
-
-	// Not implemented...
-	XalanOutputTranscoder(const XalanOutputTranscoder&	theSource);
-
-	bool
-	operator==(const XalanOutputTranscoder&	theRHS) const;
-
-	XalanOutputTranscoder&
-	operator=(const XalanOutputTranscoder&	theRHS);
-};
-
-
-
-#endif	// XALANTRANSCODINGSERVICES_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanUTF16Transcoder.cpp b/src/PlatformSupport/XalanUTF16Transcoder.cpp
deleted file mode 100644
index 784a38f..0000000
--- a/src/PlatformSupport/XalanUTF16Transcoder.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanUTF16Transcoder.hpp"
-
-
-
-#include <cassert>
-
-
-
-XalanUTF16Transcoder::XalanUTF16Transcoder() :
-	XalanOutputTranscoder()
-{
-}
-
-
-
-XalanUTF16Transcoder::~XalanUTF16Transcoder()
-{
-}
-
-
-
-XalanUTF16Transcoder::eCode
-XalanUTF16Transcoder::transcode(
-			const XalanDOMChar*		theSourceData,
-			size_t					theSourceCount,
-			XalanXMLByte*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed)
-{
-	unsigned int	theSourceEaten = 0;
-	unsigned int	theTargetPosition = 0;
-
-	while(theSourceEaten < theSourceCount)
-	{
-		// Swap bytes to big endian...
-		if (theTargetPosition + 1 >= theTargetSize)
-		{
-			break;
-		}
-		else
-		{
-#if defined(XALAN_OLD_STYLE_CASTS)
-			*(XalanDOMChar*)(theTarget + theTargetPosition) = theSourceData[theSourceEaten++];
-#else
-			*reinterpret_cast<XalanDOMChar*>(theTarget + theTargetPosition) = theSourceData[theSourceEaten++];
-#endif
-
-			theTargetPosition += 2;
-		}
-	}
-
-	theSourceCharsTranscoded = theSourceEaten;
-
-	theTargetBytesUsed = theTargetPosition;
-
-	return XalanTranscodingServices::OK;
-}
-
-
-
-XalanUTF16Transcoder::eCode
-XalanUTF16Transcoder::transcode(
-			const XalanXMLByte*		theSourceData,
-			size_t					theSourceCount,
-			XalanDOMChar*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed,
-			unsigned char*			theCharSizes)
-{
-	unsigned int	theSourceEaten = 0;
-	unsigned int	theTargetPosition = 0;
-
-	while(theSourceEaten + 1 < theSourceCount)
-	{
-		// Swap bytes to big endian...
-		if (theTargetPosition + 1 >= theTargetSize)
-		{
-			break;
-		}
-		else
-		{
-#if defined(XALAN_OLD_STYLE_CASTS)
-			theTarget[theTargetPosition++] = *(const XalanDOMChar*)(theSourceData + theSourceCount++);
-#else
-			theTarget[theTargetPosition++] = *reinterpret_cast<const XalanDOMChar*>(theSourceData + theSourceCount++);
-#endif
-
-			*theCharSizes++ = 2;
-		}
-	}
-
-	theSourceCharsTranscoded = theSourceEaten;
-
-	theTargetBytesUsed = theTargetPosition;
-
-	return XalanTranscodingServices::OK;
-}
-
-
-
-bool
-XalanUTF16Transcoder::canTranscodeTo(unsigned int	/* theChar */) const
-{
-	return true;
-}
diff --git a/src/PlatformSupport/XalanUTF16Transcoder.hpp b/src/PlatformSupport/XalanUTF16Transcoder.hpp
deleted file mode 100644
index da44914..0000000
--- a/src/PlatformSupport/XalanUTF16Transcoder.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANUTF16TRANSCODER_HEADER_GUARD_1357924680)
-#define XALANUTF16TRANSCODER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-
-
-
-class XALAN_PLATFORMSUPPORT_EXPORT XalanUTF16Transcoder : public XalanOutputTranscoder
-{
-public:
-
-	explicit
-	XalanUTF16Transcoder();
-   
-	virtual
-	~XalanUTF16Transcoder();
-
-	/**
-	 * Transcode data from UTF-16 to UTF-16.
-	 *
-	 * @param theSourceData The source data to transcode
-	 * @param theSourceCount The length of the source data.
-	 * @param theResult The error code, if any.
-	 * @param theTarget The target array for storing the transcoded data.
-	 * @param theTargetSize The number of characters that can be stored in the target.
-	 * @param theSourceCharsTranscoded The count of the source characters that were transcoded.
-	 * @param theTargetBytesUsed The number of characters stored in the target array
-	 * @return The result code.
-	 */
-	virtual eCode
-	transcode(
-			const XalanDOMChar*		theSourceData,
-			size_t					theSourceCount,
-			XalanXMLByte*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed);
-
-	/**
-	 * Transcode data from UTF-16 to UTF-16.
-	 *
-	 * @param theSourceData The source data to transcode
-	 * @param theSourceCount The length of the source data.
-	 * @param theResult The error code, if any.
-	 * @param theTarget The target array for storing the transcoded data.
-	 * @param theTargetSize The number of characters that can be stored in the target.
-	 * @param theSourceCharsTranscoded The count of the source characters that were transcoded.
-	 * @param theTargetBytesUsed The number of characters stored in the target array
-	 * @return The result code.
-	 */
-	virtual eCode
-	transcode(
-			const XalanXMLByte*		theSourceData,
-			size_t					theSourceCount,
-			XalanDOMChar*			theTarget,
-			size_t					theTargetSize,
-			size_t&					theSourceCharsTranscoded,
-			size_t&					theTargetBytesUsed,
-			unsigned char*			theCharSizes);
-
-	virtual bool
-	canTranscodeTo(unsigned int		theChar) const;
-
-private:
-
-	// Not implemented...
-	XalanUTF16Transcoder(const XalanUTF16Transcoder&);
-
-	XalanUTF16Transcoder&
-	operator=(const XalanUTF16Transcoder&);
-};
-
-
-
-#endif	// XALANUTF16TRANSCODER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanUnicode.hpp b/src/PlatformSupport/XalanUnicode.hpp
deleted file mode 100644
index 756e921..0000000
--- a/src/PlatformSupport/XalanUnicode.hpp
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANUNICODE_HEADER_GUARD_1357924680)
-#define XALANUNICODE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-struct XALAN_PLATFORMSUPPORT_EXPORT XalanUnicode
-#else
-namespace XalanUnicode
-#endif
-{
-#if defined(XALAN_NO_NAMESPACES)
-
-	enum
-	{
-		charHTab				= 0x09,
-		charLF					= 0x0A,
-		charFF					= 0x0C,
-		charCR					= 0x0D,
-		charSpace				= 0x20,
-
-		charExclamationMark		= 0x21,
-
-		charQuoteMark			= 0x22,
-
-		charNumberSign			= 0x23,
-
-		charDollarSign			= 0x24,
-
-		charPercentSign			= 0x25,
-
-		charAmpersand			= 0x26,
-
-		charApostrophe			= 0x27,
-
-		charLeftParenthesis		= 0x28,
-		charRightParenthesis	= 0x29,
-
-		charAsterisk			= 0x2A,
-
-		charPlusSign			= 0x2B,
-
-		charComma				= 0x2C,
-
-		charHyphenMinus			= 0x2D,
-
-		charFullStop			= 0x2E,
-
-		charSolidus				= 0x2F,
-
-		charDigit_0				= 0x30,
-		charDigit_1				= 0x31,
-		charDigit_2				= 0x32,
-		charDigit_3				= 0x33,
-		charDigit_4				= 0x34,
-		charDigit_5				= 0x35,
-		charDigit_6				= 0x36,
-		charDigit_7				= 0x37,
-		charDigit_8				= 0x38,
-		charDigit_9				= 0x39,
-
-		charColon				= 0x3A,
-		charSemicolon			= 0x3B,
-
-		charLessThanSign		= 0x3C,
-
-		charEqualsSign			= 0x3D,
-
-		charGreaterThanSign		= 0x3E,
-
-		charQuestionMark		= 0x3F,
-
-		charCommercialAt		= 0x40,
-
-		charLetter_A			= 0x41,
-		charLetter_B			= 0x42,
-		charLetter_C			= 0x43,
-		charLetter_D			= 0x44,
-		charLetter_E			= 0x45,
-		charLetter_F			= 0x46,
-		charLetter_G			= 0x47,
-		charLetter_H			= 0x48,
-		charLetter_I			= 0x49,
-		charLetter_J			= 0x4A,
-		charLetter_K			= 0x4B,
-		charLetter_L			= 0x4C,
-		charLetter_M			= 0x4D,
-		charLetter_N			= 0x4E,
-		charLetter_O			= 0x4F,
-		charLetter_P			= 0x50,
-		charLetter_Q			= 0x51,
-		charLetter_R			= 0x52,
-		charLetter_S			= 0x53,
-		charLetter_T			= 0x54,
-		charLetter_U			= 0x55,
-		charLetter_V			= 0x56,
-		charLetter_W			= 0x57,
-		charLetter_X			= 0x58,
-		charLetter_Y			= 0x59,
-		charLetter_Z			= 0x5A,
-
-		charLeftSquareBracket	= 0x5B,
-
-		charReverseSolidus		= 0x5C,
-
-		charRightSquareBracket	= 0x5D,
-
-		charCircumflexAccent	= 0x5E,
-
-		charLowLine				= 0x5F,
-
-		charLetter_a			= 0x61,
-		charLetter_b			= 0x62,
-		charLetter_c			= 0x63,
-		charLetter_d			= 0x64,
-		charLetter_e			= 0x65,
-		charLetter_f			= 0x66,
-		charLetter_g			= 0x67,
-		charLetter_h			= 0x68,
-		charLetter_i			= 0x69,
-		charLetter_j			= 0x6A,
-		charLetter_k			= 0x6B,
-		charLetter_l			= 0x6C,
-		charLetter_m			= 0x6D,
-		charLetter_n			= 0x6E,
-		charLetter_o			= 0x6F,
-		charLetter_p			= 0x70,
-		charLetter_q			= 0x71,
-		charLetter_r			= 0x72,
-		charLetter_s			= 0x73,
-		charLetter_t			= 0x74,
-		charLetter_u			= 0x75,
-		charLetter_v			= 0x76,
-		charLetter_w			= 0x77,
-		charLetter_x			= 0x78,
-		charLetter_y			= 0x79,
-		charLetter_z			= 0x7A,
-
-		charLeftCurlyBracket	= 0x7B,
-
-		charVerticalLine		= 0x7C,
-
-		charRightCurlyBracket	= 0x7D
-	};
-
-#else
-
-	static const XalanDOMChar	charHTab				= 0x09;
-	static const XalanDOMChar	charLF					= 0x0A;
-	static const XalanDOMChar	charCR					= 0x0D;
-	static const XalanDOMChar	charFF					= 0x0C;
-	static const XalanDOMChar	charSpace				= 0x20;
-
-	static const XalanDOMChar	charExclamationMark		= 0x21;
-
-	static const XalanDOMChar	charQuoteMark			= 0x22;
-
-	static const XalanDOMChar	charNumberSign			= 0x23;
-
-	static const XalanDOMChar	charDollarSign			= 0x24;
-
-	static const XalanDOMChar	charPercentSign			= 0x25;
-
-	static const XalanDOMChar	charAmpersand			= 0x26;
-
-	static const XalanDOMChar	charApostrophe			= 0x27;
-
-	static const XalanDOMChar	charLeftParenthesis		= 0x28;
-	static const XalanDOMChar	charRightParenthesis	= 0x29;
-
-	static const XalanDOMChar	charAsterisk			= 0x2A;
-
-	static const XalanDOMChar	charPlusSign			= 0x2B;
-
-	static const XalanDOMChar	charComma				= 0x2C;
-
-	static const XalanDOMChar	charHyphenMinus			= 0x2D;
-
-	static const XalanDOMChar	charFullStop			= 0x2E;
-
-	static const XalanDOMChar	charSolidus				= 0x2F;
-
-	static const XalanDOMChar	charDigit_0				= 0x30;
-	static const XalanDOMChar	charDigit_1				= 0x31;
-	static const XalanDOMChar	charDigit_2				= 0x32;
-	static const XalanDOMChar	charDigit_3				= 0x33;
-	static const XalanDOMChar	charDigit_4				= 0x34;
-	static const XalanDOMChar	charDigit_5				= 0x35;
-	static const XalanDOMChar	charDigit_6				= 0x36;
-	static const XalanDOMChar	charDigit_7				= 0x37;
-	static const XalanDOMChar	charDigit_8				= 0x38;
-	static const XalanDOMChar	charDigit_9				= 0x39;
-
-	static const XalanDOMChar	charColon				= 0x3A;
-	static const XalanDOMChar	charSemicolon			= 0x3B;
-
-	static const XalanDOMChar	charLessThanSign		= 0x3C;
-
-	static const XalanDOMChar	charEqualsSign			= 0x3D;
-
-	static const XalanDOMChar	charGreaterThanSign		= 0x3E;
-
-	static const XalanDOMChar	charQuestionMark		= 0x3F;
-
-	static const XalanDOMChar	charCommercialAt		= 0x40;
-
-	static const XalanDOMChar	charLetter_A			= 0x41;
-	static const XalanDOMChar	charLetter_B			= 0x42;
-	static const XalanDOMChar	charLetter_C			= 0x43;
-	static const XalanDOMChar	charLetter_D			= 0x44;
-	static const XalanDOMChar	charLetter_E			= 0x45;
-	static const XalanDOMChar	charLetter_F			= 0x46;
-	static const XalanDOMChar	charLetter_G			= 0x47;
-	static const XalanDOMChar	charLetter_H			= 0x48;
-	static const XalanDOMChar	charLetter_I			= 0x49;
-	static const XalanDOMChar	charLetter_J			= 0x4A;
-	static const XalanDOMChar	charLetter_K			= 0x4B;
-	static const XalanDOMChar	charLetter_L			= 0x4C;
-	static const XalanDOMChar	charLetter_M			= 0x4D;
-	static const XalanDOMChar	charLetter_N			= 0x4E;
-	static const XalanDOMChar	charLetter_O			= 0x4F;
-	static const XalanDOMChar	charLetter_P			= 0x50;
-	static const XalanDOMChar	charLetter_Q			= 0x51;
-	static const XalanDOMChar	charLetter_R			= 0x52;
-	static const XalanDOMChar	charLetter_S			= 0x53;
-	static const XalanDOMChar	charLetter_T			= 0x54;
-	static const XalanDOMChar	charLetter_U			= 0x55;
-	static const XalanDOMChar	charLetter_V			= 0x56;
-	static const XalanDOMChar	charLetter_W			= 0x57;
-	static const XalanDOMChar	charLetter_X			= 0x58;
-	static const XalanDOMChar	charLetter_Y			= 0x59;
-	static const XalanDOMChar	charLetter_Z			= 0x5A;
-
-	static const XalanDOMChar	charLeftSquareBracket	= 0x5B;
-
-	static const XalanDOMChar	charReverseSolidus		= 0x5C;
-
-	static const XalanDOMChar	charRightSquareBracket	= 0x5D;
-
-	static const XalanDOMChar	charCircumflexAccent	= 0x5E;
-
-	static const XalanDOMChar	charLowLine				= 0x5F;
-
-	static const XalanDOMChar	charLetter_a			= 0x61;
-	static const XalanDOMChar	charLetter_b			= 0x62;
-	static const XalanDOMChar	charLetter_c			= 0x63;
-	static const XalanDOMChar	charLetter_d			= 0x64;
-	static const XalanDOMChar	charLetter_e			= 0x65;
-	static const XalanDOMChar	charLetter_f			= 0x66;
-	static const XalanDOMChar	charLetter_g			= 0x67;
-	static const XalanDOMChar	charLetter_h			= 0x68;
-	static const XalanDOMChar	charLetter_i			= 0x69;
-	static const XalanDOMChar	charLetter_j			= 0x6A;
-	static const XalanDOMChar	charLetter_k			= 0x6B;
-	static const XalanDOMChar	charLetter_l			= 0x6C;
-	static const XalanDOMChar	charLetter_m			= 0x6D;
-	static const XalanDOMChar	charLetter_n			= 0x6E;
-	static const XalanDOMChar	charLetter_o			= 0x6F;
-	static const XalanDOMChar	charLetter_p			= 0x70;
-	static const XalanDOMChar	charLetter_q			= 0x71;
-	static const XalanDOMChar	charLetter_r			= 0x72;
-	static const XalanDOMChar	charLetter_s			= 0x73;
-	static const XalanDOMChar	charLetter_t			= 0x74;
-	static const XalanDOMChar	charLetter_u			= 0x75;
-	static const XalanDOMChar	charLetter_v			= 0x76;
-	static const XalanDOMChar	charLetter_w			= 0x77;
-	static const XalanDOMChar	charLetter_x			= 0x78;
-	static const XalanDOMChar	charLetter_y			= 0x79;
-	static const XalanDOMChar	charLetter_z			= 0x7A;
-
-	static const XalanDOMChar	charLeftCurlyBracket	= 0x7B;
-
-	static const XalanDOMChar	charVerticalLine		= 0x7C;
-
-	static const XalanDOMChar	charRightCurlyBracket	= 0x7D;
-
-#endif
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-
-private:
-
-	// Not implemented...
-	XalanUnicode();
-
-	XalanUnicode(const XalanUnicode&);
-
-	~XalanUnicode();
-
-	XalanUnicode&
-	operator=(const XalanUnicode&);
-
-};
-#else
-}
-#endif
-
-
-
-#endif	// XALANUNICODE_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/XalanXMLChar.cpp b/src/PlatformSupport/XalanXMLChar.cpp
deleted file mode 100644
index 63d7585..0000000
--- a/src/PlatformSupport/XalanXMLChar.cpp
+++ /dev/null
@@ -1,8265 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanXMLChar.hpp"
-
-
-
-static const char XML_XX = XalanXMLChar::XML_XX;
-static const char XML_BC = XalanXMLChar::XML_BC;
-static const char XML_ID = XalanXMLChar::XML_ID;
-static const char XML_EX = XalanXMLChar::XML_EX;
-static const char XML_DI = XalanXMLChar::XML_DI;
-static const char XML_CC = XalanXMLChar::XML_CC;
-static const char XML_WS = XalanXMLChar::XML_WS;
-
-
-
-const char XalanXMLChar::theUnicodeTable[] = {
-
-	/* 0000 - 0007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0008 - 000F */ XML_XX, XML_WS, XML_WS, XML_XX, XML_XX, XML_WS, XML_XX, XML_XX, 
-	/* 0010 - 0017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0018 - 001F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0020 - 0027 */ XML_WS, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0028 - 002F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0030 - 0037 */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0038 - 003F */ XML_DI, XML_DI, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0040 - 0047 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0048 - 004F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0050 - 0057 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0058 - 005F */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0060 - 0067 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0068 - 006F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0070 - 0077 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0078 - 007F */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0080 - 0087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0088 - 008F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0090 - 0097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0098 - 009F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 00A0 - 00A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 00A8 - 00AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 00B0 - 00B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_EX, 
-	/* 00B8 - 00BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 00C0 - 00C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 00C8 - 00CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 00D0 - 00D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 00D8 - 00DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 00E0 - 00E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 00E8 - 00EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 00F0 - 00F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 00F8 - 00FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0100 - 0107 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0108 - 010F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0110 - 0117 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0118 - 011F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0120 - 0127 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0128 - 012F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0130 - 0137 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0138 - 013F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 0140 - 0147 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0148 - 014F */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0150 - 0157 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0158 - 015F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0160 - 0167 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0168 - 016F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0170 - 0177 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0178 - 017F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 0180 - 0187 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0188 - 018F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0190 - 0197 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0198 - 019F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01A0 - 01A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01A8 - 01AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01B0 - 01B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01B8 - 01BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01C0 - 01C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 01C8 - 01CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 01D0 - 01D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01D8 - 01DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01E0 - 01E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01E8 - 01EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 01F0 - 01F7 */ XML_BC, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 01F8 - 01FF */ XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0200 - 0207 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0208 - 020F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0210 - 0217 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0218 - 021F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0220 - 0227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0228 - 022F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0230 - 0237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0238 - 023F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0240 - 0247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0248 - 024F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0250 - 0257 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0258 - 025F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0260 - 0267 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0268 - 026F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0270 - 0277 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0278 - 027F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0280 - 0287 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0288 - 028F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0290 - 0297 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0298 - 029F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 02A0 - 02A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 02A8 - 02AF */ XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02B0 - 02B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02B8 - 02BF */ XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 02C0 - 02C7 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02C8 - 02CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02D0 - 02D7 */ XML_EX, XML_EX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02D8 - 02DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02E0 - 02E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02E8 - 02EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02F0 - 02F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 02F8 - 02FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0300 - 0307 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0308 - 030F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0310 - 0317 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0318 - 031F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0320 - 0327 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0328 - 032F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0330 - 0337 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0338 - 033F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0340 - 0347 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0348 - 034F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0350 - 0357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0358 - 035F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0360 - 0367 */ XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0368 - 036F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0370 - 0377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0378 - 037F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0380 - 0387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_EX, 
-	/* 0388 - 038F */ XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0390 - 0397 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0398 - 039F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03A0 - 03A7 */ XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03A8 - 03AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03B0 - 03B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03B8 - 03BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03C0 - 03C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03C8 - 03CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 03D0 - 03D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 03D8 - 03DF */ XML_XX, XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, 
-	/* 03E0 - 03E7 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03E8 - 03EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 03F0 - 03F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 03F8 - 03FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0400 - 0407 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0408 - 040F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0410 - 0417 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0418 - 041F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0420 - 0427 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0428 - 042F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0430 - 0437 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0438 - 043F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0440 - 0447 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0448 - 044F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0450 - 0457 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0458 - 045F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0460 - 0467 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0468 - 046F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0470 - 0477 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0478 - 047F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0480 - 0487 */ XML_BC, XML_BC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, 
-	/* 0488 - 048F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0490 - 0497 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0498 - 049F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04A0 - 04A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04A8 - 04AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04B0 - 04B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04B8 - 04BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04C0 - 04C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, 
-	/* 04C8 - 04CF */ XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 04D0 - 04D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04D8 - 04DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04E0 - 04E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 04E8 - 04EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 04F0 - 04F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 04F8 - 04FF */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0500 - 0507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0508 - 050F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0510 - 0517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0518 - 051F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0520 - 0527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0528 - 052F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0530 - 0537 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0538 - 053F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0540 - 0547 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0548 - 054F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0550 - 0557 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 0558 - 055F */ XML_XX, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0560 - 0567 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0568 - 056F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0570 - 0577 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0578 - 057F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0580 - 0587 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 0588 - 058F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0590 - 0597 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0598 - 059F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 05A0 - 05A7 */ XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 05A8 - 05AF */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 05B0 - 05B7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 05B8 - 05BF */ XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_CC, 
-	/* 05C0 - 05C7 */ XML_XX, XML_CC, XML_CC, XML_XX, XML_CC, XML_XX, XML_XX, XML_XX, 
-	/* 05C8 - 05CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 05D0 - 05D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 05D8 - 05DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 05E0 - 05E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 05E8 - 05EF */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 05F0 - 05F7 */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 05F8 - 05FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0600 - 0607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0608 - 060F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0610 - 0617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0618 - 061F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0620 - 0627 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0628 - 062F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0630 - 0637 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0638 - 063F */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0640 - 0647 */ XML_EX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0648 - 064F */ XML_BC, XML_BC, XML_BC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0650 - 0657 */ XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0658 - 065F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0660 - 0667 */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0668 - 066F */ XML_DI, XML_DI, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0670 - 0677 */ XML_CC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0678 - 067F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0680 - 0687 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0688 - 068F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0690 - 0697 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0698 - 069F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 06A0 - 06A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 06A8 - 06AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 06B0 - 06B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 06B8 - 06BF */ XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 06C0 - 06C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 06C8 - 06CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 06D0 - 06D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_CC, XML_CC, 
-	/* 06D8 - 06DF */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 06E0 - 06E7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_BC, XML_BC, XML_CC, 
-	/* 06E8 - 06EF */ XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 06F0 - 06F7 */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 06F8 - 06FF */ XML_DI, XML_DI, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0700 - 0707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0708 - 070F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0710 - 0717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0718 - 071F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0720 - 0727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0728 - 072F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0730 - 0737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0738 - 073F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0740 - 0747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0748 - 074F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0750 - 0757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0758 - 075F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0760 - 0767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0768 - 076F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0770 - 0777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0778 - 077F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0780 - 0787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0788 - 078F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0790 - 0797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0798 - 079F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07A0 - 07A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07A8 - 07AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07B0 - 07B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07B8 - 07BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07C0 - 07C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07C8 - 07CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07D0 - 07D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07D8 - 07DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07E0 - 07E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07E8 - 07EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07F0 - 07F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 07F8 - 07FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0800 - 0807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0808 - 080F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0810 - 0817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0818 - 081F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0820 - 0827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0828 - 082F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0830 - 0837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0838 - 083F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0840 - 0847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0848 - 084F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0850 - 0857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0858 - 085F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0860 - 0867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0868 - 086F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0870 - 0877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0878 - 087F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0880 - 0887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0888 - 088F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0890 - 0897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0898 - 089F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08A0 - 08A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08A8 - 08AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08B0 - 08B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08B8 - 08BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08C0 - 08C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08C8 - 08CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08D0 - 08D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08D8 - 08DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08E0 - 08E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08E8 - 08EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08F0 - 08F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 08F8 - 08FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0900 - 0907 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0908 - 090F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0910 - 0917 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0918 - 091F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0920 - 0927 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0928 - 092F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0930 - 0937 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0938 - 093F */ XML_BC, XML_BC, XML_XX, XML_XX, XML_CC, XML_BC, XML_CC, XML_CC, 
-	/* 0940 - 0947 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0948 - 094F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0950 - 0957 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, 
-	/* 0958 - 095F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0960 - 0967 */ XML_BC, XML_BC, XML_CC, XML_CC, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0968 - 096F */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0970 - 0977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0978 - 097F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0980 - 0987 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0988 - 098F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, 
-	/* 0990 - 0997 */ XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0998 - 099F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 09A0 - 09A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 09A8 - 09AF */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 09B0 - 09B7 */ XML_BC, XML_XX, XML_BC, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 09B8 - 09BF */ XML_BC, XML_BC, XML_XX, XML_XX, XML_CC, XML_XX, XML_CC, XML_CC, 
-	/* 09C0 - 09C7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_CC, 
-	/* 09C8 - 09CF */ XML_CC, XML_XX, XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 09D0 - 09D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, 
-	/* 09D8 - 09DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, 
-	/* 09E0 - 09E7 */ XML_BC, XML_BC, XML_CC, XML_CC, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 09E8 - 09EF */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 09F0 - 09F7 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 09F8 - 09FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0A00 - 0A07 */ XML_XX, XML_XX, XML_CC, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0A08 - 0A0F */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, 
-	/* 0A10 - 0A17 */ XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0A18 - 0A1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0A20 - 0A27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0A28 - 0A2F */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0A30 - 0A37 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, 
-	/* 0A38 - 0A3F */ XML_BC, XML_BC, XML_XX, XML_XX, XML_CC, XML_XX, XML_CC, XML_CC, 
-	/* 0A40 - 0A47 */ XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, 
-	/* 0A48 - 0A4F */ XML_CC, XML_XX, XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0A50 - 0A57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0A58 - 0A5F */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, 
-	/* 0A60 - 0A67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0A68 - 0A6F */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0A70 - 0A77 */ XML_CC, XML_CC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 0A78 - 0A7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0A80 - 0A87 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0A88 - 0A8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, 
-	/* 0A90 - 0A97 */ XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0A98 - 0A9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0AA0 - 0AA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0AA8 - 0AAF */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0AB0 - 0AB7 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0AB8 - 0ABF */ XML_BC, XML_BC, XML_XX, XML_XX, XML_CC, XML_BC, XML_CC, XML_CC, 
-	/* 0AC0 - 0AC7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_CC, 
-	/* 0AC8 - 0ACF */ XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0AD0 - 0AD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0AD8 - 0ADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0AE0 - 0AE7 */ XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0AE8 - 0AEF */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0AF0 - 0AF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0AF8 - 0AFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0B00 - 0B07 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0B08 - 0B0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, 
-	/* 0B10 - 0B17 */ XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0B18 - 0B1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0B20 - 0B27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0B28 - 0B2F */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0B30 - 0B37 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 0B38 - 0B3F */ XML_BC, XML_BC, XML_XX, XML_XX, XML_CC, XML_BC, XML_CC, XML_CC, 
-	/* 0B40 - 0B47 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_CC, 
-	/* 0B48 - 0B4F */ XML_CC, XML_XX, XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0B50 - 0B57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0B58 - 0B5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, 
-	/* 0B60 - 0B67 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0B68 - 0B6F */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0B70 - 0B77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0B78 - 0B7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0B80 - 0B87 */ XML_XX, XML_XX, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0B88 - 0B8F */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 0B90 - 0B97 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 0B98 - 0B9F */ XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0BA0 - 0BA7 */ XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 0BA8 - 0BAF */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 0BB0 - 0BB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, 
-	/* 0BB8 - 0BBF */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0BC0 - 0BC7 */ XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0BC8 - 0BCF */ XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0BD0 - 0BD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, 
-	/* 0BD8 - 0BDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0BE0 - 0BE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, 
-	/* 0BE8 - 0BEF */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0BF0 - 0BF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0BF8 - 0BFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0C00 - 0C07 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0C08 - 0C0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0C10 - 0C17 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0C18 - 0C1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0C20 - 0C27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0C28 - 0C2F */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0C30 - 0C37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0C38 - 0C3F */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0C40 - 0C47 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, 
-	/* 0C48 - 0C4F */ XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0C50 - 0C57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, XML_XX, 
-	/* 0C58 - 0C5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0C60 - 0C67 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0C68 - 0C6F */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0C70 - 0C77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0C78 - 0C7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0C80 - 0C87 */ XML_XX, XML_XX, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0C88 - 0C8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0C90 - 0C97 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0C98 - 0C9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0CA0 - 0CA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0CA8 - 0CAF */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0CB0 - 0CB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0CB8 - 0CBF */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0CC0 - 0CC7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, 
-	/* 0CC8 - 0CCF */ XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0CD0 - 0CD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, XML_XX, 
-	/* 0CD8 - 0CDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_XX, 
-	/* 0CE0 - 0CE7 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0CE8 - 0CEF */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0CF0 - 0CF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0CF8 - 0CFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D00 - 0D07 */ XML_XX, XML_XX, XML_CC, XML_CC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 0D08 - 0D0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 0D10 - 0D17 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0D18 - 0D1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0D20 - 0D27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0D28 - 0D2F */ XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0D30 - 0D37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0D38 - 0D3F */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0D40 - 0D47 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0D48 - 0D4F */ XML_CC, XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0D50 - 0D57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, 
-	/* 0D58 - 0D5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D60 - 0D67 */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_DI, XML_DI, 
-	/* 0D68 - 0D6F */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0D70 - 0D77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D78 - 0D7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D80 - 0D87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D88 - 0D8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D90 - 0D97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0D98 - 0D9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DA0 - 0DA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DA8 - 0DAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DB0 - 0DB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DB8 - 0DBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DC0 - 0DC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DC8 - 0DCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DD0 - 0DD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DD8 - 0DDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DE0 - 0DE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DE8 - 0DEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DF0 - 0DF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0DF8 - 0DFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E00 - 0E07 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0E08 - 0E0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0E10 - 0E17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0E18 - 0E1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0E20 - 0E27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0E28 - 0E2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 0E30 - 0E37 */ XML_BC, XML_CC, XML_BC, XML_BC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0E38 - 0E3F */ XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E40 - 0E47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_EX, XML_CC, 
-	/* 0E48 - 0E4F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, 
-	/* 0E50 - 0E57 */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0E58 - 0E5F */ XML_DI, XML_DI, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E60 - 0E67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E68 - 0E6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E70 - 0E77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E78 - 0E7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0E80 - 0E87 */ XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_XX, XML_BC, 
-	/* 0E88 - 0E8F */ XML_BC, XML_XX, XML_BC, XML_XX, XML_XX, XML_BC, XML_XX, XML_XX, 
-	/* 0E90 - 0E97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0E98 - 0E9F */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0EA0 - 0EA7 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, 
-	/* 0EA8 - 0EAF */ XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, 
-	/* 0EB0 - 0EB7 */ XML_BC, XML_CC, XML_BC, XML_BC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0EB8 - 0EBF */ XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, XML_BC, XML_XX, XML_XX, 
-	/* 0EC0 - 0EC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_EX, XML_XX, 
-	/* 0EC8 - 0ECF */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0ED0 - 0ED7 */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0ED8 - 0EDF */ XML_DI, XML_DI, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0EE0 - 0EE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0EE8 - 0EEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0EF0 - 0EF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0EF8 - 0EFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F00 - 0F07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F08 - 0F0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F10 - 0F17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F18 - 0F1F */ XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F20 - 0F27 */ XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, XML_DI, 
-	/* 0F28 - 0F2F */ XML_DI, XML_DI, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F30 - 0F37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_XX, XML_CC, 
-	/* 0F38 - 0F3F */ XML_XX, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_CC, XML_CC, 
-	/* 0F40 - 0F47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0F48 - 0F4F */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0F50 - 0F57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0F58 - 0F5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0F60 - 0F67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 0F68 - 0F6F */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F70 - 0F77 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0F78 - 0F7F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0F80 - 0F87 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_CC, XML_CC, 
-	/* 0F88 - 0F8F */ XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0F90 - 0F97 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_CC, 
-	/* 0F98 - 0F9F */ XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0FA0 - 0FA7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0FA8 - 0FAF */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, 
-	/* 0FB0 - 0FB7 */ XML_XX, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 0FB8 - 0FBF */ XML_XX, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FC0 - 0FC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FC8 - 0FCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FD0 - 0FD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FD8 - 0FDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FE0 - 0FE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FE8 - 0FEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FF0 - 0FF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 0FF8 - 0FFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1000 - 1007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1008 - 100F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1010 - 1017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1018 - 101F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1020 - 1027 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1028 - 102F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1030 - 1037 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1038 - 103F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1040 - 1047 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1048 - 104F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1050 - 1057 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1058 - 105F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1060 - 1067 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1068 - 106F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1070 - 1077 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1078 - 107F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1080 - 1087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1088 - 108F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1090 - 1097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1098 - 109F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 10A0 - 10A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10A8 - 10AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10B0 - 10B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10B8 - 10BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10C0 - 10C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 10C8 - 10CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 10D0 - 10D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10D8 - 10DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10E0 - 10E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10E8 - 10EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 10F0 - 10F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, 
-	/* 10F8 - 10FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1100 - 1107 */ XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 1108 - 110F */ XML_XX, XML_BC, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 1110 - 1117 */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1118 - 111F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1120 - 1127 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1128 - 112F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1130 - 1137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1138 - 113F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, 
-	/* 1140 - 1147 */ XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1148 - 114F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, 
-	/* 1150 - 1157 */ XML_BC, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 1158 - 115F */ XML_XX, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, 
-	/* 1160 - 1167 */ XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, 
-	/* 1168 - 116F */ XML_XX, XML_BC, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, 
-	/* 1170 - 1177 */ XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, XML_XX, 
-	/* 1178 - 117F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1180 - 1187 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1188 - 118F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1190 - 1197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1198 - 119F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_XX, 
-	/* 11A0 - 11A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11A8 - 11AF */ XML_BC, XML_XX, XML_XX, XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 11B0 - 11B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, 
-	/* 11B8 - 11BF */ XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 11C0 - 11C7 */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11C8 - 11CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11D0 - 11D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11D8 - 11DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11E0 - 11E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11E8 - 11EF */ XML_XX, XML_XX, XML_XX, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11F0 - 11F7 */ XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 11F8 - 11FF */ XML_XX, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1200 - 1207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1208 - 120F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1210 - 1217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1218 - 121F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1220 - 1227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1228 - 122F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1230 - 1237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1238 - 123F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1240 - 1247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1248 - 124F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1250 - 1257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1258 - 125F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1260 - 1267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1268 - 126F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1270 - 1277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1278 - 127F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1280 - 1287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1288 - 128F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1290 - 1297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1298 - 129F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12A0 - 12A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12A8 - 12AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12B0 - 12B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12B8 - 12BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12C0 - 12C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12C8 - 12CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12D0 - 12D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12D8 - 12DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12E0 - 12E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12E8 - 12EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12F0 - 12F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 12F8 - 12FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1300 - 1307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1308 - 130F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1310 - 1317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1318 - 131F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1320 - 1327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1328 - 132F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1330 - 1337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1338 - 133F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1340 - 1347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1348 - 134F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1350 - 1357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1358 - 135F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1360 - 1367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1368 - 136F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1370 - 1377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1378 - 137F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1380 - 1387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1388 - 138F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1390 - 1397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1398 - 139F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13A0 - 13A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13A8 - 13AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13B0 - 13B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13B8 - 13BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13C0 - 13C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13C8 - 13CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13D0 - 13D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13D8 - 13DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13E0 - 13E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13E8 - 13EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13F0 - 13F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 13F8 - 13FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1400 - 1407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1408 - 140F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1410 - 1417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1418 - 141F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1420 - 1427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1428 - 142F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1430 - 1437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1438 - 143F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1440 - 1447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1448 - 144F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1450 - 1457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1458 - 145F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1460 - 1467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1468 - 146F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1470 - 1477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1478 - 147F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1480 - 1487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1488 - 148F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1490 - 1497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1498 - 149F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14A0 - 14A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14A8 - 14AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14B0 - 14B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14B8 - 14BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14C0 - 14C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14C8 - 14CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14D0 - 14D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14D8 - 14DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14E0 - 14E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14E8 - 14EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14F0 - 14F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 14F8 - 14FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1500 - 1507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1508 - 150F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1510 - 1517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1518 - 151F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1520 - 1527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1528 - 152F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1530 - 1537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1538 - 153F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1540 - 1547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1548 - 154F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1550 - 1557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1558 - 155F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1560 - 1567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1568 - 156F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1570 - 1577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1578 - 157F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1580 - 1587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1588 - 158F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1590 - 1597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1598 - 159F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15A0 - 15A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15A8 - 15AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15B0 - 15B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15B8 - 15BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15C0 - 15C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15C8 - 15CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15D0 - 15D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15D8 - 15DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15E0 - 15E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15E8 - 15EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15F0 - 15F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 15F8 - 15FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1600 - 1607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1608 - 160F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1610 - 1617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1618 - 161F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1620 - 1627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1628 - 162F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1630 - 1637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1638 - 163F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1640 - 1647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1648 - 164F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1650 - 1657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1658 - 165F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1660 - 1667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1668 - 166F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1670 - 1677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1678 - 167F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1680 - 1687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1688 - 168F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1690 - 1697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1698 - 169F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16A0 - 16A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16A8 - 16AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16B0 - 16B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16B8 - 16BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16C0 - 16C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16C8 - 16CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16D0 - 16D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16D8 - 16DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16E0 - 16E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16E8 - 16EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16F0 - 16F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 16F8 - 16FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1700 - 1707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1708 - 170F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1710 - 1717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1718 - 171F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1720 - 1727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1728 - 172F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1730 - 1737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1738 - 173F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1740 - 1747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1748 - 174F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1750 - 1757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1758 - 175F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1760 - 1767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1768 - 176F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1770 - 1777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1778 - 177F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1780 - 1787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1788 - 178F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1790 - 1797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1798 - 179F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17A0 - 17A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17A8 - 17AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17B0 - 17B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17B8 - 17BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17C0 - 17C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17C8 - 17CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17D0 - 17D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17D8 - 17DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17E0 - 17E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17E8 - 17EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17F0 - 17F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 17F8 - 17FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1800 - 1807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1808 - 180F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1810 - 1817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1818 - 181F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1820 - 1827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1828 - 182F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1830 - 1837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1838 - 183F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1840 - 1847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1848 - 184F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1850 - 1857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1858 - 185F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1860 - 1867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1868 - 186F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1870 - 1877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1878 - 187F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1880 - 1887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1888 - 188F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1890 - 1897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1898 - 189F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18A0 - 18A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18A8 - 18AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18B0 - 18B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18B8 - 18BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18C0 - 18C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18C8 - 18CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18D0 - 18D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18D8 - 18DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18E0 - 18E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18E8 - 18EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18F0 - 18F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 18F8 - 18FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1900 - 1907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1908 - 190F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1910 - 1917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1918 - 191F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1920 - 1927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1928 - 192F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1930 - 1937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1938 - 193F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1940 - 1947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1948 - 194F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1950 - 1957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1958 - 195F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1960 - 1967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1968 - 196F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1970 - 1977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1978 - 197F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1980 - 1987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1988 - 198F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1990 - 1997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1998 - 199F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19A0 - 19A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19A8 - 19AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19B0 - 19B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19B8 - 19BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19C0 - 19C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19C8 - 19CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19D0 - 19D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19D8 - 19DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19E0 - 19E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19E8 - 19EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19F0 - 19F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 19F8 - 19FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A00 - 1A07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A08 - 1A0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A10 - 1A17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A18 - 1A1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A20 - 1A27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A28 - 1A2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A30 - 1A37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A38 - 1A3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A40 - 1A47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A48 - 1A4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A50 - 1A57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A58 - 1A5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A60 - 1A67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A68 - 1A6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A70 - 1A77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A78 - 1A7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A80 - 1A87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A88 - 1A8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A90 - 1A97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1A98 - 1A9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AA0 - 1AA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AA8 - 1AAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AB0 - 1AB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AB8 - 1ABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AC0 - 1AC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AC8 - 1ACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AD0 - 1AD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AD8 - 1ADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AE0 - 1AE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AE8 - 1AEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AF0 - 1AF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1AF8 - 1AFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B00 - 1B07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B08 - 1B0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B10 - 1B17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B18 - 1B1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B20 - 1B27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B28 - 1B2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B30 - 1B37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B38 - 1B3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B40 - 1B47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B48 - 1B4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B50 - 1B57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B58 - 1B5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B60 - 1B67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B68 - 1B6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B70 - 1B77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B78 - 1B7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B80 - 1B87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B88 - 1B8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B90 - 1B97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1B98 - 1B9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BA0 - 1BA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BA8 - 1BAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BB0 - 1BB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BB8 - 1BBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BC0 - 1BC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BC8 - 1BCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BD0 - 1BD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BD8 - 1BDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BE0 - 1BE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BE8 - 1BEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BF0 - 1BF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1BF8 - 1BFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C00 - 1C07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C08 - 1C0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C10 - 1C17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C18 - 1C1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C20 - 1C27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C28 - 1C2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C30 - 1C37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C38 - 1C3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C40 - 1C47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C48 - 1C4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C50 - 1C57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C58 - 1C5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C60 - 1C67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C68 - 1C6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C70 - 1C77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C78 - 1C7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C80 - 1C87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C88 - 1C8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C90 - 1C97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1C98 - 1C9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CA0 - 1CA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CA8 - 1CAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CB0 - 1CB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CB8 - 1CBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CC0 - 1CC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CC8 - 1CCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CD0 - 1CD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CD8 - 1CDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CE0 - 1CE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CE8 - 1CEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CF0 - 1CF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1CF8 - 1CFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D00 - 1D07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D08 - 1D0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D10 - 1D17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D18 - 1D1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D20 - 1D27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D28 - 1D2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D30 - 1D37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D38 - 1D3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D40 - 1D47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D48 - 1D4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D50 - 1D57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D58 - 1D5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D60 - 1D67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D68 - 1D6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D70 - 1D77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D78 - 1D7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D80 - 1D87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D88 - 1D8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D90 - 1D97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1D98 - 1D9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DA0 - 1DA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DA8 - 1DAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DB0 - 1DB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DB8 - 1DBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DC0 - 1DC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DC8 - 1DCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DD0 - 1DD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DD8 - 1DDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DE0 - 1DE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DE8 - 1DEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DF0 - 1DF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1DF8 - 1DFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1E00 - 1E07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E08 - 1E0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E10 - 1E17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E18 - 1E1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E20 - 1E27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E28 - 1E2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E30 - 1E37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E38 - 1E3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E40 - 1E47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E48 - 1E4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E50 - 1E57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E58 - 1E5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E60 - 1E67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E68 - 1E6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E70 - 1E77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E78 - 1E7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E80 - 1E87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E88 - 1E8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E90 - 1E97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1E98 - 1E9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1EA0 - 1EA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EA8 - 1EAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EB0 - 1EB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EB8 - 1EBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EC0 - 1EC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EC8 - 1ECF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1ED0 - 1ED7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1ED8 - 1EDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EE0 - 1EE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EE8 - 1EEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EF0 - 1EF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1EF8 - 1EFF */ XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1F00 - 1F07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F08 - 1F0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F10 - 1F17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 1F18 - 1F1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 1F20 - 1F27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F28 - 1F2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F30 - 1F37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F38 - 1F3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F40 - 1F47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 1F48 - 1F4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 1F50 - 1F57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F58 - 1F5F */ XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, XML_XX, XML_BC, 
-	/* 1F60 - 1F67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F68 - 1F6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F70 - 1F77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F78 - 1F7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, 
-	/* 1F80 - 1F87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F88 - 1F8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F90 - 1F97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1F98 - 1F9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1FA0 - 1FA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1FA8 - 1FAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1FB0 - 1FB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 1FB8 - 1FBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_XX, 
-	/* 1FC0 - 1FC7 */ XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 1FC8 - 1FCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 1FD0 - 1FD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, XML_BC, 
-	/* 1FD8 - 1FDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 1FE0 - 1FE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 1FE8 - 1FEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 1FF0 - 1FF7 */ XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, XML_XX, XML_BC, XML_BC, 
-	/* 1FF8 - 1FFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 2000 - 2007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2008 - 200F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2010 - 2017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2018 - 201F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2020 - 2027 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2028 - 202F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2030 - 2037 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2038 - 203F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2040 - 2047 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2048 - 204F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2050 - 2057 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2058 - 205F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2060 - 2067 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2068 - 206F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2070 - 2077 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2078 - 207F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2080 - 2087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2088 - 208F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2090 - 2097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2098 - 209F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20A0 - 20A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20A8 - 20AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20B0 - 20B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20B8 - 20BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20C0 - 20C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20C8 - 20CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20D0 - 20D7 */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 20D8 - 20DF */ XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_XX, XML_XX, XML_XX, 
-	/* 20E0 - 20E7 */ XML_XX, XML_CC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20E8 - 20EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20F0 - 20F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 20F8 - 20FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2100 - 2107 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2108 - 210F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2110 - 2117 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2118 - 211F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2120 - 2127 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_XX, 
-	/* 2128 - 212F */ XML_XX, XML_XX, XML_BC, XML_BC, XML_XX, XML_XX, XML_BC, XML_XX, 
-	/* 2130 - 2137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2138 - 213F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2140 - 2147 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2148 - 214F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2150 - 2157 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2158 - 215F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2160 - 2167 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2168 - 216F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2170 - 2177 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2178 - 217F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2180 - 2187 */ XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2188 - 218F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2190 - 2197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2198 - 219F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21A0 - 21A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21A8 - 21AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21B0 - 21B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21B8 - 21BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21C0 - 21C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21C8 - 21CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21D0 - 21D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21D8 - 21DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21E0 - 21E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21E8 - 21EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21F0 - 21F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 21F8 - 21FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2200 - 2207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2208 - 220F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2210 - 2217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2218 - 221F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2220 - 2227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2228 - 222F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2230 - 2237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2238 - 223F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2240 - 2247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2248 - 224F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2250 - 2257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2258 - 225F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2260 - 2267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2268 - 226F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2270 - 2277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2278 - 227F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2280 - 2287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2288 - 228F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2290 - 2297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2298 - 229F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22A0 - 22A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22A8 - 22AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22B0 - 22B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22B8 - 22BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22C0 - 22C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22C8 - 22CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22D0 - 22D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22D8 - 22DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22E0 - 22E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22E8 - 22EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22F0 - 22F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 22F8 - 22FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2300 - 2307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2308 - 230F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2310 - 2317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2318 - 231F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2320 - 2327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2328 - 232F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2330 - 2337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2338 - 233F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2340 - 2347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2348 - 234F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2350 - 2357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2358 - 235F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2360 - 2367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2368 - 236F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2370 - 2377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2378 - 237F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2380 - 2387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2388 - 238F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2390 - 2397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2398 - 239F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23A0 - 23A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23A8 - 23AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23B0 - 23B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23B8 - 23BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23C0 - 23C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23C8 - 23CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23D0 - 23D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23D8 - 23DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23E0 - 23E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23E8 - 23EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23F0 - 23F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 23F8 - 23FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2400 - 2407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2408 - 240F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2410 - 2417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2418 - 241F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2420 - 2427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2428 - 242F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2430 - 2437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2438 - 243F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2440 - 2447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2448 - 244F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2450 - 2457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2458 - 245F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2460 - 2467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2468 - 246F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2470 - 2477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2478 - 247F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2480 - 2487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2488 - 248F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2490 - 2497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2498 - 249F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24A0 - 24A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24A8 - 24AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24B0 - 24B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24B8 - 24BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24C0 - 24C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24C8 - 24CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24D0 - 24D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24D8 - 24DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24E0 - 24E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24E8 - 24EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24F0 - 24F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 24F8 - 24FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2500 - 2507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2508 - 250F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2510 - 2517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2518 - 251F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2520 - 2527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2528 - 252F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2530 - 2537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2538 - 253F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2540 - 2547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2548 - 254F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2550 - 2557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2558 - 255F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2560 - 2567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2568 - 256F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2570 - 2577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2578 - 257F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2580 - 2587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2588 - 258F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2590 - 2597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2598 - 259F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25A0 - 25A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25A8 - 25AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25B0 - 25B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25B8 - 25BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25C0 - 25C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25C8 - 25CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25D0 - 25D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25D8 - 25DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25E0 - 25E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25E8 - 25EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25F0 - 25F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 25F8 - 25FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2600 - 2607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2608 - 260F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2610 - 2617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2618 - 261F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2620 - 2627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2628 - 262F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2630 - 2637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2638 - 263F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2640 - 2647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2648 - 264F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2650 - 2657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2658 - 265F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2660 - 2667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2668 - 266F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2670 - 2677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2678 - 267F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2680 - 2687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2688 - 268F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2690 - 2697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2698 - 269F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26A0 - 26A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26A8 - 26AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26B0 - 26B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26B8 - 26BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26C0 - 26C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26C8 - 26CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26D0 - 26D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26D8 - 26DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26E0 - 26E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26E8 - 26EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26F0 - 26F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 26F8 - 26FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2700 - 2707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2708 - 270F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2710 - 2717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2718 - 271F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2720 - 2727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2728 - 272F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2730 - 2737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2738 - 273F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2740 - 2747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2748 - 274F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2750 - 2757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2758 - 275F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2760 - 2767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2768 - 276F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2770 - 2777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2778 - 277F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2780 - 2787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2788 - 278F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2790 - 2797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2798 - 279F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27A0 - 27A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27A8 - 27AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27B0 - 27B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27B8 - 27BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27C0 - 27C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27C8 - 27CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27D0 - 27D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27D8 - 27DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27E0 - 27E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27E8 - 27EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27F0 - 27F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 27F8 - 27FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2800 - 2807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2808 - 280F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2810 - 2817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2818 - 281F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2820 - 2827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2828 - 282F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2830 - 2837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2838 - 283F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2840 - 2847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2848 - 284F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2850 - 2857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2858 - 285F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2860 - 2867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2868 - 286F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2870 - 2877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2878 - 287F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2880 - 2887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2888 - 288F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2890 - 2897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2898 - 289F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28A0 - 28A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28A8 - 28AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28B0 - 28B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28B8 - 28BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28C0 - 28C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28C8 - 28CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28D0 - 28D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28D8 - 28DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28E0 - 28E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28E8 - 28EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28F0 - 28F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 28F8 - 28FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2900 - 2907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2908 - 290F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2910 - 2917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2918 - 291F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2920 - 2927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2928 - 292F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2930 - 2937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2938 - 293F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2940 - 2947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2948 - 294F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2950 - 2957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2958 - 295F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2960 - 2967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2968 - 296F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2970 - 2977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2978 - 297F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2980 - 2987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2988 - 298F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2990 - 2997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2998 - 299F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29A0 - 29A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29A8 - 29AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29B0 - 29B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29B8 - 29BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29C0 - 29C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29C8 - 29CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29D0 - 29D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29D8 - 29DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29E0 - 29E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29E8 - 29EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29F0 - 29F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 29F8 - 29FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A00 - 2A07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A08 - 2A0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A10 - 2A17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A18 - 2A1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A20 - 2A27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A28 - 2A2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A30 - 2A37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A38 - 2A3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A40 - 2A47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A48 - 2A4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A50 - 2A57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A58 - 2A5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A60 - 2A67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A68 - 2A6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A70 - 2A77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A78 - 2A7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A80 - 2A87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A88 - 2A8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A90 - 2A97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2A98 - 2A9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AA0 - 2AA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AA8 - 2AAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AB0 - 2AB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AB8 - 2ABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AC0 - 2AC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AC8 - 2ACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AD0 - 2AD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AD8 - 2ADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AE0 - 2AE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AE8 - 2AEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AF0 - 2AF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2AF8 - 2AFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B00 - 2B07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B08 - 2B0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B10 - 2B17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B18 - 2B1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B20 - 2B27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B28 - 2B2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B30 - 2B37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B38 - 2B3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B40 - 2B47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B48 - 2B4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B50 - 2B57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B58 - 2B5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B60 - 2B67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B68 - 2B6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B70 - 2B77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B78 - 2B7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B80 - 2B87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B88 - 2B8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B90 - 2B97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2B98 - 2B9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BA0 - 2BA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BA8 - 2BAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BB0 - 2BB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BB8 - 2BBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BC0 - 2BC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BC8 - 2BCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BD0 - 2BD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BD8 - 2BDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BE0 - 2BE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BE8 - 2BEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BF0 - 2BF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2BF8 - 2BFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C00 - 2C07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C08 - 2C0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C10 - 2C17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C18 - 2C1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C20 - 2C27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C28 - 2C2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C30 - 2C37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C38 - 2C3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C40 - 2C47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C48 - 2C4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C50 - 2C57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C58 - 2C5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C60 - 2C67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C68 - 2C6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C70 - 2C77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C78 - 2C7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C80 - 2C87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C88 - 2C8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C90 - 2C97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2C98 - 2C9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CA0 - 2CA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CA8 - 2CAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CB0 - 2CB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CB8 - 2CBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CC0 - 2CC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CC8 - 2CCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CD0 - 2CD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CD8 - 2CDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CE0 - 2CE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CE8 - 2CEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CF0 - 2CF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2CF8 - 2CFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D00 - 2D07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D08 - 2D0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D10 - 2D17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D18 - 2D1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D20 - 2D27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D28 - 2D2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D30 - 2D37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D38 - 2D3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D40 - 2D47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D48 - 2D4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D50 - 2D57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D58 - 2D5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D60 - 2D67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D68 - 2D6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D70 - 2D77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D78 - 2D7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D80 - 2D87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D88 - 2D8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D90 - 2D97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2D98 - 2D9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DA0 - 2DA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DA8 - 2DAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DB0 - 2DB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DB8 - 2DBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DC0 - 2DC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DC8 - 2DCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DD0 - 2DD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DD8 - 2DDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DE0 - 2DE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DE8 - 2DEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DF0 - 2DF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2DF8 - 2DFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E00 - 2E07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E08 - 2E0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E10 - 2E17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E18 - 2E1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E20 - 2E27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E28 - 2E2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E30 - 2E37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E38 - 2E3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E40 - 2E47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E48 - 2E4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E50 - 2E57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E58 - 2E5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E60 - 2E67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E68 - 2E6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E70 - 2E77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E78 - 2E7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E80 - 2E87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E88 - 2E8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E90 - 2E97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2E98 - 2E9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EA0 - 2EA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EA8 - 2EAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EB0 - 2EB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EB8 - 2EBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EC0 - 2EC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EC8 - 2ECF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2ED0 - 2ED7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2ED8 - 2EDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EE0 - 2EE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EE8 - 2EEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EF0 - 2EF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2EF8 - 2EFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F00 - 2F07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F08 - 2F0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F10 - 2F17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F18 - 2F1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F20 - 2F27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F28 - 2F2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F30 - 2F37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F38 - 2F3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F40 - 2F47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F48 - 2F4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F50 - 2F57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F58 - 2F5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F60 - 2F67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F68 - 2F6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F70 - 2F77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F78 - 2F7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F80 - 2F87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F88 - 2F8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F90 - 2F97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2F98 - 2F9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FA0 - 2FA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FA8 - 2FAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FB0 - 2FB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FB8 - 2FBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FC0 - 2FC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FC8 - 2FCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FD0 - 2FD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FD8 - 2FDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FE0 - 2FE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FE8 - 2FEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FF0 - 2FF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 2FF8 - 2FFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3000 - 3007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_EX, XML_XX, XML_ID, 
-	/* 3008 - 300F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3010 - 3017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3018 - 301F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3020 - 3027 */ XML_XX, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 3028 - 302F */ XML_ID, XML_ID, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, XML_CC, 
-	/* 3030 - 3037 */ XML_XX, XML_EX, XML_EX, XML_EX, XML_EX, XML_EX, XML_XX, XML_XX, 
-	/* 3038 - 303F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3040 - 3047 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3048 - 304F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3050 - 3057 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3058 - 305F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3060 - 3067 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3068 - 306F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3070 - 3077 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3078 - 307F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3080 - 3087 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3088 - 308F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3090 - 3097 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 3098 - 309F */ XML_XX, XML_CC, XML_CC, XML_XX, XML_XX, XML_EX, XML_EX, XML_XX, 
-	/* 30A0 - 30A7 */ XML_XX, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30A8 - 30AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30B0 - 30B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30B8 - 30BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30C0 - 30C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30C8 - 30CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30D0 - 30D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30D8 - 30DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30E0 - 30E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30E8 - 30EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30F0 - 30F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 30F8 - 30FF */ XML_BC, XML_BC, XML_BC, XML_XX, XML_EX, XML_EX, XML_EX, XML_XX, 
-	/* 3100 - 3107 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_BC, XML_BC, XML_BC, 
-	/* 3108 - 310F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3110 - 3117 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3118 - 311F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3120 - 3127 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* 3128 - 312F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, 
-	/* 3130 - 3137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3138 - 313F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3140 - 3147 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3148 - 314F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3150 - 3157 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3158 - 315F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3160 - 3167 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3168 - 316F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3170 - 3177 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3178 - 317F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3180 - 3187 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3188 - 318F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3190 - 3197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3198 - 319F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31A0 - 31A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31A8 - 31AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31B0 - 31B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31B8 - 31BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31C0 - 31C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31C8 - 31CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31D0 - 31D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31D8 - 31DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31E0 - 31E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31E8 - 31EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31F0 - 31F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 31F8 - 31FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3200 - 3207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3208 - 320F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3210 - 3217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3218 - 321F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3220 - 3227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3228 - 322F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3230 - 3237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3238 - 323F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3240 - 3247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3248 - 324F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3250 - 3257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3258 - 325F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3260 - 3267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3268 - 326F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3270 - 3277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3278 - 327F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3280 - 3287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3288 - 328F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3290 - 3297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3298 - 329F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32A0 - 32A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32A8 - 32AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32B0 - 32B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32B8 - 32BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32C0 - 32C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32C8 - 32CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32D0 - 32D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32D8 - 32DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32E0 - 32E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32E8 - 32EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32F0 - 32F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 32F8 - 32FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3300 - 3307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3308 - 330F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3310 - 3317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3318 - 331F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3320 - 3327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3328 - 332F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3330 - 3337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3338 - 333F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3340 - 3347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3348 - 334F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3350 - 3357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3358 - 335F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3360 - 3367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3368 - 336F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3370 - 3377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3378 - 337F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3380 - 3387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3388 - 338F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3390 - 3397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3398 - 339F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33A0 - 33A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33A8 - 33AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33B0 - 33B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33B8 - 33BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33C0 - 33C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33C8 - 33CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33D0 - 33D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33D8 - 33DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33E0 - 33E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33E8 - 33EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33F0 - 33F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 33F8 - 33FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3400 - 3407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3408 - 340F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3410 - 3417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3418 - 341F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3420 - 3427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3428 - 342F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3430 - 3437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3438 - 343F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3440 - 3447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3448 - 344F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3450 - 3457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3458 - 345F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3460 - 3467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3468 - 346F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3470 - 3477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3478 - 347F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3480 - 3487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3488 - 348F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3490 - 3497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3498 - 349F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34A0 - 34A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34A8 - 34AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34B0 - 34B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34B8 - 34BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34C0 - 34C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34C8 - 34CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34D0 - 34D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34D8 - 34DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34E0 - 34E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34E8 - 34EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34F0 - 34F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 34F8 - 34FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3500 - 3507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3508 - 350F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3510 - 3517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3518 - 351F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3520 - 3527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3528 - 352F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3530 - 3537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3538 - 353F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3540 - 3547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3548 - 354F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3550 - 3557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3558 - 355F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3560 - 3567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3568 - 356F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3570 - 3577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3578 - 357F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3580 - 3587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3588 - 358F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3590 - 3597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3598 - 359F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35A0 - 35A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35A8 - 35AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35B0 - 35B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35B8 - 35BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35C0 - 35C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35C8 - 35CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35D0 - 35D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35D8 - 35DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35E0 - 35E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35E8 - 35EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35F0 - 35F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 35F8 - 35FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3600 - 3607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3608 - 360F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3610 - 3617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3618 - 361F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3620 - 3627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3628 - 362F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3630 - 3637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3638 - 363F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3640 - 3647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3648 - 364F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3650 - 3657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3658 - 365F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3660 - 3667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3668 - 366F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3670 - 3677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3678 - 367F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3680 - 3687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3688 - 368F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3690 - 3697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3698 - 369F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36A0 - 36A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36A8 - 36AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36B0 - 36B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36B8 - 36BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36C0 - 36C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36C8 - 36CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36D0 - 36D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36D8 - 36DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36E0 - 36E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36E8 - 36EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36F0 - 36F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 36F8 - 36FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3700 - 3707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3708 - 370F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3710 - 3717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3718 - 371F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3720 - 3727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3728 - 372F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3730 - 3737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3738 - 373F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3740 - 3747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3748 - 374F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3750 - 3757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3758 - 375F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3760 - 3767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3768 - 376F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3770 - 3777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3778 - 377F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3780 - 3787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3788 - 378F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3790 - 3797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3798 - 379F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37A0 - 37A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37A8 - 37AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37B0 - 37B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37B8 - 37BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37C0 - 37C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37C8 - 37CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37D0 - 37D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37D8 - 37DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37E0 - 37E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37E8 - 37EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37F0 - 37F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 37F8 - 37FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3800 - 3807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3808 - 380F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3810 - 3817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3818 - 381F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3820 - 3827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3828 - 382F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3830 - 3837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3838 - 383F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3840 - 3847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3848 - 384F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3850 - 3857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3858 - 385F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3860 - 3867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3868 - 386F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3870 - 3877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3878 - 387F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3880 - 3887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3888 - 388F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3890 - 3897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3898 - 389F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38A0 - 38A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38A8 - 38AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38B0 - 38B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38B8 - 38BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38C0 - 38C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38C8 - 38CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38D0 - 38D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38D8 - 38DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38E0 - 38E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38E8 - 38EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38F0 - 38F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 38F8 - 38FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3900 - 3907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3908 - 390F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3910 - 3917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3918 - 391F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3920 - 3927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3928 - 392F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3930 - 3937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3938 - 393F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3940 - 3947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3948 - 394F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3950 - 3957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3958 - 395F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3960 - 3967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3968 - 396F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3970 - 3977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3978 - 397F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3980 - 3987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3988 - 398F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3990 - 3997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3998 - 399F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39A0 - 39A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39A8 - 39AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39B0 - 39B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39B8 - 39BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39C0 - 39C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39C8 - 39CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39D0 - 39D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39D8 - 39DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39E0 - 39E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39E8 - 39EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39F0 - 39F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 39F8 - 39FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A00 - 3A07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A08 - 3A0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A10 - 3A17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A18 - 3A1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A20 - 3A27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A28 - 3A2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A30 - 3A37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A38 - 3A3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A40 - 3A47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A48 - 3A4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A50 - 3A57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A58 - 3A5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A60 - 3A67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A68 - 3A6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A70 - 3A77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A78 - 3A7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A80 - 3A87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A88 - 3A8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A90 - 3A97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3A98 - 3A9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AA0 - 3AA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AA8 - 3AAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AB0 - 3AB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AB8 - 3ABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AC0 - 3AC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AC8 - 3ACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AD0 - 3AD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AD8 - 3ADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AE0 - 3AE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AE8 - 3AEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AF0 - 3AF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3AF8 - 3AFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B00 - 3B07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B08 - 3B0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B10 - 3B17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B18 - 3B1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B20 - 3B27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B28 - 3B2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B30 - 3B37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B38 - 3B3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B40 - 3B47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B48 - 3B4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B50 - 3B57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B58 - 3B5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B60 - 3B67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B68 - 3B6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B70 - 3B77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B78 - 3B7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B80 - 3B87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B88 - 3B8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B90 - 3B97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3B98 - 3B9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BA0 - 3BA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BA8 - 3BAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BB0 - 3BB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BB8 - 3BBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BC0 - 3BC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BC8 - 3BCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BD0 - 3BD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BD8 - 3BDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BE0 - 3BE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BE8 - 3BEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BF0 - 3BF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3BF8 - 3BFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C00 - 3C07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C08 - 3C0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C10 - 3C17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C18 - 3C1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C20 - 3C27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C28 - 3C2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C30 - 3C37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C38 - 3C3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C40 - 3C47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C48 - 3C4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C50 - 3C57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C58 - 3C5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C60 - 3C67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C68 - 3C6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C70 - 3C77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C78 - 3C7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C80 - 3C87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C88 - 3C8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C90 - 3C97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3C98 - 3C9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CA0 - 3CA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CA8 - 3CAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CB0 - 3CB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CB8 - 3CBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CC0 - 3CC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CC8 - 3CCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CD0 - 3CD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CD8 - 3CDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CE0 - 3CE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CE8 - 3CEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CF0 - 3CF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3CF8 - 3CFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D00 - 3D07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D08 - 3D0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D10 - 3D17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D18 - 3D1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D20 - 3D27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D28 - 3D2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D30 - 3D37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D38 - 3D3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D40 - 3D47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D48 - 3D4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D50 - 3D57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D58 - 3D5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D60 - 3D67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D68 - 3D6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D70 - 3D77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D78 - 3D7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D80 - 3D87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D88 - 3D8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D90 - 3D97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3D98 - 3D9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DA0 - 3DA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DA8 - 3DAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DB0 - 3DB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DB8 - 3DBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DC0 - 3DC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DC8 - 3DCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DD0 - 3DD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DD8 - 3DDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DE0 - 3DE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DE8 - 3DEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DF0 - 3DF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3DF8 - 3DFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E00 - 3E07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E08 - 3E0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E10 - 3E17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E18 - 3E1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E20 - 3E27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E28 - 3E2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E30 - 3E37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E38 - 3E3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E40 - 3E47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E48 - 3E4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E50 - 3E57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E58 - 3E5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E60 - 3E67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E68 - 3E6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E70 - 3E77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E78 - 3E7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E80 - 3E87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E88 - 3E8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E90 - 3E97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3E98 - 3E9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EA0 - 3EA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EA8 - 3EAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EB0 - 3EB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EB8 - 3EBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EC0 - 3EC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EC8 - 3ECF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3ED0 - 3ED7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3ED8 - 3EDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EE0 - 3EE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EE8 - 3EEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EF0 - 3EF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3EF8 - 3EFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F00 - 3F07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F08 - 3F0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F10 - 3F17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F18 - 3F1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F20 - 3F27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F28 - 3F2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F30 - 3F37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F38 - 3F3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F40 - 3F47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F48 - 3F4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F50 - 3F57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F58 - 3F5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F60 - 3F67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F68 - 3F6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F70 - 3F77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F78 - 3F7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F80 - 3F87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F88 - 3F8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F90 - 3F97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3F98 - 3F9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FA0 - 3FA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FA8 - 3FAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FB0 - 3FB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FB8 - 3FBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FC0 - 3FC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FC8 - 3FCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FD0 - 3FD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FD8 - 3FDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FE0 - 3FE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FE8 - 3FEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FF0 - 3FF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 3FF8 - 3FFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4000 - 4007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4008 - 400F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4010 - 4017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4018 - 401F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4020 - 4027 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4028 - 402F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4030 - 4037 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4038 - 403F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4040 - 4047 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4048 - 404F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4050 - 4057 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4058 - 405F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4060 - 4067 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4068 - 406F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4070 - 4077 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4078 - 407F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4080 - 4087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4088 - 408F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4090 - 4097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4098 - 409F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40A0 - 40A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40A8 - 40AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40B0 - 40B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40B8 - 40BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40C0 - 40C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40C8 - 40CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40D0 - 40D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40D8 - 40DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40E0 - 40E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40E8 - 40EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40F0 - 40F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 40F8 - 40FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4100 - 4107 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4108 - 410F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4110 - 4117 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4118 - 411F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4120 - 4127 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4128 - 412F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4130 - 4137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4138 - 413F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4140 - 4147 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4148 - 414F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4150 - 4157 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4158 - 415F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4160 - 4167 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4168 - 416F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4170 - 4177 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4178 - 417F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4180 - 4187 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4188 - 418F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4190 - 4197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4198 - 419F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41A0 - 41A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41A8 - 41AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41B0 - 41B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41B8 - 41BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41C0 - 41C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41C8 - 41CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41D0 - 41D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41D8 - 41DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41E0 - 41E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41E8 - 41EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41F0 - 41F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 41F8 - 41FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4200 - 4207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4208 - 420F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4210 - 4217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4218 - 421F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4220 - 4227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4228 - 422F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4230 - 4237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4238 - 423F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4240 - 4247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4248 - 424F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4250 - 4257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4258 - 425F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4260 - 4267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4268 - 426F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4270 - 4277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4278 - 427F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4280 - 4287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4288 - 428F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4290 - 4297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4298 - 429F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42A0 - 42A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42A8 - 42AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42B0 - 42B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42B8 - 42BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42C0 - 42C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42C8 - 42CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42D0 - 42D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42D8 - 42DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42E0 - 42E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42E8 - 42EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42F0 - 42F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 42F8 - 42FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4300 - 4307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4308 - 430F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4310 - 4317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4318 - 431F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4320 - 4327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4328 - 432F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4330 - 4337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4338 - 433F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4340 - 4347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4348 - 434F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4350 - 4357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4358 - 435F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4360 - 4367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4368 - 436F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4370 - 4377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4378 - 437F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4380 - 4387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4388 - 438F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4390 - 4397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4398 - 439F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43A0 - 43A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43A8 - 43AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43B0 - 43B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43B8 - 43BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43C0 - 43C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43C8 - 43CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43D0 - 43D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43D8 - 43DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43E0 - 43E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43E8 - 43EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43F0 - 43F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 43F8 - 43FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4400 - 4407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4408 - 440F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4410 - 4417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4418 - 441F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4420 - 4427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4428 - 442F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4430 - 4437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4438 - 443F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4440 - 4447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4448 - 444F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4450 - 4457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4458 - 445F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4460 - 4467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4468 - 446F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4470 - 4477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4478 - 447F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4480 - 4487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4488 - 448F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4490 - 4497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4498 - 449F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44A0 - 44A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44A8 - 44AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44B0 - 44B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44B8 - 44BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44C0 - 44C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44C8 - 44CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44D0 - 44D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44D8 - 44DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44E0 - 44E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44E8 - 44EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44F0 - 44F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 44F8 - 44FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4500 - 4507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4508 - 450F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4510 - 4517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4518 - 451F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4520 - 4527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4528 - 452F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4530 - 4537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4538 - 453F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4540 - 4547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4548 - 454F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4550 - 4557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4558 - 455F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4560 - 4567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4568 - 456F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4570 - 4577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4578 - 457F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4580 - 4587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4588 - 458F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4590 - 4597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4598 - 459F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45A0 - 45A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45A8 - 45AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45B0 - 45B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45B8 - 45BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45C0 - 45C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45C8 - 45CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45D0 - 45D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45D8 - 45DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45E0 - 45E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45E8 - 45EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45F0 - 45F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 45F8 - 45FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4600 - 4607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4608 - 460F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4610 - 4617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4618 - 461F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4620 - 4627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4628 - 462F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4630 - 4637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4638 - 463F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4640 - 4647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4648 - 464F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4650 - 4657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4658 - 465F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4660 - 4667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4668 - 466F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4670 - 4677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4678 - 467F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4680 - 4687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4688 - 468F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4690 - 4697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4698 - 469F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46A0 - 46A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46A8 - 46AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46B0 - 46B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46B8 - 46BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46C0 - 46C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46C8 - 46CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46D0 - 46D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46D8 - 46DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46E0 - 46E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46E8 - 46EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46F0 - 46F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 46F8 - 46FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4700 - 4707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4708 - 470F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4710 - 4717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4718 - 471F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4720 - 4727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4728 - 472F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4730 - 4737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4738 - 473F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4740 - 4747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4748 - 474F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4750 - 4757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4758 - 475F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4760 - 4767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4768 - 476F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4770 - 4777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4778 - 477F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4780 - 4787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4788 - 478F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4790 - 4797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4798 - 479F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47A0 - 47A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47A8 - 47AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47B0 - 47B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47B8 - 47BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47C0 - 47C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47C8 - 47CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47D0 - 47D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47D8 - 47DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47E0 - 47E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47E8 - 47EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47F0 - 47F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 47F8 - 47FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4800 - 4807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4808 - 480F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4810 - 4817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4818 - 481F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4820 - 4827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4828 - 482F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4830 - 4837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4838 - 483F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4840 - 4847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4848 - 484F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4850 - 4857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4858 - 485F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4860 - 4867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4868 - 486F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4870 - 4877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4878 - 487F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4880 - 4887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4888 - 488F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4890 - 4897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4898 - 489F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48A0 - 48A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48A8 - 48AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48B0 - 48B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48B8 - 48BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48C0 - 48C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48C8 - 48CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48D0 - 48D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48D8 - 48DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48E0 - 48E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48E8 - 48EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48F0 - 48F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 48F8 - 48FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4900 - 4907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4908 - 490F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4910 - 4917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4918 - 491F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4920 - 4927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4928 - 492F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4930 - 4937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4938 - 493F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4940 - 4947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4948 - 494F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4950 - 4957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4958 - 495F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4960 - 4967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4968 - 496F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4970 - 4977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4978 - 497F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4980 - 4987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4988 - 498F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4990 - 4997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4998 - 499F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49A0 - 49A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49A8 - 49AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49B0 - 49B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49B8 - 49BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49C0 - 49C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49C8 - 49CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49D0 - 49D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49D8 - 49DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49E0 - 49E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49E8 - 49EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49F0 - 49F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 49F8 - 49FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A00 - 4A07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A08 - 4A0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A10 - 4A17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A18 - 4A1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A20 - 4A27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A28 - 4A2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A30 - 4A37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A38 - 4A3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A40 - 4A47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A48 - 4A4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A50 - 4A57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A58 - 4A5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A60 - 4A67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A68 - 4A6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A70 - 4A77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A78 - 4A7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A80 - 4A87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A88 - 4A8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A90 - 4A97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4A98 - 4A9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AA0 - 4AA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AA8 - 4AAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AB0 - 4AB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AB8 - 4ABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AC0 - 4AC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AC8 - 4ACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AD0 - 4AD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AD8 - 4ADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AE0 - 4AE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AE8 - 4AEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AF0 - 4AF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4AF8 - 4AFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B00 - 4B07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B08 - 4B0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B10 - 4B17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B18 - 4B1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B20 - 4B27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B28 - 4B2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B30 - 4B37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B38 - 4B3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B40 - 4B47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B48 - 4B4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B50 - 4B57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B58 - 4B5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B60 - 4B67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B68 - 4B6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B70 - 4B77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B78 - 4B7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B80 - 4B87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B88 - 4B8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B90 - 4B97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4B98 - 4B9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BA0 - 4BA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BA8 - 4BAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BB0 - 4BB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BB8 - 4BBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BC0 - 4BC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BC8 - 4BCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BD0 - 4BD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BD8 - 4BDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BE0 - 4BE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BE8 - 4BEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BF0 - 4BF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4BF8 - 4BFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C00 - 4C07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C08 - 4C0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C10 - 4C17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C18 - 4C1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C20 - 4C27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C28 - 4C2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C30 - 4C37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C38 - 4C3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C40 - 4C47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C48 - 4C4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C50 - 4C57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C58 - 4C5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C60 - 4C67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C68 - 4C6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C70 - 4C77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C78 - 4C7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C80 - 4C87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C88 - 4C8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C90 - 4C97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4C98 - 4C9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CA0 - 4CA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CA8 - 4CAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CB0 - 4CB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CB8 - 4CBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CC0 - 4CC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CC8 - 4CCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CD0 - 4CD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CD8 - 4CDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CE0 - 4CE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CE8 - 4CEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CF0 - 4CF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4CF8 - 4CFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D00 - 4D07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D08 - 4D0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D10 - 4D17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D18 - 4D1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D20 - 4D27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D28 - 4D2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D30 - 4D37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D38 - 4D3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D40 - 4D47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D48 - 4D4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D50 - 4D57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D58 - 4D5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D60 - 4D67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D68 - 4D6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D70 - 4D77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D78 - 4D7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D80 - 4D87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D88 - 4D8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D90 - 4D97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4D98 - 4D9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DA0 - 4DA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DA8 - 4DAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DB0 - 4DB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DB8 - 4DBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DC0 - 4DC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DC8 - 4DCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DD0 - 4DD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DD8 - 4DDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DE0 - 4DE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DE8 - 4DEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DF0 - 4DF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4DF8 - 4DFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 4E00 - 4E07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E08 - 4E0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E10 - 4E17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E18 - 4E1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E20 - 4E27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E28 - 4E2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E30 - 4E37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E38 - 4E3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E40 - 4E47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E48 - 4E4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E50 - 4E57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E58 - 4E5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E60 - 4E67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E68 - 4E6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E70 - 4E77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E78 - 4E7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E80 - 4E87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E88 - 4E8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E90 - 4E97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4E98 - 4E9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EA0 - 4EA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EA8 - 4EAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EB0 - 4EB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EB8 - 4EBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EC0 - 4EC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EC8 - 4ECF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4ED0 - 4ED7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4ED8 - 4EDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EE0 - 4EE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EE8 - 4EEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EF0 - 4EF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4EF8 - 4EFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F00 - 4F07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F08 - 4F0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F10 - 4F17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F18 - 4F1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F20 - 4F27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F28 - 4F2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F30 - 4F37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F38 - 4F3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F40 - 4F47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F48 - 4F4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F50 - 4F57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F58 - 4F5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F60 - 4F67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F68 - 4F6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F70 - 4F77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F78 - 4F7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F80 - 4F87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F88 - 4F8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F90 - 4F97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4F98 - 4F9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FA0 - 4FA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FA8 - 4FAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FB0 - 4FB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FB8 - 4FBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FC0 - 4FC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FC8 - 4FCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FD0 - 4FD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FD8 - 4FDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FE0 - 4FE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FE8 - 4FEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FF0 - 4FF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 4FF8 - 4FFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5000 - 5007 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5008 - 500F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5010 - 5017 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5018 - 501F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5020 - 5027 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5028 - 502F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5030 - 5037 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5038 - 503F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5040 - 5047 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5048 - 504F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5050 - 5057 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5058 - 505F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5060 - 5067 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5068 - 506F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5070 - 5077 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5078 - 507F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5080 - 5087 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5088 - 508F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5090 - 5097 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5098 - 509F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50A0 - 50A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50A8 - 50AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50B0 - 50B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50B8 - 50BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50C0 - 50C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50C8 - 50CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50D0 - 50D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50D8 - 50DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50E0 - 50E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50E8 - 50EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50F0 - 50F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 50F8 - 50FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5100 - 5107 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5108 - 510F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5110 - 5117 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5118 - 511F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5120 - 5127 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5128 - 512F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5130 - 5137 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5138 - 513F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5140 - 5147 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5148 - 514F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5150 - 5157 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5158 - 515F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5160 - 5167 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5168 - 516F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5170 - 5177 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5178 - 517F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5180 - 5187 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5188 - 518F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5190 - 5197 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5198 - 519F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51A0 - 51A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51A8 - 51AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51B0 - 51B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51B8 - 51BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51C0 - 51C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51C8 - 51CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51D0 - 51D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51D8 - 51DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51E0 - 51E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51E8 - 51EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51F0 - 51F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 51F8 - 51FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5200 - 5207 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5208 - 520F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5210 - 5217 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5218 - 521F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5220 - 5227 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5228 - 522F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5230 - 5237 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5238 - 523F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5240 - 5247 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5248 - 524F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5250 - 5257 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5258 - 525F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5260 - 5267 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5268 - 526F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5270 - 5277 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5278 - 527F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5280 - 5287 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5288 - 528F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5290 - 5297 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5298 - 529F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52A0 - 52A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52A8 - 52AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52B0 - 52B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52B8 - 52BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52C0 - 52C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52C8 - 52CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52D0 - 52D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52D8 - 52DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52E0 - 52E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52E8 - 52EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52F0 - 52F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 52F8 - 52FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5300 - 5307 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5308 - 530F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5310 - 5317 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5318 - 531F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5320 - 5327 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5328 - 532F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5330 - 5337 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5338 - 533F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5340 - 5347 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5348 - 534F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5350 - 5357 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5358 - 535F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5360 - 5367 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5368 - 536F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5370 - 5377 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5378 - 537F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5380 - 5387 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5388 - 538F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5390 - 5397 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5398 - 539F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53A0 - 53A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53A8 - 53AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53B0 - 53B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53B8 - 53BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53C0 - 53C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53C8 - 53CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53D0 - 53D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53D8 - 53DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53E0 - 53E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53E8 - 53EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53F0 - 53F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 53F8 - 53FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5400 - 5407 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5408 - 540F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5410 - 5417 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5418 - 541F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5420 - 5427 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5428 - 542F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5430 - 5437 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5438 - 543F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5440 - 5447 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5448 - 544F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5450 - 5457 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5458 - 545F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5460 - 5467 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5468 - 546F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5470 - 5477 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5478 - 547F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5480 - 5487 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5488 - 548F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5490 - 5497 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5498 - 549F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54A0 - 54A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54A8 - 54AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54B0 - 54B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54B8 - 54BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54C0 - 54C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54C8 - 54CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54D0 - 54D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54D8 - 54DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54E0 - 54E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54E8 - 54EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54F0 - 54F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 54F8 - 54FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5500 - 5507 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5508 - 550F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5510 - 5517 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5518 - 551F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5520 - 5527 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5528 - 552F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5530 - 5537 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5538 - 553F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5540 - 5547 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5548 - 554F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5550 - 5557 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5558 - 555F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5560 - 5567 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5568 - 556F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5570 - 5577 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5578 - 557F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5580 - 5587 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5588 - 558F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5590 - 5597 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5598 - 559F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55A0 - 55A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55A8 - 55AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55B0 - 55B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55B8 - 55BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55C0 - 55C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55C8 - 55CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55D0 - 55D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55D8 - 55DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55E0 - 55E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55E8 - 55EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55F0 - 55F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 55F8 - 55FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5600 - 5607 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5608 - 560F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5610 - 5617 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5618 - 561F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5620 - 5627 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5628 - 562F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5630 - 5637 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5638 - 563F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5640 - 5647 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5648 - 564F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5650 - 5657 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5658 - 565F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5660 - 5667 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5668 - 566F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5670 - 5677 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5678 - 567F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5680 - 5687 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5688 - 568F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5690 - 5697 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5698 - 569F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56A0 - 56A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56A8 - 56AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56B0 - 56B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56B8 - 56BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56C0 - 56C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56C8 - 56CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56D0 - 56D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56D8 - 56DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56E0 - 56E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56E8 - 56EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56F0 - 56F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 56F8 - 56FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5700 - 5707 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5708 - 570F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5710 - 5717 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5718 - 571F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5720 - 5727 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5728 - 572F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5730 - 5737 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5738 - 573F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5740 - 5747 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5748 - 574F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5750 - 5757 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5758 - 575F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5760 - 5767 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5768 - 576F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5770 - 5777 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5778 - 577F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5780 - 5787 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5788 - 578F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5790 - 5797 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5798 - 579F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57A0 - 57A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57A8 - 57AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57B0 - 57B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57B8 - 57BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57C0 - 57C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57C8 - 57CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57D0 - 57D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57D8 - 57DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57E0 - 57E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57E8 - 57EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57F0 - 57F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 57F8 - 57FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5800 - 5807 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5808 - 580F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5810 - 5817 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5818 - 581F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5820 - 5827 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5828 - 582F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5830 - 5837 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5838 - 583F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5840 - 5847 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5848 - 584F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5850 - 5857 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5858 - 585F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5860 - 5867 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5868 - 586F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5870 - 5877 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5878 - 587F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5880 - 5887 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5888 - 588F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5890 - 5897 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5898 - 589F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58A0 - 58A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58A8 - 58AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58B0 - 58B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58B8 - 58BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58C0 - 58C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58C8 - 58CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58D0 - 58D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58D8 - 58DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58E0 - 58E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58E8 - 58EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58F0 - 58F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 58F8 - 58FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5900 - 5907 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5908 - 590F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5910 - 5917 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5918 - 591F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5920 - 5927 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5928 - 592F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5930 - 5937 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5938 - 593F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5940 - 5947 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5948 - 594F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5950 - 5957 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5958 - 595F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5960 - 5967 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5968 - 596F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5970 - 5977 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5978 - 597F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5980 - 5987 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5988 - 598F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5990 - 5997 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5998 - 599F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59A0 - 59A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59A8 - 59AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59B0 - 59B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59B8 - 59BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59C0 - 59C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59C8 - 59CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59D0 - 59D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59D8 - 59DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59E0 - 59E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59E8 - 59EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59F0 - 59F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 59F8 - 59FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A00 - 5A07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A08 - 5A0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A10 - 5A17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A18 - 5A1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A20 - 5A27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A28 - 5A2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A30 - 5A37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A38 - 5A3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A40 - 5A47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A48 - 5A4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A50 - 5A57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A58 - 5A5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A60 - 5A67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A68 - 5A6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A70 - 5A77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A78 - 5A7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A80 - 5A87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A88 - 5A8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A90 - 5A97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5A98 - 5A9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AA0 - 5AA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AA8 - 5AAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AB0 - 5AB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AB8 - 5ABF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AC0 - 5AC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AC8 - 5ACF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AD0 - 5AD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AD8 - 5ADF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AE0 - 5AE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AE8 - 5AEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AF0 - 5AF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5AF8 - 5AFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B00 - 5B07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B08 - 5B0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B10 - 5B17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B18 - 5B1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B20 - 5B27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B28 - 5B2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B30 - 5B37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B38 - 5B3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B40 - 5B47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B48 - 5B4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B50 - 5B57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B58 - 5B5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B60 - 5B67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B68 - 5B6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B70 - 5B77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B78 - 5B7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B80 - 5B87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B88 - 5B8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B90 - 5B97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5B98 - 5B9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BA0 - 5BA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BA8 - 5BAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BB0 - 5BB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BB8 - 5BBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BC0 - 5BC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BC8 - 5BCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BD0 - 5BD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BD8 - 5BDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BE0 - 5BE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BE8 - 5BEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BF0 - 5BF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5BF8 - 5BFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C00 - 5C07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C08 - 5C0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C10 - 5C17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C18 - 5C1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C20 - 5C27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C28 - 5C2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C30 - 5C37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C38 - 5C3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C40 - 5C47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C48 - 5C4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C50 - 5C57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C58 - 5C5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C60 - 5C67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C68 - 5C6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C70 - 5C77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C78 - 5C7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C80 - 5C87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C88 - 5C8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C90 - 5C97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5C98 - 5C9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CA0 - 5CA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CA8 - 5CAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CB0 - 5CB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CB8 - 5CBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CC0 - 5CC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CC8 - 5CCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CD0 - 5CD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CD8 - 5CDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CE0 - 5CE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CE8 - 5CEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CF0 - 5CF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5CF8 - 5CFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D00 - 5D07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D08 - 5D0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D10 - 5D17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D18 - 5D1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D20 - 5D27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D28 - 5D2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D30 - 5D37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D38 - 5D3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D40 - 5D47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D48 - 5D4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D50 - 5D57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D58 - 5D5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D60 - 5D67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D68 - 5D6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D70 - 5D77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D78 - 5D7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D80 - 5D87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D88 - 5D8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D90 - 5D97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5D98 - 5D9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DA0 - 5DA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DA8 - 5DAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DB0 - 5DB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DB8 - 5DBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DC0 - 5DC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DC8 - 5DCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DD0 - 5DD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DD8 - 5DDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DE0 - 5DE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DE8 - 5DEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DF0 - 5DF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5DF8 - 5DFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E00 - 5E07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E08 - 5E0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E10 - 5E17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E18 - 5E1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E20 - 5E27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E28 - 5E2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E30 - 5E37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E38 - 5E3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E40 - 5E47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E48 - 5E4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E50 - 5E57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E58 - 5E5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E60 - 5E67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E68 - 5E6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E70 - 5E77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E78 - 5E7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E80 - 5E87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E88 - 5E8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E90 - 5E97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5E98 - 5E9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EA0 - 5EA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EA8 - 5EAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EB0 - 5EB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EB8 - 5EBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EC0 - 5EC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EC8 - 5ECF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5ED0 - 5ED7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5ED8 - 5EDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EE0 - 5EE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EE8 - 5EEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EF0 - 5EF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5EF8 - 5EFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F00 - 5F07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F08 - 5F0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F10 - 5F17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F18 - 5F1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F20 - 5F27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F28 - 5F2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F30 - 5F37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F38 - 5F3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F40 - 5F47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F48 - 5F4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F50 - 5F57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F58 - 5F5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F60 - 5F67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F68 - 5F6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F70 - 5F77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F78 - 5F7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F80 - 5F87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F88 - 5F8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F90 - 5F97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5F98 - 5F9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FA0 - 5FA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FA8 - 5FAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FB0 - 5FB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FB8 - 5FBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FC0 - 5FC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FC8 - 5FCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FD0 - 5FD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FD8 - 5FDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FE0 - 5FE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FE8 - 5FEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FF0 - 5FF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 5FF8 - 5FFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6000 - 6007 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6008 - 600F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6010 - 6017 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6018 - 601F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6020 - 6027 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6028 - 602F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6030 - 6037 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6038 - 603F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6040 - 6047 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6048 - 604F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6050 - 6057 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6058 - 605F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6060 - 6067 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6068 - 606F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6070 - 6077 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6078 - 607F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6080 - 6087 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6088 - 608F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6090 - 6097 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6098 - 609F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60A0 - 60A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60A8 - 60AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60B0 - 60B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60B8 - 60BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60C0 - 60C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60C8 - 60CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60D0 - 60D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60D8 - 60DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60E0 - 60E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60E8 - 60EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60F0 - 60F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 60F8 - 60FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6100 - 6107 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6108 - 610F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6110 - 6117 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6118 - 611F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6120 - 6127 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6128 - 612F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6130 - 6137 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6138 - 613F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6140 - 6147 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6148 - 614F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6150 - 6157 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6158 - 615F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6160 - 6167 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6168 - 616F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6170 - 6177 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6178 - 617F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6180 - 6187 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6188 - 618F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6190 - 6197 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6198 - 619F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61A0 - 61A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61A8 - 61AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61B0 - 61B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61B8 - 61BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61C0 - 61C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61C8 - 61CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61D0 - 61D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61D8 - 61DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61E0 - 61E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61E8 - 61EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61F0 - 61F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 61F8 - 61FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6200 - 6207 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6208 - 620F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6210 - 6217 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6218 - 621F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6220 - 6227 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6228 - 622F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6230 - 6237 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6238 - 623F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6240 - 6247 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6248 - 624F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6250 - 6257 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6258 - 625F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6260 - 6267 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6268 - 626F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6270 - 6277 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6278 - 627F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6280 - 6287 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6288 - 628F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6290 - 6297 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6298 - 629F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62A0 - 62A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62A8 - 62AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62B0 - 62B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62B8 - 62BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62C0 - 62C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62C8 - 62CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62D0 - 62D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62D8 - 62DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62E0 - 62E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62E8 - 62EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62F0 - 62F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 62F8 - 62FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6300 - 6307 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6308 - 630F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6310 - 6317 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6318 - 631F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6320 - 6327 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6328 - 632F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6330 - 6337 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6338 - 633F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6340 - 6347 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6348 - 634F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6350 - 6357 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6358 - 635F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6360 - 6367 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6368 - 636F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6370 - 6377 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6378 - 637F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6380 - 6387 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6388 - 638F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6390 - 6397 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6398 - 639F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63A0 - 63A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63A8 - 63AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63B0 - 63B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63B8 - 63BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63C0 - 63C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63C8 - 63CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63D0 - 63D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63D8 - 63DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63E0 - 63E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63E8 - 63EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63F0 - 63F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 63F8 - 63FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6400 - 6407 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6408 - 640F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6410 - 6417 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6418 - 641F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6420 - 6427 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6428 - 642F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6430 - 6437 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6438 - 643F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6440 - 6447 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6448 - 644F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6450 - 6457 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6458 - 645F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6460 - 6467 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6468 - 646F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6470 - 6477 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6478 - 647F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6480 - 6487 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6488 - 648F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6490 - 6497 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6498 - 649F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64A0 - 64A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64A8 - 64AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64B0 - 64B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64B8 - 64BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64C0 - 64C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64C8 - 64CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64D0 - 64D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64D8 - 64DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64E0 - 64E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64E8 - 64EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64F0 - 64F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 64F8 - 64FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6500 - 6507 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6508 - 650F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6510 - 6517 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6518 - 651F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6520 - 6527 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6528 - 652F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6530 - 6537 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6538 - 653F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6540 - 6547 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6548 - 654F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6550 - 6557 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6558 - 655F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6560 - 6567 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6568 - 656F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6570 - 6577 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6578 - 657F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6580 - 6587 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6588 - 658F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6590 - 6597 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6598 - 659F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65A0 - 65A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65A8 - 65AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65B0 - 65B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65B8 - 65BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65C0 - 65C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65C8 - 65CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65D0 - 65D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65D8 - 65DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65E0 - 65E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65E8 - 65EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65F0 - 65F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 65F8 - 65FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6600 - 6607 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6608 - 660F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6610 - 6617 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6618 - 661F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6620 - 6627 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6628 - 662F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6630 - 6637 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6638 - 663F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6640 - 6647 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6648 - 664F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6650 - 6657 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6658 - 665F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6660 - 6667 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6668 - 666F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6670 - 6677 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6678 - 667F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6680 - 6687 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6688 - 668F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6690 - 6697 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6698 - 669F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66A0 - 66A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66A8 - 66AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66B0 - 66B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66B8 - 66BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66C0 - 66C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66C8 - 66CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66D0 - 66D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66D8 - 66DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66E0 - 66E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66E8 - 66EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66F0 - 66F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 66F8 - 66FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6700 - 6707 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6708 - 670F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6710 - 6717 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6718 - 671F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6720 - 6727 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6728 - 672F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6730 - 6737 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6738 - 673F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6740 - 6747 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6748 - 674F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6750 - 6757 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6758 - 675F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6760 - 6767 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6768 - 676F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6770 - 6777 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6778 - 677F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6780 - 6787 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6788 - 678F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6790 - 6797 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6798 - 679F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67A0 - 67A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67A8 - 67AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67B0 - 67B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67B8 - 67BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67C0 - 67C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67C8 - 67CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67D0 - 67D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67D8 - 67DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67E0 - 67E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67E8 - 67EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67F0 - 67F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 67F8 - 67FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6800 - 6807 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6808 - 680F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6810 - 6817 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6818 - 681F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6820 - 6827 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6828 - 682F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6830 - 6837 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6838 - 683F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6840 - 6847 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6848 - 684F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6850 - 6857 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6858 - 685F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6860 - 6867 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6868 - 686F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6870 - 6877 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6878 - 687F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6880 - 6887 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6888 - 688F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6890 - 6897 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6898 - 689F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68A0 - 68A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68A8 - 68AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68B0 - 68B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68B8 - 68BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68C0 - 68C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68C8 - 68CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68D0 - 68D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68D8 - 68DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68E0 - 68E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68E8 - 68EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68F0 - 68F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 68F8 - 68FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6900 - 6907 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6908 - 690F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6910 - 6917 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6918 - 691F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6920 - 6927 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6928 - 692F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6930 - 6937 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6938 - 693F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6940 - 6947 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6948 - 694F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6950 - 6957 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6958 - 695F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6960 - 6967 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6968 - 696F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6970 - 6977 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6978 - 697F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6980 - 6987 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6988 - 698F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6990 - 6997 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6998 - 699F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69A0 - 69A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69A8 - 69AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69B0 - 69B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69B8 - 69BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69C0 - 69C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69C8 - 69CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69D0 - 69D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69D8 - 69DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69E0 - 69E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69E8 - 69EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69F0 - 69F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 69F8 - 69FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A00 - 6A07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A08 - 6A0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A10 - 6A17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A18 - 6A1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A20 - 6A27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A28 - 6A2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A30 - 6A37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A38 - 6A3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A40 - 6A47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A48 - 6A4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A50 - 6A57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A58 - 6A5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A60 - 6A67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A68 - 6A6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A70 - 6A77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A78 - 6A7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A80 - 6A87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A88 - 6A8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A90 - 6A97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6A98 - 6A9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AA0 - 6AA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AA8 - 6AAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AB0 - 6AB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AB8 - 6ABF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AC0 - 6AC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AC8 - 6ACF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AD0 - 6AD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AD8 - 6ADF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AE0 - 6AE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AE8 - 6AEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AF0 - 6AF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6AF8 - 6AFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B00 - 6B07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B08 - 6B0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B10 - 6B17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B18 - 6B1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B20 - 6B27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B28 - 6B2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B30 - 6B37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B38 - 6B3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B40 - 6B47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B48 - 6B4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B50 - 6B57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B58 - 6B5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B60 - 6B67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B68 - 6B6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B70 - 6B77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B78 - 6B7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B80 - 6B87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B88 - 6B8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B90 - 6B97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6B98 - 6B9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BA0 - 6BA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BA8 - 6BAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BB0 - 6BB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BB8 - 6BBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BC0 - 6BC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BC8 - 6BCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BD0 - 6BD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BD8 - 6BDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BE0 - 6BE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BE8 - 6BEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BF0 - 6BF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6BF8 - 6BFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C00 - 6C07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C08 - 6C0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C10 - 6C17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C18 - 6C1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C20 - 6C27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C28 - 6C2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C30 - 6C37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C38 - 6C3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C40 - 6C47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C48 - 6C4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C50 - 6C57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C58 - 6C5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C60 - 6C67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C68 - 6C6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C70 - 6C77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C78 - 6C7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C80 - 6C87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C88 - 6C8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C90 - 6C97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6C98 - 6C9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CA0 - 6CA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CA8 - 6CAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CB0 - 6CB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CB8 - 6CBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CC0 - 6CC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CC8 - 6CCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CD0 - 6CD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CD8 - 6CDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CE0 - 6CE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CE8 - 6CEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CF0 - 6CF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6CF8 - 6CFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D00 - 6D07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D08 - 6D0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D10 - 6D17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D18 - 6D1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D20 - 6D27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D28 - 6D2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D30 - 6D37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D38 - 6D3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D40 - 6D47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D48 - 6D4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D50 - 6D57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D58 - 6D5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D60 - 6D67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D68 - 6D6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D70 - 6D77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D78 - 6D7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D80 - 6D87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D88 - 6D8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D90 - 6D97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6D98 - 6D9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DA0 - 6DA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DA8 - 6DAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DB0 - 6DB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DB8 - 6DBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DC0 - 6DC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DC8 - 6DCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DD0 - 6DD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DD8 - 6DDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DE0 - 6DE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DE8 - 6DEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DF0 - 6DF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6DF8 - 6DFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E00 - 6E07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E08 - 6E0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E10 - 6E17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E18 - 6E1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E20 - 6E27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E28 - 6E2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E30 - 6E37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E38 - 6E3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E40 - 6E47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E48 - 6E4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E50 - 6E57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E58 - 6E5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E60 - 6E67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E68 - 6E6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E70 - 6E77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E78 - 6E7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E80 - 6E87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E88 - 6E8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E90 - 6E97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6E98 - 6E9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EA0 - 6EA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EA8 - 6EAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EB0 - 6EB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EB8 - 6EBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EC0 - 6EC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EC8 - 6ECF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6ED0 - 6ED7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6ED8 - 6EDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EE0 - 6EE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EE8 - 6EEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EF0 - 6EF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6EF8 - 6EFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F00 - 6F07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F08 - 6F0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F10 - 6F17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F18 - 6F1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F20 - 6F27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F28 - 6F2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F30 - 6F37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F38 - 6F3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F40 - 6F47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F48 - 6F4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F50 - 6F57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F58 - 6F5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F60 - 6F67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F68 - 6F6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F70 - 6F77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F78 - 6F7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F80 - 6F87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F88 - 6F8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F90 - 6F97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6F98 - 6F9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FA0 - 6FA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FA8 - 6FAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FB0 - 6FB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FB8 - 6FBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FC0 - 6FC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FC8 - 6FCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FD0 - 6FD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FD8 - 6FDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FE0 - 6FE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FE8 - 6FEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FF0 - 6FF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 6FF8 - 6FFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7000 - 7007 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7008 - 700F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7010 - 7017 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7018 - 701F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7020 - 7027 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7028 - 702F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7030 - 7037 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7038 - 703F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7040 - 7047 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7048 - 704F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7050 - 7057 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7058 - 705F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7060 - 7067 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7068 - 706F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7070 - 7077 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7078 - 707F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7080 - 7087 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7088 - 708F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7090 - 7097 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7098 - 709F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70A0 - 70A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70A8 - 70AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70B0 - 70B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70B8 - 70BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70C0 - 70C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70C8 - 70CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70D0 - 70D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70D8 - 70DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70E0 - 70E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70E8 - 70EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70F0 - 70F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 70F8 - 70FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7100 - 7107 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7108 - 710F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7110 - 7117 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7118 - 711F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7120 - 7127 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7128 - 712F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7130 - 7137 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7138 - 713F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7140 - 7147 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7148 - 714F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7150 - 7157 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7158 - 715F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7160 - 7167 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7168 - 716F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7170 - 7177 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7178 - 717F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7180 - 7187 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7188 - 718F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7190 - 7197 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7198 - 719F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71A0 - 71A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71A8 - 71AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71B0 - 71B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71B8 - 71BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71C0 - 71C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71C8 - 71CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71D0 - 71D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71D8 - 71DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71E0 - 71E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71E8 - 71EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71F0 - 71F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 71F8 - 71FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7200 - 7207 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7208 - 720F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7210 - 7217 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7218 - 721F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7220 - 7227 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7228 - 722F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7230 - 7237 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7238 - 723F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7240 - 7247 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7248 - 724F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7250 - 7257 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7258 - 725F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7260 - 7267 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7268 - 726F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7270 - 7277 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7278 - 727F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7280 - 7287 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7288 - 728F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7290 - 7297 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7298 - 729F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72A0 - 72A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72A8 - 72AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72B0 - 72B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72B8 - 72BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72C0 - 72C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72C8 - 72CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72D0 - 72D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72D8 - 72DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72E0 - 72E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72E8 - 72EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72F0 - 72F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 72F8 - 72FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7300 - 7307 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7308 - 730F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7310 - 7317 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7318 - 731F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7320 - 7327 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7328 - 732F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7330 - 7337 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7338 - 733F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7340 - 7347 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7348 - 734F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7350 - 7357 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7358 - 735F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7360 - 7367 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7368 - 736F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7370 - 7377 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7378 - 737F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7380 - 7387 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7388 - 738F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7390 - 7397 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7398 - 739F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73A0 - 73A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73A8 - 73AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73B0 - 73B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73B8 - 73BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73C0 - 73C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73C8 - 73CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73D0 - 73D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73D8 - 73DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73E0 - 73E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73E8 - 73EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73F0 - 73F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 73F8 - 73FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7400 - 7407 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7408 - 740F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7410 - 7417 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7418 - 741F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7420 - 7427 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7428 - 742F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7430 - 7437 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7438 - 743F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7440 - 7447 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7448 - 744F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7450 - 7457 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7458 - 745F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7460 - 7467 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7468 - 746F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7470 - 7477 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7478 - 747F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7480 - 7487 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7488 - 748F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7490 - 7497 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7498 - 749F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74A0 - 74A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74A8 - 74AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74B0 - 74B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74B8 - 74BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74C0 - 74C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74C8 - 74CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74D0 - 74D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74D8 - 74DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74E0 - 74E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74E8 - 74EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74F0 - 74F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 74F8 - 74FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7500 - 7507 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7508 - 750F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7510 - 7517 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7518 - 751F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7520 - 7527 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7528 - 752F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7530 - 7537 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7538 - 753F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7540 - 7547 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7548 - 754F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7550 - 7557 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7558 - 755F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7560 - 7567 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7568 - 756F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7570 - 7577 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7578 - 757F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7580 - 7587 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7588 - 758F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7590 - 7597 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7598 - 759F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75A0 - 75A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75A8 - 75AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75B0 - 75B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75B8 - 75BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75C0 - 75C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75C8 - 75CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75D0 - 75D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75D8 - 75DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75E0 - 75E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75E8 - 75EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75F0 - 75F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 75F8 - 75FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7600 - 7607 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7608 - 760F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7610 - 7617 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7618 - 761F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7620 - 7627 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7628 - 762F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7630 - 7637 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7638 - 763F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7640 - 7647 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7648 - 764F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7650 - 7657 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7658 - 765F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7660 - 7667 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7668 - 766F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7670 - 7677 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7678 - 767F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7680 - 7687 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7688 - 768F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7690 - 7697 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7698 - 769F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76A0 - 76A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76A8 - 76AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76B0 - 76B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76B8 - 76BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76C0 - 76C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76C8 - 76CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76D0 - 76D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76D8 - 76DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76E0 - 76E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76E8 - 76EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76F0 - 76F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 76F8 - 76FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7700 - 7707 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7708 - 770F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7710 - 7717 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7718 - 771F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7720 - 7727 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7728 - 772F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7730 - 7737 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7738 - 773F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7740 - 7747 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7748 - 774F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7750 - 7757 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7758 - 775F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7760 - 7767 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7768 - 776F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7770 - 7777 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7778 - 777F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7780 - 7787 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7788 - 778F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7790 - 7797 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7798 - 779F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77A0 - 77A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77A8 - 77AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77B0 - 77B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77B8 - 77BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77C0 - 77C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77C8 - 77CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77D0 - 77D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77D8 - 77DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77E0 - 77E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77E8 - 77EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77F0 - 77F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 77F8 - 77FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7800 - 7807 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7808 - 780F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7810 - 7817 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7818 - 781F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7820 - 7827 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7828 - 782F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7830 - 7837 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7838 - 783F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7840 - 7847 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7848 - 784F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7850 - 7857 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7858 - 785F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7860 - 7867 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7868 - 786F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7870 - 7877 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7878 - 787F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7880 - 7887 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7888 - 788F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7890 - 7897 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7898 - 789F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78A0 - 78A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78A8 - 78AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78B0 - 78B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78B8 - 78BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78C0 - 78C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78C8 - 78CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78D0 - 78D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78D8 - 78DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78E0 - 78E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78E8 - 78EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78F0 - 78F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 78F8 - 78FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7900 - 7907 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7908 - 790F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7910 - 7917 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7918 - 791F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7920 - 7927 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7928 - 792F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7930 - 7937 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7938 - 793F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7940 - 7947 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7948 - 794F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7950 - 7957 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7958 - 795F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7960 - 7967 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7968 - 796F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7970 - 7977 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7978 - 797F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7980 - 7987 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7988 - 798F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7990 - 7997 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7998 - 799F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79A0 - 79A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79A8 - 79AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79B0 - 79B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79B8 - 79BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79C0 - 79C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79C8 - 79CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79D0 - 79D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79D8 - 79DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79E0 - 79E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79E8 - 79EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79F0 - 79F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 79F8 - 79FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A00 - 7A07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A08 - 7A0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A10 - 7A17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A18 - 7A1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A20 - 7A27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A28 - 7A2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A30 - 7A37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A38 - 7A3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A40 - 7A47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A48 - 7A4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A50 - 7A57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A58 - 7A5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A60 - 7A67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A68 - 7A6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A70 - 7A77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A78 - 7A7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A80 - 7A87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A88 - 7A8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A90 - 7A97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7A98 - 7A9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AA0 - 7AA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AA8 - 7AAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AB0 - 7AB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AB8 - 7ABF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AC0 - 7AC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AC8 - 7ACF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AD0 - 7AD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AD8 - 7ADF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AE0 - 7AE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AE8 - 7AEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AF0 - 7AF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7AF8 - 7AFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B00 - 7B07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B08 - 7B0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B10 - 7B17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B18 - 7B1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B20 - 7B27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B28 - 7B2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B30 - 7B37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B38 - 7B3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B40 - 7B47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B48 - 7B4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B50 - 7B57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B58 - 7B5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B60 - 7B67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B68 - 7B6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B70 - 7B77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B78 - 7B7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B80 - 7B87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B88 - 7B8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B90 - 7B97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7B98 - 7B9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BA0 - 7BA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BA8 - 7BAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BB0 - 7BB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BB8 - 7BBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BC0 - 7BC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BC8 - 7BCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BD0 - 7BD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BD8 - 7BDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BE0 - 7BE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BE8 - 7BEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BF0 - 7BF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7BF8 - 7BFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C00 - 7C07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C08 - 7C0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C10 - 7C17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C18 - 7C1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C20 - 7C27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C28 - 7C2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C30 - 7C37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C38 - 7C3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C40 - 7C47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C48 - 7C4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C50 - 7C57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C58 - 7C5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C60 - 7C67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C68 - 7C6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C70 - 7C77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C78 - 7C7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C80 - 7C87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C88 - 7C8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C90 - 7C97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7C98 - 7C9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CA0 - 7CA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CA8 - 7CAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CB0 - 7CB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CB8 - 7CBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CC0 - 7CC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CC8 - 7CCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CD0 - 7CD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CD8 - 7CDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CE0 - 7CE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CE8 - 7CEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CF0 - 7CF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7CF8 - 7CFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D00 - 7D07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D08 - 7D0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D10 - 7D17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D18 - 7D1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D20 - 7D27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D28 - 7D2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D30 - 7D37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D38 - 7D3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D40 - 7D47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D48 - 7D4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D50 - 7D57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D58 - 7D5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D60 - 7D67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D68 - 7D6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D70 - 7D77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D78 - 7D7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D80 - 7D87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D88 - 7D8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D90 - 7D97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7D98 - 7D9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DA0 - 7DA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DA8 - 7DAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DB0 - 7DB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DB8 - 7DBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DC0 - 7DC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DC8 - 7DCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DD0 - 7DD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DD8 - 7DDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DE0 - 7DE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DE8 - 7DEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DF0 - 7DF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7DF8 - 7DFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E00 - 7E07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E08 - 7E0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E10 - 7E17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E18 - 7E1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E20 - 7E27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E28 - 7E2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E30 - 7E37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E38 - 7E3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E40 - 7E47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E48 - 7E4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E50 - 7E57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E58 - 7E5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E60 - 7E67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E68 - 7E6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E70 - 7E77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E78 - 7E7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E80 - 7E87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E88 - 7E8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E90 - 7E97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7E98 - 7E9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EA0 - 7EA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EA8 - 7EAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EB0 - 7EB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EB8 - 7EBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EC0 - 7EC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EC8 - 7ECF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7ED0 - 7ED7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7ED8 - 7EDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EE0 - 7EE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EE8 - 7EEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EF0 - 7EF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7EF8 - 7EFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F00 - 7F07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F08 - 7F0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F10 - 7F17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F18 - 7F1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F20 - 7F27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F28 - 7F2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F30 - 7F37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F38 - 7F3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F40 - 7F47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F48 - 7F4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F50 - 7F57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F58 - 7F5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F60 - 7F67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F68 - 7F6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F70 - 7F77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F78 - 7F7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F80 - 7F87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F88 - 7F8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F90 - 7F97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7F98 - 7F9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FA0 - 7FA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FA8 - 7FAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FB0 - 7FB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FB8 - 7FBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FC0 - 7FC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FC8 - 7FCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FD0 - 7FD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FD8 - 7FDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FE0 - 7FE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FE8 - 7FEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FF0 - 7FF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 7FF8 - 7FFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8000 - 8007 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8008 - 800F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8010 - 8017 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8018 - 801F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8020 - 8027 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8028 - 802F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8030 - 8037 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8038 - 803F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8040 - 8047 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8048 - 804F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8050 - 8057 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8058 - 805F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8060 - 8067 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8068 - 806F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8070 - 8077 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8078 - 807F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8080 - 8087 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8088 - 808F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8090 - 8097 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8098 - 809F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80A0 - 80A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80A8 - 80AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80B0 - 80B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80B8 - 80BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80C0 - 80C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80C8 - 80CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80D0 - 80D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80D8 - 80DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80E0 - 80E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80E8 - 80EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80F0 - 80F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 80F8 - 80FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8100 - 8107 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8108 - 810F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8110 - 8117 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8118 - 811F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8120 - 8127 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8128 - 812F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8130 - 8137 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8138 - 813F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8140 - 8147 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8148 - 814F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8150 - 8157 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8158 - 815F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8160 - 8167 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8168 - 816F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8170 - 8177 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8178 - 817F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8180 - 8187 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8188 - 818F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8190 - 8197 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8198 - 819F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81A0 - 81A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81A8 - 81AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81B0 - 81B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81B8 - 81BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81C0 - 81C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81C8 - 81CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81D0 - 81D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81D8 - 81DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81E0 - 81E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81E8 - 81EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81F0 - 81F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 81F8 - 81FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8200 - 8207 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8208 - 820F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8210 - 8217 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8218 - 821F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8220 - 8227 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8228 - 822F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8230 - 8237 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8238 - 823F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8240 - 8247 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8248 - 824F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8250 - 8257 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8258 - 825F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8260 - 8267 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8268 - 826F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8270 - 8277 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8278 - 827F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8280 - 8287 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8288 - 828F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8290 - 8297 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8298 - 829F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82A0 - 82A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82A8 - 82AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82B0 - 82B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82B8 - 82BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82C0 - 82C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82C8 - 82CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82D0 - 82D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82D8 - 82DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82E0 - 82E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82E8 - 82EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82F0 - 82F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 82F8 - 82FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8300 - 8307 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8308 - 830F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8310 - 8317 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8318 - 831F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8320 - 8327 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8328 - 832F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8330 - 8337 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8338 - 833F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8340 - 8347 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8348 - 834F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8350 - 8357 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8358 - 835F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8360 - 8367 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8368 - 836F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8370 - 8377 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8378 - 837F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8380 - 8387 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8388 - 838F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8390 - 8397 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8398 - 839F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83A0 - 83A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83A8 - 83AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83B0 - 83B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83B8 - 83BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83C0 - 83C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83C8 - 83CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83D0 - 83D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83D8 - 83DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83E0 - 83E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83E8 - 83EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83F0 - 83F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 83F8 - 83FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8400 - 8407 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8408 - 840F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8410 - 8417 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8418 - 841F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8420 - 8427 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8428 - 842F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8430 - 8437 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8438 - 843F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8440 - 8447 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8448 - 844F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8450 - 8457 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8458 - 845F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8460 - 8467 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8468 - 846F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8470 - 8477 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8478 - 847F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8480 - 8487 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8488 - 848F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8490 - 8497 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8498 - 849F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84A0 - 84A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84A8 - 84AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84B0 - 84B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84B8 - 84BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84C0 - 84C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84C8 - 84CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84D0 - 84D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84D8 - 84DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84E0 - 84E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84E8 - 84EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84F0 - 84F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 84F8 - 84FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8500 - 8507 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8508 - 850F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8510 - 8517 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8518 - 851F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8520 - 8527 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8528 - 852F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8530 - 8537 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8538 - 853F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8540 - 8547 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8548 - 854F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8550 - 8557 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8558 - 855F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8560 - 8567 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8568 - 856F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8570 - 8577 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8578 - 857F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8580 - 8587 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8588 - 858F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8590 - 8597 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8598 - 859F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85A0 - 85A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85A8 - 85AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85B0 - 85B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85B8 - 85BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85C0 - 85C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85C8 - 85CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85D0 - 85D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85D8 - 85DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85E0 - 85E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85E8 - 85EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85F0 - 85F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 85F8 - 85FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8600 - 8607 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8608 - 860F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8610 - 8617 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8618 - 861F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8620 - 8627 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8628 - 862F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8630 - 8637 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8638 - 863F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8640 - 8647 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8648 - 864F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8650 - 8657 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8658 - 865F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8660 - 8667 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8668 - 866F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8670 - 8677 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8678 - 867F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8680 - 8687 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8688 - 868F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8690 - 8697 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8698 - 869F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86A0 - 86A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86A8 - 86AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86B0 - 86B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86B8 - 86BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86C0 - 86C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86C8 - 86CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86D0 - 86D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86D8 - 86DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86E0 - 86E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86E8 - 86EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86F0 - 86F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 86F8 - 86FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8700 - 8707 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8708 - 870F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8710 - 8717 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8718 - 871F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8720 - 8727 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8728 - 872F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8730 - 8737 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8738 - 873F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8740 - 8747 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8748 - 874F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8750 - 8757 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8758 - 875F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8760 - 8767 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8768 - 876F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8770 - 8777 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8778 - 877F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8780 - 8787 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8788 - 878F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8790 - 8797 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8798 - 879F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87A0 - 87A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87A8 - 87AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87B0 - 87B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87B8 - 87BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87C0 - 87C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87C8 - 87CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87D0 - 87D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87D8 - 87DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87E0 - 87E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87E8 - 87EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87F0 - 87F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 87F8 - 87FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8800 - 8807 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8808 - 880F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8810 - 8817 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8818 - 881F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8820 - 8827 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8828 - 882F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8830 - 8837 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8838 - 883F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8840 - 8847 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8848 - 884F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8850 - 8857 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8858 - 885F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8860 - 8867 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8868 - 886F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8870 - 8877 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8878 - 887F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8880 - 8887 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8888 - 888F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8890 - 8897 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8898 - 889F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88A0 - 88A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88A8 - 88AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88B0 - 88B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88B8 - 88BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88C0 - 88C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88C8 - 88CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88D0 - 88D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88D8 - 88DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88E0 - 88E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88E8 - 88EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88F0 - 88F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 88F8 - 88FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8900 - 8907 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8908 - 890F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8910 - 8917 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8918 - 891F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8920 - 8927 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8928 - 892F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8930 - 8937 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8938 - 893F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8940 - 8947 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8948 - 894F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8950 - 8957 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8958 - 895F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8960 - 8967 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8968 - 896F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8970 - 8977 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8978 - 897F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8980 - 8987 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8988 - 898F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8990 - 8997 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8998 - 899F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89A0 - 89A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89A8 - 89AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89B0 - 89B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89B8 - 89BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89C0 - 89C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89C8 - 89CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89D0 - 89D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89D8 - 89DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89E0 - 89E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89E8 - 89EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89F0 - 89F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 89F8 - 89FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A00 - 8A07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A08 - 8A0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A10 - 8A17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A18 - 8A1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A20 - 8A27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A28 - 8A2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A30 - 8A37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A38 - 8A3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A40 - 8A47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A48 - 8A4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A50 - 8A57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A58 - 8A5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A60 - 8A67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A68 - 8A6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A70 - 8A77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A78 - 8A7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A80 - 8A87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A88 - 8A8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A90 - 8A97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8A98 - 8A9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AA0 - 8AA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AA8 - 8AAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AB0 - 8AB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AB8 - 8ABF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AC0 - 8AC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AC8 - 8ACF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AD0 - 8AD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AD8 - 8ADF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AE0 - 8AE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AE8 - 8AEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AF0 - 8AF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8AF8 - 8AFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B00 - 8B07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B08 - 8B0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B10 - 8B17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B18 - 8B1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B20 - 8B27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B28 - 8B2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B30 - 8B37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B38 - 8B3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B40 - 8B47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B48 - 8B4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B50 - 8B57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B58 - 8B5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B60 - 8B67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B68 - 8B6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B70 - 8B77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B78 - 8B7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B80 - 8B87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B88 - 8B8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B90 - 8B97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8B98 - 8B9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BA0 - 8BA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BA8 - 8BAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BB0 - 8BB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BB8 - 8BBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BC0 - 8BC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BC8 - 8BCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BD0 - 8BD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BD8 - 8BDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BE0 - 8BE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BE8 - 8BEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BF0 - 8BF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8BF8 - 8BFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C00 - 8C07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C08 - 8C0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C10 - 8C17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C18 - 8C1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C20 - 8C27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C28 - 8C2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C30 - 8C37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C38 - 8C3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C40 - 8C47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C48 - 8C4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C50 - 8C57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C58 - 8C5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C60 - 8C67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C68 - 8C6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C70 - 8C77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C78 - 8C7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C80 - 8C87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C88 - 8C8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C90 - 8C97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8C98 - 8C9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CA0 - 8CA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CA8 - 8CAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CB0 - 8CB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CB8 - 8CBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CC0 - 8CC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CC8 - 8CCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CD0 - 8CD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CD8 - 8CDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CE0 - 8CE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CE8 - 8CEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CF0 - 8CF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8CF8 - 8CFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D00 - 8D07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D08 - 8D0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D10 - 8D17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D18 - 8D1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D20 - 8D27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D28 - 8D2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D30 - 8D37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D38 - 8D3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D40 - 8D47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D48 - 8D4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D50 - 8D57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D58 - 8D5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D60 - 8D67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D68 - 8D6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D70 - 8D77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D78 - 8D7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D80 - 8D87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D88 - 8D8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D90 - 8D97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8D98 - 8D9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DA0 - 8DA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DA8 - 8DAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DB0 - 8DB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DB8 - 8DBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DC0 - 8DC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DC8 - 8DCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DD0 - 8DD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DD8 - 8DDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DE0 - 8DE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DE8 - 8DEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DF0 - 8DF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8DF8 - 8DFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E00 - 8E07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E08 - 8E0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E10 - 8E17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E18 - 8E1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E20 - 8E27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E28 - 8E2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E30 - 8E37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E38 - 8E3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E40 - 8E47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E48 - 8E4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E50 - 8E57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E58 - 8E5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E60 - 8E67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E68 - 8E6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E70 - 8E77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E78 - 8E7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E80 - 8E87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E88 - 8E8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E90 - 8E97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8E98 - 8E9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EA0 - 8EA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EA8 - 8EAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EB0 - 8EB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EB8 - 8EBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EC0 - 8EC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EC8 - 8ECF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8ED0 - 8ED7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8ED8 - 8EDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EE0 - 8EE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EE8 - 8EEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EF0 - 8EF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8EF8 - 8EFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F00 - 8F07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F08 - 8F0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F10 - 8F17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F18 - 8F1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F20 - 8F27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F28 - 8F2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F30 - 8F37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F38 - 8F3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F40 - 8F47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F48 - 8F4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F50 - 8F57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F58 - 8F5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F60 - 8F67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F68 - 8F6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F70 - 8F77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F78 - 8F7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F80 - 8F87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F88 - 8F8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F90 - 8F97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8F98 - 8F9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FA0 - 8FA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FA8 - 8FAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FB0 - 8FB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FB8 - 8FBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FC0 - 8FC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FC8 - 8FCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FD0 - 8FD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FD8 - 8FDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FE0 - 8FE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FE8 - 8FEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FF0 - 8FF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 8FF8 - 8FFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9000 - 9007 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9008 - 900F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9010 - 9017 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9018 - 901F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9020 - 9027 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9028 - 902F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9030 - 9037 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9038 - 903F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9040 - 9047 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9048 - 904F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9050 - 9057 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9058 - 905F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9060 - 9067 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9068 - 906F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9070 - 9077 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9078 - 907F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9080 - 9087 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9088 - 908F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9090 - 9097 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9098 - 909F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90A0 - 90A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90A8 - 90AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90B0 - 90B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90B8 - 90BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90C0 - 90C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90C8 - 90CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90D0 - 90D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90D8 - 90DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90E0 - 90E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90E8 - 90EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90F0 - 90F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 90F8 - 90FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9100 - 9107 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9108 - 910F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9110 - 9117 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9118 - 911F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9120 - 9127 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9128 - 912F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9130 - 9137 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9138 - 913F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9140 - 9147 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9148 - 914F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9150 - 9157 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9158 - 915F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9160 - 9167 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9168 - 916F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9170 - 9177 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9178 - 917F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9180 - 9187 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9188 - 918F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9190 - 9197 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9198 - 919F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91A0 - 91A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91A8 - 91AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91B0 - 91B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91B8 - 91BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91C0 - 91C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91C8 - 91CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91D0 - 91D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91D8 - 91DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91E0 - 91E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91E8 - 91EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91F0 - 91F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 91F8 - 91FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9200 - 9207 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9208 - 920F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9210 - 9217 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9218 - 921F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9220 - 9227 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9228 - 922F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9230 - 9237 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9238 - 923F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9240 - 9247 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9248 - 924F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9250 - 9257 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9258 - 925F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9260 - 9267 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9268 - 926F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9270 - 9277 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9278 - 927F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9280 - 9287 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9288 - 928F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9290 - 9297 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9298 - 929F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92A0 - 92A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92A8 - 92AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92B0 - 92B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92B8 - 92BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92C0 - 92C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92C8 - 92CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92D0 - 92D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92D8 - 92DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92E0 - 92E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92E8 - 92EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92F0 - 92F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 92F8 - 92FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9300 - 9307 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9308 - 930F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9310 - 9317 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9318 - 931F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9320 - 9327 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9328 - 932F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9330 - 9337 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9338 - 933F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9340 - 9347 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9348 - 934F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9350 - 9357 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9358 - 935F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9360 - 9367 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9368 - 936F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9370 - 9377 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9378 - 937F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9380 - 9387 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9388 - 938F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9390 - 9397 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9398 - 939F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93A0 - 93A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93A8 - 93AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93B0 - 93B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93B8 - 93BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93C0 - 93C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93C8 - 93CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93D0 - 93D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93D8 - 93DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93E0 - 93E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93E8 - 93EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93F0 - 93F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 93F8 - 93FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9400 - 9407 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9408 - 940F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9410 - 9417 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9418 - 941F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9420 - 9427 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9428 - 942F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9430 - 9437 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9438 - 943F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9440 - 9447 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9448 - 944F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9450 - 9457 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9458 - 945F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9460 - 9467 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9468 - 946F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9470 - 9477 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9478 - 947F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9480 - 9487 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9488 - 948F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9490 - 9497 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9498 - 949F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94A0 - 94A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94A8 - 94AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94B0 - 94B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94B8 - 94BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94C0 - 94C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94C8 - 94CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94D0 - 94D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94D8 - 94DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94E0 - 94E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94E8 - 94EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94F0 - 94F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 94F8 - 94FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9500 - 9507 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9508 - 950F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9510 - 9517 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9518 - 951F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9520 - 9527 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9528 - 952F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9530 - 9537 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9538 - 953F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9540 - 9547 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9548 - 954F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9550 - 9557 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9558 - 955F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9560 - 9567 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9568 - 956F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9570 - 9577 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9578 - 957F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9580 - 9587 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9588 - 958F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9590 - 9597 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9598 - 959F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95A0 - 95A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95A8 - 95AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95B0 - 95B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95B8 - 95BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95C0 - 95C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95C8 - 95CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95D0 - 95D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95D8 - 95DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95E0 - 95E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95E8 - 95EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95F0 - 95F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 95F8 - 95FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9600 - 9607 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9608 - 960F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9610 - 9617 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9618 - 961F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9620 - 9627 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9628 - 962F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9630 - 9637 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9638 - 963F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9640 - 9647 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9648 - 964F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9650 - 9657 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9658 - 965F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9660 - 9667 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9668 - 966F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9670 - 9677 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9678 - 967F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9680 - 9687 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9688 - 968F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9690 - 9697 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9698 - 969F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96A0 - 96A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96A8 - 96AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96B0 - 96B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96B8 - 96BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96C0 - 96C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96C8 - 96CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96D0 - 96D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96D8 - 96DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96E0 - 96E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96E8 - 96EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96F0 - 96F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 96F8 - 96FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9700 - 9707 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9708 - 970F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9710 - 9717 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9718 - 971F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9720 - 9727 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9728 - 972F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9730 - 9737 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9738 - 973F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9740 - 9747 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9748 - 974F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9750 - 9757 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9758 - 975F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9760 - 9767 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9768 - 976F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9770 - 9777 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9778 - 977F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9780 - 9787 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9788 - 978F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9790 - 9797 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9798 - 979F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97A0 - 97A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97A8 - 97AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97B0 - 97B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97B8 - 97BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97C0 - 97C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97C8 - 97CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97D0 - 97D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97D8 - 97DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97E0 - 97E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97E8 - 97EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97F0 - 97F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 97F8 - 97FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9800 - 9807 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9808 - 980F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9810 - 9817 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9818 - 981F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9820 - 9827 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9828 - 982F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9830 - 9837 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9838 - 983F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9840 - 9847 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9848 - 984F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9850 - 9857 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9858 - 985F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9860 - 9867 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9868 - 986F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9870 - 9877 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9878 - 987F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9880 - 9887 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9888 - 988F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9890 - 9897 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9898 - 989F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98A0 - 98A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98A8 - 98AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98B0 - 98B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98B8 - 98BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98C0 - 98C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98C8 - 98CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98D0 - 98D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98D8 - 98DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98E0 - 98E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98E8 - 98EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98F0 - 98F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 98F8 - 98FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9900 - 9907 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9908 - 990F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9910 - 9917 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9918 - 991F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9920 - 9927 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9928 - 992F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9930 - 9937 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9938 - 993F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9940 - 9947 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9948 - 994F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9950 - 9957 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9958 - 995F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9960 - 9967 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9968 - 996F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9970 - 9977 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9978 - 997F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9980 - 9987 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9988 - 998F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9990 - 9997 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9998 - 999F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99A0 - 99A7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99A8 - 99AF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99B0 - 99B7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99B8 - 99BF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99C0 - 99C7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99C8 - 99CF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99D0 - 99D7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99D8 - 99DF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99E0 - 99E7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99E8 - 99EF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99F0 - 99F7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 99F8 - 99FF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A00 - 9A07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A08 - 9A0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A10 - 9A17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A18 - 9A1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A20 - 9A27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A28 - 9A2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A30 - 9A37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A38 - 9A3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A40 - 9A47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A48 - 9A4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A50 - 9A57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A58 - 9A5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A60 - 9A67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A68 - 9A6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A70 - 9A77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A78 - 9A7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A80 - 9A87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A88 - 9A8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A90 - 9A97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9A98 - 9A9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AA0 - 9AA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AA8 - 9AAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AB0 - 9AB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AB8 - 9ABF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AC0 - 9AC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AC8 - 9ACF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AD0 - 9AD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AD8 - 9ADF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AE0 - 9AE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AE8 - 9AEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AF0 - 9AF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9AF8 - 9AFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B00 - 9B07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B08 - 9B0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B10 - 9B17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B18 - 9B1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B20 - 9B27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B28 - 9B2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B30 - 9B37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B38 - 9B3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B40 - 9B47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B48 - 9B4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B50 - 9B57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B58 - 9B5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B60 - 9B67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B68 - 9B6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B70 - 9B77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B78 - 9B7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B80 - 9B87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B88 - 9B8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B90 - 9B97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9B98 - 9B9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BA0 - 9BA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BA8 - 9BAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BB0 - 9BB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BB8 - 9BBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BC0 - 9BC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BC8 - 9BCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BD0 - 9BD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BD8 - 9BDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BE0 - 9BE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BE8 - 9BEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BF0 - 9BF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9BF8 - 9BFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C00 - 9C07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C08 - 9C0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C10 - 9C17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C18 - 9C1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C20 - 9C27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C28 - 9C2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C30 - 9C37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C38 - 9C3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C40 - 9C47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C48 - 9C4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C50 - 9C57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C58 - 9C5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C60 - 9C67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C68 - 9C6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C70 - 9C77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C78 - 9C7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C80 - 9C87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C88 - 9C8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C90 - 9C97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9C98 - 9C9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CA0 - 9CA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CA8 - 9CAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CB0 - 9CB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CB8 - 9CBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CC0 - 9CC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CC8 - 9CCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CD0 - 9CD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CD8 - 9CDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CE0 - 9CE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CE8 - 9CEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CF0 - 9CF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9CF8 - 9CFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D00 - 9D07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D08 - 9D0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D10 - 9D17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D18 - 9D1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D20 - 9D27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D28 - 9D2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D30 - 9D37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D38 - 9D3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D40 - 9D47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D48 - 9D4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D50 - 9D57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D58 - 9D5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D60 - 9D67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D68 - 9D6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D70 - 9D77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D78 - 9D7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D80 - 9D87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D88 - 9D8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D90 - 9D97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9D98 - 9D9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DA0 - 9DA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DA8 - 9DAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DB0 - 9DB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DB8 - 9DBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DC0 - 9DC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DC8 - 9DCF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DD0 - 9DD7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DD8 - 9DDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DE0 - 9DE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DE8 - 9DEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DF0 - 9DF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9DF8 - 9DFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E00 - 9E07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E08 - 9E0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E10 - 9E17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E18 - 9E1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E20 - 9E27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E28 - 9E2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E30 - 9E37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E38 - 9E3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E40 - 9E47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E48 - 9E4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E50 - 9E57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E58 - 9E5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E60 - 9E67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E68 - 9E6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E70 - 9E77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E78 - 9E7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E80 - 9E87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E88 - 9E8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E90 - 9E97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9E98 - 9E9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EA0 - 9EA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EA8 - 9EAF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EB0 - 9EB7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EB8 - 9EBF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EC0 - 9EC7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EC8 - 9ECF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9ED0 - 9ED7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9ED8 - 9EDF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EE0 - 9EE7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EE8 - 9EEF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EF0 - 9EF7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9EF8 - 9EFF */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F00 - 9F07 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F08 - 9F0F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F10 - 9F17 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F18 - 9F1F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F20 - 9F27 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F28 - 9F2F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F30 - 9F37 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F38 - 9F3F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F40 - 9F47 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F48 - 9F4F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F50 - 9F57 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F58 - 9F5F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F60 - 9F67 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F68 - 9F6F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F70 - 9F77 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F78 - 9F7F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F80 - 9F87 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F88 - 9F8F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F90 - 9F97 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9F98 - 9F9F */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, 
-	/* 9FA0 - 9FA7 */ XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_ID, XML_XX, XML_XX, 
-	/* 9FA8 - 9FAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FB0 - 9FB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FB8 - 9FBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FC0 - 9FC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FC8 - 9FCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FD0 - 9FD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FD8 - 9FDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FE0 - 9FE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FE8 - 9FEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FF0 - 9FF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* 9FF8 - 9FFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A000 - A007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A008 - A00F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A010 - A017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A018 - A01F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A020 - A027 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A028 - A02F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A030 - A037 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A038 - A03F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A040 - A047 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A048 - A04F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A050 - A057 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A058 - A05F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A060 - A067 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A068 - A06F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A070 - A077 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A078 - A07F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A080 - A087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A088 - A08F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A090 - A097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A098 - A09F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0A0 - A0A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0A8 - A0AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0B0 - A0B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0B8 - A0BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0C0 - A0C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0C8 - A0CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0D0 - A0D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0D8 - A0DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0E0 - A0E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0E8 - A0EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0F0 - A0F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A0F8 - A0FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A100 - A107 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A108 - A10F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A110 - A117 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A118 - A11F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A120 - A127 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A128 - A12F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A130 - A137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A138 - A13F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A140 - A147 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A148 - A14F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A150 - A157 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A158 - A15F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A160 - A167 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A168 - A16F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A170 - A177 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A178 - A17F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A180 - A187 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A188 - A18F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A190 - A197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A198 - A19F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1A0 - A1A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1A8 - A1AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1B0 - A1B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1B8 - A1BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1C0 - A1C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1C8 - A1CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1D0 - A1D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1D8 - A1DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1E0 - A1E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1E8 - A1EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1F0 - A1F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A1F8 - A1FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A200 - A207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A208 - A20F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A210 - A217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A218 - A21F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A220 - A227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A228 - A22F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A230 - A237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A238 - A23F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A240 - A247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A248 - A24F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A250 - A257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A258 - A25F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A260 - A267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A268 - A26F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A270 - A277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A278 - A27F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A280 - A287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A288 - A28F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A290 - A297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A298 - A29F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2A0 - A2A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2A8 - A2AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2B0 - A2B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2B8 - A2BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2C0 - A2C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2C8 - A2CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2D0 - A2D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2D8 - A2DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2E0 - A2E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2E8 - A2EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2F0 - A2F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A2F8 - A2FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A300 - A307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A308 - A30F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A310 - A317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A318 - A31F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A320 - A327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A328 - A32F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A330 - A337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A338 - A33F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A340 - A347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A348 - A34F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A350 - A357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A358 - A35F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A360 - A367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A368 - A36F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A370 - A377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A378 - A37F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A380 - A387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A388 - A38F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A390 - A397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A398 - A39F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3A0 - A3A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3A8 - A3AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3B0 - A3B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3B8 - A3BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3C0 - A3C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3C8 - A3CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3D0 - A3D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3D8 - A3DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3E0 - A3E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3E8 - A3EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3F0 - A3F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A3F8 - A3FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A400 - A407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A408 - A40F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A410 - A417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A418 - A41F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A420 - A427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A428 - A42F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A430 - A437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A438 - A43F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A440 - A447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A448 - A44F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A450 - A457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A458 - A45F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A460 - A467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A468 - A46F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A470 - A477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A478 - A47F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A480 - A487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A488 - A48F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A490 - A497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A498 - A49F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4A0 - A4A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4A8 - A4AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4B0 - A4B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4B8 - A4BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4C0 - A4C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4C8 - A4CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4D0 - A4D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4D8 - A4DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4E0 - A4E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4E8 - A4EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4F0 - A4F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A4F8 - A4FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A500 - A507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A508 - A50F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A510 - A517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A518 - A51F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A520 - A527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A528 - A52F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A530 - A537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A538 - A53F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A540 - A547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A548 - A54F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A550 - A557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A558 - A55F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A560 - A567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A568 - A56F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A570 - A577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A578 - A57F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A580 - A587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A588 - A58F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A590 - A597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A598 - A59F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5A0 - A5A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5A8 - A5AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5B0 - A5B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5B8 - A5BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5C0 - A5C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5C8 - A5CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5D0 - A5D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5D8 - A5DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5E0 - A5E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5E8 - A5EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5F0 - A5F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A5F8 - A5FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A600 - A607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A608 - A60F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A610 - A617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A618 - A61F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A620 - A627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A628 - A62F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A630 - A637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A638 - A63F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A640 - A647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A648 - A64F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A650 - A657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A658 - A65F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A660 - A667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A668 - A66F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A670 - A677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A678 - A67F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A680 - A687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A688 - A68F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A690 - A697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A698 - A69F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6A0 - A6A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6A8 - A6AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6B0 - A6B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6B8 - A6BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6C0 - A6C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6C8 - A6CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6D0 - A6D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6D8 - A6DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6E0 - A6E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6E8 - A6EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6F0 - A6F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A6F8 - A6FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A700 - A707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A708 - A70F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A710 - A717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A718 - A71F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A720 - A727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A728 - A72F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A730 - A737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A738 - A73F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A740 - A747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A748 - A74F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A750 - A757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A758 - A75F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A760 - A767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A768 - A76F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A770 - A777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A778 - A77F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A780 - A787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A788 - A78F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A790 - A797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A798 - A79F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7A0 - A7A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7A8 - A7AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7B0 - A7B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7B8 - A7BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7C0 - A7C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7C8 - A7CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7D0 - A7D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7D8 - A7DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7E0 - A7E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7E8 - A7EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7F0 - A7F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A7F8 - A7FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A800 - A807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A808 - A80F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A810 - A817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A818 - A81F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A820 - A827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A828 - A82F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A830 - A837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A838 - A83F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A840 - A847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A848 - A84F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A850 - A857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A858 - A85F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A860 - A867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A868 - A86F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A870 - A877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A878 - A87F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A880 - A887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A888 - A88F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A890 - A897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A898 - A89F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8A0 - A8A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8A8 - A8AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8B0 - A8B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8B8 - A8BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8C0 - A8C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8C8 - A8CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8D0 - A8D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8D8 - A8DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8E0 - A8E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8E8 - A8EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8F0 - A8F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A8F8 - A8FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A900 - A907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A908 - A90F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A910 - A917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A918 - A91F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A920 - A927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A928 - A92F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A930 - A937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A938 - A93F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A940 - A947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A948 - A94F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A950 - A957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A958 - A95F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A960 - A967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A968 - A96F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A970 - A977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A978 - A97F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A980 - A987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A988 - A98F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A990 - A997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A998 - A99F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9A0 - A9A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9A8 - A9AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9B0 - A9B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9B8 - A9BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9C0 - A9C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9C8 - A9CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9D0 - A9D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9D8 - A9DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9E0 - A9E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9E8 - A9EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9F0 - A9F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* A9F8 - A9FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA00 - AA07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA08 - AA0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA10 - AA17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA18 - AA1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA20 - AA27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA28 - AA2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA30 - AA37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA38 - AA3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA40 - AA47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA48 - AA4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA50 - AA57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA58 - AA5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA60 - AA67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA68 - AA6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA70 - AA77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA78 - AA7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA80 - AA87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA88 - AA8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA90 - AA97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AA98 - AA9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAA0 - AAA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAA8 - AAAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAB0 - AAB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAB8 - AABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAC0 - AAC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAC8 - AACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAD0 - AAD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAD8 - AADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAE0 - AAE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAE8 - AAEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAF0 - AAF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AAF8 - AAFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB00 - AB07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB08 - AB0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB10 - AB17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB18 - AB1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB20 - AB27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB28 - AB2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB30 - AB37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB38 - AB3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB40 - AB47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB48 - AB4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB50 - AB57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB58 - AB5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB60 - AB67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB68 - AB6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB70 - AB77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB78 - AB7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB80 - AB87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB88 - AB8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB90 - AB97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AB98 - AB9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABA0 - ABA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABA8 - ABAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABB0 - ABB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABB8 - ABBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABC0 - ABC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABC8 - ABCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABD0 - ABD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABD8 - ABDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABE0 - ABE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABE8 - ABEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABF0 - ABF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ABF8 - ABFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* AC00 - AC07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC08 - AC0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC10 - AC17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC18 - AC1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC20 - AC27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC28 - AC2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC30 - AC37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC38 - AC3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC40 - AC47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC48 - AC4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC50 - AC57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC58 - AC5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC60 - AC67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC68 - AC6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC70 - AC77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC78 - AC7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC80 - AC87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC88 - AC8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC90 - AC97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AC98 - AC9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACA0 - ACA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACA8 - ACAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACB0 - ACB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACB8 - ACBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACC0 - ACC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACC8 - ACCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACD0 - ACD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACD8 - ACDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACE0 - ACE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACE8 - ACEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACF0 - ACF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ACF8 - ACFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD00 - AD07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD08 - AD0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD10 - AD17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD18 - AD1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD20 - AD27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD28 - AD2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD30 - AD37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD38 - AD3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD40 - AD47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD48 - AD4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD50 - AD57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD58 - AD5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD60 - AD67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD68 - AD6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD70 - AD77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD78 - AD7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD80 - AD87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD88 - AD8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD90 - AD97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AD98 - AD9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADA0 - ADA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADA8 - ADAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADB0 - ADB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADB8 - ADBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADC0 - ADC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADC8 - ADCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADD0 - ADD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADD8 - ADDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADE0 - ADE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADE8 - ADEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADF0 - ADF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* ADF8 - ADFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE00 - AE07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE08 - AE0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE10 - AE17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE18 - AE1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE20 - AE27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE28 - AE2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE30 - AE37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE38 - AE3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE40 - AE47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE48 - AE4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE50 - AE57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE58 - AE5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE60 - AE67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE68 - AE6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE70 - AE77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE78 - AE7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE80 - AE87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE88 - AE8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE90 - AE97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AE98 - AE9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEA0 - AEA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEA8 - AEAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEB0 - AEB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEB8 - AEBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEC0 - AEC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEC8 - AECF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AED0 - AED7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AED8 - AEDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEE0 - AEE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEE8 - AEEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEF0 - AEF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AEF8 - AEFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF00 - AF07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF08 - AF0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF10 - AF17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF18 - AF1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF20 - AF27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF28 - AF2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF30 - AF37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF38 - AF3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF40 - AF47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF48 - AF4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF50 - AF57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF58 - AF5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF60 - AF67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF68 - AF6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF70 - AF77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF78 - AF7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF80 - AF87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF88 - AF8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF90 - AF97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AF98 - AF9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFA0 - AFA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFA8 - AFAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFB0 - AFB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFB8 - AFBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFC0 - AFC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFC8 - AFCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFD0 - AFD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFD8 - AFDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFE0 - AFE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFE8 - AFEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFF0 - AFF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* AFF8 - AFFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B000 - B007 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B008 - B00F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B010 - B017 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B018 - B01F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B020 - B027 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B028 - B02F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B030 - B037 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B038 - B03F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B040 - B047 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B048 - B04F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B050 - B057 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B058 - B05F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B060 - B067 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B068 - B06F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B070 - B077 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B078 - B07F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B080 - B087 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B088 - B08F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B090 - B097 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B098 - B09F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0A0 - B0A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0A8 - B0AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0B0 - B0B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0B8 - B0BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0C0 - B0C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0C8 - B0CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0D0 - B0D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0D8 - B0DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0E0 - B0E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0E8 - B0EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0F0 - B0F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B0F8 - B0FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B100 - B107 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B108 - B10F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B110 - B117 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B118 - B11F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B120 - B127 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B128 - B12F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B130 - B137 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B138 - B13F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B140 - B147 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B148 - B14F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B150 - B157 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B158 - B15F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B160 - B167 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B168 - B16F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B170 - B177 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B178 - B17F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B180 - B187 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B188 - B18F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B190 - B197 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B198 - B19F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1A0 - B1A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1A8 - B1AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1B0 - B1B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1B8 - B1BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1C0 - B1C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1C8 - B1CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1D0 - B1D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1D8 - B1DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1E0 - B1E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1E8 - B1EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1F0 - B1F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B1F8 - B1FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B200 - B207 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B208 - B20F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B210 - B217 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B218 - B21F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B220 - B227 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B228 - B22F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B230 - B237 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B238 - B23F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B240 - B247 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B248 - B24F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B250 - B257 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B258 - B25F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B260 - B267 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B268 - B26F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B270 - B277 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B278 - B27F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B280 - B287 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B288 - B28F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B290 - B297 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B298 - B29F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2A0 - B2A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2A8 - B2AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2B0 - B2B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2B8 - B2BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2C0 - B2C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2C8 - B2CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2D0 - B2D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2D8 - B2DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2E0 - B2E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2E8 - B2EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2F0 - B2F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B2F8 - B2FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B300 - B307 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B308 - B30F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B310 - B317 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B318 - B31F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B320 - B327 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B328 - B32F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B330 - B337 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B338 - B33F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B340 - B347 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B348 - B34F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B350 - B357 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B358 - B35F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B360 - B367 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B368 - B36F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B370 - B377 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B378 - B37F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B380 - B387 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B388 - B38F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B390 - B397 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B398 - B39F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3A0 - B3A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3A8 - B3AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3B0 - B3B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3B8 - B3BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3C0 - B3C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3C8 - B3CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3D0 - B3D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3D8 - B3DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3E0 - B3E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3E8 - B3EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3F0 - B3F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B3F8 - B3FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B400 - B407 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B408 - B40F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B410 - B417 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B418 - B41F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B420 - B427 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B428 - B42F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B430 - B437 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B438 - B43F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B440 - B447 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B448 - B44F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B450 - B457 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B458 - B45F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B460 - B467 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B468 - B46F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B470 - B477 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B478 - B47F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B480 - B487 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B488 - B48F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B490 - B497 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B498 - B49F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4A0 - B4A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4A8 - B4AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4B0 - B4B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4B8 - B4BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4C0 - B4C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4C8 - B4CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4D0 - B4D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4D8 - B4DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4E0 - B4E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4E8 - B4EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4F0 - B4F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B4F8 - B4FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B500 - B507 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B508 - B50F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B510 - B517 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B518 - B51F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B520 - B527 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B528 - B52F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B530 - B537 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B538 - B53F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B540 - B547 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B548 - B54F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B550 - B557 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B558 - B55F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B560 - B567 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B568 - B56F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B570 - B577 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B578 - B57F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B580 - B587 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B588 - B58F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B590 - B597 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B598 - B59F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5A0 - B5A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5A8 - B5AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5B0 - B5B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5B8 - B5BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5C0 - B5C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5C8 - B5CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5D0 - B5D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5D8 - B5DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5E0 - B5E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5E8 - B5EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5F0 - B5F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B5F8 - B5FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B600 - B607 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B608 - B60F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B610 - B617 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B618 - B61F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B620 - B627 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B628 - B62F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B630 - B637 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B638 - B63F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B640 - B647 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B648 - B64F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B650 - B657 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B658 - B65F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B660 - B667 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B668 - B66F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B670 - B677 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B678 - B67F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B680 - B687 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B688 - B68F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B690 - B697 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B698 - B69F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6A0 - B6A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6A8 - B6AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6B0 - B6B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6B8 - B6BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6C0 - B6C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6C8 - B6CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6D0 - B6D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6D8 - B6DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6E0 - B6E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6E8 - B6EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6F0 - B6F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B6F8 - B6FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B700 - B707 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B708 - B70F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B710 - B717 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B718 - B71F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B720 - B727 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B728 - B72F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B730 - B737 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B738 - B73F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B740 - B747 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B748 - B74F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B750 - B757 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B758 - B75F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B760 - B767 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B768 - B76F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B770 - B777 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B778 - B77F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B780 - B787 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B788 - B78F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B790 - B797 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B798 - B79F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7A0 - B7A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7A8 - B7AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7B0 - B7B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7B8 - B7BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7C0 - B7C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7C8 - B7CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7D0 - B7D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7D8 - B7DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7E0 - B7E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7E8 - B7EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7F0 - B7F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B7F8 - B7FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B800 - B807 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B808 - B80F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B810 - B817 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B818 - B81F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B820 - B827 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B828 - B82F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B830 - B837 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B838 - B83F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B840 - B847 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B848 - B84F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B850 - B857 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B858 - B85F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B860 - B867 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B868 - B86F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B870 - B877 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B878 - B87F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B880 - B887 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B888 - B88F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B890 - B897 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B898 - B89F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8A0 - B8A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8A8 - B8AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8B0 - B8B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8B8 - B8BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8C0 - B8C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8C8 - B8CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8D0 - B8D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8D8 - B8DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8E0 - B8E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8E8 - B8EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8F0 - B8F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B8F8 - B8FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B900 - B907 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B908 - B90F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B910 - B917 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B918 - B91F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B920 - B927 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B928 - B92F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B930 - B937 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B938 - B93F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B940 - B947 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B948 - B94F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B950 - B957 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B958 - B95F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B960 - B967 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B968 - B96F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B970 - B977 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B978 - B97F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B980 - B987 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B988 - B98F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B990 - B997 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B998 - B99F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9A0 - B9A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9A8 - B9AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9B0 - B9B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9B8 - B9BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9C0 - B9C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9C8 - B9CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9D0 - B9D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9D8 - B9DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9E0 - B9E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9E8 - B9EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9F0 - B9F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* B9F8 - B9FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA00 - BA07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA08 - BA0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA10 - BA17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA18 - BA1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA20 - BA27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA28 - BA2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA30 - BA37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA38 - BA3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA40 - BA47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA48 - BA4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA50 - BA57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA58 - BA5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA60 - BA67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA68 - BA6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA70 - BA77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA78 - BA7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA80 - BA87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA88 - BA8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA90 - BA97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BA98 - BA9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAA0 - BAA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAA8 - BAAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAB0 - BAB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAB8 - BABF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAC0 - BAC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAC8 - BACF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAD0 - BAD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAD8 - BADF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAE0 - BAE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAE8 - BAEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAF0 - BAF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BAF8 - BAFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB00 - BB07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB08 - BB0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB10 - BB17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB18 - BB1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB20 - BB27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB28 - BB2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB30 - BB37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB38 - BB3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB40 - BB47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB48 - BB4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB50 - BB57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB58 - BB5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB60 - BB67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB68 - BB6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB70 - BB77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB78 - BB7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB80 - BB87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB88 - BB8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB90 - BB97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BB98 - BB9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBA0 - BBA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBA8 - BBAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBB0 - BBB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBB8 - BBBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBC0 - BBC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBC8 - BBCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBD0 - BBD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBD8 - BBDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBE0 - BBE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBE8 - BBEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBF0 - BBF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BBF8 - BBFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC00 - BC07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC08 - BC0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC10 - BC17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC18 - BC1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC20 - BC27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC28 - BC2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC30 - BC37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC38 - BC3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC40 - BC47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC48 - BC4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC50 - BC57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC58 - BC5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC60 - BC67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC68 - BC6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC70 - BC77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC78 - BC7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC80 - BC87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC88 - BC8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC90 - BC97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BC98 - BC9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCA0 - BCA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCA8 - BCAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCB0 - BCB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCB8 - BCBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCC0 - BCC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCC8 - BCCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCD0 - BCD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCD8 - BCDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCE0 - BCE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCE8 - BCEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCF0 - BCF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BCF8 - BCFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD00 - BD07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD08 - BD0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD10 - BD17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD18 - BD1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD20 - BD27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD28 - BD2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD30 - BD37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD38 - BD3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD40 - BD47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD48 - BD4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD50 - BD57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD58 - BD5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD60 - BD67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD68 - BD6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD70 - BD77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD78 - BD7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD80 - BD87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD88 - BD8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD90 - BD97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BD98 - BD9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDA0 - BDA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDA8 - BDAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDB0 - BDB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDB8 - BDBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDC0 - BDC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDC8 - BDCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDD0 - BDD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDD8 - BDDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDE0 - BDE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDE8 - BDEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDF0 - BDF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BDF8 - BDFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE00 - BE07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE08 - BE0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE10 - BE17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE18 - BE1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE20 - BE27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE28 - BE2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE30 - BE37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE38 - BE3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE40 - BE47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE48 - BE4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE50 - BE57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE58 - BE5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE60 - BE67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE68 - BE6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE70 - BE77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE78 - BE7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE80 - BE87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE88 - BE8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE90 - BE97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BE98 - BE9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEA0 - BEA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEA8 - BEAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEB0 - BEB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEB8 - BEBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEC0 - BEC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEC8 - BECF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BED0 - BED7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BED8 - BEDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEE0 - BEE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEE8 - BEEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEF0 - BEF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BEF8 - BEFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF00 - BF07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF08 - BF0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF10 - BF17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF18 - BF1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF20 - BF27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF28 - BF2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF30 - BF37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF38 - BF3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF40 - BF47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF48 - BF4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF50 - BF57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF58 - BF5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF60 - BF67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF68 - BF6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF70 - BF77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF78 - BF7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF80 - BF87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF88 - BF8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF90 - BF97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BF98 - BF9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFA0 - BFA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFA8 - BFAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFB0 - BFB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFB8 - BFBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFC0 - BFC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFC8 - BFCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFD0 - BFD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFD8 - BFDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFE0 - BFE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFE8 - BFEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFF0 - BFF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* BFF8 - BFFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C000 - C007 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C008 - C00F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C010 - C017 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C018 - C01F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C020 - C027 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C028 - C02F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C030 - C037 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C038 - C03F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C040 - C047 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C048 - C04F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C050 - C057 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C058 - C05F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C060 - C067 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C068 - C06F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C070 - C077 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C078 - C07F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C080 - C087 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C088 - C08F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C090 - C097 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C098 - C09F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0A0 - C0A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0A8 - C0AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0B0 - C0B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0B8 - C0BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0C0 - C0C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0C8 - C0CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0D0 - C0D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0D8 - C0DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0E0 - C0E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0E8 - C0EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0F0 - C0F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C0F8 - C0FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C100 - C107 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C108 - C10F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C110 - C117 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C118 - C11F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C120 - C127 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C128 - C12F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C130 - C137 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C138 - C13F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C140 - C147 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C148 - C14F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C150 - C157 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C158 - C15F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C160 - C167 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C168 - C16F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C170 - C177 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C178 - C17F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C180 - C187 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C188 - C18F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C190 - C197 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C198 - C19F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1A0 - C1A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1A8 - C1AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1B0 - C1B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1B8 - C1BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1C0 - C1C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1C8 - C1CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1D0 - C1D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1D8 - C1DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1E0 - C1E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1E8 - C1EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1F0 - C1F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C1F8 - C1FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C200 - C207 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C208 - C20F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C210 - C217 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C218 - C21F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C220 - C227 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C228 - C22F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C230 - C237 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C238 - C23F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C240 - C247 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C248 - C24F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C250 - C257 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C258 - C25F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C260 - C267 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C268 - C26F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C270 - C277 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C278 - C27F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C280 - C287 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C288 - C28F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C290 - C297 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C298 - C29F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2A0 - C2A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2A8 - C2AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2B0 - C2B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2B8 - C2BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2C0 - C2C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2C8 - C2CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2D0 - C2D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2D8 - C2DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2E0 - C2E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2E8 - C2EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2F0 - C2F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C2F8 - C2FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C300 - C307 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C308 - C30F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C310 - C317 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C318 - C31F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C320 - C327 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C328 - C32F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C330 - C337 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C338 - C33F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C340 - C347 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C348 - C34F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C350 - C357 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C358 - C35F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C360 - C367 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C368 - C36F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C370 - C377 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C378 - C37F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C380 - C387 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C388 - C38F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C390 - C397 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C398 - C39F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3A0 - C3A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3A8 - C3AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3B0 - C3B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3B8 - C3BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3C0 - C3C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3C8 - C3CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3D0 - C3D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3D8 - C3DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3E0 - C3E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3E8 - C3EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3F0 - C3F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C3F8 - C3FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C400 - C407 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C408 - C40F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C410 - C417 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C418 - C41F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C420 - C427 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C428 - C42F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C430 - C437 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C438 - C43F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C440 - C447 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C448 - C44F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C450 - C457 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C458 - C45F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C460 - C467 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C468 - C46F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C470 - C477 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C478 - C47F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C480 - C487 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C488 - C48F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C490 - C497 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C498 - C49F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4A0 - C4A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4A8 - C4AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4B0 - C4B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4B8 - C4BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4C0 - C4C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4C8 - C4CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4D0 - C4D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4D8 - C4DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4E0 - C4E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4E8 - C4EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4F0 - C4F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C4F8 - C4FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C500 - C507 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C508 - C50F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C510 - C517 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C518 - C51F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C520 - C527 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C528 - C52F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C530 - C537 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C538 - C53F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C540 - C547 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C548 - C54F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C550 - C557 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C558 - C55F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C560 - C567 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C568 - C56F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C570 - C577 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C578 - C57F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C580 - C587 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C588 - C58F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C590 - C597 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C598 - C59F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5A0 - C5A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5A8 - C5AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5B0 - C5B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5B8 - C5BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5C0 - C5C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5C8 - C5CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5D0 - C5D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5D8 - C5DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5E0 - C5E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5E8 - C5EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5F0 - C5F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C5F8 - C5FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C600 - C607 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C608 - C60F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C610 - C617 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C618 - C61F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C620 - C627 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C628 - C62F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C630 - C637 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C638 - C63F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C640 - C647 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C648 - C64F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C650 - C657 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C658 - C65F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C660 - C667 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C668 - C66F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C670 - C677 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C678 - C67F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C680 - C687 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C688 - C68F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C690 - C697 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C698 - C69F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6A0 - C6A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6A8 - C6AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6B0 - C6B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6B8 - C6BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6C0 - C6C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6C8 - C6CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6D0 - C6D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6D8 - C6DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6E0 - C6E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6E8 - C6EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6F0 - C6F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C6F8 - C6FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C700 - C707 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C708 - C70F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C710 - C717 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C718 - C71F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C720 - C727 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C728 - C72F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C730 - C737 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C738 - C73F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C740 - C747 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C748 - C74F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C750 - C757 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C758 - C75F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C760 - C767 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C768 - C76F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C770 - C777 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C778 - C77F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C780 - C787 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C788 - C78F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C790 - C797 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C798 - C79F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7A0 - C7A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7A8 - C7AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7B0 - C7B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7B8 - C7BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7C0 - C7C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7C8 - C7CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7D0 - C7D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7D8 - C7DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7E0 - C7E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7E8 - C7EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7F0 - C7F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C7F8 - C7FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C800 - C807 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C808 - C80F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C810 - C817 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C818 - C81F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C820 - C827 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C828 - C82F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C830 - C837 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C838 - C83F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C840 - C847 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C848 - C84F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C850 - C857 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C858 - C85F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C860 - C867 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C868 - C86F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C870 - C877 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C878 - C87F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C880 - C887 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C888 - C88F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C890 - C897 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C898 - C89F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8A0 - C8A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8A8 - C8AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8B0 - C8B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8B8 - C8BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8C0 - C8C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8C8 - C8CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8D0 - C8D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8D8 - C8DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8E0 - C8E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8E8 - C8EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8F0 - C8F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C8F8 - C8FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C900 - C907 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C908 - C90F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C910 - C917 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C918 - C91F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C920 - C927 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C928 - C92F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C930 - C937 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C938 - C93F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C940 - C947 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C948 - C94F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C950 - C957 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C958 - C95F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C960 - C967 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C968 - C96F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C970 - C977 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C978 - C97F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C980 - C987 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C988 - C98F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C990 - C997 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C998 - C99F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9A0 - C9A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9A8 - C9AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9B0 - C9B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9B8 - C9BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9C0 - C9C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9C8 - C9CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9D0 - C9D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9D8 - C9DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9E0 - C9E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9E8 - C9EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9F0 - C9F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* C9F8 - C9FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA00 - CA07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA08 - CA0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA10 - CA17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA18 - CA1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA20 - CA27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA28 - CA2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA30 - CA37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA38 - CA3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA40 - CA47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA48 - CA4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA50 - CA57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA58 - CA5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA60 - CA67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA68 - CA6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA70 - CA77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA78 - CA7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA80 - CA87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA88 - CA8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA90 - CA97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CA98 - CA9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAA0 - CAA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAA8 - CAAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAB0 - CAB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAB8 - CABF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAC0 - CAC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAC8 - CACF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAD0 - CAD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAD8 - CADF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAE0 - CAE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAE8 - CAEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAF0 - CAF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CAF8 - CAFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB00 - CB07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB08 - CB0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB10 - CB17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB18 - CB1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB20 - CB27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB28 - CB2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB30 - CB37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB38 - CB3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB40 - CB47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB48 - CB4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB50 - CB57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB58 - CB5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB60 - CB67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB68 - CB6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB70 - CB77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB78 - CB7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB80 - CB87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB88 - CB8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB90 - CB97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CB98 - CB9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBA0 - CBA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBA8 - CBAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBB0 - CBB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBB8 - CBBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBC0 - CBC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBC8 - CBCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBD0 - CBD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBD8 - CBDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBE0 - CBE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBE8 - CBEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBF0 - CBF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CBF8 - CBFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC00 - CC07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC08 - CC0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC10 - CC17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC18 - CC1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC20 - CC27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC28 - CC2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC30 - CC37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC38 - CC3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC40 - CC47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC48 - CC4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC50 - CC57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC58 - CC5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC60 - CC67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC68 - CC6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC70 - CC77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC78 - CC7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC80 - CC87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC88 - CC8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC90 - CC97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CC98 - CC9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCA0 - CCA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCA8 - CCAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCB0 - CCB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCB8 - CCBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCC0 - CCC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCC8 - CCCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCD0 - CCD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCD8 - CCDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCE0 - CCE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCE8 - CCEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCF0 - CCF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CCF8 - CCFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD00 - CD07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD08 - CD0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD10 - CD17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD18 - CD1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD20 - CD27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD28 - CD2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD30 - CD37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD38 - CD3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD40 - CD47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD48 - CD4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD50 - CD57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD58 - CD5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD60 - CD67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD68 - CD6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD70 - CD77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD78 - CD7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD80 - CD87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD88 - CD8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD90 - CD97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CD98 - CD9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDA0 - CDA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDA8 - CDAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDB0 - CDB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDB8 - CDBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDC0 - CDC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDC8 - CDCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDD0 - CDD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDD8 - CDDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDE0 - CDE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDE8 - CDEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDF0 - CDF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CDF8 - CDFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE00 - CE07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE08 - CE0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE10 - CE17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE18 - CE1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE20 - CE27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE28 - CE2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE30 - CE37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE38 - CE3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE40 - CE47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE48 - CE4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE50 - CE57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE58 - CE5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE60 - CE67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE68 - CE6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE70 - CE77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE78 - CE7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE80 - CE87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE88 - CE8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE90 - CE97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CE98 - CE9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEA0 - CEA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEA8 - CEAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEB0 - CEB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEB8 - CEBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEC0 - CEC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEC8 - CECF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CED0 - CED7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CED8 - CEDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEE0 - CEE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEE8 - CEEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEF0 - CEF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CEF8 - CEFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF00 - CF07 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF08 - CF0F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF10 - CF17 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF18 - CF1F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF20 - CF27 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF28 - CF2F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF30 - CF37 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF38 - CF3F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF40 - CF47 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF48 - CF4F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF50 - CF57 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF58 - CF5F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF60 - CF67 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF68 - CF6F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF70 - CF77 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF78 - CF7F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF80 - CF87 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF88 - CF8F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF90 - CF97 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CF98 - CF9F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFA0 - CFA7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFA8 - CFAF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFB0 - CFB7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFB8 - CFBF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFC0 - CFC7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFC8 - CFCF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFD0 - CFD7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFD8 - CFDF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFE0 - CFE7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFE8 - CFEF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFF0 - CFF7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* CFF8 - CFFF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D000 - D007 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D008 - D00F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D010 - D017 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D018 - D01F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D020 - D027 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D028 - D02F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D030 - D037 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D038 - D03F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D040 - D047 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D048 - D04F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D050 - D057 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D058 - D05F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D060 - D067 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D068 - D06F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D070 - D077 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D078 - D07F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D080 - D087 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D088 - D08F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D090 - D097 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D098 - D09F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0A0 - D0A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0A8 - D0AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0B0 - D0B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0B8 - D0BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0C0 - D0C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0C8 - D0CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0D0 - D0D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0D8 - D0DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0E0 - D0E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0E8 - D0EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0F0 - D0F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D0F8 - D0FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D100 - D107 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D108 - D10F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D110 - D117 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D118 - D11F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D120 - D127 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D128 - D12F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D130 - D137 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D138 - D13F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D140 - D147 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D148 - D14F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D150 - D157 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D158 - D15F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D160 - D167 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D168 - D16F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D170 - D177 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D178 - D17F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D180 - D187 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D188 - D18F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D190 - D197 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D198 - D19F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1A0 - D1A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1A8 - D1AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1B0 - D1B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1B8 - D1BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1C0 - D1C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1C8 - D1CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1D0 - D1D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1D8 - D1DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1E0 - D1E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1E8 - D1EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1F0 - D1F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D1F8 - D1FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D200 - D207 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D208 - D20F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D210 - D217 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D218 - D21F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D220 - D227 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D228 - D22F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D230 - D237 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D238 - D23F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D240 - D247 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D248 - D24F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D250 - D257 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D258 - D25F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D260 - D267 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D268 - D26F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D270 - D277 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D278 - D27F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D280 - D287 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D288 - D28F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D290 - D297 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D298 - D29F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2A0 - D2A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2A8 - D2AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2B0 - D2B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2B8 - D2BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2C0 - D2C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2C8 - D2CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2D0 - D2D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2D8 - D2DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2E0 - D2E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2E8 - D2EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2F0 - D2F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D2F8 - D2FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D300 - D307 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D308 - D30F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D310 - D317 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D318 - D31F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D320 - D327 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D328 - D32F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D330 - D337 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D338 - D33F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D340 - D347 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D348 - D34F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D350 - D357 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D358 - D35F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D360 - D367 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D368 - D36F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D370 - D377 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D378 - D37F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D380 - D387 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D388 - D38F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D390 - D397 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D398 - D39F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3A0 - D3A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3A8 - D3AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3B0 - D3B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3B8 - D3BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3C0 - D3C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3C8 - D3CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3D0 - D3D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3D8 - D3DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3E0 - D3E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3E8 - D3EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3F0 - D3F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D3F8 - D3FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D400 - D407 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D408 - D40F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D410 - D417 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D418 - D41F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D420 - D427 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D428 - D42F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D430 - D437 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D438 - D43F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D440 - D447 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D448 - D44F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D450 - D457 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D458 - D45F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D460 - D467 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D468 - D46F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D470 - D477 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D478 - D47F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D480 - D487 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D488 - D48F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D490 - D497 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D498 - D49F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4A0 - D4A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4A8 - D4AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4B0 - D4B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4B8 - D4BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4C0 - D4C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4C8 - D4CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4D0 - D4D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4D8 - D4DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4E0 - D4E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4E8 - D4EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4F0 - D4F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D4F8 - D4FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D500 - D507 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D508 - D50F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D510 - D517 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D518 - D51F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D520 - D527 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D528 - D52F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D530 - D537 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D538 - D53F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D540 - D547 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D548 - D54F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D550 - D557 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D558 - D55F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D560 - D567 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D568 - D56F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D570 - D577 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D578 - D57F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D580 - D587 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D588 - D58F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D590 - D597 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D598 - D59F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5A0 - D5A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5A8 - D5AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5B0 - D5B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5B8 - D5BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5C0 - D5C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5C8 - D5CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5D0 - D5D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5D8 - D5DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5E0 - D5E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5E8 - D5EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5F0 - D5F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D5F8 - D5FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D600 - D607 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D608 - D60F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D610 - D617 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D618 - D61F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D620 - D627 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D628 - D62F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D630 - D637 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D638 - D63F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D640 - D647 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D648 - D64F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D650 - D657 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D658 - D65F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D660 - D667 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D668 - D66F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D670 - D677 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D678 - D67F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D680 - D687 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D688 - D68F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D690 - D697 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D698 - D69F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6A0 - D6A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6A8 - D6AF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6B0 - D6B7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6B8 - D6BF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6C0 - D6C7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6C8 - D6CF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6D0 - D6D7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6D8 - D6DF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6E0 - D6E7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6E8 - D6EF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6F0 - D6F7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D6F8 - D6FF */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D700 - D707 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D708 - D70F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D710 - D717 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D718 - D71F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D720 - D727 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D728 - D72F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D730 - D737 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D738 - D73F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D740 - D747 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D748 - D74F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D750 - D757 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D758 - D75F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D760 - D767 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D768 - D76F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D770 - D777 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D778 - D77F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D780 - D787 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D788 - D78F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D790 - D797 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D798 - D79F */ XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, XML_BC, 
-	/* D7A0 - D7A7 */ XML_BC, XML_BC, XML_BC, XML_BC, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7A8 - D7AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7B0 - D7B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7B8 - D7BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7C0 - D7C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7C8 - D7CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7D0 - D7D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7D8 - D7DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7E0 - D7E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7E8 - D7EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7F0 - D7F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D7F8 - D7FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D800 - D807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D808 - D80F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D810 - D817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D818 - D81F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D820 - D827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D828 - D82F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D830 - D837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D838 - D83F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D840 - D847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D848 - D84F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D850 - D857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D858 - D85F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D860 - D867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D868 - D86F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D870 - D877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D878 - D87F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D880 - D887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D888 - D88F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D890 - D897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D898 - D89F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8A0 - D8A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8A8 - D8AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8B0 - D8B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8B8 - D8BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8C0 - D8C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8C8 - D8CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8D0 - D8D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8D8 - D8DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8E0 - D8E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8E8 - D8EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8F0 - D8F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D8F8 - D8FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D900 - D907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D908 - D90F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D910 - D917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D918 - D91F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D920 - D927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D928 - D92F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D930 - D937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D938 - D93F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D940 - D947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D948 - D94F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D950 - D957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D958 - D95F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D960 - D967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D968 - D96F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D970 - D977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D978 - D97F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D980 - D987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D988 - D98F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D990 - D997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D998 - D99F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9A0 - D9A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9A8 - D9AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9B0 - D9B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9B8 - D9BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9C0 - D9C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9C8 - D9CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9D0 - D9D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9D8 - D9DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9E0 - D9E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9E8 - D9EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9F0 - D9F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* D9F8 - D9FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA00 - DA07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA08 - DA0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA10 - DA17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA18 - DA1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA20 - DA27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA28 - DA2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA30 - DA37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA38 - DA3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA40 - DA47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA48 - DA4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA50 - DA57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA58 - DA5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA60 - DA67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA68 - DA6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA70 - DA77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA78 - DA7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA80 - DA87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA88 - DA8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA90 - DA97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DA98 - DA9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAA0 - DAA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAA8 - DAAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAB0 - DAB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAB8 - DABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAC0 - DAC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAC8 - DACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAD0 - DAD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAD8 - DADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAE0 - DAE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAE8 - DAEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAF0 - DAF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DAF8 - DAFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB00 - DB07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB08 - DB0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB10 - DB17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB18 - DB1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB20 - DB27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB28 - DB2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB30 - DB37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB38 - DB3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB40 - DB47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB48 - DB4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB50 - DB57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB58 - DB5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB60 - DB67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB68 - DB6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB70 - DB77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB78 - DB7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB80 - DB87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB88 - DB8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB90 - DB97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DB98 - DB9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBA0 - DBA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBA8 - DBAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBB0 - DBB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBB8 - DBBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBC0 - DBC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBC8 - DBCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBD0 - DBD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBD8 - DBDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBE0 - DBE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBE8 - DBEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBF0 - DBF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DBF8 - DBFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC00 - DC07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC08 - DC0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC10 - DC17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC18 - DC1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC20 - DC27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC28 - DC2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC30 - DC37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC38 - DC3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC40 - DC47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC48 - DC4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC50 - DC57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC58 - DC5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC60 - DC67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC68 - DC6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC70 - DC77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC78 - DC7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC80 - DC87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC88 - DC8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC90 - DC97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DC98 - DC9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCA0 - DCA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCA8 - DCAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCB0 - DCB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCB8 - DCBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCC0 - DCC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCC8 - DCCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCD0 - DCD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCD8 - DCDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCE0 - DCE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCE8 - DCEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCF0 - DCF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DCF8 - DCFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD00 - DD07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD08 - DD0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD10 - DD17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD18 - DD1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD20 - DD27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD28 - DD2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD30 - DD37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD38 - DD3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD40 - DD47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD48 - DD4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD50 - DD57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD58 - DD5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD60 - DD67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD68 - DD6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD70 - DD77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD78 - DD7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD80 - DD87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD88 - DD8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD90 - DD97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DD98 - DD9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDA0 - DDA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDA8 - DDAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDB0 - DDB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDB8 - DDBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDC0 - DDC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDC8 - DDCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDD0 - DDD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDD8 - DDDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDE0 - DDE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDE8 - DDEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDF0 - DDF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DDF8 - DDFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE00 - DE07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE08 - DE0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE10 - DE17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE18 - DE1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE20 - DE27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE28 - DE2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE30 - DE37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE38 - DE3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE40 - DE47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE48 - DE4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE50 - DE57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE58 - DE5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE60 - DE67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE68 - DE6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE70 - DE77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE78 - DE7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE80 - DE87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE88 - DE8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE90 - DE97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DE98 - DE9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEA0 - DEA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEA8 - DEAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEB0 - DEB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEB8 - DEBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEC0 - DEC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEC8 - DECF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DED0 - DED7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DED8 - DEDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEE0 - DEE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEE8 - DEEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEF0 - DEF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DEF8 - DEFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF00 - DF07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF08 - DF0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF10 - DF17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF18 - DF1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF20 - DF27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF28 - DF2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF30 - DF37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF38 - DF3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF40 - DF47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF48 - DF4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF50 - DF57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF58 - DF5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF60 - DF67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF68 - DF6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF70 - DF77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF78 - DF7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF80 - DF87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF88 - DF8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF90 - DF97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DF98 - DF9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFA0 - DFA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFA8 - DFAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFB0 - DFB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFB8 - DFBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFC0 - DFC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFC8 - DFCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFD0 - DFD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFD8 - DFDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFE0 - DFE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFE8 - DFEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFF0 - DFF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* DFF8 - DFFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E000 - E007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E008 - E00F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E010 - E017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E018 - E01F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E020 - E027 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E028 - E02F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E030 - E037 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E038 - E03F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E040 - E047 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E048 - E04F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E050 - E057 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E058 - E05F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E060 - E067 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E068 - E06F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E070 - E077 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E078 - E07F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E080 - E087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E088 - E08F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E090 - E097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E098 - E09F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0A0 - E0A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0A8 - E0AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0B0 - E0B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0B8 - E0BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0C0 - E0C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0C8 - E0CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0D0 - E0D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0D8 - E0DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0E0 - E0E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0E8 - E0EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0F0 - E0F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E0F8 - E0FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E100 - E107 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E108 - E10F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E110 - E117 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E118 - E11F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E120 - E127 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E128 - E12F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E130 - E137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E138 - E13F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E140 - E147 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E148 - E14F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E150 - E157 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E158 - E15F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E160 - E167 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E168 - E16F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E170 - E177 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E178 - E17F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E180 - E187 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E188 - E18F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E190 - E197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E198 - E19F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1A0 - E1A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1A8 - E1AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1B0 - E1B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1B8 - E1BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1C0 - E1C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1C8 - E1CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1D0 - E1D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1D8 - E1DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1E0 - E1E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1E8 - E1EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1F0 - E1F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E1F8 - E1FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E200 - E207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E208 - E20F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E210 - E217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E218 - E21F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E220 - E227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E228 - E22F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E230 - E237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E238 - E23F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E240 - E247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E248 - E24F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E250 - E257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E258 - E25F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E260 - E267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E268 - E26F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E270 - E277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E278 - E27F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E280 - E287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E288 - E28F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E290 - E297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E298 - E29F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2A0 - E2A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2A8 - E2AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2B0 - E2B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2B8 - E2BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2C0 - E2C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2C8 - E2CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2D0 - E2D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2D8 - E2DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2E0 - E2E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2E8 - E2EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2F0 - E2F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E2F8 - E2FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E300 - E307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E308 - E30F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E310 - E317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E318 - E31F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E320 - E327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E328 - E32F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E330 - E337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E338 - E33F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E340 - E347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E348 - E34F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E350 - E357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E358 - E35F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E360 - E367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E368 - E36F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E370 - E377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E378 - E37F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E380 - E387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E388 - E38F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E390 - E397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E398 - E39F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3A0 - E3A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3A8 - E3AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3B0 - E3B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3B8 - E3BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3C0 - E3C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3C8 - E3CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3D0 - E3D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3D8 - E3DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3E0 - E3E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3E8 - E3EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3F0 - E3F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E3F8 - E3FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E400 - E407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E408 - E40F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E410 - E417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E418 - E41F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E420 - E427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E428 - E42F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E430 - E437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E438 - E43F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E440 - E447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E448 - E44F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E450 - E457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E458 - E45F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E460 - E467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E468 - E46F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E470 - E477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E478 - E47F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E480 - E487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E488 - E48F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E490 - E497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E498 - E49F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4A0 - E4A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4A8 - E4AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4B0 - E4B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4B8 - E4BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4C0 - E4C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4C8 - E4CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4D0 - E4D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4D8 - E4DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4E0 - E4E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4E8 - E4EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4F0 - E4F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E4F8 - E4FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E500 - E507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E508 - E50F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E510 - E517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E518 - E51F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E520 - E527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E528 - E52F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E530 - E537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E538 - E53F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E540 - E547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E548 - E54F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E550 - E557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E558 - E55F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E560 - E567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E568 - E56F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E570 - E577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E578 - E57F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E580 - E587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E588 - E58F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E590 - E597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E598 - E59F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5A0 - E5A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5A8 - E5AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5B0 - E5B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5B8 - E5BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5C0 - E5C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5C8 - E5CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5D0 - E5D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5D8 - E5DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5E0 - E5E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5E8 - E5EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5F0 - E5F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E5F8 - E5FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E600 - E607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E608 - E60F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E610 - E617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E618 - E61F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E620 - E627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E628 - E62F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E630 - E637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E638 - E63F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E640 - E647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E648 - E64F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E650 - E657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E658 - E65F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E660 - E667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E668 - E66F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E670 - E677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E678 - E67F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E680 - E687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E688 - E68F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E690 - E697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E698 - E69F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6A0 - E6A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6A8 - E6AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6B0 - E6B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6B8 - E6BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6C0 - E6C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6C8 - E6CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6D0 - E6D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6D8 - E6DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6E0 - E6E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6E8 - E6EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6F0 - E6F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E6F8 - E6FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E700 - E707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E708 - E70F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E710 - E717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E718 - E71F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E720 - E727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E728 - E72F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E730 - E737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E738 - E73F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E740 - E747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E748 - E74F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E750 - E757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E758 - E75F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E760 - E767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E768 - E76F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E770 - E777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E778 - E77F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E780 - E787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E788 - E78F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E790 - E797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E798 - E79F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7A0 - E7A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7A8 - E7AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7B0 - E7B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7B8 - E7BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7C0 - E7C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7C8 - E7CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7D0 - E7D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7D8 - E7DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7E0 - E7E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7E8 - E7EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7F0 - E7F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E7F8 - E7FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E800 - E807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E808 - E80F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E810 - E817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E818 - E81F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E820 - E827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E828 - E82F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E830 - E837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E838 - E83F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E840 - E847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E848 - E84F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E850 - E857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E858 - E85F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E860 - E867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E868 - E86F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E870 - E877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E878 - E87F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E880 - E887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E888 - E88F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E890 - E897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E898 - E89F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8A0 - E8A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8A8 - E8AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8B0 - E8B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8B8 - E8BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8C0 - E8C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8C8 - E8CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8D0 - E8D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8D8 - E8DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8E0 - E8E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8E8 - E8EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8F0 - E8F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E8F8 - E8FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E900 - E907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E908 - E90F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E910 - E917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E918 - E91F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E920 - E927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E928 - E92F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E930 - E937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E938 - E93F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E940 - E947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E948 - E94F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E950 - E957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E958 - E95F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E960 - E967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E968 - E96F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E970 - E977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E978 - E97F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E980 - E987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E988 - E98F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E990 - E997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E998 - E99F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9A0 - E9A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9A8 - E9AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9B0 - E9B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9B8 - E9BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9C0 - E9C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9C8 - E9CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9D0 - E9D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9D8 - E9DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9E0 - E9E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9E8 - E9EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9F0 - E9F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* E9F8 - E9FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA00 - EA07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA08 - EA0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA10 - EA17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA18 - EA1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA20 - EA27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA28 - EA2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA30 - EA37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA38 - EA3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA40 - EA47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA48 - EA4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA50 - EA57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA58 - EA5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA60 - EA67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA68 - EA6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA70 - EA77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA78 - EA7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA80 - EA87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA88 - EA8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA90 - EA97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EA98 - EA9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAA0 - EAA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAA8 - EAAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAB0 - EAB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAB8 - EABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAC0 - EAC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAC8 - EACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAD0 - EAD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAD8 - EADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAE0 - EAE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAE8 - EAEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAF0 - EAF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EAF8 - EAFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB00 - EB07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB08 - EB0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB10 - EB17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB18 - EB1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB20 - EB27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB28 - EB2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB30 - EB37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB38 - EB3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB40 - EB47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB48 - EB4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB50 - EB57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB58 - EB5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB60 - EB67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB68 - EB6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB70 - EB77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB78 - EB7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB80 - EB87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB88 - EB8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB90 - EB97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EB98 - EB9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBA0 - EBA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBA8 - EBAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBB0 - EBB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBB8 - EBBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBC0 - EBC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBC8 - EBCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBD0 - EBD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBD8 - EBDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBE0 - EBE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBE8 - EBEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBF0 - EBF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EBF8 - EBFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC00 - EC07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC08 - EC0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC10 - EC17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC18 - EC1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC20 - EC27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC28 - EC2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC30 - EC37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC38 - EC3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC40 - EC47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC48 - EC4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC50 - EC57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC58 - EC5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC60 - EC67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC68 - EC6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC70 - EC77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC78 - EC7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC80 - EC87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC88 - EC8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC90 - EC97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EC98 - EC9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECA0 - ECA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECA8 - ECAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECB0 - ECB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECB8 - ECBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECC0 - ECC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECC8 - ECCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECD0 - ECD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECD8 - ECDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECE0 - ECE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECE8 - ECEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECF0 - ECF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ECF8 - ECFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED00 - ED07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED08 - ED0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED10 - ED17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED18 - ED1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED20 - ED27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED28 - ED2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED30 - ED37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED38 - ED3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED40 - ED47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED48 - ED4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED50 - ED57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED58 - ED5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED60 - ED67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED68 - ED6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED70 - ED77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED78 - ED7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED80 - ED87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED88 - ED8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED90 - ED97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* ED98 - ED9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDA0 - EDA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDA8 - EDAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDB0 - EDB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDB8 - EDBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDC0 - EDC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDC8 - EDCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDD0 - EDD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDD8 - EDDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDE0 - EDE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDE8 - EDEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDF0 - EDF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EDF8 - EDFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE00 - EE07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE08 - EE0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE10 - EE17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE18 - EE1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE20 - EE27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE28 - EE2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE30 - EE37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE38 - EE3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE40 - EE47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE48 - EE4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE50 - EE57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE58 - EE5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE60 - EE67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE68 - EE6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE70 - EE77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE78 - EE7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE80 - EE87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE88 - EE8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE90 - EE97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EE98 - EE9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEA0 - EEA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEA8 - EEAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEB0 - EEB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEB8 - EEBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEC0 - EEC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEC8 - EECF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EED0 - EED7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EED8 - EEDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEE0 - EEE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEE8 - EEEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEF0 - EEF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EEF8 - EEFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF00 - EF07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF08 - EF0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF10 - EF17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF18 - EF1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF20 - EF27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF28 - EF2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF30 - EF37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF38 - EF3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF40 - EF47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF48 - EF4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF50 - EF57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF58 - EF5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF60 - EF67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF68 - EF6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF70 - EF77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF78 - EF7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF80 - EF87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF88 - EF8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF90 - EF97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EF98 - EF9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFA0 - EFA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFA8 - EFAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFB0 - EFB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFB8 - EFBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFC0 - EFC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFC8 - EFCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFD0 - EFD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFD8 - EFDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFE0 - EFE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFE8 - EFEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFF0 - EFF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* EFF8 - EFFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F000 - F007 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F008 - F00F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F010 - F017 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F018 - F01F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F020 - F027 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F028 - F02F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F030 - F037 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F038 - F03F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F040 - F047 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F048 - F04F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F050 - F057 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F058 - F05F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F060 - F067 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F068 - F06F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F070 - F077 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F078 - F07F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F080 - F087 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F088 - F08F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F090 - F097 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F098 - F09F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0A0 - F0A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0A8 - F0AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0B0 - F0B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0B8 - F0BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0C0 - F0C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0C8 - F0CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0D0 - F0D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0D8 - F0DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0E0 - F0E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0E8 - F0EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0F0 - F0F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F0F8 - F0FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F100 - F107 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F108 - F10F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F110 - F117 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F118 - F11F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F120 - F127 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F128 - F12F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F130 - F137 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F138 - F13F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F140 - F147 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F148 - F14F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F150 - F157 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F158 - F15F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F160 - F167 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F168 - F16F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F170 - F177 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F178 - F17F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F180 - F187 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F188 - F18F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F190 - F197 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F198 - F19F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1A0 - F1A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1A8 - F1AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1B0 - F1B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1B8 - F1BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1C0 - F1C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1C8 - F1CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1D0 - F1D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1D8 - F1DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1E0 - F1E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1E8 - F1EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1F0 - F1F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F1F8 - F1FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F200 - F207 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F208 - F20F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F210 - F217 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F218 - F21F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F220 - F227 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F228 - F22F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F230 - F237 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F238 - F23F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F240 - F247 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F248 - F24F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F250 - F257 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F258 - F25F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F260 - F267 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F268 - F26F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F270 - F277 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F278 - F27F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F280 - F287 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F288 - F28F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F290 - F297 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F298 - F29F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2A0 - F2A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2A8 - F2AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2B0 - F2B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2B8 - F2BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2C0 - F2C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2C8 - F2CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2D0 - F2D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2D8 - F2DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2E0 - F2E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2E8 - F2EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2F0 - F2F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F2F8 - F2FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F300 - F307 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F308 - F30F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F310 - F317 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F318 - F31F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F320 - F327 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F328 - F32F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F330 - F337 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F338 - F33F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F340 - F347 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F348 - F34F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F350 - F357 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F358 - F35F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F360 - F367 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F368 - F36F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F370 - F377 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F378 - F37F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F380 - F387 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F388 - F38F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F390 - F397 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F398 - F39F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3A0 - F3A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3A8 - F3AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3B0 - F3B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3B8 - F3BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3C0 - F3C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3C8 - F3CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3D0 - F3D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3D8 - F3DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3E0 - F3E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3E8 - F3EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3F0 - F3F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F3F8 - F3FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F400 - F407 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F408 - F40F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F410 - F417 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F418 - F41F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F420 - F427 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F428 - F42F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F430 - F437 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F438 - F43F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F440 - F447 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F448 - F44F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F450 - F457 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F458 - F45F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F460 - F467 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F468 - F46F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F470 - F477 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F478 - F47F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F480 - F487 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F488 - F48F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F490 - F497 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F498 - F49F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4A0 - F4A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4A8 - F4AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4B0 - F4B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4B8 - F4BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4C0 - F4C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4C8 - F4CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4D0 - F4D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4D8 - F4DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4E0 - F4E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4E8 - F4EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4F0 - F4F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F4F8 - F4FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F500 - F507 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F508 - F50F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F510 - F517 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F518 - F51F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F520 - F527 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F528 - F52F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F530 - F537 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F538 - F53F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F540 - F547 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F548 - F54F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F550 - F557 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F558 - F55F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F560 - F567 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F568 - F56F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F570 - F577 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F578 - F57F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F580 - F587 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F588 - F58F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F590 - F597 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F598 - F59F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5A0 - F5A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5A8 - F5AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5B0 - F5B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5B8 - F5BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5C0 - F5C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5C8 - F5CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5D0 - F5D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5D8 - F5DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5E0 - F5E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5E8 - F5EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5F0 - F5F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F5F8 - F5FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F600 - F607 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F608 - F60F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F610 - F617 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F618 - F61F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F620 - F627 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F628 - F62F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F630 - F637 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F638 - F63F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F640 - F647 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F648 - F64F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F650 - F657 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F658 - F65F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F660 - F667 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F668 - F66F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F670 - F677 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F678 - F67F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F680 - F687 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F688 - F68F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F690 - F697 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F698 - F69F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6A0 - F6A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6A8 - F6AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6B0 - F6B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6B8 - F6BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6C0 - F6C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6C8 - F6CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6D0 - F6D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6D8 - F6DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6E0 - F6E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6E8 - F6EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6F0 - F6F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F6F8 - F6FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F700 - F707 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F708 - F70F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F710 - F717 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F718 - F71F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F720 - F727 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F728 - F72F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F730 - F737 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F738 - F73F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F740 - F747 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F748 - F74F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F750 - F757 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F758 - F75F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F760 - F767 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F768 - F76F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F770 - F777 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F778 - F77F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F780 - F787 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F788 - F78F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F790 - F797 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F798 - F79F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7A0 - F7A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7A8 - F7AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7B0 - F7B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7B8 - F7BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7C0 - F7C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7C8 - F7CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7D0 - F7D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7D8 - F7DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7E0 - F7E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7E8 - F7EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7F0 - F7F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F7F8 - F7FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F800 - F807 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F808 - F80F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F810 - F817 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F818 - F81F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F820 - F827 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F828 - F82F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F830 - F837 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F838 - F83F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F840 - F847 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F848 - F84F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F850 - F857 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F858 - F85F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F860 - F867 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F868 - F86F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F870 - F877 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F878 - F87F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F880 - F887 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F888 - F88F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F890 - F897 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F898 - F89F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8A0 - F8A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8A8 - F8AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8B0 - F8B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8B8 - F8BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8C0 - F8C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8C8 - F8CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8D0 - F8D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8D8 - F8DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8E0 - F8E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8E8 - F8EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8F0 - F8F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F8F8 - F8FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F900 - F907 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F908 - F90F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F910 - F917 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F918 - F91F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F920 - F927 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F928 - F92F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F930 - F937 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F938 - F93F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F940 - F947 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F948 - F94F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F950 - F957 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F958 - F95F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F960 - F967 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F968 - F96F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F970 - F977 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F978 - F97F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F980 - F987 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F988 - F98F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F990 - F997 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F998 - F99F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9A0 - F9A7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9A8 - F9AF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9B0 - F9B7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9B8 - F9BF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9C0 - F9C7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9C8 - F9CF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9D0 - F9D7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9D8 - F9DF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9E0 - F9E7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9E8 - F9EF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9F0 - F9F7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* F9F8 - F9FF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA00 - FA07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA08 - FA0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA10 - FA17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA18 - FA1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA20 - FA27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA28 - FA2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA30 - FA37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA38 - FA3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA40 - FA47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA48 - FA4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA50 - FA57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA58 - FA5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA60 - FA67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA68 - FA6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA70 - FA77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA78 - FA7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA80 - FA87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA88 - FA8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA90 - FA97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FA98 - FA9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAA0 - FAA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAA8 - FAAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAB0 - FAB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAB8 - FABF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAC0 - FAC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAC8 - FACF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAD0 - FAD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAD8 - FADF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAE0 - FAE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAE8 - FAEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAF0 - FAF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FAF8 - FAFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB00 - FB07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB08 - FB0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB10 - FB17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB18 - FB1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB20 - FB27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB28 - FB2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB30 - FB37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB38 - FB3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB40 - FB47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB48 - FB4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB50 - FB57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB58 - FB5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB60 - FB67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB68 - FB6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB70 - FB77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB78 - FB7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB80 - FB87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB88 - FB8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB90 - FB97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FB98 - FB9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBA0 - FBA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBA8 - FBAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBB0 - FBB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBB8 - FBBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBC0 - FBC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBC8 - FBCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBD0 - FBD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBD8 - FBDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBE0 - FBE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBE8 - FBEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBF0 - FBF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FBF8 - FBFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC00 - FC07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC08 - FC0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC10 - FC17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC18 - FC1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC20 - FC27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC28 - FC2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC30 - FC37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC38 - FC3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC40 - FC47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC48 - FC4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC50 - FC57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC58 - FC5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC60 - FC67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC68 - FC6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC70 - FC77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC78 - FC7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC80 - FC87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC88 - FC8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC90 - FC97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FC98 - FC9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCA0 - FCA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCA8 - FCAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCB0 - FCB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCB8 - FCBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCC0 - FCC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCC8 - FCCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCD0 - FCD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCD8 - FCDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCE0 - FCE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCE8 - FCEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCF0 - FCF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FCF8 - FCFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD00 - FD07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD08 - FD0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD10 - FD17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD18 - FD1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD20 - FD27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD28 - FD2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD30 - FD37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD38 - FD3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD40 - FD47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD48 - FD4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD50 - FD57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD58 - FD5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD60 - FD67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD68 - FD6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD70 - FD77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD78 - FD7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD80 - FD87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD88 - FD8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD90 - FD97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FD98 - FD9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDA0 - FDA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDA8 - FDAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDB0 - FDB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDB8 - FDBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDC0 - FDC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDC8 - FDCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDD0 - FDD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDD8 - FDDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDE0 - FDE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDE8 - FDEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDF0 - FDF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FDF8 - FDFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE00 - FE07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE08 - FE0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE10 - FE17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE18 - FE1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE20 - FE27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE28 - FE2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE30 - FE37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE38 - FE3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE40 - FE47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE48 - FE4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE50 - FE57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE58 - FE5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE60 - FE67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE68 - FE6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE70 - FE77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE78 - FE7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE80 - FE87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE88 - FE8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE90 - FE97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FE98 - FE9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEA0 - FEA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEA8 - FEAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEB0 - FEB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEB8 - FEBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEC0 - FEC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEC8 - FECF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FED0 - FED7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FED8 - FEDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEE0 - FEE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEE8 - FEEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEF0 - FEF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FEF8 - FEFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF00 - FF07 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF08 - FF0F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF10 - FF17 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF18 - FF1F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF20 - FF27 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF28 - FF2F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF30 - FF37 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF38 - FF3F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF40 - FF47 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF48 - FF4F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF50 - FF57 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF58 - FF5F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF60 - FF67 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF68 - FF6F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF70 - FF77 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF78 - FF7F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF80 - FF87 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF88 - FF8F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF90 - FF97 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FF98 - FF9F */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFA0 - FFA7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFA8 - FFAF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFB0 - FFB7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFB8 - FFBF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFC0 - FFC7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFC8 - FFCF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFD0 - FFD7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFD8 - FFDF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFE0 - FFE7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFE8 - FFEF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFF0 - FFF7 */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-	/* FFF8 - FFFF */ XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, XML_XX, 
-};
diff --git a/src/PlatformSupport/XalanXMLChar.hpp b/src/PlatformSupport/XalanXMLChar.hpp
deleted file mode 100644
index 1ae8736..0000000
--- a/src/PlatformSupport/XalanXMLChar.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANXMLCHAR_HEADER_GUARD_1357924680)
-#define XALANXMLCHAR_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-struct XALAN_PLATFORMSUPPORT_EXPORT XalanXMLChar
-{
-
-public:
-
-	enum eType
-	{
-		XML_XX = 0,
-		XML_BC = 1,
-		XML_ID = 2,
-		XML_EX = 3,
-		XML_DI = 4,
-		XML_CC = 5,
-		XML_WS = 6
-	};
-
-    static const char theUnicodeTable[];
-
-	static bool 
-	isBaseChar(XalanDOMChar c)
-	{
-		return theUnicodeTable[c] == XML_BC;
-	}
-
-	static bool 
-	isIdeographic(XalanDOMChar c)
-	{
-		return theUnicodeTable[c] == XML_ID;
-	}
-
-	static bool 
-	isExtender(XalanDOMChar c) 
-	{
-		return theUnicodeTable[c] == XML_EX;
-	}
-
-	static bool 
-	isDigit(XalanDOMChar c) 
-	{
-		return theUnicodeTable[c] == XML_DI;
-	}
-
-	static bool 
-	isCombiningChar(XalanDOMChar c) 
-	{
-		return theUnicodeTable[c] == XML_CC;
-	}
-
-	static bool 
-	isWhitespace(XalanDOMChar c) 
-	{
-		return theUnicodeTable[c] == XML_WS;
-	}
-
-	static bool 
-	isLetter(XalanDOMChar c) 
-	{
-		return theUnicodeTable[c] == XML_BC || theUnicodeTable[c] == XML_ID;
-	}
-
-
-};
-
-#endif	// XALANXMLCHAR_HEADER_GUARD_1357924680
-
diff --git a/src/TestXPath/NodeNameTreeWalker.cpp b/src/TestXPath/NodeNameTreeWalker.cpp
deleted file mode 100644
index 40ab92d..0000000
--- a/src/TestXPath/NodeNameTreeWalker.cpp
+++ /dev/null
@@ -1,149 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-// Class include file.
-#include "NodeNameTreeWalker.hpp"
-
-
-
-NodeNameTreeWalker::NodeNameTreeWalker() :
-	TreeWalker(),
-	m_nodeName(),
-	m_matchingNodes()
-{
-}
-
-
-
-NodeNameTreeWalker::~NodeNameTreeWalker()
-{
-}
-
-
-
-void
-NodeNameTreeWalker::findMatchingNodes(
-			const XalanDOMString&	theNodeName,
-			const XalanNode*		theStartNode)
-{
-	assert(theStartNode != 0);
-
-	m_nodeName = theNodeName;
-
-	m_matchingNodes.clear();
-
-	traverse(theStartNode->getFirstChild(),
-			 theStartNode);
-}
-
-
-
-void
-NodeNameTreeWalker::findMatchingNodes(
-			const XalanDOMString&	theNodeName,
-			XalanNode*				theStartNode)
-{
-	assert(theStartNode != 0);
-
-	m_nodeName = theNodeName;
-
-	m_matchingNodes.clear();
-
-	traverse(theStartNode->getFirstChild(),
-			 theStartNode);
-}
-
-
-
-void
-NodeNameTreeWalker::startNode(XalanNode*	node)
-{
-	const XalanDOMString&	theNodeName = node->getNodeName();
-
-	if (equals(theNodeName, m_nodeName) == true)
-	{
-		m_matchingNodes.push_back(node);
-	}
-}
-
-
-
-void
-NodeNameTreeWalker::endNode(XalanNode*	/* node */)
-{
-}
-
-
-
-void
-NodeNameTreeWalker::startNode(const XalanNode*	/* node */)
-{
-}
-
-
-
-void
-NodeNameTreeWalker::endNode(const XalanNode*	/* node */)
-{
-}
diff --git a/src/TestXPath/NodeNameTreeWalker.hpp b/src/TestXPath/NodeNameTreeWalker.hpp
deleted file mode 100644
index 1588a48..0000000
--- a/src/TestXPath/NodeNameTreeWalker.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NODENAMETREEWALKER_HEADER_GUARD_1357924680)
-#define NODENAMETREEWALKER_HEADER_GUARD_1357924680
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class include file.
-#include <DOMSupport/TreeWalker.hpp>
-
-
-
-class NodeNameTreeWalker : public TreeWalker
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanNode*>			NodeVectorType;
-#else
-	typedef std::vector<XalanNode*>		NodeVectorType;
-#endif
-
-	NodeNameTreeWalker();
-
-	virtual
-	~NodeNameTreeWalker();
-
-	/**
-	 * Find all nodes matching a specified node in a specified node tree.  The
-	 * member m_matchingNodes is populated as a side effect.
-	 *
-	 * @param theNodeName  name of node sought
-	 * @param theStartNode start node for search
-	 */
-	virtual void
-	findMatchingNodes(
-			const XalanDOMString&	theNodeName,
-			const XalanNode*		theStartNode);
-
-	virtual void
-	findMatchingNodes(
-			const XalanDOMString&	theNodeName,
-			XalanNode*				theStartNode);
-
-	/**
-	 * Retrieve the matching nodes from the last search.
-	 *
-	 * @return vector of nodes
-	 */
-	const NodeVectorType&
-	getMatchingNodes() const
-	{
-		return m_matchingNodes;
-	}
-
-protected:
-
-	virtual void
-	startNode(XalanNode*	node);
-
-	virtual void
-	endNode(XalanNode*	node);
-
-	virtual void
-	startNode(const XalanNode*	node);
-
-	virtual void
-	endNode(const XalanNode*	node);
-
-private:
-
-	XalanDOMString	m_nodeName;
-	NodeVectorType	m_matchingNodes;
-};
-
-
-
-#endif	// NODENAMETREEWALKER_HEADER_GUARD_1357924680
diff --git a/src/TestXPath/TestXPath.cpp b/src/TestXPath/TestXPath.cpp
deleted file mode 100644
index a15118e..0000000
--- a/src/TestXPath/TestXPath.cpp
+++ /dev/null
@@ -1,1311 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cstdio>
-#include <ctime>
-#include <vector>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-#include <xercesc/framework/URLInputSource.hpp>
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/DirectoryEnumerator.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanStdOutputStream.hpp>
-
-
-
-#include <XPath/ElementPrefixResolverProxy.hpp>
-#include <XPath/XPathInit.hpp>
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-
-
-
-#include <XMLSupport/FormatterTreeWalker.hpp>
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/XMLSupportInit.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-#include "NodeNameTreeWalker.hpp"
-
-
-
-const XObjectPtr
-ExecuteXPath(
-			XPathProcessor&			theXPathProcessor,
-			XPath&					theXPath,
-			const XalanDOMString&	theXPathString,
-			XalanNode* 				theContextNode,
-			const PrefixResolver&	thePrefixResolver,
-			const NodeRefListBase& 	theContextNodeList,
-			XPathExecutionContext&	theExecutionContext)
-{
-	theXPathProcessor.initXPath(theXPath,
-								theXPathString,
-								thePrefixResolver);
-
-	const XObjectPtr theResult =
-		theXPath.execute(theContextNode, thePrefixResolver, theContextNodeList, theExecutionContext);
-
-	return theResult;
-}
-
-
-
-bool
-TestNumericResult(
-			XPathProcessor&			theXPathProcessor,
-			XPath&					theXPath,
-			const XalanDOMString&	theXPathString,
-			PrintWriter&			thePrintWriter,
-			double					theExpectedResult,
-			XalanNode* 				theContextNode,
-			const PrefixResolver&	thePrefixResolver,
-			const NodeRefListBase& 	theContextNodeList,
-			XPathExecutionContext&	theExecutionContext)
-{
-	bool	fError = false;
-
-	const XObjectPtr theResult =
-		ExecuteXPath(theXPathProcessor,
-					 theXPath,
-					 theXPathString,
-					 theContextNode,
-					 thePrefixResolver,
-					 theContextNodeList,
-					 theExecutionContext);
-
-	thePrintWriter.print(XALAN_STATIC_UCODE_STRING("Execution of XPath "));
-	thePrintWriter.print(theXPathString);
-
-	if (theResult->num() == theExpectedResult)
-	{
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" succeeded."));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The result was "));
-		thePrintWriter.println(theResult->num());
-	}
-	else
-	{
-		fError = true;
-
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" failed!"));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The expected result was "));
-		thePrintWriter.println(theExpectedResult);
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The actual result was "));
-		thePrintWriter.println(theResult->num());
-	}
-
-	return fError;
-}
-
-
-
-bool
-TestStringResult(
-			XPathProcessor&			theXPathProcessor,
-			XPath&					theXPath,
-			const XalanDOMString&	theXPathString,
-			PrintWriter&			thePrintWriter,
-			const XalanDOMString&	theExpectedResult,
-			XalanNode* 				theContextNode,
-			const PrefixResolver&	thePrefixResolver,
-			const NodeRefListBase& 	theContextNodeList,
-			XPathExecutionContext&	theExecutionContext)
-{
-	bool	fError = false;
-
-	const XObjectPtr theResult =
-		ExecuteXPath(theXPathProcessor,
-					 theXPath,
-					 theXPathString,
-					 theContextNode,
-					 thePrefixResolver,
-					 theContextNodeList,
-					 theExecutionContext);
-
-	thePrintWriter.print(XALAN_STATIC_UCODE_STRING("Execution of XPath "));
-	thePrintWriter.print(theXPathString);
-
-	if (equals(theResult->str(), theExpectedResult) == true)
-	{
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" succeeded."));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The result was \""));
-		thePrintWriter.print(theResult->str());
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-	}
-	else
-	{
-		fError = true;
-
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" failed!"));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The expected result was \""));
-		thePrintWriter.print(theExpectedResult);
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The actual result was \""));
-		thePrintWriter.print(theResult->str());
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-	}
-
-	return fError;
-}
-
-
-
-bool
-TestBooleanResult(
-			XPathProcessor&			theXPathProcessor,
-			XPath&					theXPath,
-			const XalanDOMString&		theXPathString,
-			PrintWriter&			thePrintWriter,
-			bool					theExpectedResult,
-			XalanNode* 		theContextNode,
-			const PrefixResolver&	thePrefixResolver,
-			const NodeRefListBase& 	theContextNodeList,
-			XPathExecutionContext&	theExecutionContext)
-{
-	bool	fError = false;
-
-	const XObjectPtr theResult =
-		ExecuteXPath(theXPathProcessor,
-					 theXPath,
-					 theXPathString,
-					 theContextNode,
-					 thePrefixResolver,
-					 theContextNodeList,
-					 theExecutionContext);
-
-	bool	fDump = false;
-
-	if (fDump == true)
-	{
-		thePrintWriter.println();
-		thePrintWriter.println();
-		theXPath.getExpression().dumpOpCodeMap(thePrintWriter);
-		thePrintWriter.println();
-		theXPath.getExpression().dumpTokenQueue(thePrintWriter);
-		thePrintWriter.println();
-		thePrintWriter.println();
-	}
-
-	thePrintWriter.print(XALAN_STATIC_UCODE_STRING("Execution of XPath "));
-	thePrintWriter.print(theXPathString);
-
-	if (theResult->boolean() == theExpectedResult)
-	{
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" succeeded."));
-		thePrintWriter.print(("The result was "));
-		thePrintWriter.print(theResult->boolean());
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("."));
-	}
-	else
-	{
-		fError = true;
-
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" failed!"));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The expected result was \""));
-		thePrintWriter.print(theExpectedResult);
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("The actual result was \""));
-		thePrintWriter.print(theResult->boolean());
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-	}
-
-	return fError;
-}
-
-
-
-XalanDocument*
-ParseXML(
-			XMLParserLiaison&		theLiaison,
-			const XalanDOMString&	theFileName)
-{
-	const URLInputSource	theURLInputSource(c_wstr(theFileName));
-
-	return theLiaison.parseXMLStream(theURLInputSource);
-}
-
-
-
-XalanDOMString
-GetAttributeFromNode(
-			XalanNode*				theNode,
-			const XalanDOMString&	theAttributeName)
-{
-	XalanDOMString	theResult;
-
-	if (theNode->getNodeType() == XalanNode::ELEMENT_NODE)
-	{
-		const XalanElement*	const	theElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(const XalanElement*)theNode;
-#else
-					static_cast<const XalanElement*>(theNode);
-#endif
-
-		theResult = theElement->getAttribute(theAttributeName);
-	}
-
-	return theResult;
-}
-
-
-
-XalanDOMString
-FindNodeAndGetAttributeValue(
-			XalanNode*				theStartNode,
-			const XalanDOMString&	theNodeName,
-			const XalanDOMString&	theAttributeName)
-{
-	XalanDOMString			theResult;
-
-	NodeNameTreeWalker	theTreeWalker;
-
-	theTreeWalker.findMatchingNodes(theNodeName,
-									theStartNode);
-
-	const NodeNameTreeWalker::NodeVectorType&	theMatchingNodes =
-			theTreeWalker.getMatchingNodes();
-
-	if (theMatchingNodes.size() == 1)
-	{
-		XalanNode* const	theMatchingNode = theMatchingNodes[0];
-
-		if (theMatchingNode != 0)
-		{
-			theResult = GetAttributeFromNode(theMatchingNode,
-											 theAttributeName);
-		}
-	}
-
-	return theResult;
-}
-
-
-
-bool
-GetXSLInput(
-			XMLParserLiaison&		theLiaison,
-			const XalanDOMString&	theXSLFileURL,
-			XalanDOMString&			theContextNodeMatchPattern,
-			XalanDOMString&			theXPathString)
-{
-	bool					fResult = false;
-
-	XalanDocument* const	theDocument =
-		ParseXML(theLiaison,
-				 theXSLFileURL);
-
-	if (theDocument != 0)
-	{
-		const XalanDOMString	theContextNodeName(XALAN_STATIC_UCODE_STRING("xsl:for-each"));
-		const XalanDOMString	theAttributeName(XALAN_STATIC_UCODE_STRING("select"));
-
-		theContextNodeMatchPattern =
-			 FindNodeAndGetAttributeValue(theDocument->getDocumentElement(),
-										  theContextNodeName,
-										  theAttributeName);
-
-		if (length(theContextNodeMatchPattern) != 0)
-		{
-			const XalanDOMString	theSelectNodeName(XALAN_STATIC_UCODE_STRING("xsl:apply-templates"));
-
-			theXPathString =
-				 FindNodeAndGetAttributeValue(theDocument->getDocumentElement(),
-											  theSelectNodeName,
-											  theAttributeName);
-			if (length(theXPathString) != 0)
-			{
-				fResult = true;
-			}
-		}
-	}
-
-	return fResult;
-}
-
-
-
-XalanNode*
-FindContextNode(
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XPathFactory&			theXPathFactory,
-			XalanDocument*			theDocument,
-			const XalanDOMString&	theContextNodeMatchPattern,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	XalanNode*		theResult = 0;
-
-	XPath* const	theXPath = theXPathFactory.create();
-
-	XPathGuard		theGuard(
-						theXPathFactory,
-						theXPath);
-
-	XalanElement*				theNamespaceContext = 0;
-	ElementPrefixResolverProxy	thePrefixResolver(theNamespaceContext, theXPathEnvSupport, theDOMSupport);
-	NodeRefList					theContextNodeList;
-
-	const XObjectPtr	theXObject =
-		ExecuteXPath(theXPathProcessor,
-					 *theXPath,
-					 theContextNodeMatchPattern,
-					 theDocument,
-					 thePrefixResolver,
-					 theContextNodeList,
-					 theExecutionContext);
-
-	try
-	{
-		assert(theXObject.null() == false);
-
-		const NodeRefListBase&	theResultList =
-						theXObject->nodeset();
-
-		if (theResultList.getLength() == 0)
-		{
-			thePrintWriter.print(XALAN_STATIC_UCODE_STRING("FindContextNode: Unable to find context node using select \""));
-			thePrintWriter.print(theContextNodeMatchPattern);
-			thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-			thePrintWriter.println(XALAN_STATIC_UCODE_STRING("FindContextNode: No nodes matched the pattern."));
-		}
-		else if (theResultList.getLength() != 1)
-		{
-			thePrintWriter.print(XALAN_STATIC_UCODE_STRING("FindContextNode: Unable to find context node using select \""));
-			thePrintWriter.print(theContextNodeMatchPattern);
-			thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-			thePrintWriter.println(XALAN_STATIC_UCODE_STRING("FindContextNode: More than one node matched the pattern."));
-		}
-		else
-		{
-			theResult = theResultList.item(0);
-		}
-	}
-	catch(...)
-	{
-		thePrintWriter.print(XALAN_STATIC_UCODE_STRING("FindContextNode: Error executing match pattern \""));
-		thePrintWriter.print(theContextNodeMatchPattern);
-		thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\"."));
-	}
-
-	return theResult;
-}
-
-
-
-bool
-TestAxisResult(
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XMLParserLiaison&		theLiaison,
-			XPathFactory&			theXPathFactory,
-			const XalanDOMString&	theXMLFileURL,
-			const XalanDOMString&	theXSLFileURL,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	bool					fError = false;
-
-	XalanDocument* const	theXMLDocument = ParseXML(theLiaison,
-													  theXMLFileURL);
-
-	if (theXMLDocument != 0)
-	{
-		XalanDOMString		theContextNodeMatchPattern;
-		XalanDOMString		theXPathString;
-
-		if (GetXSLInput(theLiaison,
-						theXSLFileURL,
-						theContextNodeMatchPattern,
-						theXPathString) == true)
-		{
-			XalanNode* const	theContextNode =
-				FindContextNode(theXPathProcessor,
-								theXPathEnvSupport,
-								theDOMSupport,
-								theXPathFactory,
-								theXMLDocument,
-								theContextNodeMatchPattern,
-								thePrintWriter,
-								theExecutionContext);
-
-			if (theContextNode != 0)
-			{
-				XalanElement* const				theNamespaceContext = 0;
-				ElementPrefixResolverProxy		thePrefixResolver(theNamespaceContext, theXPathEnvSupport, theDOMSupport);
-				NodeRefList						theContextNodeList;
-
-				XPath* const	theXPath = theXPathFactory.create();
-
-				XPathGuard		theGuard(theXPathFactory,
-										 theXPath);
-
-				theXPathProcessor.initXPath(*theXPath,
-											theXPathString,
-											thePrefixResolver);
-
-				bool	fDump = false;
-
-				if (fDump == true)
-				{
-					thePrintWriter.println();
-					thePrintWriter.println();
-					theXPath->getExpression().dumpOpCodeMap(thePrintWriter);
-					thePrintWriter.println();
-					theXPath->getExpression().dumpTokenQueue(thePrintWriter);
-					thePrintWriter.println();
-					thePrintWriter.println();
-				}
-
-				const XObjectPtr theResult =
-					theXPath->execute(theContextNode, thePrefixResolver, theContextNodeList, theExecutionContext);
-
-				try
-				{
-					assert(theResult.null() == false);
-
-					const NodeRefListBase&	theResultList =
-						theResult->nodeset();
-
-					const unsigned int	theLength = theResultList.getLength();
-
-					if (theLength == 0)
-					{
-						thePrintWriter.println(XALAN_STATIC_UCODE_STRING("<out/>"));
-					}
-					else
-					{
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("<out>"));
-
-						for (unsigned int i = 0; i < theLength; i++)
-						{
-							thePrintWriter.print(theResultList.item(i)->getNodeName());
-							thePrintWriter.print(XALAN_STATIC_UCODE_STRING(" "));
-						}
-
-						thePrintWriter.println(XALAN_STATIC_UCODE_STRING("</out>"));
-					}
-				}
-				catch(...)
-				{
-					thePrintWriter.print(XALAN_STATIC_UCODE_STRING("Execution of XPath "));
-					thePrintWriter.print(theXPathString);
-					thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" failed!"));
-				}
-			}
-		}
-	}
-
-	theLiaison.reset();
-
-	return fError;
-}
-
-
-
-bool
-TestPredicateResult(
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XMLParserLiaison&		theLiaison,
-			XPathFactory&			theXPathFactory,
-			const XalanDOMString&	theXMLFileURL,
-			const XalanDOMString&	theXSLFileURL,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	bool					fError = false;
-
-	XalanDocument* const	theXMLDocument =
-				ParseXML(theLiaison,
-						 theXMLFileURL);
-
-	if (theXMLDocument != 0)
-	{
-		XalanDOMString		theContextNodeMatchPattern;
-		XalanDOMString		theXPathString;
-
-		if (GetXSLInput(theLiaison,
-						theXSLFileURL,
-						theContextNodeMatchPattern,
-						theXPathString) == true)
-		{
-			XalanNode* const	theContextNode =
-				FindContextNode(theXPathProcessor,
-								theXPathEnvSupport,
-								theDOMSupport,
-								theXPathFactory,
-								theXMLDocument,
-								theContextNodeMatchPattern,
-								thePrintWriter,
-								theExecutionContext);
-
-			if (theContextNode != 0)
-			{
-				XalanElement* const				theNamespaceContext = 0;
-				ElementPrefixResolverProxy		thePrefixResolver(theNamespaceContext, theXPathEnvSupport, theDOMSupport);
-				NodeRefList						theContextNodeList;
-
-				XPath* const	theXPath1 = theXPathFactory.create();
-
-				XPathGuard	theGuard1(theXPathFactory,
-									  theXPath1);
-
-				theXPathProcessor.initXPath(*theXPath1,
-											TranscodeFromLocalCodePage("following-sibling::*"),
-											thePrefixResolver);
-
-				XPath* const	theXPath2 = theXPathFactory.create();
-
-				XPathGuard	theGuard2(theXPathFactory,
-									  theXPath2);
-
-				theXPathProcessor.initXPath(*theXPath2,
-											TranscodeFromLocalCodePage("descendant::*"),
-											thePrefixResolver);
-
-				bool	fDump = false;
-
-				if (fDump == true)
-				{
-					thePrintWriter.println();
-					thePrintWriter.println();
-					theXPath1->getExpression().dumpOpCodeMap(thePrintWriter);
-					thePrintWriter.println();
-					theXPath1->getExpression().dumpTokenQueue(thePrintWriter);
-					thePrintWriter.println();
-					thePrintWriter.println();
-					theXPath2->getExpression().dumpOpCodeMap(thePrintWriter);
-					thePrintWriter.println();
-					theXPath2->getExpression().dumpTokenQueue(thePrintWriter);
-					thePrintWriter.println();
-					thePrintWriter.println();
-				}
-
-				XalanNode*	theContextNode = theXMLDocument->getFirstChild()->getFirstChild();
-
-				for( ; theContextNode != 0; theContextNode = theContextNode->getNextSibling())
-				{
-					if (theContextNode->getNodeType() != XalanNode::ELEMENT_NODE)
-					{
-						continue;
-					}
-
-					const XObjectPtr theResult1 =
-							theXPath1->execute(theExecutionContext);
-
-					try
-					{
-						assert(theResult1.null() == false);
-
-						const NodeRefListBase&	theResultList =
-								theResult1->nodeset();
-
-						const unsigned int	theLength = theResultList.getLength();
-
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("theResult1->str() == \""));
-						thePrintWriter.print(theResult1->str());
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("\""));
-						thePrintWriter.println();
-
-						if (theLength > 0)
-						{
-							for (unsigned int i = 0; i < theLength; i++)
-							{
-								thePrintWriter.print(theResultList.item(i)->getNodeName());
-								thePrintWriter.println();
-							}
-						}
-					}
-					catch(...)
-					{
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("Execution of XPath "));
-						thePrintWriter.print(theXPathString);
-						thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" failed!"));
-					}
-
-					const XObjectPtr 	theResult2 =
-							theXPath2->execute(theExecutionContext);
-
-					try
-					{
-						assert(theResult2.null() == false);
-
-						const NodeRefListBase&	theResultList =
-								theResult2->nodeset();
-
-						const int	theLength = theResultList.getLength();
-
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("theResult2->str() == \""));
-						thePrintWriter.print(theResult2->str());
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("\""));
-						thePrintWriter.println();
-
-						if (theLength > 0)
-						{
-							for (int i = 0; i < theLength; i++)
-							{
-								thePrintWriter.print(theResultList.item(i)->getNodeName());
-								thePrintWriter.println();
-							}
-						}
-					}
-					catch(...)
-					{
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("Execution of XPath "));
-						thePrintWriter.print(theXPathString);
-						thePrintWriter.println(XALAN_STATIC_UCODE_STRING(" failed!"));
-					}
-
-					if (theResult1->equals(*theResult2, theExecutionContext) == true)
-					{
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("theResult1 is equal to theResult2"));
-						thePrintWriter.println();
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("theContextNode->getNodeName() == \""));
-						thePrintWriter.print(theContextNode->getNodeName());
-						thePrintWriter.print(XALAN_STATIC_UCODE_STRING("\"  theContextNode->getNodeValue() == \""));
-						thePrintWriter.print(theContextNode->getNodeValue());
-						thePrintWriter.println(XALAN_STATIC_UCODE_STRING("\""));
-					}
-				}
-			}
-		}
-	}
-
-	return fError;
-}
-
-
-
-const char* const	theNumericTestInput[] =
-{
-	"9 + 7 - 6 * 42 + 36 div 3 + 100 - 2 * 6",
-	"9 + 7 - 6 + 3 + 24 - 32 - 89 + 123 - 12256 + 89957",
-	"0 + 0",
-	"1 div 2",
-	"1 * 0.25",
-	"3 * 3 * 3",
-	"9 div 3 div 3",
-	"15.95 - 13.56",
-	0
-};
-
-
-
-const double	theNumericTestExpectedOutput[] =
-{
-	-136.0,
-	77740.0,
-	0,
-	0.5,
-	0.25,
-	27,
-	1,
-	15.95 - 13.56,
-	0	// This is a dummy entry and should be last.
-};
-
-
-
-void
-TestNumericResults(
-			XPathFactory&			theXPathFactory,
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	assert(sizeof(theNumericTestInput) / sizeof(theNumericTestInput[0]) ==
-			sizeof(theNumericTestExpectedOutput) / sizeof(theNumericTestExpectedOutput[0]));
-
-	for(int i = 0; theNumericTestInput[i] != 0; i++)
-	{
-		try
-		{
-			XPath* const	theXPath = theXPathFactory.create();
-
-			XPathGuard		theGuard(theXPathFactory,
-									 theXPath);
-
-			TestNumericResult(theXPathProcessor,
-							  *theXPath,
-							  TranscodeFromLocalCodePage(theNumericTestInput[i]),
-							  thePrintWriter,
-							  theNumericTestExpectedOutput[i],
-							  0,
-							  ElementPrefixResolverProxy(0, theXPathEnvSupport, theDOMSupport),
-							  NodeRefList(),
-							  theExecutionContext);
-		}
-		catch(...)
-		{
-			thePrintWriter.print("Exception caught evaluating XPath \"");
-			thePrintWriter.print(theNumericTestInput[i]);
-			thePrintWriter.println();
-		}
-	}
-}
-
-
-
-const char* const	theStringTestInput[] =
-{
-	"string(0)",
-	"string(1.5)",
-	"string(-1.5)",
-	"string(0.5)",
-	"string(-0.5)",
-	"string(9)",
-	"string(-9)",
-	"string(\"9\")",
-	"string(0.25)",
-
-	"concat(\"foo\", \"bar\")",
-	"concat(\"foo\", \"bar\", \"sky\")",
-
-	"contains(\"foobar\", \"oba\")",
-	"contains(\"LotusXSL4C is great\", \"boag\")",
-
-	"starts-with(\"foobar\", \"foo\")",
-	"starts-with(\"LotusXSL4C is great\", \"boag\")",
-
-	"substring-after(\"1999/04/01\", \"/\")",
-	"substring-after(\"1999/04/01\", \"19\")",
-
-	"substring-before(\"1999/04/01\", \"/\")",
-	"substring-before(\"1999/04/01\", \"01\")",
-
-	"substring(\"12345\", 1.5, 2.6)",
-	"substring(\"12345\", 0, 3)",
-	"substring(\"12345\", 5, 29)",
-	"substring(\"12345\", -1, 2)",
-	"substring(\"12345\", -2, -1)",
-	"substring(\"12345\", -2)",
-
-	"normalize-space(\"   aa   a  \")",
-
-	"translate(\"---aaa--\", \"abc-\", \"ABC\")",
-
-	"5 = 0",
-	"5 = 5",
-	0
-};
-
-
-const char* const	theStringTestExpectedOutput[] =
-{
-	"0",
-	"1.5",
-	"-1.5",
-	"0.5",
-	"-0.5",
-	"9",
-	"-9",
-	"9",
-	"0.25",
-
-	"foobar",
-	"foobarsky",
-
-	"true",
-	"false",
-
-	"true",
-	"false",
-
-	"04/01",
-	"99/04/01",
-
-	"1999",
-	"1999/04/",
-
-	"234",
-	"12",
-	"5",
-	"",
-	"",
-	"12345",
-
-	"aa a",
-
-	"AAA",
-
-	"false",
-	"true",
-	0
-};
-
-
-
-void
-TestStringResults(
-			XPathFactory&			theXPathFactory,
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	assert(sizeof(theStringTestInput) == sizeof(theStringTestExpectedOutput));
-
-	for(int i = 0; theStringTestInput[i] != 0; i++)
-	{
-		try
-		{
-			XPath* const	theXPath = theXPathFactory.create();
-
-			XPathGuard	theGuard(theXPathFactory,
-								 theXPath);
-
-			TestStringResult(theXPathProcessor,
-							 *theXPath,
-							 TranscodeFromLocalCodePage(theStringTestInput[i]),
-							 thePrintWriter,
-							 TranscodeFromLocalCodePage(theStringTestExpectedOutput[i]),
-							 0,
-							 ElementPrefixResolverProxy(0, theXPathEnvSupport, theDOMSupport),
-							 NodeRefList(),
-							 theExecutionContext);
-		}
-		catch(...)
-		{
-			thePrintWriter.print("Exception caught evaluating XPath \"");
-			thePrintWriter.print(theStringTestInput[i]);
-			thePrintWriter.println();
-		}
-	}
-}
-
-
-
-const char* const	theBooleanTestInput[] =
-{
-	"0 < 2 < 3",
-	"0 < 2 > 3",
-	"1 < 2 < 3",
-
-	"0 div 0 != 0 div 0",
-	"0 div 0 = 0 div 0",
-	"1 < 0 div 0",
-	"1 <= 0 div 0",
-	"2 > 0 div 0",
-	"2 >= 0 div 0",
-
-	"1 < 2",
-	"1500 < 657",
-	"1465787676 < 5 div 0",
-	"4657 div 0 < 4563745658",
-
-	"1000 <= 256000",
-	"1000 <= 1000",
-	"200564 <= 1999",
-	"5768594 <= 56 div 0",
-	"564783 div 0 <= 6758494857",
-
-	"2015 > 100",
-	"56478 > 240000",
-	"4657 div 0 > 57683946",
-	"573068574 > 5 div 0",
-
-	"46000 >= 1500",
-	"56983 >= 56983",
-	"460983 >= 1500000",
-	"67594876 div 0 >= 576849",
-
-	"1465787676 >= 5 div 0",
-	"-1465787676 >= -5 div 0",
-	"-1679 < -87 div 0",
-
-	"1 = 2 = 0",
-	"1 = 2 != 0",
-
-	0
-};
-
-
-
-const bool	theBooleanTestExpectedOutput[] =
-{
-	true,
-	false,
-	true,
-
-	true,
-	false,
-	false,
-	false,
-	false,
-	false,
-
-	true,
-	false,
-	true,
-	false,
-
-	true,
-	true,
-	false,
-	true,
-	false,
-
-	true,
-	false,
-	true,
-	false,
-
-	true,
-	true,
-	false,
-	true,
-
-	false,
-	true,
-	false,
-
-	true,
-	false,
-
-	0
-};
-
-
-
-void
-TestBooleanResults(
-			XPathFactory&			theXPathFactory,
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	assert(sizeof(theBooleanTestInput) / sizeof(theBooleanTestInput[0]) ==
-				sizeof(theBooleanTestExpectedOutput) / sizeof(theBooleanTestExpectedOutput[0]));
-
-	for(int i = 0; theBooleanTestInput[i] != 0; i++)
-	{
-		try
-		{
-			XPath* const	theXPath = theXPathFactory.create();
-
-			XPathGuard	theGuard(theXPathFactory,
-								 theXPath);
-
-			TestBooleanResult(theXPathProcessor,
-							  *theXPath,
-							  TranscodeFromLocalCodePage(theBooleanTestInput[i]),
-							  thePrintWriter,
-							  theBooleanTestExpectedOutput[i],
-							  0,
-							  ElementPrefixResolverProxy(0, theXPathEnvSupport, theDOMSupport),
-							  NodeRefList(),
-							  theExecutionContext);
-		}
-		catch(...)
-		{
-			thePrintWriter.print("Exception caught evaluating XPath \"");
-			thePrintWriter.print(theStringTestInput[i]);
-			thePrintWriter.println();
-		}
-	}
-}
-
-
-
-XalanDOMString
-GetXSLFileName(const XalanDOMString&		theXMLFileName)
-{
-	XalanDOMString	theResult;
-
-	int			thePeriodIndex = -1;
-
-	const int	theLength = length(theXMLFileName);
-
-	for (int i = theLength - 1; i > 0; i--)
-	{
-		if (charAt(theXMLFileName, i) == XalanUnicode::charFullStop)
-		{
-			thePeriodIndex = i;
-
-			break;
-		}
-	}
-
-	if (thePeriodIndex != -1)
-	{
-		theResult = substring(theXMLFileName,
-							  0,
-							  thePeriodIndex + 1);
-
-		theResult += XALAN_STATIC_UCODE_STRING("xsl");
-	}
-
-	return theResult;
-}
-
-
-
-void
-TestAxes(
-			XPathFactory&			theXPathFactory,
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XMLParserLiaison&		theLiaison,
-			const XalanDOMString&	theDirectory,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	const XalanDOMString	theProtocol(XALAN_STATIC_UCODE_STRING("file://"));
-	const XalanDOMString	theBaseURL = theProtocol + theDirectory;
-#if defined(WIN32)
-	const XalanDOMString	theSearchSpecification(theDirectory + "\\*");
-#else
-	const XalanDOMString	theSearchSpecification(theDirectory + "/*");
-#endif
-	const XalanDOMString	theXMLSuffix(XALAN_STATIC_UCODE_STRING(".xml"));
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMString>		FileNameVectorType;
-#else
-	typedef std::vector<XalanDOMString>	FileNameVectorType;
-#endif
-
-	DirectoryEnumeratorFunctor<FileNameVectorType, XalanDOMString>	theEnumerator;
-
-	FileNameVectorType	theFiles;
-
-	theEnumerator(theSearchSpecification,
-				  theFiles);
-
-	thePrintWriter.println();
-
-	for(FileNameVectorType::size_type	i = 0; i < theFiles.size(); i++)
-	{
-		if (endsWith(theFiles[i], theXMLSuffix) == true)
-		{
-			try
-			{
-				// Create a fully qualified URL specification...
-				const XalanDOMString	theXMLFileName = theBaseURL + theFiles[i];
-
-				// Get the name of the corresponding XSL file...
-				const XalanDOMString	theXSLFileName = GetXSLFileName(theXMLFileName);
-
-				XPathGuard	theXPath(theXPathFactory,
-									 theXPathFactory.create());
-
-				TestAxisResult(theXPathProcessor,
-							   theXPathEnvSupport,
-							   theDOMSupport,
-							   theLiaison,
-							   theXPathFactory,
-							   theXMLFileName,
-							   theXSLFileName,
-							   thePrintWriter,
-							   theExecutionContext);
-			}
-			catch(...)
-			{
-				thePrintWriter.print("Exception caught evaluating XPath!");
-				thePrintWriter.println();
-			}
-		}
-	}
-}
-
-
-
-void
-RunTests(
-			XPathFactory&			theXPathFactory,
-			XPathProcessor&			theXPathProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XMLParserLiaison&		theLiaison,
-			PrintWriter&			thePrintWriter,
-			XPathExecutionContext&	theExecutionContext)
-{
-	TestNumericResults(theXPathFactory,
-					   theXPathProcessor,
-					   theXPathEnvSupport,
-					   theDOMSupport,
-					   thePrintWriter,
-					   theExecutionContext);
-
-	TestStringResults(theXPathFactory,
-					  theXPathProcessor,
-					  theXPathEnvSupport,
-					  theDOMSupport,
-					  thePrintWriter,
-					  theExecutionContext);
-
-	TestBooleanResults(theXPathFactory,
-					   theXPathProcessor,
-					   theXPathEnvSupport,
-					   theDOMSupport,
-					   thePrintWriter,
-					   theExecutionContext);
-
-	TestAxes(theXPathFactory,
-			 theXPathProcessor,
-		     theXPathEnvSupport,
-			 theDOMSupport,
-			 theLiaison,
-			 StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("/xsl-test/conf/axes/")),
-			 thePrintWriter,
-		     theExecutionContext);
-}
-
-
-
-int
-main(int			/* argc */,
-	 const char*	/* argv */ [])
-{
-#if !defined (XALAN_NO_NAMESPACES)
-	using std::cout;
-#endif
-
-#if !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-   _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-   _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-	XMLPlatformUtils::Initialize();
-
-	{
-		XMLSupportInit					theXMLSupportInit;
-		XPathInit						theXPathInit;
-
-		XPathEnvSupportDefault			theXPathEnvSupport;
-		XalanSourceTreeDOMSupport		theDOMSupport;
-		XObjectFactoryDefault			theXObjectFactory;
-		XPathFactoryDefault				theXPathFactory;
-		XPathProcessorImpl				theXPathProcessor;
-
-		XPathExecutionContextDefault	theExecutionContext(theXPathEnvSupport,
-															theDOMSupport,
-															theXObjectFactory);
-
-		XalanStdOutputStream			theStdOut(cout);
-		XalanOutputStreamPrintWriter	thePrintWriter(theStdOut);
-		XalanSourceTreeParserLiaison	theLiaison(theDOMSupport);
-
-		RunTests(theXPathFactory,
-				 theXPathProcessor,
-				 theXPathEnvSupport,
-				 theDOMSupport,
-				 theLiaison,
-				 thePrintWriter,
-				 theExecutionContext);
-	}
-
-	XMLPlatformUtils::Terminate();
-
-	return 0;
-}
diff --git a/src/TestXSLT/process.cpp b/src/TestXSLT/process.cpp
deleted file mode 100644
index f380762..0000000
--- a/src/TestXSLT/process.cpp
+++ /dev/null
@@ -1,1311 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <cstdio>
-#include <cstring>
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-#if defined(XALAN_RTTI_AVAILABLE) && !defined(XALAN_NO_TYPEINFO)
-#include <typeinfo>
-#endif
-
-
-
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/sax/SAXParseException.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DOMStringPrintWriter.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanFileOutputStream.hpp>
-#include <PlatformSupport/XalanStdOutputStream.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <DOMSupport/DOMSupportDefault.hpp>
-
-
-
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPathFactoryBlock.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-
-
-
-#include <XalanExtensions/XalanExtensions.hpp>
-
-
-
-#include <XercesParserLiaison/XercesParserLiaison.hpp>
-#include <XercesParserLiaison/XercesDOMSupport.hpp>
-
-
-
-#include <XMLSupport/FormatterToDOM.hpp>
-#include <XMLSupport/FormatterToHTML.hpp>
-#include <XMLSupport/FormatterToNull.hpp>
-#include <XMLSupport/FormatterToText.hpp>
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterTreeWalker.hpp>
-
-
-
-#include <XalanSourceTree/FormatterToSourceTree.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-#include <XalanSourceTree/XalanSourceTreeInit.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-#include <XSLT/XSLTEngineImpl.hpp>
-#include <XSLT/XSLTInit.hpp>
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTResultTarget.hpp>
-#include <XSLT/StylesheetRoot.hpp>
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/TraceListenerDefault.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-
-
-
-//#define XALAN_USE_ICU
-#if defined(XALAN_USE_ICU)
-#include <ICUBridge/FunctionICUFormatNumber.hpp>
-#include <ICUBridge/ICUBridgeCollationCompareFunctor.hpp>
-#endif
-
-
-
-//#define XALAN_VQ_SPECIAL_TRACE
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-#include "C:/Program Files/Rational/Quantify/pure.h"
-#endif
-
-
-
-#if !defined (XALAN_NO_NAMESPACES)
-using std::cerr;
-using std::cin;
-using std::cout;
-using std::endl;
-using std::hex;
-using std::pair;
-using std::vector;
-#endif
-
-
-
-/**
- * Print argument options.
- */ 
-void
-printArgOptions()
-{
-	cerr << endl
-		 << "TestXSLT options: "
-		 << endl
-		 << endl
-		 << "Options are not case-sensitive."
-		 << endl
-		 << endl
-		 << " [-? Shows this message.]"
-		 << endl
-		 << endl
-		 << " [-h Shows this message.]"
-		 << endl
-		 << endl
-		 << " [-IN inputXMLURL (If not specified, stdin is used.)]"
-		 << endl
-		 << endl
-		 << " [-XSL XSLTransformationURL]"
-		 << endl
-		 << " [-OUT outputFileName]"
-		 << endl
-		 << " [-V (Show version information only.)]"
-		 << endl
-		 << " [-QC (Quiet pattern conflicts warnings.)]"
-		 << endl
-		 << " [-Q (Use quiet mode.)]"
-		 << endl
-		 << " [-INDENT n (Controls how many spaces to indent. {default is 0})]"
-		 << endl
-		 << " [-VALIDATE (Controls whether validation occurs. Validation is off by default.)]"
-		 << endl
-		 << endl
-		 << " [-TT (Trace the templates as they are being called.)]"
-		 << endl
-		 << " [-TG (Trace each generation event.)]"
-		 << endl
-		 << " [-TS (Trace each selection event.)]"
-		 << endl
-		 << " [-TTC (Trace the template children as they are being processed.)]"
-		 << endl
-		 << endl
-		 << " [-XML (Use XML formatter and add XML header.)]"
-		 << endl
-		 << " [-TEXT (Use Text formatter.)]"
-		 << endl
-		 << " [-HTML (Use HTML formatter.)]"
-		 << endl
-		 << " [-DOM (Use DOM formatter.  Formats to DOM, then formats XML for output.)]"
-		 << endl
-		 << " [-XST (Use source tree formatter.  Formats to Xalan source tree, then formats XML for output.)]"
-		 << endl
-		 << endl
-		 << " [-PARAM name expression (Sets a stylesheet parameter.)]"
-		 << endl
-		 << endl
-		 << " [-XD (Use Xerces DOM instead of Xalan source tree.)]"
-		 << endl
-		 << endl
-		 << " [-DE (Disable built-in extension functions.)]"
-		 << endl
-		 << "The following options are valid only with -HTML or -XML."
-		 << endl
-		 << endl
-		 << " [-STRIPCDATA (Strip CDATA sections of their brackets, but don't escape.)"
-		 << endl
-		 << " [-ESCAPECDATA (Strip CDATA sections of their brackets, but escape.)"
-		 << endl
-		 << endl
-		 << "The following option is valid only with -HTML."
-		 << endl
-		 << endl
-		 << " [-NOINDENT (Turns off HTML indenting..]"
-		 << endl
-		 << endl
-		 << "The following option is valid only with -XML."
-		 << endl
-		 << endl
-		 << " [-NH (Don't write XML header.)]"
-		 << endl;
-}
-
-
-
-typedef vector<pair<const char*, const char*> >	StringPairVectorType;
-
-
-
-struct CmdLineParams
-{
-	StringPairVectorType params;
-
-	bool		escapeCData;
-	bool		setQuietConflictWarnings;
-	bool		setQuietMode;
-	bool		stripCData;
-	bool		versionOnly;
-	bool		traceTemplates;
-	bool		traceGenerationEvent;
-	bool		traceSelectionEvent;
-	bool		traceTemplateChildren;
-	bool		shouldWriteXMLHeader;
-	bool		doValidation;
-	bool		noIndent;
-	bool		formatToNull;
-	bool		formatToSourceTree;
-	bool		useDOM;
-	bool		disableExtensions;
-
-	int			indentAmount;
-	int			outputType;
-
-	const char*		outFileName;
-	const char*		xslFileName;
-	const char*		inFileName;
-
-	CmdLineParams() :
-		params(),
-		escapeCData(false),
-		setQuietConflictWarnings(false),
-		setQuietMode(false),
-		stripCData(false),
-		versionOnly(false),
-		traceTemplates(false),
-		traceGenerationEvent(false),
-		traceSelectionEvent(false),
-		traceTemplateChildren(false),
-		shouldWriteXMLHeader(true),
-		doValidation(false),
-		noIndent(false),
-		formatToNull(false),
-		formatToSourceTree(false),
-		useDOM(false),
-		disableExtensions(false),
-		indentAmount(-1),
-		outputType(-1),
-		outFileName(0),
-		xslFileName(0),
-		inFileName(0)
-	{
-	}
-};
-
-
-
-void
-warnPreviousOutputMethod(int	outputMethod)
-{
-	cerr << endl << "Warning: Ignoring previous output method switch ";
-
-	switch(outputMethod)
-	{
-	case FormatterListener::OUTPUT_METHOD_XML:
-		cerr << "-XML.";
-		break;
-
-	case FormatterListener::OUTPUT_METHOD_TEXT:
-		cerr << "-TEXT.";
-		break;
-
-	case FormatterListener::OUTPUT_METHOD_HTML:
-		cerr << "-HTML.";
-		break;
-
-	case FormatterListener::OUTPUT_METHOD_DOM:
-		cerr << "-DOM.";
-		break;		
-	}
-
-	cerr << endl << endl;
-}
-
-
-
-#if defined(OS390)
-#include <strings.h>                                             
-                                                                  
-int
-compareNoCase(
-			const char*		str1,
-			const char*		str2)     
-{
-	return strcasecmp(str1, str2);
-}
-
-#else
-
-int
-compareNoCase(
-			const char*		str1,
-			const char*		str2)     
-{
-	return stricmp(str1, str2);
-}
-
-#endif
-
-
-
-bool
-getArgs(
-			int				argc,
-			const char*		argv[],
-			CmdLineParams&	p)
-{
-	bool fSuccess = true;
-
-	for (int i = 1; i < argc && fSuccess == true; ++i)
-	{
-		if (!compareNoCase("-h", argv[i]) || !compareNoCase("-?", argv[i]))
-		{
-			fSuccess = false;
-		}
-		else if (!compareNoCase("-IN", argv[i]))
-		{
-			++i;
-
-			if(i < argc && argv[i][0] != '-')
-			{
-				p.inFileName = argv[i];
-			}
-			else
-			{
-				fSuccess = false;
-			}
-		}
-		else if (!compareNoCase("-XSL", argv[i]))
-		{
-			++i;
-
-			if(i < argc && argv[i][0] != '-')
-			{
-				p.xslFileName = argv[i];
-			}
-			else
-			{
-				fSuccess = false;
-			}
-		}
-		else if (!compareNoCase("-OUT", argv[i]))
-		{
-			++i;
-
-			if(i < argc && argv[i][0] != '-')
-			{
-				p.outFileName = argv[i];
-			}
-			else
-			{
-				fSuccess = false;
-			}
-		}
-		else if (!compareNoCase("-NOINDENT", argv[i]))
-		{
-			p.noIndent = true;
-		} 
-		else if (!compareNoCase("-INDENT", argv[i]))
-		{
-			++i;
-
-			if(i < argc && argv[i][0] != '-')
-			{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-				p.indentAmount = std::atoi(argv[i]);
-#else
-				p.indentAmount = atoi(argv[i]);
-#endif
-			}
-			else
-			{
-				fSuccess = false;
-			}
-		}
-		else if(!compareNoCase("-VALIDATE", argv[i]))
-		{
-			p.doValidation = true;
-		}
-		else if (!compareNoCase("-PARAM", argv[i])) 
-		{
-			++i;
-
-			if(i < argc && argv[i][0] != '-')
-			{
-				const char* const	name = argv[i];
-
-				++i;
-
-				// Don't check for '-' here, since that might
-				// be a valid character in a parameter value.
-				if(i < argc)
-				{
-					typedef StringPairVectorType::value_type	value_type;
-
-					p.params.push_back(value_type(name, argv[i]));
-				}
-				else
-				{
-					fSuccess = false;
-				}
-			}
-			else
-			{
-				fSuccess = false;
-			}
-		}
-		else if(!compareNoCase("-V", argv[i]))
-		{
-			p.versionOnly = true;
-		}
-		else if(!compareNoCase("-QC", argv[i]))
-		{
-			p.setQuietConflictWarnings = true;
-		}
-		else if(!compareNoCase("-Q", argv[i]))
-		{
-			p.setQuietMode = true;
-		}
-		else if(!compareNoCase("-XML", argv[i]))
-		{
-			if (p.outputType != -1)
-			{
-				warnPreviousOutputMethod(p.outputType);
-			}
-
-			p.outputType = FormatterListener::OUTPUT_METHOD_XML;
-		}
-		else if(!compareNoCase("-TEXT", argv[i]))
-		{
-			if (p.outputType != -1)
-			{
-				warnPreviousOutputMethod(p.outputType);
-			}
-
-			p.outputType = FormatterListener::OUTPUT_METHOD_TEXT;
-		}
-		else if(!compareNoCase("-HTML", argv[i]))
-		{
-			if (p.outputType != -1)
-			{
-				warnPreviousOutputMethod(p.outputType);
-			}
-
-			p.outputType = FormatterListener::OUTPUT_METHOD_HTML;
-		}
-		else if(!compareNoCase("-DOM", argv[i]))
-		{
-			if (p.outputType != -1)
-			{
-				warnPreviousOutputMethod(p.outputType);
-			}
-
-			p.outputType = FormatterListener::OUTPUT_METHOD_DOM;
-		}
-		else if(!compareNoCase("-XST", argv[i]))
-		{
-			if (p.outputType != -1)
-			{
-				warnPreviousOutputMethod(p.outputType);
-			}
-
-			p.outputType = FormatterListener::OUTPUT_METHOD_DOM;
-
-			p.formatToSourceTree = true;
-		}
-		else if(!compareNoCase("-NULL", argv[i]))
-		{
-			p.formatToNull = true;
-		}
-		else if(!compareNoCase("-STRIPCDATA", argv[i]))
-		{
-			p.stripCData = true;
-		}
-		else if(!compareNoCase("-ESCAPECDATA", argv[i]))
-		{
-			p.escapeCData = true;
-		}
-		else if (!compareNoCase("-NH", argv[i]))
-		{
-			p.shouldWriteXMLHeader = false;
-		}
-		else if(!compareNoCase("-TT", argv[i]))
-		{
-			p.traceTemplates = true;
-		}
-		else if(!compareNoCase("-TG", argv[i]))
-		{
-			p.traceGenerationEvent = true;
-		}
-		else if(!compareNoCase("-TS", argv[i]))
-		{
-			p.traceSelectionEvent = true;
-		}
-		else if(!compareNoCase("-TTC", argv[i]))
-		{
-			p.traceTemplateChildren = true;
-		}
-		else if (!compareNoCase("-XD", argv[i]))
-		{
-			p.useDOM = true;
-		}
-		else if (!compareNoCase("-DE", argv[i]))
-		{
-			p.disableExtensions = true;
-		}
-		else
-		{
-			cerr << endl << "Warning: Ignoring unknown option \"" << argv[i] << "\"." << endl << endl;
-		}
-	}
-
-	return fSuccess;
-}
-
-
-
-FormatterListener*
-createFormatter(
-			int								outputType,
-			bool							shouldWriteXMLHeader,
-			bool							stripCData,
-			bool							escapeCData,
-			bool							noIndent,
-			bool							formatToNull,
-			bool							formatToSourceTree,
-			PrintWriter&					resultWriter,
-			int								indentAmount,
-			const XalanDOMString&			mimeEncoding,
-			const StylesheetRoot*			stylesheet,
-			XMLParserLiaison&				parserLiaison,
-			XalanSourceTreeParserLiaison&	sourceTreeParserLiaison,
-			const PrefixResolver&			prefixResolver,
-			const XalanDocument*&			theResultDocument)
-{
-	FormatterListener*	formatter = 0;
-
-	if (formatToNull == true)
-	{
-		formatter = new FormatterToNull;
-	}
-	else if(FormatterListener::OUTPUT_METHOD_XML == outputType)
-	{
-		XalanDOMString	version;
-		bool			outputIndent = false;
-		XalanDOMString	mediatype;
-		XalanDOMString	doctypeSystem;
-		XalanDOMString	doctypePublic;
-		XalanDOMString	standalone;
-
-		if (stylesheet != 0)
-		{
-			version = stylesheet->m_version;
-
-			mediatype = stylesheet->m_mediatype;
-			doctypeSystem = stylesheet->getOutputDoctypeSystem();
-			doctypePublic = stylesheet->getOutputDoctypePublic();
-			standalone = stylesheet->m_standalone;
-		}
-
-		FormatterToXML* const	fToXML =
-			new FormatterToXML(
-					resultWriter,
-					version,
-					outputIndent,
-					indentAmount,
-					mimeEncoding,
-					mediatype,
-					doctypeSystem,
-					doctypePublic,
-					true,	// xmlDecl
-					standalone);
-
-		fToXML->setShouldWriteXMLHeader(shouldWriteXMLHeader);
-		fToXML->setStripCData(stripCData);
-		fToXML->setEscapeCData(escapeCData);
-
-		formatter = fToXML;
-	}
-	else if(FormatterListener::OUTPUT_METHOD_TEXT == outputType)
-	{
-		formatter = new FormatterToText(resultWriter, mimeEncoding);
-	}
-	else if(FormatterListener::OUTPUT_METHOD_HTML == outputType)
-	{
-		XalanDOMString	version;
-		bool			outputIndent = !noIndent;
-		XalanDOMString	mediatype;
-		XalanDOMString	doctypeSystem;
-		XalanDOMString	doctypePublic;
-		XalanDOMString	standalone;
-
-		if (stylesheet != 0)
-		{
-			version = stylesheet->m_version;
-
-			if (noIndent == false)
-			{
-				outputIndent = stylesheet->getOutputIndent();
-			}
-
-			mediatype = stylesheet->m_mediatype;
-			doctypeSystem = stylesheet->getOutputDoctypeSystem();
-			doctypePublic = stylesheet->getOutputDoctypePublic();
-			standalone = stylesheet->m_standalone;
-		}
-
-		FormatterToHTML* const	fToHTML =
-				new FormatterToHTML(
-						resultWriter,
-						mimeEncoding,
-						mediatype,
-						doctypeSystem,
-						doctypePublic,
-						outputIndent,
-						indentAmount,
-						version,
-						standalone,
-						false);	// xmlDecl
-
-		fToHTML->setStripCData(stripCData);
-		fToHTML->setPrefixResolver(&prefixResolver);
-
-		formatter = fToHTML;
-	}
-	else if(FormatterListener::OUTPUT_METHOD_DOM == outputType)
-	{
-		if (formatToSourceTree == true)
-		{
-			XalanSourceTreeDocument*	theDocument =
-				sourceTreeParserLiaison.createXalanSourceTreeDocument();
-			assert(theDocument != 0);
-
-			theResultDocument = theDocument;
-
-			FormatterToSourceTree* const	fToSourceTree =
-				new FormatterToSourceTree(theDocument);
-
-			fToSourceTree->setPrefixResolver(&prefixResolver);
-
-			formatter = fToSourceTree;
-		}
-		else
-		{
-			XalanDocument* const	theDocument =
-				parserLiaison.createDOMFactory();
-			assert(theDocument != 0);
-
-			theResultDocument = theDocument;
-
-			FormatterToDOM* const	fToDOM =
-				new FormatterToDOM(theDocument, 0);
-
-			fToDOM->setPrefixResolver(&prefixResolver);
-
-			formatter = fToDOM;
-		}
-	}
-
-	return formatter;
-}
-
-
-
-XalanOutputStream*
-createOutputStream(const CmdLineParams&		params)
-{
-	if (params.outFileName == 0)
-	{
-		return new XalanStdOutputStream(cout);
-	}
-	else
-	{
-		return new XalanFileOutputStream(TranscodeFromLocalCodePage(params.outFileName));
-	}
-}
-
-
-
-TraceListener*
-createTraceListener(
-			const CmdLineParams&	params,
-			PrintWriter&			diagnosticsWriter)
-{
-	if (params.traceTemplates == true ||
-		params.traceTemplateChildren == true ||
-		params.traceGenerationEvent == true ||
-		params.traceSelectionEvent == true)
-	{
-		return new TraceListenerDefault(
-				diagnosticsWriter,
-				params.traceTemplates,
-				params.traceTemplateChildren,
-				params.traceGenerationEvent,
-				params.traceSelectionEvent);
-	}
-	else
-	{
-		return 0;
-	}
-
-}
-
-
-
-DOMSupport&
-getDOMSupport(
-		XalanSourceTreeDOMSupport&	theXalanSourceTreeDOMSupport,
-		XercesDOMSupport&			theXercesDOMSupport,
-		const CmdLineParams&		params)
-{
-	if (params.useDOM == false)
-	{
-		return theXalanSourceTreeDOMSupport;
-	}
-	else
-	{
-		return theXercesDOMSupport;
-	}
-}
-
-
-
-XMLParserLiaison&
-getParserLiaison(
-		XalanSourceTreeParserLiaison&	theXalanSourceTreeParserLiaison,
-		XercesParserLiaison&			theXercesParserLiaison,
-		const CmdLineParams&			params)
-{
-	if (params.useDOM == false)
-	{
-		return theXalanSourceTreeParserLiaison;
-	}
-	else
-	{
-		return theXercesParserLiaison;
-	}
-}
-
-
-
-int
-xsltMain(const CmdLineParams&	params)
-{
-	// Initialize the XSLT subsystem.  This must stay in scope until
-	// we're done with the subsystem, since its destructor shuts down
-	// the subsystem.
-	XSLTInit	theInit;
-
-#if defined(XALAN_USE_ICU)
-	// Create an installer to install the substitute format-number() function.
-	FunctionICUFormatNumber::FunctionICUFormatNumberInstaller	theInstaller;
-#endif
-
-	const XalanDOMString	mimeEncoding(XALAN_STATIC_UCODE_STRING("UTF-8"));
-	const XalanDOMString	encoding(XALAN_STATIC_UCODE_STRING("UTF-8"));
-
-	/**
-	 * The default diagnostic writer...
-	 */
-	XalanStdOutputStream				theStdErr(cerr);
-	XalanOutputStreamPrintWriter		diagnosticsWriter(theStdErr);
-
-	// Make sure that error reporting, which includes any TraceListener output
-	// does not throw exceptions when transcoding, since that could result in
-	// an exception being thrown will another exception is active.  In particular,
-	// characters that the TraceListener writes might not be representable in the
-	// local code page.
-	theStdErr.setThrowTranscodeException(false);
-
-	// Initialize the XalanSourceTree subsystem.  This must stay in scope until
-	// we're done with the subsystem, since its destructor shuts down the
-	// subsystem.
-	XalanSourceTreeInit				theXalanSourceTreeInit;
-
-	XalanSourceTreeDOMSupport		theXalanSourceTreeDOMSupport;
-	XalanSourceTreeParserLiaison	theXalanSourceTreeParserLiaison(theXalanSourceTreeDOMSupport);
-
-	// Hookup the parser liaison instance to the support instance.
-	theXalanSourceTreeDOMSupport.setParserLiaison(&theXalanSourceTreeParserLiaison);
-
-
-	XercesDOMSupport		theXercesDOMSupport;
-	XercesParserLiaison		theXercesParserLiaison;
-
-	DOMSupport&				theDOMSupport = getDOMSupport(
-		theXalanSourceTreeDOMSupport,
-		theXercesDOMSupport,
-		params);
-
-	XMLParserLiaison&		xmlParserLiaison = getParserLiaison(
-		theXalanSourceTreeParserLiaison,
-		theXercesParserLiaison,
-		params);
-
-	XSLTProcessorEnvSupportDefault	theXSLProcessorSupport;
-
-	if (params.disableExtensions == false)
-	{
-		XalanExtensionsInstaller::installGlobal();
-	}
-
-	XObjectFactoryDefault	theXObjectFactory;
-
-	XPathFactoryDefault		theXPathFactory;
-
-	const XalanAutoPtr<TraceListener>		theTraceListener(
-			createTraceListener(
-				params,
-				diagnosticsWriter));
-
-	XSLTEngineImpl	processor(
-			xmlParserLiaison,
-			theXSLProcessorSupport,
-			theDOMSupport,
-			theXObjectFactory,
-			theXPathFactory);
-
-	theXSLProcessorSupport.setProcessor(&processor);
-
-	if (theTraceListener.get() != 0)
-	{
-		processor.setTraceSelects(params.traceSelectionEvent);
-		processor.addTraceListener(theTraceListener.get());
-	}
-
-	// Use a different factory type for the stylesheet.  This is an optimization, since
-	// stylesheet XPath instances are built all at once and are deleted all at once when
-	// the stylesheet is destroyed.
-	XPathFactoryBlock	theStylesheetXPathFactory;
-
-	StylesheetConstructionContextDefault	theConstructionContext(
-			processor,
-			theStylesheetXPathFactory);
-
-	/*
-	 * Set specified processor flags
-	 */
-	processor.setQuietConflictWarnings(params.setQuietConflictWarnings);
-
-	if (params.params.size() > 0)
-	{
-		StringPairVectorType::const_iterator	it = params.params.begin();
-
-		for ( ; it != params.params.end(); ++it)
-		{
-			assert((*it).first != 0 && (*it).second != 0);
-
-			processor.setStylesheetParam(
-					XalanDOMString((*it).first),
-					XalanDOMString((*it).second));
-		}
-	}
-
-	/*
-	 * Set specified parser flags
-	 */
-	if (params.indentAmount != 0)
-	{
-		xmlParserLiaison.setIndent(params.indentAmount);
-	}
-
-	xmlParserLiaison.setUseValidation(params.doValidation);
-
-	if (!params.setQuietMode)
-	{
-		processor.setDiagnosticsOutput(&diagnosticsWriter);
-	}
-
-	XalanDOMString	xslFileName;
-
-	if(params.xslFileName != 0)
-	{
-		xslFileName = params.xslFileName;
-	}
-
-	const StylesheetRoot*	stylesheet = 0;
-
-	if (!isEmpty(xslFileName))
-	{
-		stylesheet = processor.processStylesheet(xslFileName, theConstructionContext);
-	}
-
-	XalanAutoPtr<XalanOutputStream>		outputFileStream(createOutputStream(params));
-	assert(outputFileStream.get() != 0);
-
-	XalanOutputStreamPrintWriter	resultWriter(*outputFileStream.get());
-
-	const XalanDocument*	theResultDocument = 0;
-
-	const XalanAutoPtr<FormatterListener>	formatter(
-			createFormatter(
-				params.outputType,
-				params.shouldWriteXMLHeader,
-				params.stripCData,
-				params.escapeCData,
-				params.noIndent,
-				params.formatToNull,
-				params.formatToSourceTree,
-				resultWriter,
-				xmlParserLiaison.getIndent(),
-				mimeEncoding,
-				stylesheet,
-				xmlParserLiaison,
-				theXalanSourceTreeParserLiaison,
-				processor,
-				theResultDocument));
-
-	XSLTResultTarget	rTreeTarget;
-
-	if(formatter.get() == 0)
-	{
-		rTreeTarget.setCharacterStream(&resultWriter);
-	}
-	else
-	{
-		rTreeTarget.setFormatterListener(formatter.get());
-	}
-
-	// Do the transformation...
-	XSLTInputSource		theInputSource;
-
-	if (params.inFileName != 0)
-	{
-		theInputSource.setSystemId(c_wstr(XalanDOMString(params.inFileName)));
-	}
-	else
-	{
-		theInputSource.setStream(&cin);
-
-		cerr << "Reading input document from stdin..." << endl;
-	}
-
-	StylesheetExecutionContextDefault	theExecutionContext(processor,
-			theXSLProcessorSupport,
-			theDOMSupport,
-			theXObjectFactory);
-
-#if defined(XALAN_USE_ICU)
-	ICUBridgeCollationCompareFunctor	theICUFunctor;
-
-	theExecutionContext.installCollationCompareFunctor(&theICUFunctor);
-#endif
-
-	if (params.useDOM == false)
-	{
-		theXalanSourceTreeParserLiaison.setExecutionContext(theExecutionContext);
-	}
-	else
-	{
-		theXercesParserLiaison.setExecutionContext(theExecutionContext);
-	}
-
-	if (stylesheet == 0)
-	{
-		// No stylesheet, so our only hope is that the xml file has
-		// PI with the stylesheet...
-
-		// Dummy input source...
-		XSLTInputSource		theStylesheetSource;
-
-		processor.process(
-				theInputSource,
-				theStylesheetSource,
-				rTreeTarget,
-				theConstructionContext,
-				theExecutionContext);
-	}
-	else
-	{
-		theExecutionContext.setStylesheetRoot(stylesheet);
-
-		processor.process(
-				theInputSource,
-				rTreeTarget,
-				theExecutionContext);
-	}
-
-	if (params.outputType == FormatterListener::OUTPUT_METHOD_DOM)
-	{
-		// Output is to DOM, so we have to format to XML to
-		// produce output...
-		assert(rTreeTarget.getFormatterListener() != 0 &&
-			   rTreeTarget.getFormatterListener()->getOutputFormat() ==
-					FormatterListener::OUTPUT_METHOD_DOM);
-
-		if (theResultDocument == 0)
-		{
-			cerr << endl << "Error: No document to format!!!" << endl;
-		}
-		else
-		{
-			// Create a FormaterToXML with the required output
-			// options...
-			const XalanAutoPtr<FormatterListener>	formatter(
-					createFormatter(
-						FormatterListener::OUTPUT_METHOD_XML,
-						params.shouldWriteXMLHeader,
-						params.stripCData,
-						params.escapeCData,
-						params.noIndent,
-						false,
-						false,
-						resultWriter,
-						xmlParserLiaison.getIndent(),
-						mimeEncoding,
-						stylesheet,
-						xmlParserLiaison,
-						theXalanSourceTreeParserLiaison,
-						processor,
-						theResultDocument));
-
-			// Create a FormatterTreeWalker with the the
-			// new formatter...
-			FormatterTreeWalker theTreeWalker(*formatter.get());
-
-			// Walk the document and produce the XML...
-			theTreeWalker.traverse(theResultDocument);
-		}
-	}
-
-	theExecutionContext.reset();
-
-	theConstructionContext.reset();
-	theStylesheetXPathFactory.reset();
-
-	processor.reset();
-
-	theXPathFactory.reset();
-	theXObjectFactory.reset();
-	theXSLProcessorSupport.reset();
-	theDOMSupport.reset();
-
-	xmlParserLiaison.reset();
-
-	return 0;
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(XALAN_USE_ICU) && !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-	QuantifyStopRecordingData();
-#endif
-
-	int				theResult = 0;
-
-	CmdLineParams	theParams;
-
-	/*
-	 *		Get command line arguments
-	 */
-	if (getArgs(argc, argv, theParams) == false)
-	{
-		printArgOptions();
-	}
-	else if (theParams.versionOnly == true)
-	{
-		cout << endl
-			 << "TestXSLT version 1.3 (Xalan C++ version 1.3)"
-			 << endl;
-	}
-	else
-	{
-		XMLPlatformUtils::Initialize();
-
-		try
-		{
-			theResult = xsltMain(theParams);
-		}
-		catch (const XSLException&	e)
-		{
-			cout << "\nXSLException ";
-
-			cout << "Type is: " << e.getType() << endl;
-
-			cout << "Message is: " << e.getMessage() << " (";
-
-			const XalanDOMString&	theURI = e.getURI();
-
-			if (length(theURI) != 0)
-			{
-				cout << theURI;
-			}
-			else
-			{
-				cout << "Unknown URI";
-			}
-
-			cout << ", line "
-				 << e.getLineNumber()
-				 << ", column "
-				 << e.getColumnNumber()
-				 << ")"
-				 << endl;
-
-			theResult = -1;
-		}
-		catch (const SAXParseException&	e)
-		{
-			cout << "\nSAXParseException ";
-
-			cout << "Message is: " << e.getMessage() << " (";
-
-			const XMLCh* const	theSystemID = e.getSystemId();
-
-			if (theSystemID != 0)
-			{
-				cout << XalanDOMString(theSystemID);
-			}
-			else
-			{
-				cout << "Unknown system ID";
-			}
-
-			cout << ", line "
-				 << e.getLineNumber()
-				 << ", column "
-				 << e.getColumnNumber()
-				 << ")"
-				 << endl;
-
-			theResult = -2;
-		}
-		catch (const SAXException&	e)
-		{
-			cout << "\nSAXException ";
-
-			cout << "Message is: " << e.getMessage() << endl;
-
-			theResult = -2;
-		}
-		catch (const XMLException&	e)
-		{
-			cout << "\nXMLException ";
-
-			cout << "Type is: " << e.getType() << endl;
-
-			cout << "Message is: " << e.getMessage() << endl;
-
-			theResult = -3;
-		}
-		catch(const XalanDOMException&	e)
-		{
-			cout << endl
-				 << "XalanDOMException caught.  The code is "
-				 << int(e.getExceptionCode())
-				 << "."
-				 << endl;
-
-			theResult = -4;
-		}
-		catch (...)
-		{
-			cout << "\nUnhandled Exception\n";
-
-			theResult = -5;
-		}
-
-#if !defined(NDEBUG)
-		const size_t	theInstanceCount =
-				XalanNode::getInstanceCount();
-
-		if (theInstanceCount > 0)
-		{
-			cout << "There are "
-				 << theInstanceCount
-				 << " XalanNode instances still alive!"
-				 << endl
-				 << endl
-				 << "A dump of these instances follows..."
-				 << endl
-				 << endl;
-
-			typedef vector<XalanNode*>	NodeVectorType;
-
-			NodeVectorType	theNodes(theInstanceCount, NodeVectorType::value_type(0));
-
-			XalanNode::getLiveInstances(&*theNodes.begin());
-
-			for(size_t i = 0; i < theInstanceCount; ++i)
-			{
-				const XalanNode* const	theInstance = theNodes[i];
-
-				if(theInstance == 0)
-				{
-					cout << "No instance information is available..."
-						 << endl;
-				}
-				else
-				{
-					cout << "("
-						 << hex
-						 << theInstance
-						 << ")  Node name: \""
-						 << theInstance->getNodeName()
-						 << "\"  Node value: \""
-						 << theInstance->getNodeValue()
-						 << "\""
-#if defined(XALAN_RTTI_AVAILABLE)
-						 << "  Type: \""
-						 << typeid(*theInstance).name()
-						 << "\""
-#endif
-						 << endl
-						 << endl;
-				}
-			}
-		}
-#endif
-
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
diff --git a/src/XMLSupport/FormatterToDOM.cpp b/src/XMLSupport/FormatterToDOM.cpp
deleted file mode 100644
index c046512..0000000
--- a/src/XMLSupport/FormatterToDOM.cpp
+++ /dev/null
@@ -1,406 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "FormatterToDOM.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XalanDOM/XalanCDATASection.hpp>
-#include <XalanDOM/XalanComment.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanDocumentFragment.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanEntityReference.hpp>
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-#include <XalanDOM/XalanText.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-const XalanDOMString	FormatterToDOM::s_emptyString;
-
-
-
-FormatterToDOM::FormatterToDOM(
-			XalanDocument*			doc,
-			XalanDocumentFragment*	docFrag,
-			XalanElement*			currentElement) :
-	FormatterListener(OUTPUT_METHOD_DOM),
-	m_doc(doc),
-	m_docFrag(docFrag),
-	m_currentElem(currentElement),
-	m_elemStack(),
-	m_buffer1(),
-	m_buffer2()
-{
-	assert(m_doc != 0 && m_docFrag != 0);
-}
-
-
-
-FormatterToDOM::FormatterToDOM(
-			XalanDocument*	doc,
-			XalanElement*	elem) :
-	FormatterListener(OUTPUT_METHOD_DOM),
-	m_doc(doc),
-	m_docFrag(0),
-	m_currentElem(elem),
-	m_elemStack(),
-	m_buffer1(),
-	m_buffer2()
-{
-	assert(m_doc != 0);
-}
-
-
-
-FormatterToDOM::~FormatterToDOM()
-{
-}
-
-
-
-void
-FormatterToDOM::setDocumentLocator(const Locator* const		/* locator */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToDOM::startDocument()
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToDOM::endDocument()
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToDOM::startElement(
-			const	XMLCh* const	name,
-			AttributeList&			attrs)
-{
-	XalanElement* const		elem = createElement(name, attrs);
-	assert(elem != 0);
-
-	append(elem);
-
-	m_elemStack.push_back(m_currentElem);
-
-	m_currentElem = elem;
-}
-
-
-
-void
-FormatterToDOM::endElement(
-			const	XMLCh* const	/* name */)
-{
-	if(m_elemStack.empty() == false)
-	{
-		m_currentElem = m_elemStack.back();
-
-		m_elemStack.pop_back();
-	}
-	else
-	{
-		m_currentElem = 0;
-	}
-}
-
-
-
-void
-FormatterToDOM::characters(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	assign(m_buffer1, chars, length);
-
-	append(m_doc->createTextNode(m_buffer1));
-}
-
-
-
-void
-FormatterToDOM::charactersRaw(
-		const XMLCh* const	chars,
-		const unsigned int	length)
-{
-	append(m_doc->createProcessingInstruction(
-				s_xsltNextIsRawString,
-				s_formatterListenerString));
-
-	characters(chars, length);
-}		
-
-
-
-void
-FormatterToDOM::entityReference(const XMLCh* const	name)
-{
-	assign(m_buffer1, name);
-
-	append(m_doc->createEntityReference(m_buffer1));
-}
-
-
-
-void
-FormatterToDOM::ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	assign(m_buffer1, chars, length);
-
-	append(m_doc->createTextNode(m_buffer1));
-}
-
-
-
-void
-FormatterToDOM::processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data)
-{
-	assign(m_buffer1, target);
-	assign(m_buffer2, data);
-
-	append(m_doc->createProcessingInstruction(m_buffer1, m_buffer2));
-}
-
-
-
-void
-FormatterToDOM::resetDocument()
-{
-}
-
-
-
-void
-FormatterToDOM::comment(const XMLCh* const	data)
-{
-	assign(m_buffer1, data);
-
-	append(m_doc->createComment(m_buffer1));
-}
-
-
-
-void
-FormatterToDOM::cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length)
-{
-	assign(m_buffer1, ch, length);
-
-	append(m_doc->createCDATASection(m_buffer1));
-}
-
-
-
-void
-FormatterToDOM::append(XalanNode*	newNode)
-{
-	assert(newNode != 0);
-
-	if(0 != m_currentElem)
-	{
-		m_currentElem->appendChild(newNode);
-	}
-	else if(0 != m_docFrag)
-	{
-		m_docFrag->appendChild(newNode);
-	}
-	else
-	{
-		m_doc->appendChild(newNode);
-	}
-}
-
-
-
-XalanElement*
-FormatterToDOM::createElement(
-			const XalanDOMChar*		theElementName,
-			AttributeList&			attrs)
-{
-	XalanElement*	theElement = 0;
-
-	assign(m_buffer1, theElementName);
-
-	if (m_prefixResolver == 0)
-	{
-		theElement = m_doc->createElement(m_buffer1);
-
-		addAttributes(theElement, attrs);
-	}
-	else
-	{
-		// Check for the namespace...
-		const XalanDOMString* const		theNamespace =
-					getNamespaceForPrefix(theElementName, *m_prefixResolver, m_buffer2);
-
-		if (theNamespace == 0 || length(*theNamespace) == 0)
-		{
-			theElement = m_doc->createElement(m_buffer1);
-		}
-		else
-		{
-			theElement = m_doc->createElementNS(*theNamespace, m_buffer1);
-		}
-
-		addAttributes(theElement, attrs);
-	}
-
-	return theElement;
-}
-
-
-
-void
-FormatterToDOM::addAttributes(
-			XalanElement*	theElement,
-			AttributeList&	attrs)
-{
-	const unsigned int	nAtts = attrs.getLength();
-
-	if (m_prefixResolver == 0)
-	{
-		for(unsigned int i = 0; i < nAtts; i++)
-		{
-			assign(m_buffer1, attrs.getName(i));
-			assign(m_buffer2, attrs.getValue(i));
-
-			theElement->setAttribute(m_buffer1, m_buffer2);
-		}
-	}
-	else
-	{
-		for(unsigned int i = 0; i < nAtts; i++)
-		{
-			const XalanDOMChar* const	theName = attrs.getName(i);
-			assert(theName != 0);
-
-			// Check for the namespace...
-			const XalanDOMString* const		theNamespace =
-					getNamespaceForPrefix(theName, *m_prefixResolver, m_buffer2);
-
-			assign(m_buffer1, theName);
-			assign(m_buffer2, attrs.getValue(i));
-
-			if (theNamespace == 0 || length(*theNamespace) == 0)
-			{
-				theElement->setAttribute(m_buffer1, m_buffer2);
-			}
-			else
-			{
-				theElement->setAttributeNS(*theNamespace, m_buffer1, m_buffer2);
-			}
-		}
-	}
-}
-
-
-
-const XalanDOMString*
-FormatterToDOM::getNamespaceForPrefix(
-			const XalanDOMChar*		theName,
-			const PrefixResolver&	thePrefixResolver,
-			XalanDOMString&			thePrefix)
-{
-	const XalanDOMString::size_type		theLength = length(theName);
-	const XalanDOMString::size_type		theColonIndex = indexOf(theName, XalanUnicode::charColon);
-
-	if (theColonIndex == theLength)
-	{
-		clear(thePrefix);
-
-		return thePrefixResolver.getNamespaceForPrefix(s_emptyString);
-	}
-	else
-	{
-		// Get the prefix from theName...
-		assign(thePrefix, theName, theColonIndex);
-		assert(length(thePrefix) != 0);
-
-		return thePrefixResolver.getNamespaceForPrefix(thePrefix);
-	}
-}
diff --git a/src/XMLSupport/FormatterToDOM.hpp b/src/XMLSupport/FormatterToDOM.hpp
deleted file mode 100644
index 4c5e431..0000000
--- a/src/XMLSupport/FormatterToDOM.hpp
+++ /dev/null
@@ -1,268 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTODOM_HEADER_GUARD_1357924680)
-#define FORMATTERTODOM_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-// Base class header file.
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanDocument;
-class XalanDocumentFragment;
-class XalanElement;
-class XalanNode;
-
-
-
-/**
- * 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.
- */
-class XALAN_XMLSUPPORT_EXPORT FormatterToDOM : public FormatterListener
-{
-public:
-
-	/**
-	 * Construct a FormatterToDOM instance.  it will add the DOM nodes 
-	 * to the document fragment.
-	 *
-	 * @param doc            document for nodes
-	 * @param docFrag        document fragment for nodes
-	 * @param currentElement current element for nodes
-	 */
-	FormatterToDOM(
-			XalanDocument*			doc,
-			XalanDocumentFragment*	docFrag,
-			XalanElement*			currentElement);
-
-	/**
-	 * Construct a FormatterToDOM instance.  it will add the DOM nodes 
-	 * to the document.
-	 *
-	 * @param doc  document for nodes
-	 * @param elem current element for nodes
-	 */
-	FormatterToDOM(
-			XalanDocument*	doc,
-			XalanElement*	elem);
-
-	virtual
-	~FormatterToDOM();
-
-
-	// These methods are inherited from DocumentHandler ...
-
-	virtual void
-	charactersRaw(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	comment(const XMLCh* const	data);
-
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length);
-
-	virtual void
-	entityReference(const XMLCh* const	name);
-
-	virtual void
-	setDocumentLocator(const Locator* const		locator);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(
-				const	XMLCh* const	name,
-				AttributeList&			attrs);
-
-	virtual void
-	endElement(const XMLCh* const	name);
-
-	virtual void
-	characters(
-				const XMLCh* const	chars,
-				const unsigned int	length);
-
-	virtual void
-	ignorableWhitespace(
-				const XMLCh* const	chars,
-				const unsigned int	length);
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data);
-
-	virtual void
-	resetDocument();
-
-	XalanDocument*
-	getDocument() const
-	{
-		return m_doc;
-	}
-
-	void
-	setDocument(XalanDocument*	theDocument)
-	{
-		m_doc = theDocument;
-	}
-
-	XalanDocumentFragment*
-	getDocumentFragment() const
-	{
-		return m_docFrag;
-	}
-
-	void
-	setDocumentFragment(XalanDocumentFragment*	theDocumentFragment)
-	{
-		m_docFrag = theDocumentFragment;
-	}
-
-	XalanElement*
-	getCurrentElement() const
-	{
-		return m_currentElem;
-	}
-
-	void
-	setCurrentElement(XalanElement*		theElement)
-	{
-		m_currentElem = theElement;
-	}
-
-private:
-
-	/**
-	 * Append a node to the current container.
-	 */
-	void
-	append(XalanNode* 	newNode);
-
-	/**
-	 * Create the appropriate element, complete with attributes set.
-	 *
-	 * @param theElementName The name for the new element
-	 * @param attrs The SAX AttributeList for the new attributes.
-	 * @return A pointer to the new instance.
-	 */
-	XalanElement*
-	createElement(
-			const XalanDOMChar*		theElementName,
-			AttributeList&			attrs);
-
-	void
-	addAttributes(
-			XalanElement*	theElement,
-			AttributeList&	attrs);
-
-	const XalanDOMString*
-	getNamespaceForPrefix(
-			const XalanDOMChar*		theName,
-			const PrefixResolver&	thePrefixResolver,
-			XalanDOMString&			thePrefix);
-
-
-	// Data members...
-	XalanDocument*					m_doc;
-
-	XalanDocumentFragment*			m_docFrag;
-
-	XalanElement*					m_currentElem;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanElement*>		ElementStackType;
-#else
-	typedef std::vector<XalanElement*>	ElementStackType;
-#endif
-
-	ElementStackType				m_elemStack;
-
-	XalanDOMString					m_buffer1;
-
-	XalanDOMString					m_buffer2;
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// FORMATTERTODOM_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/FormatterToHTML.cpp b/src/XMLSupport/FormatterToHTML.cpp
deleted file mode 100644
index 5196f95..0000000
--- a/src/XMLSupport/FormatterToHTML.cpp
+++ /dev/null
@@ -1,2179 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
- /**
- * @author David N. Bertoni <david_n_bertoni@lotus.com>
- */
-
-
-
-// Class header file.
-#include "FormatterToHTML.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-#include <PlatformSupport/Writer.hpp>
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-#include <PlatformSupport/XalanXMLChar.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-const XalanDOMString	FormatterToHTML::s_emptyString;
-
-
-
-FormatterToHTML::FormatterToHTML(
-			Writer&					writer,
-			const XalanDOMString&	encoding, 
-			const XalanDOMString&	mediaType,
-			const XalanDOMString&	doctypeSystem,
-			const XalanDOMString&	doctypePublic,
-			bool					doIndent,
-			int						indent,
-			const XalanDOMString&	version,
-			const XalanDOMString&	standalone,
-			bool					xmlDecl) :
-	FormatterToXML(
-			writer,
-			version,
-			doIndent,
-			indent,
-			encoding,
-			mediaType,
-			doctypeSystem,
-			doctypePublic,
-			xmlDecl,
-			standalone,
-			OUTPUT_METHOD_HTML),
-	m_currentElementName(),
-	m_inBlockElem(false),
-	m_isRawStack(),
-	m_isScriptOrStyleElem(false),
-	m_inScriptElemStack(),
-	m_escapeURLs(true),
-	m_isFirstElement(false),
-	m_isUTF8(XalanTranscodingServices::encodingIsUTF8(m_encoding)),
-	m_elementLevel(0),
-	m_hasNamespaceStack()
-{
-	assert(s_elementFlags != 0 && s_dummyDesc != 0 && s_xalanHTMLEntities != 0);
-
-	initCharsMap();
-}
-
-
-
-FormatterToHTML::~FormatterToHTML()
-{
-}
-
-
-
-void
-FormatterToHTML::initAttrCharsMap()
-{
-	FormatterToXML::initAttrCharsMap();
-
-	m_attrCharsMap[XalanUnicode::charLF] = 'S';
-
-	// These should _not_ be escaped...
-	m_attrCharsMap[XalanUnicode::charLessThanSign] = 0;
-	m_attrCharsMap[XalanUnicode::charGreaterThanSign] = 0;
-
-	for(XalanDOMString::size_type i = 160; i < SPECIALSSIZE; i++)
-	{
-		m_attrCharsMap[i] = 'S';
-	}
-}
-
-
-
-void
-FormatterToHTML::initCharsMap()
-{
-	initAttrCharsMap();
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	std::memset(m_charsMap, 0, sizeof(m_charsMap));
-#else
-	memset(m_charsMap, 0, sizeof(m_charsMap));
-#endif
-
-	m_charsMap[XalanUnicode::charLF] = 'S';
-	m_charsMap[XalanUnicode::charLessThanSign] = 'S';
-	m_charsMap[XalanUnicode::charGreaterThanSign] = 'S';
-	m_charsMap[XalanUnicode::charAmpersand] = 'S';
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	std::memset(m_charsMap, 'S', 10);
-#else
-	memset(m_charsMap, 'S', 10);
-#endif
-
-	m_charsMap[0x0A] = 'S';
-	m_charsMap[0x0D] = 'S';
-
-	for(int i = 160; i < SPECIALSSIZE; ++i)
-	{
-		m_charsMap[i] = 'S';
-	}
-
-    for(int j = m_maxCharacter; j < SPECIALSSIZE; ++j)
-    {
-		m_charsMap[j] = 'S';
-    }
-}
-
-
-
-const FormatterToHTML::ElemDesc&
-FormatterToHTML::getElemDesc(const XalanDOMChar*	name)
-{
-	assert(s_elementFlags != 0 && s_dummyDesc != 0);
-
-	const ElementFlagsMapType::const_iterator	i =
-		s_elementFlags->find(name);
-
-	if (i == s_elementFlags->end())
-	{
-		return *s_dummyDesc;
-	}
-	else
-	{
-		return (*i).second;
-	}
-}
-
-
-
-void
-FormatterToHTML::startDocument()
-{
-	// Clear the buffer, just in case...
-	clear(m_stringBuffer);
-
-	// Reset this, just in case...
-	m_elementLevel = 0;
-
-	m_isFirstElement = true;
-    m_startNewLine = false;
-	m_shouldWriteXMLHeader = false;
-	m_isScriptOrStyleElem = false;
-
-	m_isRawStack.clear();
-	m_inScriptElemStack.push_back(false);
-	m_hasNamespaceStack.clear();
-
-	const bool	isEmptySystem = isEmpty(m_doctypeSystem);
-
-	const bool	isEmptyPublic = isEmpty(m_doctypePublic);
-
-	// Output the header if either the System or Public attributes are
-	// specified
-	if(isEmptySystem == false || isEmptyPublic == false)
-	{
-		accumContent(s_doctypeHeaderStartString);
-
-		if(isEmptyPublic == false)
-		{
-			accumContent(s_doctypeHeaderPublicString);
-			accumContent(m_doctypePublic);
-			accumContent(XalanUnicode::charQuoteMark);
-		}
-
-		if(isEmptySystem == false)
-		{
-			if(isEmptyPublic == true)
-			{
-				accumContent(s_doctypeHeaderSystemString);
-			}
-
-			accumContent(XalanUnicode::charSpace);
-			accumContent(XalanUnicode::charQuoteMark);
-
-			accumContent(m_doctypeSystem);
-			accumContent(XalanUnicode::charQuoteMark);
-		}
-
-		accumContent(XalanUnicode::charGreaterThanSign);
-
-		outputLineSep();
-	}
-
-	m_needToOutputDocTypeDecl = false;
-}
-
-
-
-void
-FormatterToHTML::endDocument()
-{
-	assert(m_elementLevel == 0);
-
-	m_inScriptElemStack.pop_back();
-
-	FormatterToXML::endDocument();
-}
-
-
-
-void
-FormatterToHTML::startElement(
-			const XMLCh* const	name,
-			AttributeList&		attrs)
-{
-	if (pushHasNamespace(name) == true)
-	{
-		FormatterToXML::startElement(name, attrs);
-	}
-	else
-	{
-		writeParentTagEnd();
-
-		const ElemDesc&		elemDesc =
-				getElemDesc(name);
-
-		const bool	isBlockElement = elemDesc.is(ElemDesc::BLOCK);
-
-		if (equalsIgnoreCaseASCII(name, c_wstr(s_scriptString)) == true)
-		{
-			m_isScriptOrStyleElem = true;
-
-			m_inScriptElemStack.push_back(true);
-		}
-		else
-		{
-			if (equalsIgnoreCaseASCII(name, c_wstr(s_styleString)) == true)
-			{
-				m_isScriptOrStyleElem = true;
-			}
-
-			m_inScriptElemStack.push_back(m_inScriptElemStack.back());
-		}
-
-		// Increment the level...
-		++m_elementLevel;
-
-		if(m_ispreserve == true)
-		{
-			m_ispreserve = false;
-		}
-		else if(m_doIndent &&
-				m_elementLevel > 0 && m_isFirstElement == false &&
-				(m_inBlockElem == false || isBlockElement == true))
-		{
-			m_startNewLine = true;
-
-			indent(m_currentIndent);
-		}
-
-		m_inBlockElem = !isBlockElement;
-
-		m_isRawStack.push_back(elemDesc.is(ElemDesc::RAW));
-
-		accumContent(XalanUnicode::charLessThanSign);
-
-		accumName(name);
-
-		const unsigned int	nAttrs = attrs.getLength();
-
-		for (unsigned int i = 0;  i < nAttrs ;  i++)
-		{
-			processAttribute(attrs.getName(i), attrs.getValue(i), elemDesc);
-		}
-
-		// Flag the current element as not yet having any children.
-		openElementForChildren();
-
-		m_currentIndent += m_indent;
-    
-		m_isprevtext = false;
-
-		if (elemDesc.is(ElemDesc::HEADELEM) == true)
-		{
-			writeParentTagEnd();
-
-			if (m_doIndent)
-				indent(m_currentIndent);
-
-			accumContent(s_metaString);
-			accumContent(getEncoding());      
-			accumContent(XalanUnicode::charQuoteMark);
-			accumContent(XalanUnicode::charGreaterThanSign);
-		}
-
-		// We've written the first element, so turn off the flag...
-		if (m_isFirstElement == true)
-		{
-			m_isFirstElement = false;
-		}
-
-		assert(m_elementLevel > 0);
-	}
-}
-
-
-
-void
-FormatterToHTML::endElement(const XMLCh* const	name)
-{
-	if (popHasNamespace() == true)
-	{
-		FormatterToXML::endElement(name);
-	}
-	else
-	{
-		m_currentIndent -= m_indent;
-
-		const bool	hasChildNodes = childNodesWereAdded();
-
-		assert(m_isRawStack.empty() == false);
-		assert(m_inScriptElemStack.empty() == false);
-
-		m_isRawStack.pop_back();
-		m_inScriptElemStack.pop_back();
-    
-		const ElemDesc&		elemDesc =
-				getElemDesc(name);
-
-		const bool	isBlockElement = elemDesc.is(ElemDesc::BLOCK);
-
-		bool shouldIndent = false;
-
-		if(m_ispreserve == true)
-		{
-			m_ispreserve = false;
-		}
-		else if(m_doIndent == true && (m_inBlockElem == false || isBlockElement == true))
-		{
-			m_startNewLine = true;
-
-			shouldIndent = true;
-		}
-
-		m_inBlockElem = !isBlockElement;
-
-		if (hasChildNodes) 
-		{
-			if (shouldIndent == true)
-			{
-				indent(m_currentIndent);
-			}
-
-			accumContent(XalanUnicode::charLessThanSign);
-			accumContent(XalanUnicode::charSolidus);
-			accumName(name);
-			accumContent(XalanUnicode::charGreaterThanSign);
-		}
-		else
-		{
-			if(elemDesc.is(ElemDesc::EMPTY) == false)
-			{
-				accumContent(XalanUnicode::charGreaterThanSign);
-
-				accumContent(XalanUnicode::charLessThanSign);
-				accumContent(XalanUnicode::charSolidus);
-				accumName(name);
-				accumContent(XalanUnicode::charGreaterThanSign);
-			}
-			else
-			{
-				accumContent(XalanUnicode::charGreaterThanSign);
-			}
-		}
-
-		if (elemDesc.is(ElemDesc::WHITESPACESENSITIVE) == true)
-		{
-			m_ispreserve = true;
-		}
-
-		if (hasChildNodes == true)
-		{
-			if (m_preserves.empty() == false)
-			{
-				m_preserves.pop_back();
-			}
-		}
-
-		m_isprevtext = false;
-
-		// Decrement the level...
-		--m_elementLevel;
-	}
-}
-
-
-
-void
-FormatterToHTML::characters(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	if(length != 0)
-	{
-		if(m_inCData == true)
-		{
-			cdata(chars, length);
-		}
-		else if(m_nextIsRaw)
-		{
-			m_nextIsRaw = false;
-
-			charactersRaw(chars, length);
-		}
-		else if (m_inScriptElemStack.back() == true)
-		{
-			charactersRaw(chars, length);
-		}
-		else if (m_isRawStack.empty() == false &&
-				 m_isRawStack.back() == true)
-		{
-			writeParentTagEnd();
-
-			m_ispreserve = true;
-
-			if (shouldIndent() == true)
-			{
-				indent(m_currentIndent);
-			}
-
-			writeNormalizedChars(chars, 0, length, false);
-		}
-		else
-		{
-			writeParentTagEnd();
-
-			m_ispreserve = true;
-
-			writeCharacters(chars, length);
-		}
-	}
-
-	if (m_isprevtext == false)
-	{
-		m_isprevtext = true;
-	}
-}
-
-
-
-bool
-FormatterToHTML::accumDefaultEntity(
-		XalanDOMChar				ch,
-		XalanDOMString::size_type	i,
-		const XalanDOMChar			chars[],
-		XalanDOMString::size_type	len,
-		bool						escLF)
-{
-	assert(s_xalanHTMLEntities != 0);
-
-	if(FormatterToXML::accumDefaultEntity(ch, i, chars, len, escLF) == false)
-	{	
-		const XalanEntityReferenceMapType::const_iterator	theIterator = s_xalanHTMLEntities->find(ch);
-
-		if (theIterator == s_xalanHTMLEntitiesIteratorEnd)
-		{
-			return false;
-		}
-		else
-		{
-			copyEntityIntoBuffer((*theIterator).second);			
-		}
-	}
-
-	return true;
-}
-
-
-
-void
-FormatterToHTML::entityReference(const XMLCh* const		name)
-{
-	accumContent(XalanUnicode::charAmpersand);
-	accumName(name);
-	accumContent(XalanUnicode::charSemicolon);
-}
-
-
-
-void
-FormatterToHTML::cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length)
-{
-	if(m_isScriptOrStyleElem == true)
-	{
-		writeParentTagEnd();
-
-		m_ispreserve = true;
-
-		if (shouldIndent() == true)
-		{
-			indent(m_currentIndent);
-		}
-
-		writeNormalizedChars(ch, 0, length, true);
-	}
-	else if(m_stripCData == true)
-	{
-		writeParentTagEnd();
-
-		m_ispreserve = true;
-
-		if (shouldIndent() == true)
-		{
-			indent(m_currentIndent);
-		}
-
-		accumContent(ch, 0, length);
-	}
-	else
-	{
-		FormatterToXML::cdata(ch, length);
-	}
-}
-
-
-
-void
-FormatterToHTML::processingInstruction(
-		const XMLCh* const	target,
-		const XMLCh* const	data)
-
-{
-	// Use a fairly nasty hack to tell if the next node is supposed to be 
-	// unescaped text.
-	if(equals(target, s_xsltNextIsRawString) == true &&
-	   equals(data, s_formatterListenerString) == true)
-	{
-		m_nextIsRaw = true;
-	}
-	else
-	{
-		writeParentTagEnd();
-
-		if (shouldIndent() == true)
-		{
-			indent(m_currentIndent);
-		}
-
-		accumContent(XalanUnicode::charLessThanSign);
-		accumContent(XalanUnicode::charQuestionMark);
-		accumName(target);
-
-		if (length(data) > 0)
-		{
-			if(isXMLWhitespace(data[0]) == false)
-			{
-				accumContent(XalanUnicode::charSpace);
-			}
-
-			writeCharacters(data);
-		}
-
-		accumContent(XalanUnicode::charGreaterThanSign); // different from XML
-
-		// If outside of an element, then put in a new line.  This whitespace
-		// is not significant.
-		if (m_elementLevel == 0)
-		{
-			outputLineSep();
-		}
-
-		m_startNewLine = true;
-	}
-}
-
-
-
-void
-FormatterToHTML::writeCharacters(const XalanDOMString&	theString)
-{
-	writeCharacters(toCharArray(theString), length(theString));
-}
-
-
-
-void
-FormatterToHTML::writeCharacters(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength)
-{
-	assert(theString != 0);
-
-	if (theLength == unsigned(-1))
-	{
-		theLength = length(theString);
-	}
-
-	for (XalanDOMString::size_type i = 0; i < theLength; ++i) 
-	{
-		const XalanDOMChar	ch = theString[i];
-
-		if(ch < SPECIALSSIZE && m_charsMap[ch] != 'S')
-		{
-			accumContent(ch);
-		}
-		else if (XalanUnicode::charLF == ch) // sta this can be removed?
-		{
-			outputLineSep();
-		}	
-		else if (accumDefaultEntity(ch, i, theString, theLength, true) == false)
-		{
-			if (m_isUTF8 == true && 0xd800 <= ch && ch < 0xdc00)
-			{
-				// UTF-16 surrogate
-				XalanDOMChar	next = 0;
-
-				if (i + 1 >= theLength) 
-				{
-					throwInvalidUTF16SurrogateException(ch);
-				}
-				else
-				{
-					next = theString[++i];
-
-					if (!(0xdc00 <= next && next < 0xe000))
-					{
-						throwInvalidUTF16SurrogateException(ch, next);
-					}
-
-					next = XalanDOMChar(((ch - 0xd800) << 10) + next - 0xdc00 + 0x00010000);
-				}
-
-				writeNumberedEntityReference(next);
-			}
-			else if(ch >= 0x007Fu && ch <= m_maxCharacter)
-			{
-				// Hope this is right...
-				accumContent(ch);
-			}
-			else
-			{
-				writeNumberedEntityReference(ch);
-			}
-		}
-	}
-}
-
-
-
-void
-FormatterToHTML::writeAttrString(const XalanDOMChar*	theString)
-{
-	assert(theString != 0);
-
-    const XalanDOMString::size_type		theLength = length(theString);
-
-    for (XalanDOMString::size_type i = 0;  i < theLength;  i ++)
-    {
-		const XalanDOMChar	ch = theString[i];
-
-		if(ch < SPECIALSSIZE && m_attrCharsMap[ch] != 'S')
-		{
-			accumContent(ch);
-		}
-		else if(XalanUnicode::charAmpersand == ch &&
-				i + 1 < theLength &&
-				XalanUnicode::charLeftCurlyBracket == theString[i + 1])
-		{
-			accumContent(ch); // no escaping in this case, as specified in 15.2
-		}
-		else if (accumDefaultEntity(ch, i, theString, theLength, true) == false)
-		{
-			if (0xd800 <= ch && ch < 0xdc00) 
-			{
-				// UTF-16 surrogate
-
-				XalanDOMChar	next = 0;
-
-				if (i + 1 >= theLength) 
-				{
-					throwInvalidUTF16SurrogateException(ch);
-				}
-				else 
-				{
-					next = theString[++i];
-
-					if (!(0xdc00 <= next && next < 0xe000))
-					{
-						throwInvalidUTF16SurrogateException(ch, next);
-					}
-
-					next = XalanDOMChar(((ch - 0xd800) << 10) + next -0xdc00 + 0x00010000);
-				}
-
-				accumContent(XalanUnicode::charAmpersand);
-				accumContent(XalanUnicode::charNumberSign);
-
-				accumContent(UnsignedLongToDOMString(next, m_stringBuffer));
-				clear(m_stringBuffer);
-
-				accumContent(XalanUnicode::charSemicolon);
-			}
-			else
-			{
-				writeNumberedEntityReference(ch);
-			}
-		}
-    }
-}
-
-
-
-void
-FormatterToHTML::accumCommentData(const XalanDOMChar*	data)
-{
-	accumName(data);
-}
-
-
-
-void
-FormatterToHTML::copyEntityIntoBuffer(const XalanDOMChar*	s)
-{
-	const XalanDOMString::size_type		len = length(s);
-
-    accumContent(XalanUnicode::charAmpersand);
-
-    for(XalanDOMString::size_type i = 0; i < len; ++i)
-    {
-		accumContent(s[i]);
-    }
-
-    accumContent(XalanUnicode::charSemicolon);
-}
-
-
-
-void
-FormatterToHTML::copyEntityIntoBuffer(const XalanDOMString&		s)
-{
-	const XalanDOMString::size_type		len = length(s);
-
-    accumContent(XalanUnicode::charAmpersand);
-
-    for(XalanDOMString::size_type i = 0; i < len; ++i)
-    {
-		accumContent(charAt(s, i));
-    }
-
-    accumContent(XalanUnicode::charSemicolon);
-}
-
-
-
-void
-FormatterToHTML::processAttribute(
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		value,
-			const ElemDesc&			elemDesc)
-{
-    accumContent(XalanUnicode::charSpace);
-
-    if((length(value) == 0 || equalsIgnoreCaseASCII(name, value)) &&
-	   elemDesc.isAttrFlagSet(name, ElemDesc::ATTREMPTY) == true)
-    {
-		accumName(name);
-    }
-    else
-    {
-		accumName(name);
-		accumContent(XalanUnicode::charEqualsSign);
-		accumContent(XalanUnicode::charQuoteMark);
-
-		if(elemDesc.isAttrFlagSet(name, ElemDesc::ATTRURL) == true)
-		{
-			writeAttrURI(value);
-		}
-		else
-		{
-			writeAttrString(value);
-		}
-
-		accumContent(XalanUnicode::charQuoteMark);
-    }
-}
-
-
-
-void
-FormatterToHTML::writeAttrURI(const XalanDOMChar*	theString)
-{
-	assert(theString != 0);
-
-	// http://www.ietf.org/rfc/rfc2396.txt says:
-	// A URI is always in an "escaped" form, since escaping or unescaping a
-	// completed URI might change its semantics.  Normally, the only time
-	// escape encodings can safely be made is when the URI is being created
-	// from its component parts; each component may have its own set of
-	// characters that are reserved, so only the mechanism responsible for
-	// generating or interpreting that component can determine whether or
-	// not escaping a character will change its semantics. Likewise, a URI
-	// must be separated into its components before the escaped characters
-	// within those components can be safely decoded.
-	//
-	// ...So we do our best to do limited escaping of the URL, without 
-	// causing damage.	If the URL is already properly escaped, in theory, this 
-	// function should not change the string value.
-
-	const XalanDOMString::size_type		len = length(theString);
-
-    for (XalanDOMString::size_type i = 0; i < len; ++i)
-    {
-		const XalanDOMChar	ch = theString[i];
-
-		if (ch < 33 || ch > 126)
-		{
-			if (m_escapeURLs == true)
-			{
-				// For the gory details of encoding these characters as
-				// UTF-8 hex, see:
-				// 
-				// Unicode, A Primer, by Tony Graham, p. 92.
-				//
-				if (ch == XalanUnicode::charSpace)
-				{
-					accumContent(ch);
-				}
-				else if(ch <= 0x7F)
-				{
-					accumHexNumber(ch);
-				}
-				else if(ch <= 0x7FF)
-				{
-					const XalanDOMChar	highByte = XalanDOMChar((ch >> 6) | 0xC0);
-					const XalanDOMChar	lowByte = XalanDOMChar((ch & 0x3F) | 0x80);
-
-					accumHexNumber(highByte);
-
-					accumHexNumber(lowByte);
-				}
-				else if(isUTF16Surrogate(ch) == true) // high surrogate
-				{
-					// I'm sure this can be done in 3 instructions, but I choose 
-					// to try and do it exactly like it is done in the book, at least 
-					// until we are sure this is totally clean.  I don't think performance 
-					// is a big issue with this particular function, though I could be 
-					// wrong.  Also, the stuff below clearly does more masking than 
-					// it needs to do.
-            
-					// Clear high 6 bits.
-					const XalanDOMChar	highSurrogate = XalanDOMChar(ch & 0x03FF);
-
-					// Middle 4 bits (wwww) + 1
-					// "Note that the value of wwww from the high surrogate bit pattern
-					// is incremented to make the uuuuu bit pattern in the scalar value 
-					// so the surrogate pair don't address the BMP."
-					const XalanDOMChar	wwww = XalanDOMChar((highSurrogate & 0x03C0) >> 6);
-					const XalanDOMChar	uuuuu = XalanDOMChar(wwww + 1);  
-
-					// next 4 bits
-					const XalanDOMChar	zzzz = XalanDOMChar((highSurrogate & 0x003C) >> 2);
-            
-					// low 2 bits
-					const XalanDOMChar	temp = XalanDOMChar(((highSurrogate & 0x0003) << 4) & 0x30);
-            
-					// Get low surrogate character.
-					const XalanDOMChar	nextChar = theString[++i];
-            
-					// Clear high 6 bits.
-					const XalanDOMChar	lowSurrogate = XalanDOMChar(nextChar & 0x03FF);
-            
-					// put the middle 4 bits into the bottom of yyyyyy (byte 3)
-					const XalanDOMChar	yyyyyy = XalanDOMChar(temp | ((lowSurrogate & 0x03C0) >> 6));
-            
-					// bottom 6 bits.
-					const XalanDOMChar	xxxxxx = XalanDOMChar(lowSurrogate & 0x003F);
-            
-					const XalanDOMChar	byte1 = XalanDOMChar(0xF0 | (uuuuu >> 2)); // top 3 bits of uuuuu
-					const XalanDOMChar	byte2 = XalanDOMChar(0x80 | (((uuuuu & 0x03) << 4) & 0x30) | zzzz);
-					const XalanDOMChar	byte3 = XalanDOMChar(0x80 | yyyyyy);
-					const XalanDOMChar	byte4 = XalanDOMChar(0x80 | xxxxxx);
-            
-					accumHexNumber(byte1);
-
-					accumHexNumber(byte2);
-
-					accumHexNumber(byte3);
-
-					accumHexNumber(byte4);
-				}
-				else
-				{
-					const XalanDOMChar	highByte = XalanDOMChar((ch >> 12) | 0xE0);
-					const XalanDOMChar	middleByte = XalanDOMChar(((ch & 0x0FC0) >> 6) | 0x80);
-					const XalanDOMChar	lowByte = XalanDOMChar((ch & 0x3F) | 0x80);
-
-					accumHexNumber(highByte);
-
-					accumHexNumber(middleByte);
-
-					accumHexNumber(lowByte);
-				}
-			}
-			else if (ch < m_maxCharacter)
-			{
-				accumContent(ch);
-			}
-			else
-			{
-				accumContent(XalanUnicode::charAmpersand);
-				accumContent(XalanUnicode::charNumberSign);
-    
-				accumContent(UnsignedLongToDOMString(ch, m_stringBuffer));
-				clear(m_stringBuffer);
-
-				accumContent(XalanUnicode::charSemicolon);
-			}
-		}
-		// Since http://www.ietf.org/rfc/rfc2396.txt refers to the URI grammar as
-		// not allowing quotes in the URI proper syntax, nor in the fragment 
-		// identifier, we believe that double quotes should be escaped.
-		else if (ch == XalanUnicode::charQuoteMark)
-		{
-			if (m_escapeURLs == true)
-			{
-				accumContent(XalanUnicode::charPercentSign);
-				accumContent(XalanUnicode::charDigit_2);
-				accumContent(XalanUnicode::charDigit_2);
-			}
-			else
-			{
-				accumDefaultEntity(ch, i, theString, len, true);
-			}
-		}
-		else
-		{
-			accumContent(ch);
-		}
-	}
-}
-
-
-
-void
-FormatterToHTML::accumHexNumber(const XalanDOMChar	theChar)
-{
-	accumContent(XalanUnicode::charPercentSign);
-
-	assert(length(m_stringBuffer) == 0);
-
-	UnsignedLongToHexDOMString(theChar, m_stringBuffer);
-
-	if (length(m_stringBuffer) == 1)
-	{
-		accumContent(XalanUnicode::charDigit_0);
-	}
-
-	accumContent(m_stringBuffer);
-
-	clear(m_stringBuffer);
-}
-
-
-
-typedef FormatterToHTML::ElementFlagsMapType	ElementFlagsMapType;
-typedef FormatterToHTML::ElemDesc				ElemDesc;
-
-
-
-bool
-FormatterToHTML::popHasNamespace()
-{
-	if (m_hasNamespaceStack.empty() == true)
-	{
-		return false;
-	}
-	else
-	{
-		const bool	theValue = m_hasNamespaceStack.back();
-
-		m_hasNamespaceStack.pop_back();
-			
-		return theValue;
-	}
-}
-
-
-
-bool
-FormatterToHTML::pushHasNamespace(const XalanDOMChar*	theElementName)
-{
-	bool	fHasNamespace = false;
-
-	if (m_prefixResolver != 0)
-	{
-		const XalanDOMString::size_type		theLength = length(theElementName);
-		const XalanDOMString::size_type		theColonIndex = indexOf(theElementName, XalanUnicode::charColon);
-
-		const XalanDOMString*	thePrefix = &s_emptyString;
-
-		if (theColonIndex < theLength)
-		{
-			substring(theElementName, m_stringBuffer, 0, theColonIndex);
-
-			thePrefix = &m_stringBuffer;
-		}
-
-		assert(thePrefix != 0);
-
-		// Check for the namespace...
-		const XalanDOMString* const		theNamespace =
-				m_prefixResolver->getNamespaceForPrefix(*thePrefix);
-
-		if (theNamespace != 0 && length(*theNamespace) != 0)
-		{
-			m_hasNamespaceStack.push_back(true);
-
-			fHasNamespace = true;
-		}
-	}
-
-	return fHasNamespace;
-}
-
-
-
-static void
-initializeElementFlagsMap1(ElementFlagsMapType&		theElementFlags)
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef pair<ElementFlagsMapType::iterator, bool>	PairType;
-#else
-	typedef std::pair<ElementFlagsMapType::iterator, bool>	PairType;
-#endif
-
-	// HTML 4.0 loose DTD
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BASEFONT")),
-			ElemDesc(0|ElemDesc::EMPTY)));
-
-	PairType	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("FRAME")),
-			ElemDesc(0|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("SRC")), ElemDesc::ATTRURL);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("FRAMESET")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("NOFRAMES")),
-			ElemDesc(0|ElemDesc::BLOCK)));
- 
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("ISINDEX")),
-			ElemDesc(0|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("APPLET")),
-			ElemDesc(0|ElemDesc::WHITESPACESENSITIVE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("CENTER")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DIR")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("MENU")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-
-	// HTML 4.0 strict DTD
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TT")),
-			ElemDesc(0|ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("I")),
-			ElemDesc(0|ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("B")),
-			ElemDesc(0|ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BIG")),
-			ElemDesc(0|ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SMALL")),
-			ElemDesc(0|ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("EM")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("STRONG")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DFN")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("CODE")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SAMP")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("KBD")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("VAR")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("CITE")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("ABBR")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("ACRONYM")),
-			ElemDesc(0|ElemDesc::PHRASE)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SUP")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SUB")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SPAN")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BDO")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BR")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-	
-}
-
-
-
-static void
-initializeElementFlagsMap2(ElementFlagsMapType&		theElementFlags)
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef pair<ElementFlagsMapType::iterator, bool>	PairType;
-#else
-	typedef std::pair<ElementFlagsMapType::iterator, bool>	PairType;
-#endif
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BODY")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("ADDRESS")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DIV")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-
-	PairType	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("A")),
-			ElemDesc(0|ElemDesc::SPECIAL)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("HREF")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("NAME")), ElemDesc::ATTRURL);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("MAP")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL|ElemDesc::BLOCK)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("AREA")),
-			ElemDesc(0|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("HREF")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("NOHREF")), ElemDesc::ATTREMPTY);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("LINK")),
-			ElemDesc(0|ElemDesc::HEADMISC|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("IMG")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL|ElemDesc::EMPTY|ElemDesc::WHITESPACESENSITIVE)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("SRC")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("LONGDESC")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("USEMAP")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("ISMAP")), ElemDesc::ATTREMPTY);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("OBJECT")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL|ElemDesc::HEADMISC|ElemDesc::WHITESPACESENSITIVE)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CLASSID")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CODEBASE")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DATA")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("ARCHIVE")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("USEMAP")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DECLARE")), ElemDesc::ATTREMPTY);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("PARAM")),
-			ElemDesc(0|ElemDesc::EMPTY)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("HR")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET|ElemDesc::EMPTY)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("P")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("H1")),
-			ElemDesc(0|ElemDesc::HEAD|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("H2")),
-			ElemDesc(0|ElemDesc::HEAD|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("H3")),
-			ElemDesc(0|ElemDesc::HEAD|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("H4")),
-			ElemDesc(0|ElemDesc::HEAD|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("H5")),
-			ElemDesc(0|ElemDesc::HEAD|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("H6")),
-			ElemDesc(0|ElemDesc::HEAD|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("PRE")),
-			ElemDesc(0|ElemDesc::PREFORMATTED|ElemDesc::BLOCK)));
-
-}
-
-
-
-static void
-initializeElementFlagsMap3(ElementFlagsMapType&		theElementFlags)
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef pair<ElementFlagsMapType::iterator, bool>	PairType;
-#else
-	typedef std::pair<ElementFlagsMapType::iterator, bool>	PairType;
-#endif
-
-	PairType	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("Q")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CITE")), ElemDesc::ATTRURL);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BLOCKQUOTE")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CITE")), ElemDesc::ATTRURL);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("INS")),
-			ElemDesc(0)));
-	
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CITE")), ElemDesc::ATTRURL);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DEL")),
-			ElemDesc(0)));
-	
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CITE")), ElemDesc::ATTRURL);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DL")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DT")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("DD")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("OL")),
-			ElemDesc(0|ElemDesc::LIST|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("UL")),
-			ElemDesc(0|ElemDesc::LIST|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("LI")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("FORM")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("ACTION")), ElemDesc::ATTRURL);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("LABEL")),
-			ElemDesc(0|ElemDesc::FORMCTRL)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("INPUT")),
-			ElemDesc(0|ElemDesc::FORMCTRL|ElemDesc::INLINELABEL|ElemDesc::EMPTY)));
-	
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("SRC")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("USEMAP")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("CHECKED")), ElemDesc::ATTREMPTY);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DISABLED")), ElemDesc::ATTREMPTY);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("ISMAP")), ElemDesc::ATTREMPTY);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("READONLY")), ElemDesc::ATTREMPTY);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SELECT")),
-			ElemDesc(0|ElemDesc::FORMCTRL|ElemDesc::INLINELABEL)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DISABLED")), ElemDesc::ATTREMPTY);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("MULTIPLE")), ElemDesc::ATTREMPTY);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("OPTGROUP")),
-			ElemDesc(0)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DISABLED")), ElemDesc::ATTREMPTY);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("OPTION")),
-			ElemDesc(0)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DISABLED")), ElemDesc::ATTREMPTY);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("SELECTED")), ElemDesc::ATTREMPTY);
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TEXTAREA")),
-			ElemDesc(0|ElemDesc::FORMCTRL|ElemDesc::INLINELABEL)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DISABLED")), ElemDesc::ATTREMPTY);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("READONLY")), ElemDesc::ATTREMPTY);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("FIELDSET")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("LEGEND")),
-			ElemDesc(0)));
-}
-
-
-
-static void
-initializeElementFlagsMap4(ElementFlagsMapType&		theElementFlags)
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef pair<ElementFlagsMapType::iterator, bool>	PairType;
-#else
-	typedef std::pair<ElementFlagsMapType::iterator, bool>	PairType;
-#endif
-
-	PairType	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BUTTON")),
-			ElemDesc(0|ElemDesc::FORMCTRL|ElemDesc::INLINELABEL)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DISABLED")), ElemDesc::ATTREMPTY);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TABLE")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("CAPTION")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("THEAD")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TFOOT")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TBODY")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("COLGROUP")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("COL")),
-			ElemDesc(0|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TR")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TH")),
-			ElemDesc(0)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TD")),
-			ElemDesc(0)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("HEAD")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::HEADELEM)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("PROFILE")), ElemDesc::ATTRURL);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("TITLE")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("BASE")),
-			ElemDesc(0|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("HREF")), ElemDesc::ATTRURL);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("META")),
-			ElemDesc(0|ElemDesc::HEADMISC|ElemDesc::EMPTY|ElemDesc::BLOCK)));
-	
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("STYLE")),
-			ElemDesc(0|ElemDesc::HEADMISC|ElemDesc::RAW|ElemDesc::BLOCK)));
-
-	theResult =
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("SCRIPT")),
-			ElemDesc(0|ElemDesc::SPECIAL|ElemDesc::ASPECIAL|ElemDesc::HEADMISC|ElemDesc::RAW)));
-
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("SRC")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("FOR")), ElemDesc::ATTRURL);
-	(*theResult.first).second.setAttr(c_wstr(XALAN_STATIC_UCODE_STRING("DEFER")), ElemDesc::ATTREMPTY);
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("NOSCRIPT")),
-			ElemDesc(0|ElemDesc::BLOCK|ElemDesc::BLOCKFORM|ElemDesc::BLOCKFORMFIELDSET)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("HTML")),
-			ElemDesc(0|ElemDesc::BLOCK)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("FONT")),
-			ElemDesc(0 | ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("S")),
-			ElemDesc(0 | ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("STRIKE")),
-			ElemDesc(0 | ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("U")),
-			ElemDesc(0 | ElemDesc::FONTSTYLE)));
-
-	theElementFlags.insert(
-		ElementFlagsMapType::value_type(
-			c_wstr(XALAN_STATIC_UCODE_STRING("NOBR")),
-			ElemDesc(0 | ElemDesc::FONTSTYLE)));
-}
-
-
-
-void
-FormatterToHTML::initializeElementFlagsMap(ElementFlagsMapType&		theElementFlags)
-{
-	initializeElementFlagsMap1(theElementFlags);
-	initializeElementFlagsMap2(theElementFlags);
-	initializeElementFlagsMap3(theElementFlags);
-	initializeElementFlagsMap4(theElementFlags);
-}
-
-
-typedef FormatterToHTML::XalanEntityReferenceMapType	XalanEntityReferenceMapType;
-
-
-
-static void
-initializeXalanEntityReferenceMap1(XalanEntityReferenceMapType&	theMap)
-{
-	typedef XalanEntityReferenceMapType::value_type	value_type;
-
-    //#    
-    //# Character markup-significant  
-    //#  
-	// currently handled by FormatterToXML::accumDefaultEntity
-    //theMap[34] = XALAN_STATIC_UCODE_STRING("quot");
-    //theMap[38] = XALAN_STATIC_UCODE_STRING("amp");
-    //theMap[60] = XALAN_STATIC_UCODE_STRING("lt");
-    //theMap[62] = XALAN_STATIC_UCODE_STRING("gt");
-    theMap[160] = XALAN_STATIC_UCODE_STRING("nbsp");
-    //#    
-    //# Character ISO 8859-1 characters
-    //#    
-    theMap[161] = XALAN_STATIC_UCODE_STRING("iexcl");
-    theMap[162] = XALAN_STATIC_UCODE_STRING("cent");
-    theMap[163] = XALAN_STATIC_UCODE_STRING("pound");
-    theMap[164] = XALAN_STATIC_UCODE_STRING("curren");
-    theMap[165] = XALAN_STATIC_UCODE_STRING("yen");
-    theMap[166] = XALAN_STATIC_UCODE_STRING("brvbar");
-    theMap[167] = XALAN_STATIC_UCODE_STRING("sect");
-    theMap[168] = XALAN_STATIC_UCODE_STRING("uml");
-    theMap[169] = XALAN_STATIC_UCODE_STRING("copy");
-    theMap[170] = XALAN_STATIC_UCODE_STRING("ordf");
-    theMap[171] = XALAN_STATIC_UCODE_STRING("laquo");
-    theMap[172] = XALAN_STATIC_UCODE_STRING("not");
-    theMap[173] = XALAN_STATIC_UCODE_STRING("shy");
-    theMap[174] = XALAN_STATIC_UCODE_STRING("reg");
-    theMap[175] = XALAN_STATIC_UCODE_STRING("macr");
-    theMap[176] = XALAN_STATIC_UCODE_STRING("deg");
-    theMap[177] = XALAN_STATIC_UCODE_STRING("plusmn");
-    theMap[178] = XALAN_STATIC_UCODE_STRING("sup2");
-    theMap[179] = XALAN_STATIC_UCODE_STRING("sup3");
-    theMap[180] = XALAN_STATIC_UCODE_STRING("acute");
-    theMap[181] = XALAN_STATIC_UCODE_STRING("micro");
-    theMap[182] = XALAN_STATIC_UCODE_STRING("para");
-    theMap[183] = XALAN_STATIC_UCODE_STRING("middot");
-    theMap[184] = XALAN_STATIC_UCODE_STRING("cedil");
-    theMap[185] = XALAN_STATIC_UCODE_STRING("sup1");
-    theMap[186] = XALAN_STATIC_UCODE_STRING("ordm");
-    theMap[187] = XALAN_STATIC_UCODE_STRING("raquo");
-    theMap[188] = XALAN_STATIC_UCODE_STRING("frac14");
-    theMap[189] = XALAN_STATIC_UCODE_STRING("frac12");
-    theMap[190] = XALAN_STATIC_UCODE_STRING("frac34");
-    theMap[191] = XALAN_STATIC_UCODE_STRING("iquest");
-    theMap[192] = XALAN_STATIC_UCODE_STRING("Agrave");
-    theMap[193] = XALAN_STATIC_UCODE_STRING("Aacute");
-    theMap[194] = XALAN_STATIC_UCODE_STRING("Acirc");
-    theMap[195] = XALAN_STATIC_UCODE_STRING("Atilde");
-    theMap[196] = XALAN_STATIC_UCODE_STRING("Auml");
-    theMap[197] = XALAN_STATIC_UCODE_STRING("Aring");
-    theMap[198] = XALAN_STATIC_UCODE_STRING("AElig");
-    theMap[199] = XALAN_STATIC_UCODE_STRING("Ccedil");
-    theMap[200] = XALAN_STATIC_UCODE_STRING("Egrave");
-    theMap[201] = XALAN_STATIC_UCODE_STRING("Eacute");
-    theMap[202] = XALAN_STATIC_UCODE_STRING("Ecirc");
-    theMap[203] = XALAN_STATIC_UCODE_STRING("Euml");
-    theMap[204] = XALAN_STATIC_UCODE_STRING("Igrave");
-    theMap[205] = XALAN_STATIC_UCODE_STRING("Iacute");
-    theMap[206] = XALAN_STATIC_UCODE_STRING("Icirc");
-    theMap[207] = XALAN_STATIC_UCODE_STRING("Iuml");
-    theMap[208] = XALAN_STATIC_UCODE_STRING("ETH");
-    theMap[209] = XALAN_STATIC_UCODE_STRING("Ntilde");
-    theMap[210] = XALAN_STATIC_UCODE_STRING("Ograve");
-    theMap[211] = XALAN_STATIC_UCODE_STRING("Oacute");
-    theMap[212] = XALAN_STATIC_UCODE_STRING("Ocirc");
-    theMap[213] = XALAN_STATIC_UCODE_STRING("Otilde");
-    theMap[214] = XALAN_STATIC_UCODE_STRING("Ouml");
-    theMap[215] = XALAN_STATIC_UCODE_STRING("times");
-    theMap[216] = XALAN_STATIC_UCODE_STRING("Oslash");
-    theMap[217] = XALAN_STATIC_UCODE_STRING("Ugrave");
-    theMap[218] = XALAN_STATIC_UCODE_STRING("Uacute");
-    theMap[219] = XALAN_STATIC_UCODE_STRING("Ucirc");
-    theMap[220] = XALAN_STATIC_UCODE_STRING("Uuml");
-    theMap[221] = XALAN_STATIC_UCODE_STRING("Yacute");
-    theMap[222] = XALAN_STATIC_UCODE_STRING("THORN");
-    theMap[223] = XALAN_STATIC_UCODE_STRING("szlig");
-    theMap[224] = XALAN_STATIC_UCODE_STRING("agrave");
-    theMap[225] = XALAN_STATIC_UCODE_STRING("aacute");
-    theMap[226] = XALAN_STATIC_UCODE_STRING("acirc");
-    theMap[227] = XALAN_STATIC_UCODE_STRING("atilde");
-    theMap[228] = XALAN_STATIC_UCODE_STRING("auml");
-    theMap[229] = XALAN_STATIC_UCODE_STRING("aring");
-    theMap[230] = XALAN_STATIC_UCODE_STRING("aelig");
-    theMap[231] = XALAN_STATIC_UCODE_STRING("ccedil");
-    theMap[232] = XALAN_STATIC_UCODE_STRING("egrave");
-    theMap[233] = XALAN_STATIC_UCODE_STRING("eacute");
-    theMap[234] = XALAN_STATIC_UCODE_STRING("ecirc");
-    theMap[235] = XALAN_STATIC_UCODE_STRING("euml");
-    theMap[236] = XALAN_STATIC_UCODE_STRING("igrave");
-    theMap[237] = XALAN_STATIC_UCODE_STRING("iacute");
-    theMap[238] = XALAN_STATIC_UCODE_STRING("icirc");
-    theMap[239] = XALAN_STATIC_UCODE_STRING("iuml");
-    theMap[240] = XALAN_STATIC_UCODE_STRING("eth");
-    theMap[241] = XALAN_STATIC_UCODE_STRING("ntilde");
-    theMap[242] = XALAN_STATIC_UCODE_STRING("ograve");
-    theMap[243] = XALAN_STATIC_UCODE_STRING("oacute");
-    theMap[244] = XALAN_STATIC_UCODE_STRING("ocirc");
-    theMap[245] = XALAN_STATIC_UCODE_STRING("otilde");
-    theMap[246] = XALAN_STATIC_UCODE_STRING("ouml");
-    theMap[247] = XALAN_STATIC_UCODE_STRING("divide");
-    theMap[248] = XALAN_STATIC_UCODE_STRING("oslash");
-    theMap[249] = XALAN_STATIC_UCODE_STRING("ugrave");
-    theMap[250] = XALAN_STATIC_UCODE_STRING("uacute");
-    theMap[251] = XALAN_STATIC_UCODE_STRING("ucirc");
-    theMap[252] = XALAN_STATIC_UCODE_STRING("uuml");
-    theMap[253] = XALAN_STATIC_UCODE_STRING("yacute");
-    theMap[254] = XALAN_STATIC_UCODE_STRING("thorn");
-    theMap[255] = XALAN_STATIC_UCODE_STRING("yuml");
-}
-
-
-
-static void
-initializeXalanEntityReferenceMap2(XalanEntityReferenceMapType&	theMap)
-{
-	typedef XalanEntityReferenceMapType::value_type	value_type;
-
-    //#    
-    //# Character symbols, mathematical symbols,
-    //#    
-    //# Latin   
-    theMap[402] = XALAN_STATIC_UCODE_STRING("fnof");
-    //#    
-    //# Greek   
-    theMap[913] = XALAN_STATIC_UCODE_STRING("Alpha");
-    theMap[914] = XALAN_STATIC_UCODE_STRING("Beta");
-    theMap[915] = XALAN_STATIC_UCODE_STRING("Gamma");
-    theMap[916] = XALAN_STATIC_UCODE_STRING("Delta");
-    theMap[917] = XALAN_STATIC_UCODE_STRING("Epsilon");
-    theMap[918] = XALAN_STATIC_UCODE_STRING("Zeta");
-    theMap[919] = XALAN_STATIC_UCODE_STRING("Eta");
-    theMap[920] = XALAN_STATIC_UCODE_STRING("Theta");
-    theMap[921] = XALAN_STATIC_UCODE_STRING("Iota");
-    theMap[922] = XALAN_STATIC_UCODE_STRING("Kappa");
-    theMap[923] = XALAN_STATIC_UCODE_STRING("Lambda");
-    theMap[924] = XALAN_STATIC_UCODE_STRING("Mu");
-    theMap[925] = XALAN_STATIC_UCODE_STRING("Nu");
-    theMap[926] = XALAN_STATIC_UCODE_STRING("Xi");
-    theMap[927] = XALAN_STATIC_UCODE_STRING("Omicron");
-    theMap[928] = XALAN_STATIC_UCODE_STRING("Pi");
-    theMap[929] = XALAN_STATIC_UCODE_STRING("Rho");
-    theMap[931] = XALAN_STATIC_UCODE_STRING("Sigma");
-    theMap[932] = XALAN_STATIC_UCODE_STRING("Tau");
-    theMap[933] = XALAN_STATIC_UCODE_STRING("Upsilon");
-    theMap[934] = XALAN_STATIC_UCODE_STRING("Phi");
-    theMap[935] = XALAN_STATIC_UCODE_STRING("Chi");
-    theMap[936] = XALAN_STATIC_UCODE_STRING("Psi");
-    theMap[937] = XALAN_STATIC_UCODE_STRING("Omega");
-    theMap[945] = XALAN_STATIC_UCODE_STRING("alpha");
-    theMap[946] = XALAN_STATIC_UCODE_STRING("beta");
-    theMap[947] = XALAN_STATIC_UCODE_STRING("gamma");
-    theMap[948] = XALAN_STATIC_UCODE_STRING("delta");
-    theMap[949] = XALAN_STATIC_UCODE_STRING("epsilon");
-    theMap[950] = XALAN_STATIC_UCODE_STRING("zeta");
-    theMap[951] = XALAN_STATIC_UCODE_STRING("eta");
-    theMap[952] = XALAN_STATIC_UCODE_STRING("theta");
-    theMap[953] = XALAN_STATIC_UCODE_STRING("iota");
-    theMap[954] = XALAN_STATIC_UCODE_STRING("kappa");
-    theMap[955] = XALAN_STATIC_UCODE_STRING("lambda");
-    theMap[956] = XALAN_STATIC_UCODE_STRING("mu");
-    theMap[957] = XALAN_STATIC_UCODE_STRING("nu");
-    theMap[958] = XALAN_STATIC_UCODE_STRING("xi");
-    theMap[959] = XALAN_STATIC_UCODE_STRING("omicron");
-    theMap[960] = XALAN_STATIC_UCODE_STRING("pi");
-    theMap[961] = XALAN_STATIC_UCODE_STRING("rho");
-    theMap[962] = XALAN_STATIC_UCODE_STRING("sigmaf");
-    theMap[963] = XALAN_STATIC_UCODE_STRING("sigma");
-    theMap[964] = XALAN_STATIC_UCODE_STRING("tau");
-    theMap[965] = XALAN_STATIC_UCODE_STRING("upsilon");
-    theMap[966] = XALAN_STATIC_UCODE_STRING("phi");
-    theMap[967] = XALAN_STATIC_UCODE_STRING("chi");
-    theMap[968] = XALAN_STATIC_UCODE_STRING("psi");
-    theMap[969] = XALAN_STATIC_UCODE_STRING("omega");
-    theMap[977] = XALAN_STATIC_UCODE_STRING("thetasym");
-    theMap[978] = XALAN_STATIC_UCODE_STRING("upsih");
-    theMap[982] = XALAN_STATIC_UCODE_STRING("piv");
-}
-
-
-
-static void
-initializeXalanEntityReferenceMap3(XalanEntityReferenceMapType&	theMap)
-{
-	typedef XalanEntityReferenceMapType::value_type	value_type;
-
-    //#    
-    //# General   
-    theMap[8226] = XALAN_STATIC_UCODE_STRING("bull");
-    theMap[8230] = XALAN_STATIC_UCODE_STRING("hellip");
-    theMap[8242] = XALAN_STATIC_UCODE_STRING("prime");
-    theMap[8243] = XALAN_STATIC_UCODE_STRING("Prime");
-    theMap[8254] = XALAN_STATIC_UCODE_STRING("oline");
-    theMap[8260] = XALAN_STATIC_UCODE_STRING("frasl");
-    //#    
-    //# Letterlike   
-    theMap[8472] = XALAN_STATIC_UCODE_STRING("weierp");
-    theMap[8465] = XALAN_STATIC_UCODE_STRING("image");
-    theMap[8476] = XALAN_STATIC_UCODE_STRING("real");
-    theMap[8482] = XALAN_STATIC_UCODE_STRING("trade");
-    theMap[8501] = XALAN_STATIC_UCODE_STRING("alefsym");
-    //#    
-    //# Arrows   
-    theMap[8592] = XALAN_STATIC_UCODE_STRING("larr");
-    theMap[8593] = XALAN_STATIC_UCODE_STRING("uarr");
-    theMap[8594] = XALAN_STATIC_UCODE_STRING("rarr");
-    theMap[8595] = XALAN_STATIC_UCODE_STRING("darr");
-    theMap[8596] = XALAN_STATIC_UCODE_STRING("harr");
-    theMap[8629] = XALAN_STATIC_UCODE_STRING("crarr");
-    theMap[8656] = XALAN_STATIC_UCODE_STRING("lArr");
-    theMap[8657] = XALAN_STATIC_UCODE_STRING("uArr");
-    theMap[8658] = XALAN_STATIC_UCODE_STRING("rArr");
-    theMap[8659] = XALAN_STATIC_UCODE_STRING("dArr");
-    theMap[8660] = XALAN_STATIC_UCODE_STRING("hArr");
-    //#    
-    //# Mathematical   
-    theMap[8704] = XALAN_STATIC_UCODE_STRING("forall");
-    theMap[8706] = XALAN_STATIC_UCODE_STRING("part");
-    theMap[8707] = XALAN_STATIC_UCODE_STRING("exist");
-    theMap[8709] = XALAN_STATIC_UCODE_STRING("empty");
-    theMap[8711] = XALAN_STATIC_UCODE_STRING("nabla");
-    theMap[8712] = XALAN_STATIC_UCODE_STRING("isin");
-    theMap[8713] = XALAN_STATIC_UCODE_STRING("notin");
-    theMap[8715] = XALAN_STATIC_UCODE_STRING("ni");
-    theMap[8719] = XALAN_STATIC_UCODE_STRING("prod");
-    theMap[8721] = XALAN_STATIC_UCODE_STRING("sum");
-    theMap[8722] = XALAN_STATIC_UCODE_STRING("minus");
-    theMap[8727] = XALAN_STATIC_UCODE_STRING("lowast");
-    theMap[8730] = XALAN_STATIC_UCODE_STRING("radic");
-    theMap[8733] = XALAN_STATIC_UCODE_STRING("prop");
-    theMap[8734] = XALAN_STATIC_UCODE_STRING("infin");
-    theMap[8736] = XALAN_STATIC_UCODE_STRING("ang");
-    theMap[8743] = XALAN_STATIC_UCODE_STRING("and");
-    theMap[8744] = XALAN_STATIC_UCODE_STRING("or");
-    theMap[8745] = XALAN_STATIC_UCODE_STRING("cap");
-    theMap[8746] = XALAN_STATIC_UCODE_STRING("cup");
-    theMap[8747] = XALAN_STATIC_UCODE_STRING("int");
-    theMap[8756] = XALAN_STATIC_UCODE_STRING("there4");
-    theMap[8764] = XALAN_STATIC_UCODE_STRING("sim");
-    theMap[8773] = XALAN_STATIC_UCODE_STRING("cong");
-    theMap[8776] = XALAN_STATIC_UCODE_STRING("asymp");
-    theMap[8800] = XALAN_STATIC_UCODE_STRING("ne");
-    theMap[8801] = XALAN_STATIC_UCODE_STRING("equiv");
-    theMap[8804] = XALAN_STATIC_UCODE_STRING("le");
-    theMap[8805] = XALAN_STATIC_UCODE_STRING("ge");
-    theMap[8834] = XALAN_STATIC_UCODE_STRING("sub");
-    theMap[8835] = XALAN_STATIC_UCODE_STRING("sup");
-    theMap[8836] = XALAN_STATIC_UCODE_STRING("nsub");
-    theMap[8838] = XALAN_STATIC_UCODE_STRING("sube");
-    theMap[8839] = XALAN_STATIC_UCODE_STRING("supe");
-    theMap[8853] = XALAN_STATIC_UCODE_STRING("oplus");
-    theMap[8855] = XALAN_STATIC_UCODE_STRING("otimes");
-    theMap[8869] = XALAN_STATIC_UCODE_STRING("perp");
-    theMap[8901] = XALAN_STATIC_UCODE_STRING("sdot");
-}
-
-
-
-static void
-initializeXalanEntityReferenceMap4(XalanEntityReferenceMapType&	theMap)
-{
-	typedef XalanEntityReferenceMapType::value_type	value_type;
-
-    //#    
-    //# Miscellaneous   
-    theMap[8968] = XALAN_STATIC_UCODE_STRING("lceil");
-    theMap[8969] = XALAN_STATIC_UCODE_STRING("rceil");
-    theMap[8970] = XALAN_STATIC_UCODE_STRING("lfloor");
-    theMap[8971] = XALAN_STATIC_UCODE_STRING("rfloor");
-    theMap[9001] = XALAN_STATIC_UCODE_STRING("lang");
-    theMap[9002] = XALAN_STATIC_UCODE_STRING("rang");
-    //#    
-    //# Geometric   
-    theMap[9674] = XALAN_STATIC_UCODE_STRING("loz");
-    //#    
-    //# Miscellaneous   
-    theMap[9824] = XALAN_STATIC_UCODE_STRING("spades");
-    theMap[9827] = XALAN_STATIC_UCODE_STRING("clubs");
-    theMap[9829] = XALAN_STATIC_UCODE_STRING("hearts");
-    theMap[9830] = XALAN_STATIC_UCODE_STRING("diams");
-    //#    
-    //# Character internationalization characters 
-    //#    
-    //# Latin   
-    theMap[338] = XALAN_STATIC_UCODE_STRING("OElig");
-    theMap[339] = XALAN_STATIC_UCODE_STRING("oelig");
-    //#    
-    //# May not be supported Comment out???
-    theMap[352] = XALAN_STATIC_UCODE_STRING("Scaron");
-    theMap[353] = XALAN_STATIC_UCODE_STRING("scaron");
-    theMap[376] = XALAN_STATIC_UCODE_STRING("Yuml");
-    //#    
-    //# Spacing   
-    theMap[710] = XALAN_STATIC_UCODE_STRING("circ");
-    theMap[732] = XALAN_STATIC_UCODE_STRING("tilde");
-    //#    
-    //# General   
-    theMap[8194] = XALAN_STATIC_UCODE_STRING("ensp");
-    theMap[8195] = XALAN_STATIC_UCODE_STRING("emsp");
-    theMap[8201] = XALAN_STATIC_UCODE_STRING("thinsp");
-    theMap[8204] = XALAN_STATIC_UCODE_STRING("zwnj");
-    theMap[8205] = XALAN_STATIC_UCODE_STRING("zwj");
-    theMap[8206] = XALAN_STATIC_UCODE_STRING("lrm");
-    theMap[8207] = XALAN_STATIC_UCODE_STRING("rlm");
-    theMap[8211] = XALAN_STATIC_UCODE_STRING("ndash");
-    theMap[8212] = XALAN_STATIC_UCODE_STRING("mdash");
-    theMap[8216] = XALAN_STATIC_UCODE_STRING("lsquo");
-    theMap[8217] = XALAN_STATIC_UCODE_STRING("rsquo");
-    theMap[8218] = XALAN_STATIC_UCODE_STRING("sbquo");
-    theMap[8220] = XALAN_STATIC_UCODE_STRING("ldquo");
-    theMap[8221] = XALAN_STATIC_UCODE_STRING("rdquo");
-    theMap[8222] = XALAN_STATIC_UCODE_STRING("bdquo");
-    theMap[8224] = XALAN_STATIC_UCODE_STRING("dagger");
-    theMap[8225] = XALAN_STATIC_UCODE_STRING("Dagger");
-    theMap[8240] = XALAN_STATIC_UCODE_STRING("permil");
-    theMap[8249] = XALAN_STATIC_UCODE_STRING("lsaquo");
-    theMap[8250] = XALAN_STATIC_UCODE_STRING("rsaquo");
-    theMap[8364] = XALAN_STATIC_UCODE_STRING("euro");
-}
-
-
-
-void
-FormatterToHTML::initializeXalanEntityReferenceMap(XalanEntityReferenceMapType&	theMap)
-{
-	initializeXalanEntityReferenceMap1(theMap);
-	initializeXalanEntityReferenceMap2(theMap);
-	initializeXalanEntityReferenceMap3(theMap);
-	initializeXalanEntityReferenceMap4(theMap);
-}
-
-
-
-static XalanAutoPtr<FormatterToHTML::ElementFlagsMapType>	s_elementFlags;
-
-
-const FormatterToHTML::ElementFlagsMapType*			FormatterToHTML::s_elementFlags = 0;
-
-
-static XalanAutoPtr<FormatterToHTML::XalanEntityReferenceMapType>	s_xalanHTMLEntities;
-
-
-const FormatterToHTML::XalanEntityReferenceMapType*		FormatterToHTML::s_xalanHTMLEntities = 0;
-
-
-static FormatterToHTML::XalanEntityReferenceMapType::const_iterator s_xalanHTMLEntitiesIteratorEnd; 
-
-
-const  FormatterToHTML::XalanEntityReferenceMapType::const_iterator& FormatterToHTML::s_xalanHTMLEntitiesIteratorEnd = ::s_xalanHTMLEntitiesIteratorEnd;
-
-
-static XalanAutoPtr<FormatterToHTML::ElemDesc>	s_dummyDesc;
-
-const FormatterToHTML::ElemDesc*	FormatterToHTML::s_dummyDesc = 0;
-
-
-
-static XalanDOMString	s_doctypeHeaderStartString;
-
-static XalanDOMString	s_doctypeHeaderPublicString;
-
-static XalanDOMString	s_doctypeHeaderSystemString;
-
-static XalanDOMString	s_scriptString;
-
-static XalanDOMString	s_styleString;
-
-static XalanDOMString	s_ampString;
-
-static XalanDOMString	s_fnofString;
-
-static XalanDOMString	s_metaString;
-
-
-const XalanDOMString&	FormatterToHTML::s_doctypeHeaderStartString =
-			::s_doctypeHeaderStartString;
-
-const XalanDOMString&	FormatterToHTML::s_doctypeHeaderPublicString =
-			::s_doctypeHeaderPublicString;
-
-const XalanDOMString&	FormatterToHTML::s_doctypeHeaderSystemString =
-			::s_doctypeHeaderSystemString;
-
-const XalanDOMString&	FormatterToHTML::s_scriptString =
-			::s_scriptString;
-
-const XalanDOMString&	FormatterToHTML::s_styleString =
-			::s_styleString;
-
-const XalanDOMString&	FormatterToHTML::s_fnofString =
-			::s_fnofString;
-
-const XalanDOMString&	FormatterToHTML::s_metaString =
-			::s_metaString;
-
-
-
-void
-FormatterToHTML::initialize()
-{
-	// Make sure there's nothing there first...
-	::s_elementFlags.reset();
-	::s_xalanHTMLEntities.reset();
-	::s_dummyDesc.reset();
-
-	// New everything in a local so that an exception will clean up everything...
-	XalanAutoPtr<ElementFlagsMapType>			theElementFlags(new ElementFlagsMapType);
-	XalanAutoPtr<XalanEntityReferenceMapType>	theHTMLEntities(new XalanEntityReferenceMapType);
-	XalanAutoPtr<FormatterToHTML::ElemDesc>		theDummyDesc(new FormatterToHTML::ElemDesc(FormatterToHTML::ElemDesc::BLOCK));
-
-	// Do initialization...
-	initializeElementFlagsMap(*theElementFlags.get());
-	initializeXalanEntityReferenceMap(*theHTMLEntities.get());
-
-	::s_doctypeHeaderStartString = XALAN_STATIC_UCODE_STRING("<!DOCTYPE HTML");
-
-	::s_doctypeHeaderPublicString = XALAN_STATIC_UCODE_STRING(" PUBLIC \"");
-
-	::s_doctypeHeaderSystemString = XALAN_STATIC_UCODE_STRING(" SYSTEM");
-
-	::s_scriptString = XALAN_STATIC_UCODE_STRING("SCRIPT");
-
-	::s_styleString = XALAN_STATIC_UCODE_STRING("STYLE");
-
-	::s_fnofString = XALAN_STATIC_UCODE_STRING("fnof");
-
-	::s_metaString = XALAN_STATIC_UCODE_STRING("<META http-equiv=\"Content-Type\" content=\"text/html; charset=");
-
-	// Everythings cool, so let the globals own the objects...
-	::s_elementFlags = theElementFlags;
-	::s_xalanHTMLEntities = theHTMLEntities;
-	::s_dummyDesc = theDummyDesc;
-
-	// Update the class members...
-	s_elementFlags = ::s_elementFlags.get();
-	s_xalanHTMLEntities = ::s_xalanHTMLEntities.get();
-	s_dummyDesc = ::s_dummyDesc.get();
-	::s_xalanHTMLEntitiesIteratorEnd = ::s_xalanHTMLEntities->end();
-}
-
-
-
-void
-FormatterToHTML::terminate()
-{
-	s_elementFlags = 0;
-	s_xalanHTMLEntities = 0;
-	s_dummyDesc = 0;
-
-	::s_elementFlags.reset();
-	::s_xalanHTMLEntities.reset();
-	::s_dummyDesc.reset();
-
-	releaseMemory(::s_doctypeHeaderStartString);
-
-	releaseMemory(::s_doctypeHeaderPublicString);
-
-	releaseMemory(::s_doctypeHeaderSystemString);
-
-	releaseMemory(::s_scriptString);
-
-	releaseMemory(::s_styleString);
-
-	releaseMemory(::s_fnofString);
-
-	releaseMemory(::s_metaString);		
-}
diff --git a/src/XMLSupport/FormatterToHTML.hpp b/src/XMLSupport/FormatterToHTML.hpp
deleted file mode 100644
index 6503d1c..0000000
--- a/src/XMLSupport/FormatterToHTML.hpp
+++ /dev/null
@@ -1,478 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTOHTML_HEADER_GUARD_1357924680)
-#define FORMATTERTOHTML_HEADER_GUARD_1357924680
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author David N. Bertoni <david_n_bertoni@lotus.com>
- */
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <set>
-#include <map>
-#include <vector>
-
-
-
-// Base class header file.
-#include <XMLSupport/FormatterToXML.hpp>
-
-
-
-#include <Include/XalanArrayKeyMap.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-/**
- * FormatterToHTML formats SAX-style events into HTML.
- */
-class XALAN_XMLSUPPORT_EXPORT FormatterToHTML : public FormatterToXML 
-{  
-
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMChar,
-				XalanDOMString,
-				less<XalanDOMChar> >	XalanEntityReferenceMapType;
-#else
-	typedef std::map<XalanDOMChar,
-					 XalanDOMString>	XalanEntityReferenceMapType;	
-#endif
-
-	/**
-	 * Perform static initialization.  See class XMLSupportInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XMLSupportInit.
-	 */
-	static void
-	terminate();
-
-	enum eDummy
-	{
-		eDefaultIndentAmount = 0
-	};
-
-	/**
-	 * Constructor for customized encoding and doctype.
-	 * @param writer        The character output stream to use.
-	 * @param encoding      Java character encoding in use by <VAR>writer</VAR>.
-	 * @param doctype       String to be printed at the top of the document.
-	 * @param indent        Number of spaces to indent at each nesting level.
-	 */
-	FormatterToHTML(
-			Writer&					writer,
-			const XalanDOMString&	encoding = XalanDOMString(),
-			const XalanDOMString&	mediaType = XalanDOMString(),
-			const XalanDOMString&	doctypeSystem = XalanDOMString(),
-			const XalanDOMString&	doctypePublic = XalanDOMString(),
-			bool					doIndent = true,
-			int						indent = eDefaultIndentAmount,
-			const XalanDOMString&	version = XalanDOMString(),
-			const XalanDOMString&	standalone = XalanDOMString(),
-			bool					xmlDecl = false);
-
-	virtual
-	~FormatterToHTML();
-
-	// These methods are inherited from DocumentHandler ...
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(
-			const	XMLCh* const	name,
-			AttributeList&			attrs);
-
-    virtual void
-	endElement(const XMLCh* const	name);
-
-    virtual void
-	characters(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	// These methods are inherited from FormatterToXML...
-
-	virtual bool
-	accumDefaultEntity(
-			XalanDOMChar				ch,
-			XalanDOMString::size_type	i,
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	len,
-			bool						escLF);
-
-	// These methods are inherited from FormatterListener ...
-
-	virtual void
-	entityReference(const XMLCh* const	name);
-
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length);
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data);
-
-
-	class ElemDesc
-	{
-	public:
-
-		enum eFlags
-		{
-			EMPTY = (1 << 1),
-			FLOW = (1 << 2),
-			BLOCK = (1 << 3),
-			BLOCKFORM = (1 << 4),
-			BLOCKFORMFIELDSET = (1 << 5),
-			CDATA = (1 << 6),
-			PCDATA = (1 << 7),
-			RAW = (1 << 8),
-			INLINE = (1 << 9),
-			INLINEA = (1 << 10),
-			INLINELABEL = (1 << 11),
-			FONTSTYLE = (1 << 12),
-			PHRASE = (1 << 13),
-			FORMCTRL = (1 << 14),
-			SPECIAL = (1 << 15),
-			ASPECIAL = (1 << 16),
-			HEADMISC = (1 << 17),
-			HEAD = (1 << 18),
-			LIST = (1 << 19),
-			PREFORMATTED = (1 << 20),
-			WHITESPACESENSITIVE = (1 << 21),
-			HEADELEM = (1 << 22),
-
-			ATTRURL = (1 << 1),
-			ATTREMPTY = (1 << 2)
-		};
-
-		ElemDesc(unsigned int	flags = 0) :
-			m_flags(flags)
-		{
-		}
-
-		~ElemDesc()
-		{
-		}
-
-		bool
-		operator==(const ElemDesc&	theRHS) const
-		{
-			return m_flags == theRHS.m_flags && m_attrs == theRHS.m_attrs;
-		}
-
-		bool
-		is(unsigned int		flags) const
-		{
-			return m_flags & flags ? true : false;
-		}
-
-		void
-		setAttr(
-				const XalanDOMChar*		name,
-				unsigned int			flags)
-		{
-			m_attrs.insert(AttributeMapType::value_type(name, flags));
-		}
-
-		bool
-		isAttrFlagSet(
-				const XalanDOMChar*		name,
-				unsigned int			flags) const
-		{
-			const AttributeMapType::const_iterator	i =
-				m_attrs.find(name);
-
-			if (i == m_attrs.end())
-			{
-				return false;
-			}
-			else
-			{
-				return (*i).second & flags ? true : false;
-			}
-		}
-
-	private:
-
-		typedef XalanArrayKeyMap<
-					XalanDOMChar,
-					unsigned int,
-					less_no_case_ascii_wide_string>		AttributeMapType;
-
-		const unsigned int	m_flags;
-
-		AttributeMapType	m_attrs;
-	};
-
-
-	typedef XalanArrayKeyMap<
-				XalanDOMChar,
-				ElemDesc,
-				less_no_case_ascii_wide_string>		ElementFlagsMapType;
-
-protected:
-
-	virtual void
-	writeAttrString(const XalanDOMChar*		theString);
-
-	virtual void
-	accumCommentData(const XalanDOMChar*	data);
-
-	void
-	writeCharacters(const XalanDOMString&	theString);
-
-	void
-	writeCharacters(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-private:
-
-	static const ElementFlagsMapType*							s_elementFlags;
-
-	static const XalanEntityReferenceMapType*					s_xalanHTMLEntities;
-
-	static const XalanEntityReferenceMapType::const_iterator&	s_xalanHTMLEntitiesIteratorEnd; 
-
-	/**
-	 * Dummy description for elements not found.
-	 */
-	static const ElemDesc*			s_dummyDesc;
-
-	/**
-	 * The string "<!DOCTYPE  HTML".
-	 */
-	static const XalanDOMString&	s_doctypeHeaderStartString;
-
-	/**
-	 * The string " PUBLIC \"".
-	 */
-	static const XalanDOMString&	s_doctypeHeaderPublicString;
-
-	/**
-	 * The string " SYSTEM".
-	 */
-	static const XalanDOMString&	s_doctypeHeaderSystemString;
-
-	/**
-	 * The string "SCRIPT".
-	 */
-	static const XalanDOMString&	s_scriptString;
-
-	/**
-	 * The string "STYLE".
-	 */
-	static const XalanDOMString&	s_styleString;
-
-	/**
-	 * The string "fnof".
-	 */
-	static const XalanDOMString&	s_fnofString;
-
-	/**
-	 * The string "<META http-equiv=\"Content-Type\" content=\"text/html; charset=".
-	 */
-	static const XalanDOMString&	s_metaString;
-
-	/**
-	 * Set the attribute characters what will require special mapping.
-	 */
-	void
-	initAttrCharsMap();
-
-	/**
-	 * Set the output characters what will require special mapping.
-	 */
-	void
-	initCharsMap();
-
-	void
-	copyEntityIntoBuffer(const XalanDOMChar*	s);
-
-	void
-	copyEntityIntoBuffer(const XalanDOMString&	s);
-
-	/**
-	 * Get an ElemDesc instance for the specified name.
-	 *
-	 * @param name the name to search.
-	 * @return a const reference to the ElemDesc instance.
-	 */
-	static const ElemDesc&
-	getElemDesc(const XalanDOMChar*		name);
-
-	/**
-	 * Initialize the map of element flags.
-	 *
-	 * @return map of element flags.
-	 */
-	static void
-	initializeElementFlagsMap(ElementFlagsMapType&	theMap);
-
-	/**
-	 * Initialize the map of enity references.
-	 *
-	 * @return map of enity references.
-	 */
-	static void
-	initializeXalanEntityReferenceMap(XalanEntityReferenceMapType&	theMap);
-
-	/**
-	 * Process an attribute.
-	 * @param   name	 The name of the attribute.
-	 * @param   value   The value of the attribute.
-	 */
-	virtual void
-	processAttribute(
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		value,
-			const ElemDesc&			elemDesc);
-
-	/**
-	 * Write the specified string after substituting non ASCII characters,
-	 * with %HH, where HH is the hex of the byte value.
-	 *
-	 * @param   theString     String to convert to XML format.
-	 */
-	void
-	writeAttrURI(const XalanDOMChar*	theString);
-
-	/**
-	 * Accumulate the specified character by converting its numeric value to
-	 * a hex string, making sure that any string of length 1 are written with
-	 * a '0' before the number.
-	 *
-	 * @param theChar The character to accumulate
-	 */
-	void
-	accumHexNumber(const XalanDOMChar	theChar);
-
-	bool
-	popHasNamespace();
-
-	bool
-	pushHasNamespace(const XalanDOMChar*	theElementName);
-
-	// Data members...
-	XalanDOMString			m_currentElementName;
-
-	bool					m_inBlockElem;
-
-	BoolStackType			m_isRawStack;
-
-	bool					m_isScriptOrStyleElem;
-
-	BoolStackType			m_inScriptElemStack;
-
-	bool					m_escapeURLs;
-
-	/**
-	 * A flag so we know whether or not we've put out the first
-	 * element.
-	 */
-	bool					m_isFirstElement;
-
-	/**
-	 * A flag so we know whether or not we're writing utf-8.
-	 */
-	bool					m_isUTF8;
-
-	/**
-	 * A counter so we can tell if we're inside the document element.
-	 */
-	int						m_elementLevel;
-
-	/**
-	 * A stack to determine if the current element has
-	 * a namespace.
-	 */
-	BoolStackType			m_hasNamespaceStack;
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// FORMATTERTOHTML_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/FormatterToNull.cpp b/src/XMLSupport/FormatterToNull.cpp
deleted file mode 100644
index 7bbf002..0000000
--- a/src/XMLSupport/FormatterToNull.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file
-#include "FormatterToNull.hpp"
-
-
-
-FormatterToNull::FormatterToNull() :
-	FormatterListener(OUTPUT_METHOD_NONE)
-{
-}
-
-
-
-FormatterToNull::~FormatterToNull()
-{
-}
-
-
-
-void
-FormatterToNull::setDocumentLocator(const Locator* const	/* locator */)
-{
-}
-
-
-
-void
-FormatterToNull::startDocument()
-{
-}
-
-
-
-void
-FormatterToNull::endDocument()
-{
-}
-
-
-
-void
-FormatterToNull::startElement(
-			const	XMLCh* const	/* name */,
-			AttributeList&			/* attrs */)
-{
-}
-
-
-
-void
-FormatterToNull::endElement(
-			const	XMLCh* const	/* name */)
-{
-}
-
-
-
-void
-FormatterToNull::characters(
-			const XMLCh* const	/* chars */,
-			const unsigned int	/* length */)
-{
-}
-
-
-
-void
-FormatterToNull::charactersRaw(
-		const XMLCh* const	/* chars */,
-		const unsigned int	/*length */)
-{
-}
-
-
-void
-FormatterToNull::entityReference(const XMLCh* const	/* name */)
-{
-}
-
-
-
-void
-FormatterToNull::ignorableWhitespace(
-			const XMLCh* const	/* chars */,
-			const unsigned int	/* length */)
-{
-}
-
-
-
-void
-FormatterToNull::processingInstruction(
-			const XMLCh* const	/* target */,
-			const XMLCh* const	/* data */)
-{
-}
-
-
-
-void
-FormatterToNull::resetDocument()
-{
-}
-
-
-
-void
-FormatterToNull::comment(const XMLCh* const	/* data */)
-{
-}
-
-
-
-void
-FormatterToNull::cdata(
-			const XMLCh* const	 /* ch */,
-			const unsigned int 	/* length */)
-{
-}
diff --git a/src/XMLSupport/FormatterToNull.hpp b/src/XMLSupport/FormatterToNull.hpp
deleted file mode 100644
index 4ebe6ad..0000000
--- a/src/XMLSupport/FormatterToNull.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTONULL_HEADER_GUARD_1357924680)
-#define FORMATTERTONULL_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-/**
- * This class takes SAX events (in addition to some extra events 
- * that SAX doesn't handle yet) and produces absolutely nothing.
- * This is useful for profiling situations where serialization
- * obscures things.
- */
-class XALAN_XMLSUPPORT_EXPORT FormatterToNull : public FormatterListener
-{
-public:
-
-	/**
-	 * FormatterToNull instance constructor.
-	 */
-	explicit
-	FormatterToNull();
-
-	virtual
-	~FormatterToNull();
-
-
-	// These methods are inherited from FormatterListener ...
-
-	virtual void
-	setDocumentLocator(const Locator* const		locator);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(
-			const	XMLCh* const	name,
-			AttributeList&			attrs);
-
-    virtual void
-	endElement(const XMLCh* const	name);
-
-    virtual void
-	characters(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-    virtual void
-	charactersRaw(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	entityReference(const XMLCh* const	name);
-
-	virtual void
-	ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data);
-
-
-	virtual void
-	resetDocument();
-
-	virtual void
-	comment(const XMLCh* const	data);
-
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length);
-
-private:
-
-	// These are not implemented.
-	FormatterToNull(const FormatterToNull&);
-
-	FormatterToNull&
-	operator=(const FormatterToNull&);
-
-	bool
-	operator==(const FormatterToNull&) const;
-};
-
-
-
-#endif	// FORMATTERTONULL_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/FormatterToText.cpp b/src/XMLSupport/FormatterToText.cpp
deleted file mode 100644
index 3e83218..0000000
--- a/src/XMLSupport/FormatterToText.cpp
+++ /dev/null
@@ -1,325 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file
-#include "FormatterToText.hpp"
-
-
-
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <PlatformSupport/Writer.hpp>
-#include <PlatformSupport/XalanOutputStream.hpp>
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-#if defined(XALAN_NEWLINE_IS_CRLF)
-#include <PlatformSupport/XalanUnicode.hpp>
-#endif
-
-
-
-FormatterToText::FormatterToText() :
-	FormatterListener(OUTPUT_METHOD_TEXT),
-	m_writer(0),
-	m_maxCharacter(XalanDOMChar(~0)),
-	m_encoding(),
-	m_haveEncoding(false),
-	m_normalize(true),
-	m_handleIgnorableWhitespace(true)
-{
-}
-
-
-
-FormatterToText::FormatterToText(
-			Writer&		writer,
-			bool		normalizeLinefeed,
-			bool		handleIgnorableWhitespace) :
-	FormatterListener(OUTPUT_METHOD_TEXT),
-	m_writer(&writer),
-	m_maxCharacter(XalanDOMChar(~0)),
-	m_encoding(),
-	m_haveEncoding(false),
-	m_normalize(normalizeLinefeed),
-	m_handleIgnorableWhitespace(handleIgnorableWhitespace)
-{
-}
-
-
-
-FormatterToText::FormatterToText(
-			Writer&					writer,
-			const XalanDOMString&	encoding,
-			bool					normalizeLinefeed,
-			bool					handleIgnorableWhitespace) :
-	FormatterListener(OUTPUT_METHOD_TEXT),
-	m_writer(&writer),
-	m_maxCharacter(0),
-	m_encoding(isEmpty(encoding) == false ? encoding : XalanDOMString(XalanTranscodingServices::s_utf8String)),
-	m_haveEncoding(true),
-	m_normalize(normalizeLinefeed),
-	m_handleIgnorableWhitespace(handleIgnorableWhitespace)
-{
-	update();
-}
-
-
-
-FormatterToText::~FormatterToText()
-{
-}
-
-
-
-void
-FormatterToText::clearEncoding()
-{
-	clear(m_encoding);
-
-	m_maxCharacter = XalanDOMChar(~0);
-
-	m_haveEncoding = false;
-}
-
-
-
-void
-FormatterToText::setDocumentLocator(const Locator* const	/* locator */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::startDocument()
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::endDocument()
-{
-	assert(m_writer != 0);
-
-	m_writer->flush();
-
-	m_writer->close();
-}
-
-
-
-void
-FormatterToText::startElement(
-			const	XMLCh* const	/* name */,
-			AttributeList&			/* attrs */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::endElement(
-			const	XMLCh* const	/* name */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::characters(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	assert(m_writer != 0);
-
-	if (m_normalize == false && m_haveEncoding == false)
-	{
-		m_writer->write(chars, 0, length);
-	}
-	else
-	{
-		for (unsigned int i = 0; i < length; ++i)
-		{
-#if defined(XALAN_NEWLINE_IS_CRLF)
-			if (m_normalize == true)
-			{
-				// Normalize LF to CR/LF...
-				if (chars[i] == XalanUnicode::charLF &&
-					(i == 0 ||
-					 chars[i - 1] != XalanUnicode::charCR))
-				{
-					m_writer->write(XalanUnicode::charCR);
-				}
-			}
-#endif
-			if (chars[i] > m_maxCharacter)
-			{
-				//$$$ ToDo: Figure out what we're going to do here...
-			}
-
-			m_writer->write(chars[i]);
-		}
-	}
-}
-
-
-
-void
-FormatterToText::charactersRaw(
-		const XMLCh* const	chars,
-		const unsigned int	length)
-{
-	characters(chars, length);
-}
-
-
-void
-FormatterToText::entityReference(const XMLCh* const	/* name */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	if (m_handleIgnorableWhitespace == true)
-	{
-		characters(chars, length);
-	}
-}
-
-
-
-void
-FormatterToText::processingInstruction(
-			const XMLCh* const	/* target */,
-			const XMLCh* const	/* data */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::resetDocument()
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::comment(const XMLCh* const	/* data */)
-{
-	// No action for the moment.
-}
-
-
-
-void
-FormatterToText::cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length)
-{
-	characters(ch, length);
-}
-
-
-
-void
-FormatterToText::update()
-{
-	assert(m_writer != 0);
-
-	XalanOutputStream* const	theStream = m_writer->getStream();
-
-	if (theStream == 0)
-	{
-		// We're pretty much screwed here, since we can't transcode, so get the
-		// maximum character for the local code page.
-		m_maxCharacter = XalanTranscodingServices::getMaximumCharacterValue();
-	}
-	else
-	{
-		try
-		{
-			theStream->setOutputEncoding(m_encoding);
-		}
-		catch(const XalanOutputStream::UnsupportedEncodingException&)
-		{
-			const XalanDOMString	theUTF8String(XalanTranscodingServices::s_utf8String);
-
-			// Default to UTF-8 if the requested encoding is not supported...
-			theStream->setOutputEncoding(theUTF8String);
-
-			m_encoding = theUTF8String;
-
-			m_haveEncoding = true;
-		}
-
-		m_maxCharacter = XalanTranscodingServices::getMaximumCharacterValue(theStream->getOutputEncoding());
-	}
-}
diff --git a/src/XMLSupport/FormatterToText.hpp b/src/XMLSupport/FormatterToText.hpp
deleted file mode 100644
index 3a973c3..0000000
--- a/src/XMLSupport/FormatterToText.hpp
+++ /dev/null
@@ -1,276 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTOTEXT_HEADER_GUARD_1357924680)
-#define FORMATTERTOTEXT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-class Writer;
-class Locator;
-
-
-
-/**
- * This class takes SAX events (in addition to some extra events 
- * that SAX doesn't handle yet) and produces simple text only.
- */
-class XALAN_XMLSUPPORT_EXPORT FormatterToText : public FormatterListener
-{
-public:
-
-	/**
-	 * FormatterToText instance constructor.
-	 */
-	FormatterToText();
-
-	/**
-	 * FormatterToText instance constructor.
-	 *
-	 * @param writer writer for output
-	 * @param normalizeLindefeed Normalize \n or \r\n (on certain platforms).
-	 * @param handleIgnorableWhitespace If true ignorableWhitespace() will write data to the Writer
-	 */
-	FormatterToText(
-			Writer&		writer,
-			bool		normalizeLinefeed = true,
-			bool		handleIgnorableWhitespace = true);
-
-	/**
-	 * FormatterToText instance constructor.
-	 *
-	 * @param writer writer for output
-	 * @param encoding character encoding for the writer
-	 * @param normalizeLindefeed Normalize \n or \r\n on certain platforms.
-	 * @param handleIgnorableWhitespace If true ignorableWhitespace() will write data to the Writer
-	 */
-	FormatterToText(
-			Writer&					writer,
-			const XalanDOMString&	encoding,
-			bool					normalizeLinefeed = true,
-			bool					handleIgnorableWhitespace = true);
-
-	virtual
-	~FormatterToText();
-
-
-	Writer*
-	getWriter() const
-	{
-		return m_writer;
-	}
-
-	void
-	setWriter(Writer*	theWriter)
-	{
-		m_writer = theWriter;
-
-		update();
-	}
-
-	void
-	clearEncoding();
-
-	const XalanDOMString&
-	getEncoding() const
-	{
-		return m_encoding;
-	}
-
-	void
-	setEncoding(const XalanDOMString&	theEncoding)
-	{
-		m_encoding = theEncoding;
-
-		update();
-	}
-
-	XalanDOMChar
-	getMaxCharacter() const
-	{
-		return m_maxCharacter;
-	}
-
-	void
-	setMaxCharacter(XalanDOMChar	theMaxChar)
-	{
-		m_maxCharacter = theMaxChar;
-	}
-
-	bool
-	getNormalizeLinefeed() const
-	{
-		return m_normalize;
-	}
-
-	void
-	setNormalizeLinefeed(bool	fNormalize)
-	{
-		m_normalize = fNormalize;
-	}
-
-	bool
-	getHandleIgnorableWhitespace() const
-	{
-		return m_handleIgnorableWhitespace;
-	}
-
-	void
-	setHandleIgnorableWhitespace(bool	fHandle)
-	{
-		m_handleIgnorableWhitespace = fHandle;
-	}
-
-	// These methods are inherited from FormatterListener ...
-
-	virtual void
-	setDocumentLocator(const Locator* const		locator);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(
-			const	XMLCh* const	name,
-			AttributeList&			attrs);
-
-    virtual void
-	endElement(const XMLCh* const	name);
-
-    virtual void
-	characters(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-    virtual void
-	charactersRaw(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	entityReference(const XMLCh* const	name);
-
-	virtual void
-	ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data);
-
-	virtual void
-	resetDocument();
-
-	virtual void
-	comment(const XMLCh* const	data);
-
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length);
-
-private:
-
-	// These are not implemented.
-	FormatterToText(const FormatterToText&);
-
-	FormatterToText&
-	operator=(const FormatterToText&);
-
-	bool
-	operator==(const FormatterToText&) const;
-
-	// Utility function to update various member variables
-	// when data changes.
-	void
-	update();
-
-	// Data members...
-	Writer*			m_writer;
-
-	XalanDOMChar	m_maxCharacter;
-
-	XalanDOMString	m_encoding;
-
-	bool			m_haveEncoding;
-
-	bool			m_normalize;
-
-	bool			m_handleIgnorableWhitespace;
-};
-
-
-
-#endif	// FORMATTERTOTEXT_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/FormatterToXML.cpp b/src/XMLSupport/FormatterToXML.cpp
deleted file mode 100644
index 090fe90..0000000
--- a/src/XMLSupport/FormatterToXML.cpp
+++ /dev/null
@@ -1,1796 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-// Class header file.
-#include "FormatterToXML.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanOutputStream.hpp>
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-#include <PlatformSupport/Writer.hpp>
-
-
-
-static const XalanDOMChar 	theDefaultAttrSpecialChars[] =
-{
-	XalanUnicode::charLessThanSign,
-	XalanUnicode::charGreaterThanSign,
-	XalanUnicode::charAmpersand, 
-	XalanUnicode::charQuoteMark,
-	XalanUnicode::charCR,
-	XalanUnicode::charLF,
-	0
-};
-
-
-
-FormatterToXML::FormatterToXML(
-			Writer& 				writer,
-			const XalanDOMString&	version,
-			bool					doIndent,
-			int 					indent,
-			const XalanDOMString&	encoding, 
-			const XalanDOMString&	mediaType,
-			const XalanDOMString&	doctypeSystem,
-			const XalanDOMString&	doctypePublic,
-			bool					xmlDecl,
-			const XalanDOMString&	standalone,
-			eFormat					format,
-			bool					fBufferData) :
-	FormatterListener(format),
-	m_writer(&writer),
-	m_stream(m_writer->getStream()),
-	m_maxCharacter(0),
-#if !defined(XALAN_NO_DEFAULT_BUILTIN_ARRAY_INITIALIZATION)
-	m_attrCharsMap(),
-	m_charsMap(),
-#endif
-	m_shouldWriteXMLHeader(xmlDecl),
-	m_ispreserve(false),
-	m_doIndent(doIndent),
-	m_startNewLine(false),
-	m_needToOutputDocTypeDecl(true),
-	m_isprevtext(false),
-	m_stripCData(false),
-	m_nextIsRaw(false),
-	m_inCData(false),
-	m_encodingIsUTF(false),
-	m_doctypeSystem(doctypeSystem),
-	m_doctypePublic(doctypePublic),
-	m_encoding(isEmpty(encoding) == false ? encoding : XalanDOMString(XalanTranscodingServices::s_utf8String)),
-	m_currentIndent(0),
-	m_indent(indent),
-	m_preserves(),
-	m_stringBuffer(),
-	m_bytesEqualChars(false),
-	m_shouldFlush(true),
-	m_spaceBeforeClose(false),
-	m_escapeCData(false),
-	m_inEntityRef(false),
-	m_version(version),
-	m_standalone(standalone),
-	m_mediaType(mediaType),
-	m_attrSpecialChars(theDefaultAttrSpecialChars),
-	m_charBuf(),
-	m_pos(0),
-	m_byteBuf(),
-	m_elemStack(),
-	m_accumNameCharFunction(0),
-	m_accumNameStringFunction(0),
-	m_accumNameDOMStringFunction(0),
-	m_accumNameArrayFunction(0),
-	m_accumContentCharFunction(0),
-	m_accumContentStringFunction(0),
-	m_accumContentDOMStringFunction(0),
-	m_accumContentArrayFunction(0)
-{
-	assert(isEmpty(m_encoding) == false);
-
-	if(isEmpty(m_doctypePublic) == false)
-	{
-		if(startsWith(
-			m_doctypePublic,
-			s_xhtmlDocType) == true)
-		{
-			m_spaceBeforeClose = true;
-		}
-	}
-
-	if (m_stream != 0)
-	{
-		try
-		{
-			m_stream->setOutputEncoding(m_encoding);
-		}
-		catch(const XalanOutputStream::UnsupportedEncodingException&)
-		{
-			// Default to UTF-8 if the requested encoding is not supported...
-			m_stream->setOutputEncoding(XalanDOMString(XalanTranscodingServices::s_utf8String));
-
-			m_encoding = XalanTranscodingServices::s_utf8String;
-		}
-	}
-
-	m_maxCharacter = XalanTranscodingServices::getMaximumCharacterValue(m_encoding);
-
-	m_encodingIsUTF = XalanTranscodingServices::encodingIsUTF8(m_encoding) ||
-					  XalanTranscodingServices::encodingIsUTF16(m_encoding);
-
-#if 1
-	if (m_encodingIsUTF == true)
-	{
-		if (fBufferData == false)
-		{
-			m_accumNameCharFunction = &FormatterToXML::accumCharUTFDirect;
-
-			m_accumContentCharFunction = &FormatterToXML::accumCharUTFDirect;
-
-			m_accumNameStringFunction = &FormatterToXML::accumStringUTFDirect;
-
-			m_accumContentStringFunction = &FormatterToXML::accumStringUTFDirect;
-
-			m_accumNameDOMStringFunction = &FormatterToXML::accumDOMStringUTFDirect;
-
-			m_accumContentDOMStringFunction = &FormatterToXML::accumDOMStringUTFDirect;
-
-			m_accumNameArrayFunction = &FormatterToXML::accumArrayUTFDirect;
-
-			m_accumContentArrayFunction = &FormatterToXML::accumArrayUTFDirect;
-		}
-		else
-		{
-			m_charBuf.resize(s_maxBufferSize);
-
-			m_accumNameCharFunction = &FormatterToXML::accumCharUTF;
-
-			m_accumContentCharFunction = &FormatterToXML::accumCharUTF;
-
-			m_accumNameStringFunction = &FormatterToXML::accumStringUTF;
-
-			m_accumContentStringFunction = &FormatterToXML::accumStringUTF;
-
-			m_accumNameDOMStringFunction = &FormatterToXML::accumDOMStringUTF;
-
-			m_accumContentDOMStringFunction = &FormatterToXML::accumDOMStringUTF;
-
-			m_accumNameArrayFunction = &FormatterToXML::accumArrayUTF;
-
-			m_accumContentArrayFunction = &FormatterToXML::accumArrayUTF;
-		}
-	}
-	else
-	{
-		if (fBufferData == false)
-		{
-			m_accumNameCharFunction = &FormatterToXML::accumNameAsCharDirect;
-
-			m_accumContentCharFunction = &FormatterToXML::accumContentAsCharDirect;
-		}
-		else
-		{
-			m_charBuf.resize(s_maxBufferSize);
-
-			m_accumNameCharFunction = &FormatterToXML::accumNameAsChar;
-
-			m_accumContentCharFunction = &FormatterToXML::accumContentAsChar;
-		}
-
-		m_accumNameStringFunction = &FormatterToXML::accumNameString;
-
-		m_accumContentStringFunction = &FormatterToXML::accumContentString;
-
-		m_accumNameDOMStringFunction = &FormatterToXML::accumNameDOMString;
-
-		m_accumContentDOMStringFunction = &FormatterToXML::accumContentDOMString;
-
-		m_accumNameArrayFunction = &FormatterToXML::accumNameArray;
-
-		m_accumContentArrayFunction = &FormatterToXML::accumContentArray;
-	}
-
-	m_flushFunction = &FormatterToXML::flushChars;
-#else
-	if (XalanTranscodingServices::getBytesEqualChars(m_encoding) == true)
-	{
-		m_bytesEqualChars = true;
-
-		if (fBufferData == false)
-		{
-			m_accumNameCharFunction = &FormatterToXML::accumNameAsByteDirect;
-
-			m_accumContentCharFunction = &FormatterToXML::accumContentAsByteDirect;
-		}
-		else
-		{
-			m_byteBuf.resize(s_maxBufferSize);
-
-			m_accumNameCharFunction = &FormatterToXML::accumNameAsByte;
-
-			m_accumContentCharFunction = &FormatterToXML::accumContentAsByte;
-		}
-
-		m_accumNameStringFunction = &FormatterToXML::accumNameString;
-
-		m_accumContentStringFunction = &FormatterToXML::accumContentString;
-
-		m_accumNameDOMStringFunction = &FormatterToXML::accumNameDOMString;
-
-		m_accumContentDOMStringFunction = &FormatterToXML::accumContentDOMString;
-
-		m_accumNameArrayFunction = &FormatterToXML::accumNameArray;
-
-		m_accumContentArrayFunction = &FormatterToXML::accumContentArray;
-
-		m_flushFunction = &FormatterToXML::flushBytes;
-	}
-	else
-	{
-		if (fBufferData == false)
-		{
-			m_accumNameCharFunction = &FormatterToXML::accumNameAsCharDirect;
-
-			m_accumContentCharFunction = &FormatterToXML::accumContentAsCharDirect;
-		}
-		else
-		{
-			m_charBuf.resize(s_maxBufferSize);
-
-			m_accumNameCharFunction = &FormatterToXML::accumNameAsChar;
-
-			m_accumContentCharFunction = &FormatterToXML::accumContentAsChar;
-		}
-
-		m_flushFunction = &FormatterToXML::flushChars;
-	}
-#endif
-
-	// Do this last so we initialize the map according to the value of
-	// m_maxCharacter for the encoding.
-	initCharsMap();
-}
-
-
-
-FormatterToXML::~FormatterToXML()
-{
-}
-
-
-
-void
-FormatterToXML::initAttrCharsMap()
-{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	std::memset(m_attrCharsMap, 0, sizeof(m_attrCharsMap));
-#else
-	memset(m_attrCharsMap, 0, sizeof(m_attrCharsMap));
-#endif
-
-	const XalanDOMString::size_type		nSpecials = length(m_attrSpecialChars);
-
-	{
-		for(XalanDOMString::size_type i = 0; i < nSpecials; ++i)
-		{
-			m_attrCharsMap[charAt(m_attrSpecialChars, i)] = 'S';
-		}
-	}
-
-	m_attrCharsMap[0x0A] = 'S';
-	m_attrCharsMap[0x0D] = 'S';
-}
-
-
-
-void
-FormatterToXML::initCharsMap()
-{
-	initAttrCharsMap();
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	std::memset(m_charsMap, 0, sizeof(m_charsMap));
-#else
-	memset(m_charsMap, 0, sizeof(m_charsMap));
-#endif
-
-	m_charsMap[XalanUnicode::charLF] = 'S';
-	m_charsMap[XalanUnicode::charLessThanSign] = 'S';
-	m_charsMap[XalanUnicode::charGreaterThanSign] = 'S';
-	m_charsMap[XalanUnicode::charAmpersand] = 'S';
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	std::memset(m_charsMap, 'S', 20);
-#else
-	memset(m_charsMap, 'S', 20);
-#endif
-
-	// $$$ ToDo: I believe these are redundant...
-	m_charsMap[0x0A] = 'S';
-	m_charsMap[0x0D] = 'S';
-	m_charsMap[9] = '\0';
-
-	assert(m_maxCharacter != 0);
-
-	for(XalanDOMChar i = m_maxCharacter; i < SPECIALSSIZE; ++i)
-	{
-		m_charsMap[i] = 'S';
-	}
-}
-
-
-
-void
-FormatterToXML::outputDocTypeDecl(const XalanDOMChar* 	name)
-{
-	accumName(s_doctypeHeaderStartString);	// "<!DOCTYPE "
-
-	accumName(name);
-	  
-	if(length(m_doctypePublic) != 0)
-	{
-		accumName(s_doctypeHeaderPublicString); // " PUBLIC \""
-		accumName(m_doctypePublic);
-		accumName(XalanUnicode::charQuoteMark);
-		accumName(XalanUnicode::charSpace);
-		accumName(XalanUnicode::charQuoteMark);
-	}
-	else
-	{
-		accumName(s_doctypeHeaderSystemString); // " SYSTEM \""
-	}
-
-	accumName(m_doctypeSystem);
-	accumName(XalanUnicode::charQuoteMark);
-	accumName(XalanUnicode::charGreaterThanSign);
-
-	outputLineSep();
-}
-
-
-
-void
-FormatterToXML::accumNameAsByte(XalanDOMChar	ch)
-{
-	if (ch > m_maxCharacter)
-	{
-		m_byteBuf[m_pos++] = char(XalanUnicode::charQuestionMark);
-	}
-	else
-	{
-		m_byteBuf[m_pos++] = char(ch);
-	}
-
-	if(m_pos == s_maxBufferSize)
-	{
-		flushBytes();
-	}
-}
-
-
-
-void
-FormatterToXML::accumNameAsByteDirect(XalanDOMChar	ch)
-{
-	assert(m_stream != 0);
-
-	if (ch > m_maxCharacter)
-	{
-		m_stream->write(char(XalanUnicode::charQuestionMark));
-	}
-	else
-	{
-		m_stream->write(char(ch));
-	}
-}
-
-
-
-void
-FormatterToXML::accumContentAsByte(XalanDOMChar		ch)
-{
-	if (ch > m_maxCharacter)
-	{
-		writeNumberedEntityReference(ch);
-	}
-	else
-	{
-		m_byteBuf[m_pos++] = char(ch);
-	}
-
-	if(m_pos == s_maxBufferSize)
-	{
-		flushBytes();
-	}
-}
-
-
-
-void
-FormatterToXML::accumContentAsByteDirect(XalanDOMChar	ch)
-{
-	assert(m_stream != 0);
-
-	if (ch > m_maxCharacter)
-	{
-		writeNumberedEntityReference(ch);
-	}
-	else
-	{
-		m_stream->write(char(ch));
-	}
-}
-
-
-
-void
-FormatterToXML::accumNameAsChar(XalanDOMChar	ch)
-{
-	if (ch > m_maxCharacter)
-	{
-		m_charBuf[m_pos++] = XalanUnicode::charQuestionMark;
-	}
-	else
-	{
-		m_charBuf[m_pos++] = ch;
-	}
-
-	if(m_pos == s_maxBufferSize)
-	{
-		flushChars();
-	}
-}
-
-
-
-void
-FormatterToXML::accumNameAsCharDirect(XalanDOMChar	ch)
-{
-	assert(m_stream != 0);
-
-	if (ch > m_maxCharacter)
-	{
-		m_stream->write(XalanDOMChar(XalanUnicode::charQuestionMark));
-	}
-	else
-	{
-		m_stream->write(ch);
-	}
-}
-
-
-
-void
-FormatterToXML::accumContentAsChar(XalanDOMChar	ch)
-{
-	if (ch > m_maxCharacter)
-	{
-		writeNumberedEntityReference(ch);
-	}
-	else
-	{
-		m_charBuf[m_pos++] = ch;
-	}
-
-	if(m_pos == s_maxBufferSize)
-	{
-		flushChars();
-	}
-}
-
-
-
-void
-FormatterToXML::accumContentAsCharDirect(XalanDOMChar	ch)
-{
-	assert(m_stream != 0);
-
-	if (ch > m_maxCharacter)
-	{
-		writeNumberedEntityReference(ch);
-	}
-	else
-	{
-		m_stream->write(ch);
-	}
-}
-
-
-
-void
-FormatterToXML::accumCharUTF(XalanDOMChar	ch)
-{
-	assert(m_maxCharacter >= 65535);
-	assert(m_stream != 0);
-
-	m_charBuf[m_pos++] = ch;
-
-	if(m_pos == s_maxBufferSize)
-	{
-		flushChars();
-	}
-}
-
-
-
-void
-FormatterToXML::accumCharUTFDirect(XalanDOMChar	ch)
-{
-	assert(m_maxCharacter >= 65535);
-	assert(m_stream != 0);
-
-	m_stream->write(ch);
-}
-
-
-
-void
-FormatterToXML::accumNameString(const XalanDOMChar*	chars)
-{
-	for(; *chars!= 0; ++chars)
-	{
-		accumName(*chars);
-	}
-}
-
-
-
-void
-FormatterToXML::accumStringUTF(const XalanDOMChar*	chars)
-{
-	for(; *chars!= 0; ++chars)
-	{
-		accumCharUTF(*chars);
-	}
-}
-
-
-
-void
-FormatterToXML::accumStringUTFDirect(const XalanDOMChar*	chars)
-{
-	assert(m_maxCharacter >= 65535);
-	assert(m_stream != 0);
-
-	m_stream->write(chars);
-}
-
-
-
-void
-FormatterToXML::accumContentString(const XalanDOMChar*	chars)
-{
-	for(; *chars!= 0; ++chars)
-	{
-		accumContent(*chars);
-	}
-}
-
-
-
-void
-FormatterToXML::accumNameArray(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	const XalanDOMString::size_type		n = start + length;
-
-	for(XalanDOMString::size_type i = start; i < n; ++i)
-	{
-		accumName(chars[i]);
-	}
-}
-
-
-
-void
-FormatterToXML::accumContentArray(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	const XalanDOMString::size_type		n = start + length;
-
-	for(XalanDOMString::size_type i = start; i < n; ++i)
-	{
-		accumContent(chars[i]);
-	}
-}
-
-
-
-void
-FormatterToXML::accumArrayUTF(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	const XalanDOMString::size_type		n = start + length;
-
-	for(XalanDOMString::size_type i = start; i < n; ++i)
-	{
-		accumCharUTF(chars[i]);
-	}
-}
-
-
-
-void
-FormatterToXML::accumArrayUTFDirect(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	assert(m_maxCharacter >= 65535);
-	assert(m_stream != 0);
-
-	m_stream->write(chars + start, length);
-}
-
-
-
-void
-FormatterToXML::accumNameDOMString(const XalanDOMString&	str)
-{
-	accumName(c_wstr(str), 0, length(str));
-}
-
-
-
-void
-FormatterToXML::accumContentDOMString(const XalanDOMString&		str)
-{
-	accumContent(c_wstr(str), 0, length(str));
-}
-
-
-
-void
-FormatterToXML::accumDOMStringUTF(const XalanDOMString&		str)
-{
-	accumArrayUTF(c_wstr(str), 0, length(str));
-}
-
-
-
-void
-FormatterToXML::accumDOMStringUTFDirect(const XalanDOMString&	str)
-{
-	assert(m_maxCharacter >= 65535);
-	assert(m_stream != 0);
-
-	m_stream->write(c_wstr(str), length(str));
-}
-
-
-
-void
-FormatterToXML::throwInvalidUTF16SurrogateException(XalanDOMChar	ch)
-{
-	const XalanDOMString	theMessage(TranscodeFromLocalCodePage("Invalid UTF-16 surrogate detected: ") +
-									   UnsignedLongToHexDOMString(ch) +
-									   TranscodeFromLocalCodePage(" ?"));
-
-	throw SAXException(c_wstr(theMessage));
-}
-
-
-
-void
-FormatterToXML::throwInvalidUTF16SurrogateException(
-			XalanDOMChar	ch,
-			XalanDOMChar	next)
-{
-	const XalanDOMString	theMessage(TranscodeFromLocalCodePage("Invalid UTF-16 surrogate detected: ") +
-									   UnsignedLongToHexDOMString(ch) +
-									   UnsignedLongToHexDOMString(next) +
-									   TranscodeFromLocalCodePage(" ?"));
-
-	throw SAXException(c_wstr(theMessage));
-}
-
-
-
-void
-FormatterToXML::accumDefaultEscape(
-			XalanDOMChar				ch,
-			XalanDOMString::size_type	i,
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	len,
-			bool						escLF)
-{
-	if(!accumDefaultEntity(ch, i, chars, len, escLF))
-	{
-		if (0xd800 <= ch && ch < 0xdc00) 
-		{
-			// UTF-16 surrogate
-			XalanDOMChar	next = 0;
-
-			if (i + 1 >= len) 
-			{
-				throwInvalidUTF16SurrogateException(ch);
-			}
-			else 
-			{
-				next = chars[++i];
-
-				if (!(0xdc00u <= next && next < 0xe000u))
-				{
-					throwInvalidUTF16SurrogateException(ch, next);
-				}
-
-				next = XalanDOMChar(((ch - 0xd800u) << 10) + next - 0xdc00u + 0x00010000u);
-			}
-
-			writeNumberedEntityReference(next);
-		}
-		else 
-		{
-			if(ch > m_maxCharacter || (ch < SPECIALSSIZE && m_attrCharsMap[ch] == 'S'))
-			{
-				writeNumberedEntityReference(ch);
-			}
-			else
-			{
-				accumContent(ch);
-			}
-		}
-	}
-}
-
-
-
-bool
-FormatterToXML::accumDefaultEntity(
-			XalanDOMChar				ch,
-			XalanDOMString::size_type	i,
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	len,
-			bool						escLF)
-{
-	if (escLF == false &&
-		XalanUnicode::charCR == ch &&
-		i + 1 < len &&
-		XalanUnicode::charLF == chars[i + 1]) 
-	{
-		outputLineSep();
-
-		i++;
-	}
-	else if (escLF == false && XalanUnicode::charLF == ch) 
-	{
-		outputLineSep();
-	}
-	else if (XalanUnicode::charLessThanSign == ch) 
-	{
-		accumContent(XalanUnicode::charAmpersand);
-		accumContent(XalanUnicode::charLetter_l);
-		accumContent(XalanUnicode::charLetter_t);
-		accumContent(XalanUnicode::charSemicolon);
-	}
-	else if (XalanUnicode::charGreaterThanSign == ch) 
-	{
-		accumContent(XalanUnicode::charAmpersand);
-		accumContent(XalanUnicode::charLetter_g);
-		accumContent(XalanUnicode::charLetter_t);
-		accumContent(XalanUnicode::charSemicolon);
-	}
-	else if (XalanUnicode::charAmpersand == ch) 
-	{
-		accumContent(XalanUnicode::charAmpersand);
-		accumContent(XalanUnicode::charLetter_a);
-		accumContent(XalanUnicode::charLetter_m);
-		accumContent(XalanUnicode::charLetter_p);
-		accumContent(XalanUnicode::charSemicolon);
-	}
-	else if (XalanUnicode::charQuoteMark == ch) 
-	{
-		accumContent(XalanUnicode::charAmpersand);
-		accumContent(XalanUnicode::charLetter_q);
-		accumContent(XalanUnicode::charLetter_u);
-		accumContent(XalanUnicode::charLetter_o);
-		accumContent(XalanUnicode::charLetter_t);
-		accumContent(XalanUnicode::charSemicolon);
-	}
-	else if (XalanUnicode::charApostrophe == ch) 
-	{
-		accumContent(XalanUnicode::charAmpersand);
-		accumContent(XalanUnicode::charLetter_a);
-		accumContent(XalanUnicode::charLetter_p);
-		accumContent(XalanUnicode::charLetter_o);
-		accumContent(XalanUnicode::charLetter_s);
-		accumContent(XalanUnicode::charSemicolon);
-	}
-	else
-	{
-		return false;
-	}
-
-	return true;
-}
-
-
-
-void
-FormatterToXML::flushChars()
-{
-	assert(m_charBuf.size() > 0 && m_charBuf.size() >= m_pos);
-
-	m_writer->write(&m_charBuf[0], 0, m_pos);
-
-	m_pos = 0;
-}
-
-
-
-void
-FormatterToXML::flushBytes()
-{
-	assert(m_byteBuf.size() > 0 && m_byteBuf.size() >= m_pos);
-
-	m_writer->write(&m_byteBuf[0], 0, m_pos);
-
-	m_pos = 0;
-}
-
-
-
-void
-FormatterToXML::flushWriter()
-{
-	assert(m_writer != 0);
-
-	m_writer->flush();
-}
-
-
-
-void
-FormatterToXML::setDocumentLocator(const Locator* const 	/* locator */)
-{
-	// I don't do anything with this yet.
-}
-
-
-
-void
-FormatterToXML::startDocument()
-{
-	// Clear the buffer, just in case...
-	clear(m_stringBuffer);
-
-	if(m_inEntityRef == false)
-	{
-		m_needToOutputDocTypeDecl = true;
-		m_startNewLine = false;
-
-		if(m_shouldWriteXMLHeader == true)
-		{
-			accumName(s_xmlHeaderStartString);	// "<?xml version=\""
-
-			if (length(m_version) != 0)
-			{
-				accumName(m_version);
-			}
-			else
-			{
-				accumName(s_defaultVersionString);
-			}
-
-			accumName(s_xmlHeaderEncodingString);	// "\" encoding=\""
-
-			accumName(m_encoding);
-
-			if (length(m_standalone) != 0)
-			{
-				accumName(s_xmlHeaderStandaloneString);
-				accumName(m_standalone);
-			}
-
-			accumName(s_xmlHeaderEndString);
-
-			outputLineSep();
-		}	   
-	}
-}
-
-
-
-void
-FormatterToXML::endDocument()
-{
-	assert(m_flushFunction != 0);
-
-	if(m_doIndent == true && m_isprevtext == false)
-	{
-		outputLineSep();
-	}
-
-	(this->*m_flushFunction)();
-
-	flushWriter();
-}
-
-
-
-void
-FormatterToXML::startElement(
-			const XMLCh* const	name,
-			AttributeList&		attrs)
-{
-    if(m_inEntityRef == false)
-	{
-		if(true == m_needToOutputDocTypeDecl &&
-		   isEmpty(m_doctypeSystem) == false)
-		{
-			outputDocTypeDecl(name);
-
-			m_needToOutputDocTypeDecl = false;
-		}
-
-		writeParentTagEnd();
-
-		m_ispreserve = false;
-
-		if (shouldIndent() == true &&
-			m_startNewLine == true) 
-		{
-			indent(m_currentIndent);
-		}
-
-		m_startNewLine = true;
-
-		accumName(XalanUnicode::charLessThanSign);
-		accumName(name);
-
-		const unsigned int	nAttrs = attrs.getLength();
-
-		for (unsigned int i = 0;  i < nAttrs ;  i++)
-		{
-			processAttribute(attrs.getName(i), attrs.getValue(i));
-		}
-
-		// Flag the current element as not yet having any children.
-		openElementForChildren();
-
-		m_currentIndent += m_indent;
-
-		m_isprevtext = false;
-	}
-}
-
-
-
-void
-FormatterToXML::endElement(const XMLCh* const	name)
-{
-	m_currentIndent -= m_indent;
-
-	const bool	hasChildNodes = childNodesWereAdded();
-
-	if (hasChildNodes == true) 
-	{
-		if (shouldIndent() == true)
-		{
-			indent(m_currentIndent);
-		}
-
-		accumName(XalanUnicode::charLessThanSign);
-		accumName(XalanUnicode::charSolidus);
-		accumName(name);
-	}
-	else
-	{
-		if(m_spaceBeforeClose == true)
-		{
-			accumName(XalanUnicode::charSpace);
-		}
-
-		accumName(XalanUnicode::charSolidus);
-	}
-
-	accumName(XalanUnicode::charGreaterThanSign);
-
-	if (hasChildNodes == true) 
-	{
-		if (m_preserves.size() == 0)
-		{
-			m_ispreserve = false;
-		}
-		else
-		{
-			m_ispreserve = m_preserves.back();
-
-			m_preserves.pop_back();
-		}
-	}
-
-	m_isprevtext = false;
-}
-
-
-
-void
-FormatterToXML::processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data)
-{
-	if(m_inEntityRef == false)
-	{
-		// Use a fairly nasty hack to tell if the next node is supposed to be 
-		// unescaped text.
-		if(equals(target, c_wstr(s_xsltNextIsRawString)) == true
-			&& equals(data, c_wstr(s_formatterListenerString)) == true)
-		{
-			m_nextIsRaw = true;
-		}
-		else	
-		{
-			writeParentTagEnd();
-
-			if (shouldIndent() == true)  
-			{
-				indent(m_currentIndent);
-			}
-
-			accumName(XalanUnicode::charLessThanSign);
-			accumName(XalanUnicode::charQuestionMark);
-			accumName(target);
-
-			const XalanDOMString::size_type		len = length(data);
-
-			if ( len > 0 && !isXMLWhitespace(data[0]))
-			{
-				accumName(XalanUnicode::charSpace);
-			}
-
-			accumNormalizedPIData(data, len);
-
-			accumName(XalanUnicode::charQuestionMark);
-			accumName(XalanUnicode::charGreaterThanSign);
-
-			// If outside of an element, then put in a new line.  This whitespace
-			// is not significant.
-			if (m_elemStack.empty() == true)
-			{
-				outputLineSep();
-			}
-
-			m_startNewLine = true;
-		}
-	}
-}
-
-
-
-void
-FormatterToXML::characters(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	if(m_inEntityRef == false && length != 0)
-	{
-		if(m_inCData == true)
-		{
-			cdata(chars, length);
-		}
-		else if(m_nextIsRaw)
-		{
-			m_nextIsRaw = false;
-
-			charactersRaw(chars, length);
-		}
-		else
-		{
-			writeParentTagEnd();
-
-			m_ispreserve = true;
-
-			for (unsigned int i = 0; i < length; ++i) 
-			{
-				const XalanDOMChar	ch = chars[i];
-
-				if((ch < SPECIALSSIZE &&
-					m_charsMap[ch] == 'S') ||
-					ch > m_maxCharacter)
-				{
-					accumDefaultEscape(ch, i, chars, length, false);
-				}
-				else
-				{
-					accumContent(ch);
-				}
-			}
-
-			if (m_isprevtext == false)
-			{
-				m_isprevtext = true;
-			}
-		}
-	}
-}
-
-
-
-void
-FormatterToXML::charactersRaw(
-		const XMLCh* const	chars,
-		const unsigned int	length)
-{
-	if(m_inEntityRef == false)
-	{
-		writeParentTagEnd();
-
-		m_ispreserve = true;
-
-		accumContent(chars, 0, length);
-	}
-}
-
-
-
-void
-FormatterToXML::writeAttrString(const XalanDOMChar*		theString)
-{
-    const XalanDOMString::size_type		len = length(theString);
-
-    for (XalanDOMString::size_type i = 0;  i < len;  i ++) 
-    {
-		const XalanDOMChar	ch = theString[i];
-
-		if((ch < SPECIALSSIZE &&
-		    m_attrCharsMap[ch] == 'S') ||
-			ch > m_maxCharacter)
-		{
-			accumDefaultEscape(ch, i, theString, len, true);
-		}
-		else
-		{
-			accumName(ch);
-		}
-    }
-}
-
-
-
-void
-FormatterToXML::accumCommentData(const XalanDOMChar*	data)
-{
-	const XalanDOMString::size_type		len = length(data);
-	XalanDOMChar						previousChar = 0;
-
-	for (XalanDOMString::size_type i = 0; i < len; ++i)
-	{
-		const XalanDOMChar	currentChar = data[i];
-
-		if (currentChar == XalanUnicode::charHyphenMinus &&
-			previousChar == XalanUnicode::charHyphenMinus)
-		{
-			accumName(XalanUnicode::charSpace);
-		}
-
-		accumName(currentChar);
-
-		previousChar = currentChar;
-	}
-		
-	if (previousChar == XalanUnicode::charHyphenMinus)
-	{
-		accumName(XalanUnicode::charSpace);
-	}
-}
-
-
-
-void
-FormatterToXML::writeNormalizedChars(
-			const XalanDOMChar			ch[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length,
-			bool						isCData)
-{
-    XalanDOMString::size_type	end = start + length;
-
-    for(XalanDOMString::size_type i = start; i < end; i++)
-    {
-		const XalanDOMChar	c = ch[i];
-
-		if (XalanUnicode::charCR == c &&
-			i + 1 < end &&
-			XalanUnicode::charLF == ch[i + 1])
-		{
-			outputLineSep();
-
-			i++;
-		}
-		else if(XalanUnicode::charLF == c)
-		{
-			outputLineSep();
-		}
-		else if(isCData == true && c > m_maxCharacter)
-		{
-			if(i != 0)
-			{
-				accumContent(s_dtdCDATACloseString);
-			}
-
-			// This needs to go into a function... 
-			if (0xd800u <= unsigned(c) && unsigned(c) < 0xdc00) 
-			{
-				// UTF-16 surrogate
-				XalanDOMChar	next = 0;
-
-				if (i + 1 >= end) 
-				{
-					throwInvalidUTF16SurrogateException(c);
-				}
-				else 
-				{
-					next = ch[++i];
-
-					if (!(0xdc00 <= next && next < 0xe000))
-					{
-						throwInvalidUTF16SurrogateException(c, next);
-					}
-
-					next = XalanDOMChar(((c - 0xd800) << 10) + next - 0xdc00 + 0x00010000);
-				}
-
-				writeNumberedEntityReference(next);
-			}
-			else
-			{
-				writeNumberedEntityReference(c);
-			}
-
-			if(i != 0 && i < end - 1)
-			{
-				// "<![CDATA["
-				accumContent(XalanUnicode::charLessThanSign);
-				accumContent(XalanUnicode::charExclamationMark);
-				accumContent(XalanUnicode::charLeftSquareBracket);
-				accumContent(XalanUnicode::charLetter_C);
-				accumContent(XalanUnicode::charLetter_D);
-				accumContent(XalanUnicode::charLetter_A);
-				accumContent(XalanUnicode::charLetter_T);
-				accumContent(XalanUnicode::charLetter_A);
-				accumContent(XalanUnicode::charLeftSquareBracket);
-			}
-		}
-		else if(isCData == true &&
-				i < end - 2 &&
-				XalanUnicode::charRightSquareBracket == c &&
-                XalanUnicode::charRightSquareBracket == ch[i + 1] &&
-				XalanUnicode::charGreaterThanSign == ch[ i + 2])
-		{
-			// "]]]]><![CDATA[>"
-			accumContent(XalanUnicode::charRightSquareBracket);
-			accumContent(XalanUnicode::charRightSquareBracket);
-			accumContent(XalanUnicode::charRightSquareBracket);
-			accumContent(XalanUnicode::charRightSquareBracket);
-			accumContent(XalanUnicode::charGreaterThanSign);
-			accumContent(XalanUnicode::charLessThanSign);
-			accumContent(XalanUnicode::charExclamationMark);
-			accumContent(XalanUnicode::charLeftSquareBracket);
-			accumContent(XalanUnicode::charLetter_C);
-			accumContent(XalanUnicode::charLetter_D);
-			accumContent(XalanUnicode::charLetter_A);
-			accumContent(XalanUnicode::charLetter_T);
-			accumContent(XalanUnicode::charLetter_A);
-			accumContent(XalanUnicode::charLeftSquareBracket);
-			accumContent(XalanUnicode::charGreaterThanSign);
-
-			i += 2;
-		}
-		else
-		{
-			if(c <= m_maxCharacter)
-			{
-				accumContent(c);
-			}
-			// This needs to go into a function...
-			else if (0xd800 <= c && c < 0xdc00)
-			{
-				// UTF-16 surrogate
-				XalanDOMChar	next = 0;
-
-				if (i + 1 >= end) 
-				{
-					throwInvalidUTF16SurrogateException(c);
-				}
-				else
-				{
-					next = ch[++i];
-
-					if (!(0xdc00 <= next && next < 0xe000))
-					{
-						throwInvalidUTF16SurrogateException(c, next);
-					}
-
-					next = XalanDOMChar(((c - 0xd800) << 10) + next - 0xdc00 + 0x00010000);
-				}
-
-				writeNumberedEntityReference(next);
-			}
-			else
-			{
-				writeNumberedEntityReference(c);
-			}
-		}
-    }
-}
-
-
-
-void
-FormatterToXML::writeNumberedEntityReference(unsigned long	theNumber)
-{
-	accumContent(XalanUnicode::charAmpersand);
-	accumContent(XalanUnicode::charNumberSign);
-
-	accumContent(UnsignedLongToDOMString(theNumber, m_stringBuffer));
-	clear(m_stringBuffer);
-
-	accumContent(XalanUnicode::charSemicolon);
-}
-
-
-
-void
-FormatterToXML::entityReference(const XMLCh* const	name)
-{
-	writeParentTagEnd();
-	  
-	if (shouldIndent() == true)  
-	{
-		indent(m_currentIndent);
-	}
-
-	accumName(XalanUnicode::charAmpersand);
-	accumName(name);
-	accumName(XalanUnicode::charSemicolon);
-}
-
-
-
-void
-FormatterToXML::ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-#if 1
-	// We need to do normalization, which is slower,
-	// but there you have it...
-	if (length > 0)
-	{
-		characters(chars, length);
-	}
-#else
-	// We'ed like to be able to do this...
-	if(m_inEntityRef == false && length != 0)
-	{
-		assert(isXMLWhitespace(chars, 0, length));
-
-		if(m_inCData == true)
-		{
-			cdata(chars, length);
-		}
-		else if(m_nextIsRaw)
-		{
-			m_nextIsRaw = false;
-
-			charactersRaw(chars, length);
-		}
-		else
-		{
-			writeParentTagEnd();
-
-			m_ispreserve = true;
-
-			accumContent(chars, 0, length);
-
-			if (m_isprevtext == false)
-			{
-				m_isprevtext = true;
-			}
-		}
-	}
-#endif
-}
-
-
-
-void
-FormatterToXML::resetDocument()
-{
-	// I don't do anything with this yet.
-}
-
-
-
-void
-FormatterToXML::comment(const XMLCh* const	data)
-{
-	if(m_inEntityRef == false)
-	{
-		writeParentTagEnd();
-
-		if (shouldIndent() == true)  
-		{
-			indent(m_currentIndent);
-		}
-
-		accumName(XalanUnicode::charLessThanSign);
-		accumName(XalanUnicode::charExclamationMark);
-		accumName(XalanUnicode::charHyphenMinus);
-		accumName(XalanUnicode::charHyphenMinus);
-
-		accumCommentData(data);
-
-		accumName(XalanUnicode::charHyphenMinus);
-		accumName(XalanUnicode::charHyphenMinus);
-		accumName(XalanUnicode::charGreaterThanSign);
-
-		m_startNewLine = true;
-	}
-}
-
-
-
-void
-FormatterToXML::cdata(
-			const XMLCh* const	ch,
-			const unsigned int	length)
-{
-	if(m_nextIsRaw == true)
-	{
-		m_nextIsRaw = false;
-
-		charactersRaw(ch, length);
-	}
-	else
-	{
-		if(m_escapeCData) // Should normally always be false.
-		{
-			characters(ch, length);
-		}
-		else
-		{
-			writeParentTagEnd();
-
-			m_ispreserve = true;
-
-			if (shouldIndent() == true)
-			{
-				indent(m_currentIndent);
-			}
-
-			if(m_stripCData == false)
-			{
-				if(length >= 1 &&
-				   ch[0] <= m_maxCharacter)
-				{
-					// "<![CDATA["
-					accumContent(XalanUnicode::charLessThanSign);
-					accumContent(XalanUnicode::charExclamationMark);
-					accumContent(XalanUnicode::charLeftSquareBracket);
-					accumContent(XalanUnicode::charLetter_C);
-					accumContent(XalanUnicode::charLetter_D);
-					accumContent(XalanUnicode::charLetter_A);
-					accumContent(XalanUnicode::charLetter_T);
-					accumContent(XalanUnicode::charLetter_A);
-					accumContent(XalanUnicode::charLeftSquareBracket);
-				}
-			}
-
-			writeNormalizedChars(ch, 0, length, !m_stripCData);
-
-			if(m_stripCData == false)
-			{
-				if(length >= 1 &&
-				   ch[length - 1] <= m_maxCharacter)
-				{
-					accumContent(XalanUnicode::charRightSquareBracket);
-					accumContent(XalanUnicode::charRightSquareBracket);
-					accumContent(XalanUnicode::charGreaterThanSign);
-				}
-			}
-		}
-	}
-}
-
-
-
-void
-FormatterToXML::writeParentTagEnd()
-{
-	if(!m_elemStack.empty())
-	{
-		// See if the parent element has already been flagged as having children.
-		if(false == m_elemStack.back())
-		{
-			accumContent(XalanUnicode::charGreaterThanSign);
-
-			m_isprevtext = false;
-
-			m_elemStack.back() = true;
-
-			m_preserves.push_back(m_ispreserve);
-		}
-	}
-}
-
-
-
-void
-FormatterToXML::openElementForChildren()
-{
-	m_elemStack.push_back(false);
-}
-
-
-
-bool
-FormatterToXML::childNodesWereAdded()
-{
-	bool	fResult = false;
-
-	if (m_elemStack.size() > 0)
-	{
-		fResult = m_elemStack.back();
-
-		m_elemStack.pop_back();
-	}
-
-	return fResult;
-}
-
-
-
-void
-FormatterToXML::processAttribute(
-			const XalanDOMChar* 	name,
-			const XalanDOMChar* 	value)
-{
-	accumContent(XalanUnicode::charSpace);
-	accumName(name);
-	accumContent(XalanUnicode::charEqualsSign);
-	accumContent(XalanUnicode::charQuoteMark);
-	writeAttrString(value);
-	accumContent(XalanUnicode::charQuoteMark);
-}
-
-
-
-void
-FormatterToXML::outputLineSep()
-{
-#if defined(XALAN_NEWLINE_IS_CRLF)
-	accumContent(XalanUnicode::charCR);
-	accumContent(XalanUnicode::charLF);
-#else
-	accumContent(XalanUnicode::charLF);
-#endif
-}
-
-
-
-void
-FormatterToXML::printSpace(int n)
-{
-	for (int i = 0;  i < n;  i ++)
-	{
-		accumContent(XalanUnicode::charSpace);
-	}
-}
-
-
-
-void
-FormatterToXML::indent(int 	n)
-{
-	if(m_startNewLine == true)
-	{
-		outputLineSep();
-	}
-
-	if(m_doIndent == true)
-	{
-		printSpace(n);
-	}
-}
-
-
-
-void
-FormatterToXML::accumNormalizedPIData(
-			const XalanDOMChar*			theData,
-			XalanDOMString::size_type	theLength)
-{
-	// If there are any "?>" pairs in the string,
-	// we have to normalize them to "? >", so they
-	// won't be confused with the end tag.
-
-	for (XalanDOMString::size_type i = 0; i < theLength; ++i)
-	{
-		const XalanDOMChar	theChar = theData[i];
-
-		if (theChar == XalanUnicode::charQuestionMark &&
-			i + 1 < theLength &&
-			theData[i + 1] == XalanUnicode::charGreaterThanSign)
-		{
-			accumContent(XalanUnicode::charQuestionMark);
-			accumContent(XalanUnicode::charSpace);
-		}
-		else
-		{
-			accumContent(theChar);
-		}
-	}
-}
-
-
-
-static XalanDOMString	s_defaultMIMEEncoding;
-
-static XalanDOMString	s_doctypeHeaderStartString;
-
-static XalanDOMString	s_doctypeHeaderPublicString;
-
-static XalanDOMString	s_doctypeHeaderSystemString;
-
-static XalanDOMString	s_defaultVersionString;
-
-static XalanDOMString	s_xmlHeaderStartString;
-
-static XalanDOMString	s_xmlHeaderEncodingString;
-
-static XalanDOMString	s_xmlHeaderStandaloneString;
-
-static XalanDOMString	s_xmlHeaderEndString;
-
-static XalanDOMString	s_xhtmlDocType;
-
-static XalanDOMString	s_dtdCDATACloseString;
-
-
-const XalanDOMString&	FormatterToXML::s_defaultMIMEEncoding = ::s_defaultMIMEEncoding;
-
-const XalanDOMString&	FormatterToXML::s_doctypeHeaderStartString = ::s_doctypeHeaderStartString;
-
-const XalanDOMString&	FormatterToXML::s_doctypeHeaderPublicString = ::s_doctypeHeaderPublicString;
-
-const XalanDOMString&	FormatterToXML::s_doctypeHeaderSystemString = ::s_doctypeHeaderSystemString;
-
-const XalanDOMString&	FormatterToXML::s_defaultVersionString = ::s_defaultVersionString;
-
-const XalanDOMString&	FormatterToXML::s_xmlHeaderStartString = ::s_xmlHeaderStartString;
-
-const XalanDOMString&	FormatterToXML::s_xmlHeaderEncodingString = ::s_xmlHeaderEncodingString;
-
-const XalanDOMString&	FormatterToXML::s_xmlHeaderStandaloneString = ::s_xmlHeaderStandaloneString;
-
-const XalanDOMString&	FormatterToXML::s_xmlHeaderEndString = ::s_xmlHeaderEndString;
-
-const XalanDOMString&			FormatterToXML::s_xhtmlDocType = ::s_xhtmlDocType;
-
-const XalanDOMString&			FormatterToXML::s_dtdCDATACloseString = ::s_dtdCDATACloseString;
-
-const FormatterToXML::DOMCharBufferType::size_type	FormatterToXML::s_maxBufferSize = 512;
-
-
-
-void
-FormatterToXML::initialize()
-{
-	::s_defaultMIMEEncoding = XALAN_STATIC_UCODE_STRING("UTF-8");
-
-	::s_doctypeHeaderStartString = XALAN_STATIC_UCODE_STRING("<!DOCTYPE ");
-
-	::s_doctypeHeaderPublicString = XALAN_STATIC_UCODE_STRING(" PUBLIC \"");
-
-	::s_doctypeHeaderSystemString = XALAN_STATIC_UCODE_STRING(" SYSTEM \"");
-
-	::s_defaultVersionString = XALAN_STATIC_UCODE_STRING("1.0");
-
-	::s_xmlHeaderStartString = XALAN_STATIC_UCODE_STRING("<?xml version=\"");
-
-	::s_xmlHeaderEncodingString = XALAN_STATIC_UCODE_STRING("\" encoding=\"");
-
-	::s_xmlHeaderStandaloneString = XALAN_STATIC_UCODE_STRING("\" standalone=\"");
-
-	::s_xmlHeaderEndString = XALAN_STATIC_UCODE_STRING("\"?>");
-
-	::s_xhtmlDocType = XALAN_STATIC_UCODE_STRING("-//W3C//DTD XHTML");
-				
-	::s_dtdCDATACloseString = XALAN_STATIC_UCODE_STRING("]]>");
-}
-
-
-
-void
-FormatterToXML::terminate()
-{
-	releaseMemory(::s_defaultMIMEEncoding);
-
-	releaseMemory(::s_doctypeHeaderStartString);
-
-	releaseMemory(::s_doctypeHeaderPublicString);
-
-	releaseMemory(::s_doctypeHeaderSystemString);
-
-	releaseMemory(::s_defaultVersionString);
-
-	releaseMemory(::s_xmlHeaderStartString);
-
-	releaseMemory(::s_xmlHeaderEncodingString);
-
-	releaseMemory(::s_xmlHeaderStandaloneString);
-
-	releaseMemory(::s_xmlHeaderEndString);
-
-	releaseMemory(::s_xhtmlDocType);
-
-	releaseMemory(::s_dtdCDATACloseString);
-}
diff --git a/src/XMLSupport/FormatterToXML.hpp b/src/XMLSupport/FormatterToXML.hpp
deleted file mode 100644
index 493ee6d..0000000
--- a/src/XMLSupport/FormatterToXML.hpp
+++ /dev/null
@@ -1,1195 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTOXML_HEADER_GUARD_1357924680)
-#define FORMATTERTOXML_HEADER_GUARD_1357924680
-
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-class AttributeList;
-class Writer;
-class XalanOutputStream;
-
-
-
-/**
- * FormatterToXML formats SAX-style events into XML.
- */
-class XALAN_XMLSUPPORT_EXPORT FormatterToXML : public FormatterListener 
-{
-public:
-
-	enum eDummy
-	{
-		eDefaultIndentAmount = 0
-	};
-
-	/**
-	 * Perform static initialization.  See class XMLSupportInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XMLSupportInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Constructor for customized encoding and doctype.
-	 *
-	 * @param writer            character output stream to use
-	 * @param version           version of the output method
-	 * @param doIndent          true if output is to be indented
-	 * @param indent            number of spaces to indent at each nesting level
-	 * @param encoding          character encoding in use by <VAR>writer</VAR>
-	 * @param mediaType         media type (MIME content type) of the data
-	 * @param doctypeSystem     system identifier to be used in the document
-	 *                          type declaration
-	 * @param doctypePublic     public identifier to be used in the document
-	 *                          type declaration
-	 * @param xmlDecl           true if the XSLT processor should output an XML
-	 *                          declaration
-	 * @param standalone        true if the XSLT processor should output a
-	 *                          standalone document declaration
-	 *
-	 * @param format			should be used only by derived classes.
-	 * @param fBufferData		If true, data will be buffered in the formatter
-	 */
-	FormatterToXML(
-			Writer&					writer,
-			const XalanDOMString&	version = XalanDOMString(),
-			bool					doIndent = false,
-			int						indent = eDefaultIndentAmount,
-			const XalanDOMString&	encoding = XalanDOMString(),
-			const XalanDOMString&	mediaType = XalanDOMString(),
-			const XalanDOMString&	doctypeSystem = XalanDOMString(),
-			const XalanDOMString&	doctypePublic = XalanDOMString(),
-			bool					xmlDecl = true,
-			const XalanDOMString&	standalone = XalanDOMString(),
-			eFormat					format = OUTPUT_METHOD_XML,
-			bool					fBufferData = true);
-
-	virtual
-	~FormatterToXML();
-
-
-	// These methods are inherited from FormatterListener ...
-
-	virtual void
-	setDocumentLocator(const Locator* const		locator);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(
-			const XMLCh* const	name,
-			AttributeList&		attrs);
-
-    virtual void
-	endElement(const XMLCh* const	name);
-
-    virtual void
-	characters(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-    virtual void
-	charactersRaw(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	entityReference(const XMLCh* const	name);
-
-	virtual void
-	ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data);
-
-
-    virtual void
-	resetDocument();
-
-	virtual void
-	comment(const XMLCh* const	data);
-
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length);
-
-	const Writer*
-	getWriter() const
-	{
-		return m_writer;
-	}
-
-	Writer*
-	getWriter()
-	{
-		return m_writer;
-	}
-
-	const XalanDOMString&
-	getDoctypeSystem() const
-	{
-		return m_doctypeSystem;
-	}
-
-	const XalanDOMString&
-	getDoctypePublic() const
-	{
-		return m_doctypePublic;
-	}
-
-	const XalanDOMString&
-	getEncoding() const
-	{
-		return m_encoding;
-	}
-
-	const XalanDOMString&
-	getMediaType() const
-	{
-		return m_mediaType;
-	}
-
-	const XalanDOMString&
-	getVersion() const
-	{
-		return m_version;
-	}
-
-	const XalanDOMString&
-	getStandalone() const
-	{
-		return m_standalone;
-	}
-
-	bool
-	getShouldWriteXMLHeader() const
-	{
-		return m_shouldWriteXMLHeader;
-	}
-
-	void
-	setShouldWriteXMLHeader(bool	b)
-	{
-		m_shouldWriteXMLHeader = b;
-	}
-
-	bool
-	getStripCData() const
-	{
-		return m_stripCData;
-	}
-
-	void
-	setStripCData(bool	b)
-	{
-		m_stripCData = b;
-	}
-
-	bool
-	getEscapeCData() const
-	{
-		return m_escapeCData;
-	}
-
-	void
-	setEscapeCData(bool	b)
-	{
-		m_escapeCData = b;
-	}
-
-	bool
-	getDoIndent() const
-	{
-		return m_doIndent;
-	}
-
-	void
-	setDoIndent(bool	value)
-	{
-		m_doIndent = value;
-	}
-
-	int
-	getIndent() const
-	{
-		return m_indent;
-	}
-
-	void
-	setIndent(int	value)
-	{
-		m_indent = value;
-	}
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<bool>				BoolStackType;
-	typedef vector<XalanDOMChar>		DOMCharBufferType;
-	typedef vector<char>				ByteBufferType;
-#else
-	typedef std::vector<bool>			BoolStackType;
-	typedef std::vector<XalanDOMChar>	DOMCharBufferType;
-	typedef std::vector<char>			ByteBufferType;
-#endif
-
-protected:
-
-	/** 
-	 * The writer where the XML will be written.
-	 */
-	Writer*	const				m_writer;
-
-	/** 
-	 * The stream where the XML will be written.
-	 */
-	XalanOutputStream* const	m_stream;
-
-	/**
-	 * Output a line break.
-	 */
-	void
-	outputLineSep();
-
-	typedef void (FormatterToXML::*AccumCharFunctionType)(XalanDOMChar);
-
-	typedef void (FormatterToXML::*AccumStringFunctionType)(const XalanDOMChar*);
-
-	typedef void (FormatterToXML::*AccumDOMStringFunctionType)(const XalanDOMString&);
-
-	typedef void (FormatterToXML::*AccumArrayFunctionType)(
-						const XalanDOMChar[],
-						XalanDOMString::size_type,
-						XalanDOMString::size_type);
-
-	typedef void (FormatterToXML::*FlushFunctionType)();
-
-	/**
-	 * Append a wide character to the buffer.
-	 *
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumName(XalanDOMChar	ch)
-	{
-		assert(m_accumNameCharFunction != 0);
-
-		(this->*m_accumNameCharFunction)(ch);
-	}
-
-	/**
-	 * Append a wide character to the buffer.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumContent(XalanDOMChar	ch)
-	{
-		assert(m_accumContentCharFunction != 0);
-
-		(this->*m_accumContentCharFunction)(ch);
-	}
-
-	/**
-	 * Append a null-terminated array of wide characters to
-	 * the buffer.
-	 *
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @chars the array to append
-	 */
-	void
-	accumName(const XalanDOMChar*	chars)
-	{
-		assert(m_accumNameStringFunction != 0);
-
-		(this->*m_accumNameStringFunction)(chars);
-	}
-
-	/**
-	 * Append a null-terminated array of wide characters to
-	 * the buffer.
-	 *
-	 * @chars the array to append
-	 */
-	void
-	accumContent(const XalanDOMChar*	chars)
-	{
-		assert(m_accumContentStringFunction != 0);
-
-		(this->*m_accumContentStringFunction)(chars);
-	}
-
-	/**
-	 * Append an array of wide character to the buffer.
-	 *
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @chars the array to append
-	 * @start the offset into the array to start from
-	 * @length the number of characters to append
-	 */
-	void
-	accumName(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-	{
-		assert(m_accumNameArrayFunction != 0);
-
-		(this->*m_accumNameArrayFunction)(chars, start, length);
-	}
-
-	/**
-	 * Append an array of wide character to the buffer.
-	 *
-	 * @chars the array to append
-	 * @start the offset into the array to start from
-	 * @length the number of characters to append
-	 */
-	void
-	accumContent(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-	{
-		assert(m_accumContentArrayFunction != 0);
-
-		(this->*m_accumContentArrayFunction)(chars, start, length);
-	}
-
-	/**
-	 * Append a string to the buffer.
-	 *
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @param str the string to append
-	 */
-	void
-	accumName(const XalanDOMString&		str)
-	{
-		assert(m_accumNameDOMStringFunction != 0);
-
-		(this->*m_accumNameDOMStringFunction)(str);
-	}
-
-	/**
-	 * Append a string to the buffer.
-	 *
-	 * @param str the string to append
-	 */
-	void
-	accumContent(const XalanDOMString&	str)
-	{
-		assert(m_accumContentDOMStringFunction != 0);
-
-		(this->*m_accumContentDOMStringFunction)(str);
-	}
-
-	/**
-	 * Escape and accum a character.
-	 */
-	void
-	accumDefaultEscape(
-			XalanDOMChar				ch,
-			XalanDOMString::size_type	i,
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	len,
-			bool						escLF);
-
-	/**
-	 * Handle one of the default entities, return false if it 
-	 * is not a default entity.
-	*/
-	virtual bool
-	accumDefaultEntity(
-			XalanDOMChar				ch,
-			XalanDOMString::size_type	i,
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	len,
-			bool						escLF);
-
-	/**
-	 * Set the attribute characters what will require special mapping.
-	 */
-	void
-	initAttrCharsMap();
-
-	/**
-	 * Set the output characters what will require special mapping.
-	 */
-	void
-	initCharsMap();
-
-	/**
-	 * Flush the char buffer.
-	 */
-	void
-	flushChars();
-
-	/**
-	 * Flush the byte buffer.
-	 */
-	void
-	flushBytes();
-
-	void
-	flushWriter();
-
-	void
-	openElementForChildren();
-
-	bool
-	childNodesWereAdded();
-
-	bool
-	shouldIndent() const
-	{
-		return m_doIndent && (!m_ispreserve && !m_isprevtext);
-	}
-
-	/**
-	 * Check to see if a parent's ">" has been written, and, if 
-	 * it has not, write it.
-	 */
-	void
-	writeParentTagEnd();
-
-	/**
-	 * Prints a newline character and <var>n</var> spaces.
-	 * @param n         Number of spaces to print.
-	 */
-	void
-	indent(int	n);
-
-	/**
-	 * Write normalized characters to the writer.
-	 * @param ch the string to write.
-	 * @param start the start offset into the string.
-	 * @param length the length of the string.
-	 * @param isCData true if writing CDATA.
-	 */
-	virtual void
-	writeNormalizedChars(
-			const XalanDOMChar			ch[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length,
-			bool						isCData);
-
-	/**
-	 * Write a number into the buffer as an entity
-	 * reference.
-	 * @param theNumber the number to write.
-	 */
-	void
-	writeNumberedEntityReference(unsigned long	theNumber);
-
-	/**
-	 * Write an attribute string.
-	 * @param theString The string to write.
-	 */
-	virtual void
-	writeAttrString(const XalanDOMChar*		theString);
-
-	/**
-	 * Write the data for a comment
-	 * @param data The comment's data.
-	 */
-	virtual void
-	accumCommentData(const XalanDOMChar*	data);
-
-	/**
-	 * Throw an exception when an invalid
-	 * surrogate is encountered.
-	 * @param ch The first character in the surrogate
-	 */
-	static void
-	throwInvalidUTF16SurrogateException(XalanDOMChar	ch);
-
-	/**
-	 * Throw an exception when an invalid
-	 * surrogate is encountered.
-	 * @param ch The first character in the surrogate
-	 * @param next The next character in the surrogate
-	 */
-	static void
-	throwInvalidUTF16SurrogateException(
-			XalanDOMChar	ch,
-			XalanDOMChar	next);
-
-	static bool
-	isUTF16Surrogate(XalanDOMChar	ch)
-	{
-		return (ch & 0xFC00) == 0xD800 ? true : false;
-	}
-
-	enum eDummyTwo { SPECIALSSIZE = 256};
-
-	/**
-	 * The maximum character size before we have to resort 
-	 * to escaping.
-	 */
-	XalanDOMChar			m_maxCharacter;
-
-	XalanDOMChar			m_attrCharsMap[SPECIALSSIZE];
-
-	XalanDOMChar			m_charsMap[SPECIALSSIZE];
-
-	/**
-	 * If true, XML header should be written to output.
-	 */
-	bool		m_shouldWriteXMLHeader;
-
-	/**
-	 * State flag to tell if preservation of whitespace 
-	 * is important.
-	 */
-	bool		m_ispreserve;
-
-	/**
-	 * Flag to tell if indenting (pretty-printing) is on.
-	 */
-	bool		m_doIndent;
-
-	/**
-	 * Flag to signal that a newline should be added.
-	 */
-	bool		m_startNewLine;
-  
-	/**
-	 * Flag to tell that we need to add the doctype decl, 
-	 * which we can't do until the first element is 
-	 * encountered.
-	 */
-	bool		m_needToOutputDocTypeDecl;
-  
-	/**
-	 * State flag that tells if the previous node processed 
-	 * was text, so we can tell if we should preserve whitespace.
-	 */
-	bool		m_isprevtext;
-
-	/**
-	 * If true, cdata sections are simply stripped of their 
-	 * CDATA brackets, without escaping.
-	 */
-	bool		m_stripCData;
-
-	/**
-	 * Tell if the next text should be raw.
-	 */
-	bool		m_nextIsRaw;
-
-	/**
-	 * Tells if we're in CData section.
-	 */
-	bool		m_inCData;
-
-	/**
-	 * Flag to quickly tell if the encoding is capable of full
-	 * Unicode support.
-	 */
-	bool		m_encodingIsUTF;
-
-	/**
-	 * The System ID for the doc type.
-	 */
-	const XalanDOMString	m_doctypeSystem;
-
-	/**
-	 * The public ID for the doc type.
-	 */
-	const XalanDOMString	m_doctypePublic;
-
-	/**
-	 * The character encoding.
-	 */
-	XalanDOMString	m_encoding;
-
-	/**
-	 * Flag to keep track of the indent amount.
-	 */
-	int		m_currentIndent;
-  
-	/**
-	 * Amount to indent.
-	 */
-	int		m_indent;
-
-	/**
-	 * Stack to keep track of whether or not we need to 
-	 * preserve whitespace.
-	 */
-	BoolStackType	m_preserves;
-
-	// A text buffer.  We use it mostly for converting
-	// to string values.  See uses of UnsignedLongToString()
-	// and UnsignedLongToHexString().
-	XalanDOMString	m_stringBuffer;
-
-private:
-
-	// These are not implemented.
-	FormatterToXML(const FormatterToXML&);
-
-	FormatterToXML&
-	operator=(const FormatterToXML&);
-
-	bool
-	operator==(const FormatterToXML&) const;
-
-	/**
-	 * Initialize the static codings table.
-	 */
-	static void
-	initEncodings();
-
-	/**
-	 * Append a wide character to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumNameAsByte(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumNameAsByteDirect(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are written as entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumContentAsByte(XalanDOMChar		ch);
-
-	/**
-	 * Append a wide character to the output.
-	 * Characters that are not representable
-	 * in the encoding are written as entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumContentAsByteDirect(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumNameAsChar(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumNameAsCharDirect(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the buffer.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumContentAsChar(XalanDOMChar		ch);
-
-	/**
-	 * Append a wide character to the stream without buffering.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumContentAsCharDirect(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the buffer.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumCharUTF(XalanDOMChar	ch);
-
-	/**
-	 * Append a wide character to the output.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @ch the character to append.
-	 */
-	void
-	accumCharUTFDirect(XalanDOMChar	ch);
-
-	/**
-	 * Append a string to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are not written as
-	 * entities.
-	 *
-	 * @chars the string to append.
-	 */
-	void
-	accumNameString(const XalanDOMChar*	chars);
-
-	/**
-	 * Append a wide character to the buffer.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @chars the string to append.
-	 */
-	void
-	accumStringUTF(const XalanDOMChar*	chars);
-
-	/**
-	 * Append a wide character to the output.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @chars the string to append.
-	 */
-	void
-	accumStringUTFDirect(const XalanDOMChar*	chars);
-
-	/**
-	 * Append a string to the buffer.
-	 * Characters that are not representable
-	 * in the encoding are written as entities.
-	 *
-	 * @chars the string to append.
-	 */
-	void
-	accumContentString(const XalanDOMChar*	chars);
-
-	/**
-	 * Append an array of wide character to the buffer.
-	 * Characters that are not representable in the
-	 * encoding are not written as entities.
-	 *
-	 * @chars the array to append
-	 * @start the offset into the array to start from
-	 * @length the number of characters to append
-	 */
-	void
-	accumNameArray(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Append an array of wide character to the buffer.
-	 * Characters that are not representable in the
-	 * encoding are written as entities.
-	 *
-	 * @chars the array to append
-	 * @start the offset into the array to start from
-	 * @length the number of characters to append
-	 */
-	void
-	accumContentArray(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Append an array of wide character to the buffer.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @chars the array to append
-	 * @start the offset into the array to start from
-	 * @length the number of characters to append
-	 */
-	void
-	accumArrayUTF(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Append an array of wide character to the output.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @chars the array to append
-	 * @start the offset into the array to start from
-	 * @length the number of characters to append
-	 */
-	void
-	accumArrayUTFDirect(
-			const XalanDOMChar			chars[],
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Append a string to the buffer.
-	 * Characters that are not representable in the
-	 * encoding are not written as entities.
-	 *
-	 * @str the string to append
-	 */
-	void
-	accumNameDOMString(const XalanDOMString&	str);
-
-	/**
-	 * Append a string to the buffer.
-	 * Characters that are not representable in the
-	 * encoding are written as entities.
-	 *
-	 * @str the string to append
-	 */
-	void
-	accumContentDOMString(const XalanDOMString&	str);
-
-	/**
-	 * Append a string to the buffer.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @str the string to append
-	 */
-	void
-	accumDOMStringUTF(const XalanDOMString&	str);
-
-	/**
-	 * Append a string to the output.
-	 * All characters are representable,
-	 * so no checks or escapes are needed.
-	 *
-	 * @str the string to append
-	 */
-	void
-	accumDOMStringUTFDirect(const XalanDOMString&	str);
-
-	/**
-	 * Output the doc type declaration.
-	 *
-	 * @param name the name of the doctype.
-	 */
-	void
-	outputDocTypeDecl(const XalanDOMChar*	name);
-
-	/**
-	 * Process an attribute.
-	 * @param name The name of the attribute.
-	 * @param value The value of the attribute.
-	 */
-	void
-	processAttribute(
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		value);
-
-	/**
-	 * Prints <var>n</var> spaces.
-	 * @param n         Number of spaces to print.
-	 */
-	void
-	printSpace(int n);
-
-	/**
-	 * Normalize the data in a PI, to replace any
-	 * "?>" pairs with "? >"
-	 * @param theData the data to normalize.
-	 */
-	void
-	accumNormalizedPIData(
-			const XalanDOMChar*			theData,
-			XalanDOMString::size_type	theLength);
-
-
-	// Data members...
-	/**
-	 * True if an encoding is only has only values from 0 - 255
-	 */
-	bool		m_bytesEqualChars;
-
-	bool		m_shouldFlush;
-
-	/**
-	 * Add space before '/>' for XHTML.
-	 */
-	bool		m_spaceBeforeClose;
-
-	/**
-	 * If true, characters in cdata sections are 
-	 * escaped, instead of being writted out as 
-	 * cdata sections.
-	 */
-	bool		m_escapeCData;
-
-	/**
-	 * Tells if we're in an EntityRef event.
-	 */
-	bool		m_inEntityRef;
-
-	/**
-	 * Tells the XML version, for writing out to the XML decl.
-	 */
-	const XalanDOMString	m_version;
-
-	/**
-	 * Text for standalone part of header.
-	 */
-	const XalanDOMString	m_standalone;
-
-	/**
-	 * The media type.  Not used right now.
-	 */
-	const XalanDOMString	m_mediaType;
-
-	/**
-	 * These are characters that will be escaped in the output.
-	 */
-	const XalanDOMString	m_attrSpecialChars;
-
-	/**
-	 * The default MIME encoding.
-	 */
-	static const XalanDOMString&	s_defaultMIMEEncoding;
-
-	/**
-	 * The string "<!DOCTYPE ".
-	 */
-	static const XalanDOMString&	s_doctypeHeaderStartString;
-
-	/**
-	 * The string " PUBLIC \"".
-	 */
-	static const XalanDOMString&	s_doctypeHeaderPublicString;
-
-	/**
-	 * The string " SYSTEM \"".
-	 */
-	static const XalanDOMString&	s_doctypeHeaderSystemString;
-
-	/**
-	 * The string "<?xml version=\"".
-	 */
-	static const XalanDOMString&	s_xmlHeaderStartString;
-
-	/**
-	 * The string "<?xml version=\"".
-	 */
-	static const XalanDOMString&	s_xmlHeaderEncodingString;
-
-	/**
-	 * The string "\" standalone=\"".
-	 */
-	static const XalanDOMString&	s_xmlHeaderStandaloneString;
-
-	/**
-	 * The string "\"?>".
-	 */
-	static const XalanDOMString&	s_xmlHeaderEndString;
-
-	/**
-	 * The string "1.0".
-	 */
-	static const XalanDOMString&	s_defaultVersionString;
-
-	/**
- 	 * The string "-//W3C//DTD XHTML".
- 	 */
- 	static const XalanDOMString&			s_xhtmlDocType;
-
-	/**
- 	 * The string "]]>".
- 	 */
- 	static const XalanDOMString&			s_dtdCDATACloseString;
-
-	DOMCharBufferType							m_charBuf;
-
-	DOMCharBufferType::size_type				m_pos;
-
-	ByteBufferType								m_byteBuf;
-
-	static const DOMCharBufferType::size_type	s_maxBufferSize;
-
-	/**
-	 * A stack of Boolean objects that tell if the given element 
-	 * has children.
-	 */
-	BoolStackType	m_elemStack;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for names.
-	 */
-	AccumCharFunctionType		m_accumNameCharFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for names.
-	 */
-	AccumStringFunctionType		m_accumNameStringFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for names.
-	 */
-	AccumDOMStringFunctionType	m_accumNameDOMStringFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for names.
-	 */
-	AccumArrayFunctionType		m_accumNameArrayFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for content.
-	 */
-	AccumCharFunctionType		m_accumContentCharFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for content.
-	 */
-	AccumStringFunctionType		m_accumContentStringFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for content.
-	 */
-	AccumDOMStringFunctionType	m_accumContentDOMStringFunction;
-
-	/**
-	 * A pointer to a member function that will do accumulating
-	 * for names.
-	 */
-	AccumArrayFunctionType		m_accumContentArrayFunction;
-
-	/**
-	 * A pointer to the member function that will flush the buffer.
-	 */
-	FlushFunctionType		m_flushFunction;
-};
-
-
-
-#endif	// FORMATTERTOXML_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/FormatterTreeWalker.cpp b/src/XMLSupport/FormatterTreeWalker.cpp
deleted file mode 100644
index 9320948..0000000
--- a/src/XMLSupport/FormatterTreeWalker.cpp
+++ /dev/null
@@ -1,247 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "FormatterTreeWalker.hpp"
-
-
-
-// Xerces header files...
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanComment.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanDocumentFragment.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/FormatterListener.hpp>
-#include <PlatformSupport/NamedNodeMapAttributeList.hpp>
-
-
-
-FormatterTreeWalker::FormatterTreeWalker(FormatterListener& 	formatterListener) :
-	TreeWalker(),
-	m_formatterListener(formatterListener)
-{
-}
-
-
-
-FormatterTreeWalker::~FormatterTreeWalker()
-{
-}
-
-
-
-void
-FormatterTreeWalker::startNode(const XalanNode*		node)
-{
-	assert(node != 0);
-
-	switch(node->getNodeType())
-	{
-	case XalanNode::COMMENT_NODE:
-		{
-			const XalanComment*	theCommentNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanComment*)node;
-#else
-				static_cast<const XalanComment*>(node);
-#endif
-
-			m_formatterListener.comment(c_wstr(theCommentNode->getData()));
-		}
-		break;
-
-	case XalanNode::DOCUMENT_FRAGMENT_NODE:
-		// ??
-		break;
-
-	case XalanNode::DOCUMENT_NODE:
-		m_formatterListener.startDocument();
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		{
-			const XalanElement*	theElementNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement*)node;
-#else
-				static_cast<const XalanElement*>(node);
-#endif
-
-			const XalanNamedNodeMap*	atts = theElementNode->getAttributes();
-			assert(atts != 0);
-
-			NamedNodeMapAttributeList	theAttributeList(*atts);
-
-			m_formatterListener.startElement(c_wstr(theElementNode->getNodeName()),
-											 theAttributeList);
-		}
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		{
-			const XalanProcessingInstruction*	thePI =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanProcessingInstruction*)node;
-#else
-				static_cast<const XalanProcessingInstruction*>(node);
-#endif
-
-			m_formatterListener.processingInstruction(c_wstr(thePI->getNodeName()),
-													  c_wstr(thePI->getData()));
-		}
-		break;
-
-	case XalanNode::CDATA_SECTION_NODE:
-		{
-			const XalanText*	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText*)node;
-#else
-				static_cast<const XalanText*>(node);
-#endif
-
-			const XalanDOMString&	data = theTextNode->getData();
-
-			assert(length(data) == FormatterListener::size_type(length(data)));
-
-			m_formatterListener.cdata(c_wstr(data), FormatterListener::size_type(length(data)));
-		}
-		break;
-
-	case XalanNode::TEXT_NODE:
-		{
-			const XalanText*	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText*)node;
-#else
-				static_cast<const XalanText*>(node);
-#endif
-
-			const XalanDOMString&	data = theTextNode->getData();
-
-			assert(length(data) == FormatterListener::size_type(length(data)));
-
-			m_formatterListener.characters(c_wstr(data), FormatterListener::size_type(length(data)));
-		}
-		break;
-
-	case XalanNode::ENTITY_REFERENCE_NODE:
-		m_formatterListener.entityReference(c_wstr(node->getNodeName()));
-		break;
-
-	default:
-		// Do nothing...
-		break;
-	}
-}
-
-
-
-void
-FormatterTreeWalker::startNode(XalanNode*	node)
-{
-	assert(node != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	startNode((const XalanNode*)node);
-#else
-	startNode(const_cast<const XalanNode*>(node));
-#endif
-}
-
-
-
-void
-FormatterTreeWalker::endNode(const XalanNode*	node)
-{
-	assert(node != 0);
-
-	switch(node->getNodeType())
-	{
-	case XalanNode::DOCUMENT_NODE:
-		m_formatterListener.endDocument();
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		m_formatterListener.endElement(c_wstr(node->getNodeName()));
-		break;
-
-	default:
-		// Do nothing
-		break;
-	}
-}
-
-
-
-void
-FormatterTreeWalker::endNode(XalanNode*		node)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	endNode((const XalanNode*)node);
-#else
-	endNode(const_cast<const XalanNode*>(node));
-#endif
-}
diff --git a/src/XMLSupport/FormatterTreeWalker.hpp b/src/XMLSupport/FormatterTreeWalker.hpp
deleted file mode 100644
index e094776..0000000
--- a/src/XMLSupport/FormatterTreeWalker.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTREEWALKER_HEADER_GUARD_1357924680)
-#define FORMATTERTREEWALKER_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <DOMSupport/TreeWalker.hpp>
-
-
-
-class FormatterListener;
-
-
-
-class XALAN_XMLSUPPORT_EXPORT FormatterTreeWalker : public TreeWalker
-{
-public:
-
-	/**
-	 * Construct a FormatterTreeWalker instance.
-	 *
-	 * @param formatterListener implemention of the FormatterListener operation
-	 *                          (toXMLString, digest, ...)
-	 */
-	FormatterTreeWalker(FormatterListener&	formatterListener);
-
-	virtual
-	~FormatterTreeWalker();
-
-protected:
-
-	virtual void
-	startNode(const XalanNode*	node);
-
-	virtual void
-	startNode(XalanNode*	node);
-
-	virtual void
-	endNode(const XalanNode*	node);
-
-	virtual void
-	endNode(XalanNode*	node);
-
-private:
-
-	FormatterListener&	m_formatterListener;
-};
-
-
-
-#endif	// FORMATTERTREEWALKER_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/XMLParserLiaison.cpp b/src/XMLSupport/XMLParserLiaison.cpp
deleted file mode 100644
index 1e5a2d3..0000000
--- a/src/XMLSupport/XMLParserLiaison.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XMLParserLiaison.hpp"
-
-
-
-XMLParserLiaison::XMLParserLiaison()
-{
-}
-
-
-
-XMLParserLiaison::~XMLParserLiaison()
-{
-}
diff --git a/src/XMLSupport/XMLParserLiaison.hpp b/src/XMLSupport/XMLParserLiaison.hpp
deleted file mode 100644
index 0104054..0000000
--- a/src/XMLSupport/XMLParserLiaison.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XMLPARSERLIAISON_HEADER_GUARD_1357924680)
-#define XMLPARSERLIAISON_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/Resettable.hpp>
-
-
-
-class DocumentHandler;
-class EntityResolver;
-class ErrorHandler;
-class ExecutionContext;
-class FormatterListener;
-class InputSource;
-class XalanAttr;
-class XalanDocument;
-class XalanElement;
-
-
-
-class XALAN_XMLSUPPORT_EXPORT XMLParserLiaison : public Resettable
-{
-public:
-
-	XMLParserLiaison();
-
-	virtual
-	~XMLParserLiaison();
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset() = 0;
-
-	// These interfaces are new to XMLParserLiaison
-
-	virtual ExecutionContext*
-	getExecutionContext() const = 0;
-
-	virtual void
-	setExecutionContext(ExecutionContext&	theContext) = 0;
-
-	/**
-	 * Parse the text pointed at by the reader as XML, and return a DOM
-	 * Document interface.  It is recommended that you pass in some sort of
-	 * recognizable name, such as the filename or URI, with which the reader
-	 * can be recognized if the parse fails.
-	 *
-	 * The liaison owns the XalanDocument instance, and will delete it when
-	 * when asked (see DestroyDocument()), or when the liaison is reset, or
-	 * goes out of scope.
-	 *
-	 * @param reader     stream that should hold valid XML
-	 * @param identifier used for diagnostic purposes only, some sort of
-	 *                   identification for error reporting, default an empty
-	 *                   string
-	 * @return DOM document created
-	 */
-	virtual XalanDocument*
-	parseXMLStream(
-			const InputSource&		inputSource,
-			const XalanDOMString&	identifier = XalanDOMString()) = 0;
-
-	/**
-	 * Parse the text pointed at by the reader as XML. It is recommended that
-	 * you pass in some sort of recognizable name, such as the filename or URI,
-	 * with which the reader can be recognized if the parse fails.
-	 *
-	 * @param inputSource input source that should hold valid XML
-	 * @param handler        instance of a DocumentHandler
-	 * @param identifier     used for diagnostic purposes only, some sort of
-	 *                       identification for error reporting, default an
-	 *                       empty string
-	 */
-	virtual void
-	parseXMLStream(
-			const InputSource&		inputSource,
-			DocumentHandler&		handler,
-			const XalanDOMString&	identifier = XalanDOMString()) = 0;
-
-	/**
-	 * Create an empty DOM Document.  Mainly used for creating an 
-	 * output document.
-	 *
-	 * The liaison owns the XalanDocument instance, and will delete it when
-	 * when asked (see DestroyDocument()), or when the liaison is reset, or
-	 * goes out of scope.
-	 * 
-	 * @return DOM document created
-	 */
-	virtual XalanDocument*
-	createDocument() = 0;
-
-	/**
-	 * Get a factory object required to create nodes in the result tree.
-	 *
-	 * The liaison owns the XalanDocument instance, and will delete it when
-	 * when asked (see DestroyDocument()), or when the liaison is reset, or
-	 * goes out of scope.
-	 * 
-	 * @return A XalanDocument instance.
-	 */
-	virtual XalanDocument*
-	createDOMFactory() = 0;
-
-	/**
-	 * Destroy the supplied XalanDocument instance.  It must be an instance that
-	 * was created by a previous call to createDocument() or getDOMFactory().
-	 *
-	 * @param theDocument The XalanDocument instance to destroy.
-	 */
-	virtual void
-	destroyDocument(XalanDocument*	theDocument) = 0;
-
-	/**
-	 * Get the amount to indent when indent-result="yes".
-	 *
-	 * @deprecated
-	 *
-	 * @return number of characters to indent
-	 */
-	virtual int
-	getIndent() const = 0;
-
-	/**
-	 * Set the amount to indent when indent-result="yes".
-	 *
-	 * @deprecated
-	 *
-	 * @param i number of characters to indent
-	 */
-	virtual void
-	setIndent(int	i) = 0;
-
-	/**
-	 * Get whether or not validation will be performed.  Validation is off by
-	 * default.
-	 *
-	 * @return true to perform validation
-	 */
-	virtual bool
-	getUseValidation() const = 0;
-
-	/**
-	 * If set to true, validation will be performed.  Validation is off by
-	 * default.
-	 *
-	 * @param b true to perform validation
-	 */
-	virtual void
-	setUseValidation(bool	b) = 0;
-
-	/**
-	 * Return a string suitable for telling the user what parser is being used.
-	 *
-	 * @return string describing parser
-	 */
-	virtual const XalanDOMString
-	getParserDescription() const = 0;
-
-	/**
-	  * This method returns the installed entity resolver.
-	  *
-	  * @return The pointer to the installed entity resolver object.
-	  */
-	virtual EntityResolver*
-	getEntityResolver() const = 0;
-
-	/**
-	  * This method installs the user specified entity resolver on the
-	  * parser. It allows applications to trap and redirect calls to
-	  * external entities.
-	  *
-	  * @param handler A pointer to the entity resolver to be called
-	  * 			   when the parser comes across references to
-	  * 			   entities in the XML file.
-	  */
-	virtual void
-	setEntityResolver(EntityResolver*	resolver) = 0;
-
-	/**
-	  * This method returns the installed error handler.
-	  *
-	  * @return The pointer to the installed error handler object.
-	  */
-	virtual ErrorHandler*
-	getErrorHandler() const = 0;
-
-	/**
-	  * This method installs the user-specified error handler.
-	  *
-	  * @param handler A pointer to the error handler to be called upon error.
-	  */
-	virtual void
-	setErrorHandler(ErrorHandler*	handler) = 0;
-
-private:
-
-	// Not implemented
-	XMLParserLiaison(const XMLParserLiaison&);
-
-	XMLParserLiaison&
-	operator=(const XMLParserLiaison&);
-};
-
-
-
-#endif	// XMLPARSERLIAISON_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/XMLSupportDefinitions.hpp b/src/XMLSupport/XMLSupportDefinitions.hpp
deleted file mode 100644
index 61a7170..0000000
--- a/src/XMLSupport/XMLSupportDefinitions.hpp
+++ /dev/null
@@ -1,82 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XMLSUPPORT_DEFINITIONS_HEADER_GUARD_1357924680)
-#define XMLSUPPORT_DEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_XMLSUPPORT_BUILD_DLL)
-
-#define XALAN_XMLSUPPORT_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_XMLSUPPORT_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_XMLSUPPORT_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_XMLSUPPORT_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// XMLSUPPORT_DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/XMLSupportException.cpp b/src/XMLSupport/XMLSupportException.cpp
deleted file mode 100644
index 3ce3115..0000000
--- a/src/XMLSupport/XMLSupportException.cpp
+++ /dev/null
@@ -1,72 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XMLSupportException.hpp"
-
-
-
-
-XMLSupportException::XMLSupportException(const XalanDOMString&	message) :
-	XSLException(message)
-{
-}
-
-
-
-XMLSupportException::~XMLSupportException()
-{
-}
diff --git a/src/XMLSupport/XMLSupportException.hpp b/src/XMLSupport/XMLSupportException.hpp
deleted file mode 100644
index e7edc7b..0000000
--- a/src/XMLSupport/XMLSupportException.hpp
+++ /dev/null
@@ -1,97 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XMLSUPPORTEXCEPTION_HEADER_GUARD_1357924680)
-#define XMLSUPPORTEXCEPTION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XALAN_XMLSUPPORT_EXPORT XMLSupportException : public XSLException
-{
-public:
-
-	/**
-	 * Construct an XML Support exception object
-	 * 
-	 * @param theMessage message to print when exception thrown
-	 */
-	explicit
-	XMLSupportException(
-			const XalanDOMString&	message = XalanDOMString());
-
-	virtual
-	~XMLSupportException();
-
-private:
-};
-
-
-
-#endif	// XMLSUPPORTEXCEPTION_HEADER_GUARD_1357924680
diff --git a/src/XMLSupport/XMLSupportInit.cpp b/src/XMLSupport/XMLSupportInit.cpp
deleted file mode 100644
index 640c8b4..0000000
--- a/src/XMLSupport/XMLSupportInit.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XMLSupportInit.hpp"
-
-
-
-#include "FormatterToHTML.hpp"
-#include "FormatterToXML.hpp"
-
-
-
-unsigned long	XMLSupportInit::s_initCounter = 0;
-
-
-
-XMLSupportInit::XMLSupportInit() :
-	m_platformSupportInit(),
-	m_domSupportInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-XMLSupportInit::~XMLSupportInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-XMLSupportInit::initialize()
-{
-	FormatterToXML::initialize();
-
-	FormatterToHTML::initialize();
-}
-
-
-
-void
-XMLSupportInit::terminate()
-{
-	FormatterToHTML::terminate();
-
-	FormatterToXML::terminate();
-}
diff --git a/src/XMLSupport/XMLSupportInit.hpp b/src/XMLSupport/XMLSupportInit.hpp
deleted file mode 100644
index 5ffe2d4..0000000
--- a/src/XMLSupport/XMLSupportInit.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XMLSUPPORTINIT_INCLUDE_GUARD_1357924680)
-#define XMLSUPPORTINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XMLSupport/XMLSupportDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PlatformSupportInit.hpp>
-
-
-
-#include <DOMSupport/DOMSupportInit.hpp>
-
-
-
-class XALAN_XMLSUPPORT_EXPORT XMLSupportInit
-{
-public:
-
-	explicit
-	XMLSupportInit();
-
-	~XMLSupportInit();
-
-private:
-
-	// Not implemented...
-	XMLSupportInit(const XMLSupportInit&);
-
-	XMLSupportInit&
-	operator=(const XMLSupportInit&);
-
-	
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	const PlatformSupportInit	m_platformSupportInit;
-
-	const DOMSupportInit		m_domSupportInit;
-
-	static unsigned long		s_initCounter;
-};
-
-
-
-#endif	// !defined(XMLSUPPORTINIT_INCLUDE_GUARD_1357924680)
diff --git a/src/XPath/ElementPrefixResolverProxy.cpp b/src/XPath/ElementPrefixResolverProxy.cpp
deleted file mode 100644
index d90da7e..0000000
--- a/src/XPath/ElementPrefixResolverProxy.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "ElementPrefixResolverProxy.hpp"
-
-
-
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-#include "XPathEnvSupport.hpp"
-
-
-
-ElementPrefixResolverProxy::ElementPrefixResolverProxy(
-			const XalanElement*		namespaceContext,
-			const XPathEnvSupport&	envSupport,
-			const DOMSupport& 		/* domSupport */) :
-	m_namespaceContext(namespaceContext),
-	m_envSupport(&envSupport),
-	m_uri()
-{
-}
-
-
-
-ElementPrefixResolverProxy::ElementPrefixResolverProxy(
-			const XalanElement*		namespaceContext,
-			const XPathEnvSupport*	envSupport) :
-	m_namespaceContext(namespaceContext),
-	m_envSupport(envSupport),
-	m_uri()
-{
-}
-
-
-
-ElementPrefixResolverProxy::~ElementPrefixResolverProxy()
-{
-}
-
-
-
-const XalanDOMString*
-ElementPrefixResolverProxy::getNamespaceForPrefix(const XalanDOMString&		prefix) const
-{
-	if (m_namespaceContext == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		return DOMServices::getNamespaceForPrefix(prefix, *m_namespaceContext);
-	}
-}
-
-
-
-const XalanDOMString&
-ElementPrefixResolverProxy::getURI() const
-{
-	if (m_envSupport != 0 && m_namespaceContext != 0 && length(m_uri) == 0)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((ElementPrefixResolverProxy*)this)->m_uri =
-#else
-		m_uri =
-#endif
-				m_envSupport->findURIFromDoc(m_namespaceContext->getOwnerDocument());
-	}
-
-	return m_uri;
-}
diff --git a/src/XPath/ElementPrefixResolverProxy.hpp b/src/XPath/ElementPrefixResolverProxy.hpp
deleted file mode 100644
index a5224b7..0000000
--- a/src/XPath/ElementPrefixResolverProxy.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(ELEMENTPREFIXRESOLVERPROXY_HEADER_GUARD_1357924680)
-#define ELEMENTPREFIXRESOLVERPROXY_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file...
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-class DOMSupport;
-class XPathEnvSupport;
-class XalanElement;
-
-
-
-class XALAN_XPATH_EXPORT ElementPrefixResolverProxy : public PrefixResolver
-{
-public:
-
-	/**
-	 * Construct an instance of an element prefix resolver proxy
-	 * 
-	 * @param namespaceContext context object for namespace resolution
-	 * @param envSupport XPath environment support class instance
-	 * @param domSupport DOMSupport class instance
-	 *
-	 * @deprecated
-	 */
-	ElementPrefixResolverProxy(
-			const XalanElement*		namespaceContext,
-			const XPathEnvSupport&	envSupport,
-			const DOMSupport& 		domSupport);
-
-	/**
-	 * Construct an instance of an element prefix resolver proxy
-	 * 
-	 * @param namespaceContext context object for namespace resolution
-	 * @param envSupport XPath environment support class instance
-	 * @param domSupport DOMSupport class instance
-	 *
-	 * @deprecated
-	 */
-	ElementPrefixResolverProxy(
-			const XalanElement*		namespaceContext,
-			const XPathEnvSupport*	envSupport = 0);
-
-	virtual
-	~ElementPrefixResolverProxy();
-
-	// These methods are inherited from PrefixResolver ...
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-private:
-
-	const XalanElement* const		m_namespaceContext;
-
-	const XPathEnvSupport*			m_envSupport;
-
-	mutable XalanDOMString			m_uri;
-};
-
-
-
-#endif	// ELEMENTPREFIXRESOLVERPROXY_HEADER_GUARD_1357924680
diff --git a/src/XPath/FoundIndex.cpp b/src/XPath/FoundIndex.cpp
deleted file mode 100644
index 2006ae7..0000000
--- a/src/XPath/FoundIndex.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "FoundIndex.hpp"
-
-
-
-FoundIndex::FoundIndex() :
-	XalanXPathException()
-{
-}
-
-
-
-FoundIndex::~FoundIndex()
-{
-}
diff --git a/src/XPath/FoundIndex.hpp b/src/XPath/FoundIndex.hpp
deleted file mode 100644
index ec85cb5..0000000
--- a/src/XPath/FoundIndex.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FOUNDINDEX_HEADER_GUARD_1357924680)
-#define FOUNDINDEX_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XalanXPathException.hpp>
-
-
-
-class XALAN_XPATH_EXPORT FoundIndex : public XalanXPathException
-{
-public:
-
-	explicit
-	FoundIndex();
-
-	virtual
-	~FoundIndex();
-};
-
-
-
-#endif	// FOUNDINDEX_HEADER_GUARD_1357924680
diff --git a/src/XPath/Function.cpp b/src/XPath/Function.cpp
deleted file mode 100644
index 6d8cfbd..0000000
--- a/src/XPath/Function.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file...
-#include "Function.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-Function::Function()
-{
-}
-
-
-
-Function::~Function()
-{
-}
-
-
-
-XObjectPtr
-Function::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	const XObjectArgVectorType::size_type	theArgCount = args.size();
-
-	if (theArgCount == 0)
-	{
-		return execute(executionContext, context, locator);
-	}
-	else if (theArgCount == 1)
-	{
-		return execute(executionContext, context, args[0], locator);
-	}
-	else if (theArgCount == 2)
-	{
-		return execute(executionContext, context, args[0], args[1], locator);
-	}
-	else if (theArgCount == 3)
-	{
-		return execute(executionContext, context, args[0], args[1], args[2], locator);
-	}
-	else
-	{
-		executionContext.error(getError(), context, locator);
-
-		return XObjectPtr(0);
-	}
-}
-
-
-
-XObjectPtr
-Function::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const Locator*			locator) const
-{
-	executionContext.error(getError(), context, locator);
-
-	return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-Function::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		/* arg1 */,
-			const Locator*			locator) const
-{
-	executionContext.error(getError(), context, locator);
-
-	return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-Function::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		/* arg1 */,
-			const XObjectPtr		/* arg2 */,
-			const Locator*			locator) const
-{
-	executionContext.error(getError(), context, locator);
-
-	return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-Function::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		/* arg1 */,
-			const XObjectPtr		/* arg2 */,
-			const XObjectPtr		/* arg3 */,
-			const Locator*			locator) const
-{
-	executionContext.error(getError(), context, locator);
-
-	return XObjectPtr(0);
-}
diff --git a/src/XPath/Function.hpp b/src/XPath/Function.hpp
deleted file mode 100644
index d6bad24..0000000
--- a/src/XPath/Function.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTION_HEADER_GUARD_1357924680)
-#define FUNCTION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XPath/XObject.hpp>
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-class Locator;
-class XalanNode;
-
-
-
-// Base class for all XPath function classes.
-//
-// These are all inline, even though
-// there are virtual functions, because we expect that they will only be
-// needed by the XPath class.
-class XALAN_XPATH_EXPORT Function
-{
-public:
-
-	explicit
-	Function();
-
-	virtual
-	~Function();
-
-	typedef XPathExecutionContext::XObjectArgVectorType	XObjectArgVectorType;
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object.  Extension functions should override this version of execute(),
-	 * rather than one of the other calls designed for a specific number of
-	 * arguments, since the extension function mechanism will call this
-	 * version first.  Extension functions that accept more than three
-	 * arguments _must_ override this version.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param args             vector of pointers to XObject arguments
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object. Called if function has no parameters.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node	 
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object. Called if function has one parameter.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param arg              pointer to XObject argument
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object. Called if function has two parameters.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param arg1             pointer to XObject argument
-	 * @param arg2             pointer to XObject argument
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-	/**
-	 * Execute an XPath function object.  The function must return a valid
-	 * object. Called if function has three parameters.
-	 *
-	 * @param executionContext executing context
-	 * @param context          current context node
-	 * @param arg1             pointer to XObject arguments
-	 * @param arg2             pointer to XObject argument
-	 * @param arg3             pointer to XObject argument
-	 * @param locator		   Locator for the XPath expression that contains the function call
-	 * @return                 pointer to the result XObject
-	 */
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			locator) const;
-
-	/**
-	 * Create a copy of the function object.
-	 *
-	 * @return pointer to the new object
-	 */
-	virtual Function*
-	clone() const = 0;
-
-protected:
-
-	/**
-	 * Get the error message to report when
-	 * the function is called with the wrong
-	 * number of arguments.
-	 *
-	 * @return function error message
-	 */
-	virtual const XalanDOMString
-	getError() const = 0;
-
-private:
-
-	// Not implemented...
-	Function&
-	operator=(const Function&);
-
-	bool
-	operator==(const Function&) const;
-};
-
-
-
-#endif	// FUNCTION_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionBoolean.cpp b/src/XPath/FunctionBoolean.cpp
deleted file mode 100644
index 8063f51..0000000
--- a/src/XPath/FunctionBoolean.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionBoolean.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionBoolean::FunctionBoolean()
-{
-}
-
-
-
-FunctionBoolean::~FunctionBoolean()
-{
-}
-
-
-
-XObjectPtr
-FunctionBoolean::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);
-
-	return executionContext.getXObjectFactory().createBoolean(arg1->boolean());	
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionBoolean*
-#endif
-FunctionBoolean::clone() const
-{
-	return new FunctionBoolean(*this);
-}
-
-
-
-const XalanDOMString
-FunctionBoolean::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The boolean() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionBoolean.hpp b/src/XPath/FunctionBoolean.hpp
deleted file mode 100644
index 0ec936e..0000000
--- a/src/XPath/FunctionBoolean.hpp
+++ /dev/null
@@ -1,117 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONBOOLEAN_HEADER_GUARD_1357924680)
-#define FUNCTIONBOOLEAN_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "boolean" function.
- */
-class XALAN_XPATH_EXPORT FunctionBoolean : public Function
-{
-public:
-
-	FunctionBoolean();
-
-	virtual
-	~FunctionBoolean();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionBoolean*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionBoolean&
-	operator=(const FunctionBoolean&);
-
-	bool
-	operator==(const FunctionBoolean&) const;
-};
-
-
-
-#endif	// FUNCTIONBOOLEAN_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionCeiling.cpp b/src/XPath/FunctionCeiling.cpp
deleted file mode 100644
index 351746a..0000000
--- a/src/XPath/FunctionCeiling.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionCeiling.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionCeiling::FunctionCeiling()
-{
-}
-
-
-
-FunctionCeiling::~FunctionCeiling()
-{
-}
-
-
-
-XObjectPtr
-FunctionCeiling::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	return executionContext.getXObjectFactory().createNumber(std::ceil(arg1->num()));
-#else
-	return executionContext.getXObjectFactory().createNumber(ceil(arg1->num()));
-#endif
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionCeiling*
-#endif
-FunctionCeiling::clone() const
-{
-	return new FunctionCeiling(*this);
-}
-
-
-
-const XalanDOMString
-FunctionCeiling::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The ceiling() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionCeiling.hpp b/src/XPath/FunctionCeiling.hpp
deleted file mode 100644
index 75c90be..0000000
--- a/src/XPath/FunctionCeiling.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONCEILING_HEADER_GUARD_1357924680)
-#define FUNCTIONCEILING_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cmath>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "ceiling" function.
- */
-class XALAN_XPATH_EXPORT FunctionCeiling : public Function
-{
-public:
-
-	FunctionCeiling();
-
-	virtual
-	~FunctionCeiling();
-	
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionCeiling*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionCeiling&
-	operator=(const FunctionCeiling&);
-
-	bool
-	operator==(const FunctionCeiling&) const;
-};
-
-
-
-#endif	// FUNCTIONCEILING_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionConcat.cpp b/src/XPath/FunctionConcat.cpp
deleted file mode 100644
index f2c5a1d..0000000
--- a/src/XPath/FunctionConcat.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionConcat.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionConcat::FunctionConcat()
-{
-}
-
-
-
-FunctionConcat::~FunctionConcat()
-{
-}
-
-
-
-XObjectPtr
-FunctionConcat::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false);	
-
-	XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-	XalanDOMString&			theString = theResult.get();
-
-	const XalanDOMString&	theArg1 = arg1->str();
-	const XalanDOMString&	theArg2 = arg2->str();
-
-	reserve(theString, length(theArg1) + length(theArg2) + 1);
-
-	append(theString, theArg1);
-	append(theString, theArg2);
-
-	return executionContext.getXObjectFactory().createString(theResult);
-}
-
-
-
-XObjectPtr
-FunctionConcat::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false && arg3.null() == false);	
-
-	XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-	XalanDOMString&			theString = theResult.get();
-
-	const XalanDOMString&	theArg1 = arg1->str();
-	const XalanDOMString&	theArg2 = arg2->str();
-	const XalanDOMString&	theArg3 = arg3->str();
-
-	reserve(theString, length(theArg1) + length(theArg2) + length(theArg3) + 1);
-
-	append(theString, theArg1);
-	append(theString, theArg2);
-	append(theString, theArg3);
-
-	return executionContext.getXObjectFactory().createString(theResult);
-}
-
-
-
-XObjectPtr
-FunctionConcat::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						/* context */,
-			const XObjectArgVectorType&		args,
-			const Locator*					/* locator */) const
-{
-	XalanDOMString::size_type	theCombinedLength = 0;
-
-	const XObjectArgVectorType::const_iterator	theEnd = args.end();
-
-	{
-		XObjectArgVectorType::const_iterator	i = args.begin();
-
-		for(; i != theEnd; ++i)
-		{
-			assert((*i).null() == false);
-
-			theCombinedLength += length((*i)->str());
-		}
-	}
-
-	XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-	XalanDOMString&		theString = theResult.get();
-
-	reserve(theString, theCombinedLength + 1);
-
-	{
-		XObjectArgVectorType::const_iterator	i = args.begin();
-
-		for(; i != theEnd; ++i)
-		{
-			append(theString, (*i)->str());
-		}
-	}
-
-	return executionContext.getXObjectFactory().createString(theResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionConcat*
-#endif
-FunctionConcat::clone() const
-{
-	return new FunctionConcat(*this);
-}
-
-
-
-const XalanDOMString
-FunctionConcat::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The concat() function takes at least two arguments!"));
-}
diff --git a/src/XPath/FunctionConcat.hpp b/src/XPath/FunctionConcat.hpp
deleted file mode 100644
index ae3dc51..0000000
--- a/src/XPath/FunctionConcat.hpp
+++ /dev/null
@@ -1,134 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONCONCAT_HEADER_GUARD_1357924680)
-#define FUNCTIONCONCAT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "concat" function.
- */
-class XALAN_XPATH_EXPORT FunctionConcat : public Function
-{
-public:
-
-	FunctionConcat();
-
-	virtual
-	~FunctionConcat();	
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-	XObjectPtr
-	execute(
-			XPathExecutionContext&		executionContext,
-			XalanNode*					context,
-			const XObjectPtr			arg1,
-			const XObjectPtr			arg2,
-			const Locator*				locator) const;
-
-	XObjectPtr
-	execute(
-			XPathExecutionContext&		executionContext,
-			XalanNode*					context,			
-			const XObjectPtr			arg1,
-			const XObjectPtr			arg2,
-			const XObjectPtr			arg3,
-			const Locator*				locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionConcat*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionConcat&
-	operator=(const FunctionConcat&);
-
-	bool
-	operator==(const FunctionConcat&) const;
-};
-
-
-
-#endif	// FUNCTIONCONCAT_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionContains.cpp b/src/XPath/FunctionContains.cpp
deleted file mode 100644
index 0ffdc16..0000000
--- a/src/XPath/FunctionContains.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionContains.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionContains::FunctionContains()
-{
-}
-
-
-
-FunctionContains::~FunctionContains()
-{
-}
-
-
-
-XObjectPtr
-FunctionContains::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false);	
-
-	const XalanDOMString&	str1 = arg1->str();
-	const XalanDOMString&	str2 = arg2->str();
-
-	bool					fResult = true;
-
-	// If str2 is empty, then don't bother to check anything.
-	if (isEmpty(str2) == false)
-	{
-		// Is str1 empty?
-		if (isEmpty(str1) == true)
-		{
-			fResult = false;
-		}
-		else
-		{
-			// OK, both strings have some data, so look for
-			// the index...
-			const XalanDOMString::size_type		theIndex = indexOf(str1, str2);
-
-			fResult = theIndex < length(str1) ? true : false;
-		}
-	}
-
-	return executionContext.getXObjectFactory().createBoolean(fResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionContains*
-#endif
-FunctionContains::clone() const
-{
-	return new FunctionContains(*this);
-}
-
-
-
-const XalanDOMString
-FunctionContains::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The contains() function takes two arguments!"));
-}
diff --git a/src/XPath/FunctionContains.hpp b/src/XPath/FunctionContains.hpp
deleted file mode 100644
index c76da22..0000000
--- a/src/XPath/FunctionContains.hpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONCONTAINS_HEADER_GUARD_1357924680)
-#define FUNCTIONCONTAINS_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "contains" function.
- */
-class XALAN_XPATH_EXPORT FunctionContains : public Function
-{
-public:
-
-	FunctionContains();
-
-	virtual
-	~FunctionContains();
-
-	// These methods are inherited from Function ...
-
-	XObjectPtr
-	execute(
-			XPathExecutionContext&		executionContext,
-			XalanNode*					context,
-			const XObjectPtr			arg1,
-			const XObjectPtr			arg2,
-			const Locator*				locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionContains*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionContains&
-	operator=(const FunctionContains&);
-
-	bool
-	operator==(const FunctionContains&) const;
-};
-
-
-
-#endif	// FUNCTIONCONTAINS_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionCount.cpp b/src/XPath/FunctionCount.cpp
deleted file mode 100644
index a06f133..0000000
--- a/src/XPath/FunctionCount.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionCount.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionCount::FunctionCount()
-{
-}
-
-
-
-FunctionCount::~FunctionCount()
-{
-}
-
-
-
-XObjectPtr
-FunctionCount::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);
-
-	const NodeRefListBase&	theNodeList = arg1->nodeset();
-
-	return executionContext.getXObjectFactory().createNumber(theNodeList.getLength());
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionCount*
-#endif
-FunctionCount::clone() const
-{
-	return new FunctionCount(*this);
-}
-
-
-
-const XalanDOMString
-FunctionCount::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The count() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionCount.hpp b/src/XPath/FunctionCount.hpp
deleted file mode 100644
index 38a94cf..0000000
--- a/src/XPath/FunctionCount.hpp
+++ /dev/null
@@ -1,117 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONCOUNT_HEADER_GUARD_1357924680)
-#define FUNCTIONCOUNT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "count" function.
- */
-class XALAN_XPATH_EXPORT FunctionCount : public Function
-{
-public:
-
-	FunctionCount();
-
-	virtual
-	~FunctionCount();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionCount*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionCount&
-	operator=(const FunctionCount&);
-
-	bool
-	operator==(const FunctionCount&) const;
-};
-
-
-
-#endif	// FUNCTIONCOUNT_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionDoc.hpp b/src/XPath/FunctionDoc.hpp
deleted file mode 100644
index 6e72d3d..0000000
--- a/src/XPath/FunctionDoc.hpp
+++ /dev/null
@@ -1,127 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONDOC_HEADER_GUARD_1357924680)
-#define FUNCTIONDOC_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-/**
- * XPath implementation of "document" function.
- */
-//
-// These are all inline, even though
-// there are virtual functions, because we expect that they will only be
-// needed by the XSLT class.
-class XALAN_XSLT_EXPORT FunctionDoc : public Function
-{
-public:
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			const DOM_Node&					context,
-			int								/* opPos */,
-			const XObjectArgVectorType&		args)
-	{
-		executionContext.error("Document() function implementation has been replaced by xslt/FunctionDocument!",
-							   context);
-
-		return executionContext.getXObjectFactory().createNull();
-	}
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionDoc*
-#endif
-	clone() const
-	{
-		return new FunctionDoc(*this);
-	}
-
-private:
-
-	// Not implemented...
-	FunctionDoc&
-	operator=(const FunctionDoc&);
-
-	bool
-	operator==(const FunctionDoc&) const;
-};
-
-
-
-#endif	// FUNCTIONDOC_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionFalse.cpp b/src/XPath/FunctionFalse.cpp
deleted file mode 100644
index a43ff74..0000000
--- a/src/XPath/FunctionFalse.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionFalse.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionFalse::FunctionFalse()
-{
-}
-
-
-
-FunctionFalse::~FunctionFalse()
-{
-}
-
-
-
-XObjectPtr
-FunctionFalse::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const Locator*			/* locator */) const
-{
-	return executionContext.getXObjectFactory().createBoolean(false);	
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionFalse*
-#endif
-FunctionFalse::clone() const
-{
-	return new FunctionFalse(*this);
-}
-
-
-
-const XalanDOMString
-FunctionFalse::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The false() function does not accept arguments!"));
-}
diff --git a/src/XPath/FunctionFalse.hpp b/src/XPath/FunctionFalse.hpp
deleted file mode 100644
index c01b588..0000000
--- a/src/XPath/FunctionFalse.hpp
+++ /dev/null
@@ -1,116 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONFALSE_HEADER_GUARD_1357924680)
-#define FUNCTIONFALSE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "false" function.
- */
-class XALAN_XPATH_EXPORT FunctionFalse : public Function
-{
-public:
-
-	FunctionFalse();
-
-	virtual
-	~FunctionFalse();	
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionFalse*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionFalse&
-	operator=(const FunctionFalse&);
-
-	bool
-	operator==(const FunctionFalse&) const;
-};
-
-
-
-#endif	// FUNCTIONFALSE_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionFloor.cpp b/src/XPath/FunctionFloor.cpp
deleted file mode 100644
index 51ab607..0000000
--- a/src/XPath/FunctionFloor.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionFloor.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionFloor::FunctionFloor()
-{
-}
-
-
-
-FunctionFloor::~FunctionFloor()
-{
-}
-
-
-
-XObjectPtr
-FunctionFloor::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{	
-	assert(arg1.null() == false);	
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	return executionContext.getXObjectFactory().createNumber(std::floor(arg1->num()));
-#else
-	return executionContext.getXObjectFactory().createNumber(floor(arg1->num()));
-#endif
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionFloor*
-#endif
-FunctionFloor::clone() const
-{
-	return new FunctionFloor(*this);
-}
-
-
-
-const XalanDOMString
-FunctionFloor::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The floor() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionFloor.hpp b/src/XPath/FunctionFloor.hpp
deleted file mode 100644
index 9d07034..0000000
--- a/src/XPath/FunctionFloor.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONFLOOR_HEADER_GUARD_1357924680)
-#define FUNCTIONFLOOR_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cmath>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "floor" function.
- */
-class XALAN_XPATH_EXPORT FunctionFloor : public Function
-{
-public:
-
-	FunctionFloor();
-
-	virtual
-	~FunctionFloor();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionFloor*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionFloor&
-	operator=(const FunctionFloor&);
-
-	bool
-	operator==(const FunctionFloor&) const;
-};
-
-
-
-#endif	// FUNCTIONFLOOR_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionID.cpp b/src/XPath/FunctionID.cpp
deleted file mode 100644
index 95c23dd..0000000
--- a/src/XPath/FunctionID.cpp
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionID.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionID::FunctionID()
-{
-}
-
-
-
-FunctionID::~FunctionID()
-{
-}
-
-
-
-XObjectPtr
-FunctionID::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false);	
-
-	if (context == 0)
-	{
-		executionContext.error(
-			"The id() function requires a non-null context node!",
-			context,
-			locator);
-	}	
-
-	// Do the callback to get the data.
-	FunctionIDXObjectTypeCallback	theCallback(executionContext);
-
-	const XalanDOMString	theResultString =
-		theCallback.processCallback(*arg1);
-
-	// Get the context document, so we can search for nodes.
-	const XalanDocument* const	theDocContext = context->getNodeType() == XalanNode::DOCUMENT_NODE ?
-#if defined(XALAN_OLD_STYLE_CASTS)
-									(const XalanDocument*)context :
-#else
-									static_cast<const XalanDocument*>(context) :
-#endif
-									context->getOwnerDocument();
-	assert(theDocContext != 0);
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	// This list will hold the nodes we find.
-
-	BorrowReturnMutableNodeRefList	theNodeList(executionContext);
-
-	// If there is no context, we cannot continue.
-	if(0 == theDocContext)
-	{
-		executionContext.error(
-			"The context node does not have an owner document!",
-			context,
-			locator);
-    }
-	else if (length(theResultString) > 0)
-	{
-#if defined(XALAN_NO_NAMESPACES)
-		typedef set<XalanDOMString, less<XalanDOMString> >	TokenSetType;
-#else
-		typedef std::set<XalanDOMString>	TokenSetType;
-#endif
-
-		// This set will hold tokens that we've previously found, so
-		// we can avoid looking more than once.
-		TokenSetType		thePreviousTokens;
-
-		StringTokenizer		theTokenizer(theResultString);
-
-		typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-		GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&				theToken = theGuard.get();
-
-		// Parse the result string...
-		while(theTokenizer.hasMoreTokens() == true)
-		{
-			theTokenizer.nextToken(theToken);
-
-			if (length(theToken) > 0)
-			{
-				// See if we've already seen this one...
-				TokenSetType::const_iterator	i =
-					thePreviousTokens.find(theToken);
-
-				if (i == thePreviousTokens.end())
-				{
-					thePreviousTokens.insert(theToken);
-
-					XalanNode* const	theNode = theDocContext->getElementById(theToken);
-
-					if (theNode != 0)
-					{
-						theNodeList->addNodeInDocOrder(theNode, executionContext);
-					}
-				}
-			}
-		}
-	}
-
-	return executionContext.getXObjectFactory().createNodeSet(theNodeList);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionID*
-#endif
-FunctionID::clone() const
-{
-	return new FunctionID(*this);
-}
-
-
-
-const XalanDOMString
-FunctionID::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The id() function takes one argument!"));
-}
-
-
-
-FunctionID::FunctionIDXObjectTypeCallback::FunctionIDXObjectTypeCallback(XPathExecutionContext&	theExecutionContext) :
-	XObjectTypeCallback(),
-	m_resultString(),
-	m_executionContext(theExecutionContext)			
-{
-}
-
-
-
-const XalanDOMString&
-FunctionID::FunctionIDXObjectTypeCallback::processCallback(const XObject&	theXObject)
-{
-	theXObject.ProcessXObjectTypeCallback(*this);
-
-	return m_resultString;
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::Number(
-			const XObject&	theXObject,
-			double			/* theValue */)
-{
-	m_resultString = theXObject.str();
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::Boolean(
-			const XObject&	theXObject,
-			bool			/* theValue */)
-{
-	m_resultString = theXObject.str();
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::String(
-			const XObject&			theXObject,
-			const XalanDOMString&	/* theValue */)
-{
-	m_resultString = theXObject.str();
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::ResultTreeFragment(
-			const XObject&				theXObject,
-			const ResultTreeFragBase&	/* theValue */)
-{
-	m_resultString = theXObject.str();
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::ResultTreeFragment(
-			const XObject&			theXObject,
-			ResultTreeFragBase&		/* theValue */)
-{
-	m_resultString = theXObject.str();
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::NodeSet(
-			const XObject&			/* theXObject */,
-			const NodeRefListBase&	theValue)
-{
-	const NodeRefListBase::size_type	theNodeCount = theValue.getLength();
-
-	for (NodeRefListBase::size_type i = 0 ; i < theNodeCount; i++)
-	{
-		DOMServices::getNodeData(*theValue.item(i), m_resultString);
-
-		append(m_resultString, XalanDOMChar(XalanUnicode::charSpace));			
-	}
-}
-
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::Unknown(
-			const XObject&			/* theObject */,
-			const XalanDOMString&	/* theName */)
-{
-}
-
-
-void
-FunctionID::FunctionIDXObjectTypeCallback::Null(const XObject&		/* theObject */)
-{
-}
diff --git a/src/XPath/FunctionID.hpp b/src/XPath/FunctionID.hpp
deleted file mode 100644
index 3b3ec48..0000000
--- a/src/XPath/FunctionID.hpp
+++ /dev/null
@@ -1,194 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONID_HEADER_GUARD_1357924680)
-#define FUNCTIONID_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <set>
-
-
-
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-// Base class header files...
-#include <XPath/Function.hpp>
-#include <XPath/XObjectTypeCallback.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/StringTokenizer.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "id" function.
- */
-class XALAN_XPATH_EXPORT FunctionID : public Function
-{
-public:
-
-	FunctionID();
-
-	virtual
-	~FunctionID();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionID*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	class FunctionIDXObjectTypeCallback : public XObjectTypeCallback
-	{
-	public:
-
-		FunctionIDXObjectTypeCallback(XPathExecutionContext&	theExecutionContext);
-
-		const XalanDOMString&
-		processCallback(const XObject&	theXObject);
-
-		// These methods are inherited from XObjectTypeCallback ...
-
-		virtual void
-		Number(
-			const XObject&	theXObject,
-			double			/* theValue */);
-
-		virtual void
-		Boolean(
-			const XObject&	theXObject,
-			bool			/* theValue */);
-
-		virtual void
-		String(
-			const XObject&			theXObject,
-			const XalanDOMString&	/* theValue */);
-
-		virtual void
-		ResultTreeFragment(
-			const XObject&				theXObject,
-			const ResultTreeFragBase&	/* theValue */);
-
-		virtual void
-		ResultTreeFragment(
-			const XObject&			theXObject,
-			ResultTreeFragBase&		/* theValue */);
-
-		virtual void
-		NodeSet(
-			const XObject&			/* theXObject */,
-			const NodeRefListBase&	theValue);
-
-		virtual void
-		Unknown(
-			const XObject&			/* theObject */,
-			const XalanDOMString&	/* theName */);
-
-		virtual void
-		Null(const XObject&		/* theObject */);
-
-	private:
-
-		XalanDOMString			m_resultString;
-
-		XPathExecutionContext&	m_executionContext;
-	};
-
-	// Not implemented...
-	FunctionID&
-	operator=(const FunctionID&);
-
-	bool
-	operator==(const FunctionID&) const;
-};
-
-
-
-#endif	// FUNCTIONID_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionLang.cpp b/src/XPath/FunctionLang.cpp
deleted file mode 100644
index 5201702..0000000
--- a/src/XPath/FunctionLang.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionLang.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionLang::FunctionLang() :
-	m_attributeName(XALAN_STATIC_UCODE_STRING("lang"))
-{
-}
-
-
-
-FunctionLang::~FunctionLang()
-{
-}
-
-
-
-XObjectPtr
-FunctionLang::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	const XalanNode*		parent = context;
-
-	bool					fMatch = false;
-
-	const XalanDOMString&	lang = arg1->str();
-
-	while(0 != parent)
-	{
-		if(XalanNode::ELEMENT_NODE == parent->getNodeType())
-		{
-			const XalanElement* const	theElementNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanElement*)parent;
-#else
-				static_cast<const XalanElement*>(parent);
-#endif
-
-			const XalanDOMString		langVal =
-				theElementNode->getAttributeNS(DOMServices::s_XMLNamespaceURI, m_attributeName);
-
-			if(0 != length(langVal))
-			{
-				if(startsWith(toLowerCaseASCII(langVal), toLowerCaseASCII(lang)))
-				{
-					const XalanDOMString::size_type		valLen = length(lang);
-
-					if(length(langVal) == valLen ||
-					   charAt(langVal, valLen) == XalanUnicode::charHyphenMinus)
-					{
-						fMatch = true;
-
-						break;
-					}
-				}
-			}
-		}
-
-		parent = DOMServices::getParentOfNode(*parent);
-	}
-
-	return executionContext.getXObjectFactory().createBoolean(fMatch);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionLang*
-#endif
-FunctionLang::clone() const
-{
-	return new FunctionLang(*this);
-}
-
-
-
-const XalanDOMString
-FunctionLang::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The lang() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionLang.hpp b/src/XPath/FunctionLang.hpp
deleted file mode 100644
index d497c43..0000000
--- a/src/XPath/FunctionLang.hpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONLANG_HEADER_GUARD_1357924680)
-#define FUNCTIONLANG_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "lang" function.
- */
-class XALAN_XPATH_EXPORT FunctionLang : public Function
-{
-public:
-
-	FunctionLang();
-
-	virtual
-	~FunctionLang();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionLang*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionLang&
-	operator=(const FunctionLang&);
-
-	bool
-	operator==(const FunctionLang&) const;
-
-	const XalanDOMString	m_attributeName;
-};
-
-
-
-#endif	// FUNCTIONLANG_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionLast.cpp b/src/XPath/FunctionLast.cpp
deleted file mode 100644
index f812885..0000000
--- a/src/XPath/FunctionLast.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionLast.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionLast::FunctionLast()
-{
-}
-
-
-
-FunctionLast::~FunctionLast()
-{
-}
-
-
-
-XObjectPtr
-FunctionLast::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const Locator*			/* locator */) const
-{
-	const NodeRefListBase::size_type	theValue = executionContext.getContextNodeListLength();
-
-	return executionContext.getXObjectFactory().createNumber(theValue);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionLast*
-#endif
-FunctionLast::clone() const
-{
-	return new FunctionLast(*this);
-}
-
-
-
-const XalanDOMString
-FunctionLast::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The last() function does not accept any arguments!"));
-}
diff --git a/src/XPath/FunctionLast.hpp b/src/XPath/FunctionLast.hpp
deleted file mode 100644
index 95ae43b..0000000
--- a/src/XPath/FunctionLast.hpp
+++ /dev/null
@@ -1,117 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONLAST_HEADER_GUARD_1357924680)
-#define FUNCTIONLAST_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "last" function.
- */
-class XALAN_XPATH_EXPORT FunctionLast : public Function
-{
-public:
-
-	
-	FunctionLast();
-
-	virtual
-	~FunctionLast();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionLast*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionLast&
-	operator=(const FunctionLast&);
-
-	bool
-	operator==(const FunctionLast&) const;
-};
-
-
-
-#endif	// FUNCTIONLAST_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionLocalName.cpp b/src/XPath/FunctionLocalName.cpp
deleted file mode 100644
index ba4e8d8..0000000
--- a/src/XPath/FunctionLocalName.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionLocalName.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionLocalName::FunctionLocalName()
-{
-}
-
-
-
-FunctionLocalName::~FunctionLocalName()
-{
-}
-
-
-
-XObjectPtr
-FunctionLocalName::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The local-name() function requires a non-null context node!",
-				context,
-				locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		return getLocalName(executionContext, *context);
-	}
-}
-
-
-
-XObjectPtr
-FunctionLocalName::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	const NodeRefListBase&	theNodeList = arg1->nodeset();
-
-	if (theNodeList.getLength() == 0)
-	{	
-		return executionContext.getXObjectFactory().createString(XalanDOMString());
-		
-	}
-	else
-	{	
-		return getLocalName(executionContext, *theNodeList.item(0));	
-	}
-}
-
-
-
-static const XalanDOMString		theEmptyString;
-
-
-
-XObjectPtr
-FunctionLocalName::getLocalName(
-		XPathExecutionContext&	executionContext,
-		const XalanNode&		node) const
-{
-	const XalanDOMString*		theResult = &theEmptyString;
-
-	const XalanNode::NodeType	theType = node.getNodeType();
-
-	if(theType == XalanNode::ELEMENT_NODE ||
-	   theType == XalanNode::PROCESSING_INSTRUCTION_NODE)
-	{
-		theResult = &DOMServices::getLocalNameOfNode(node);
-	}
-	else if (theType == XalanNode::ATTRIBUTE_NODE)
-	{
-		const XalanDOMString&	theLocalName = DOMServices::getLocalNameOfNode(node);
-
-		if (equals(theLocalName, DOMServices::s_XMLNamespace) == false)
-		{
-			theResult = &theLocalName;
-		}
-	}
-
-	assert(theResult != 0);
-
-	return executionContext.getXObjectFactory().createStringReference(*theResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionLocalName*
-#endif
-FunctionLocalName::clone() const
-{
-	return new FunctionLocalName(*this);
-}
-
-
-
-const XalanDOMString
-FunctionLocalName::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The local-name() function takes zero or one arguments!"));
-}
-
diff --git a/src/XPath/FunctionLocalName.hpp b/src/XPath/FunctionLocalName.hpp
deleted file mode 100644
index 0a33452..0000000
--- a/src/XPath/FunctionLocalName.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONLOCALNAME_HEADER_GUARD_1357924680)
-#define FUNCTIONLOCALNAME_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "local-name" function.
- */
-class XALAN_XPATH_EXPORT FunctionLocalName : public Function
-{
-public:
-
-	FunctionLocalName();
-
-	virtual
-	~FunctionLocalName();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionLocalName*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	XObjectPtr
-	getLocalName(
-		XPathExecutionContext&	executionContext,
-		const XalanNode&		node) const;
-
-	// Not implemented...
-	FunctionLocalName&
-	operator=(const FunctionLocalName&);
-
-	bool
-	operator==(const FunctionLocalName&) const;
-};
-
-
-
-#endif	// FUNCTIONLOCALNAME_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionName.cpp b/src/XPath/FunctionName.cpp
deleted file mode 100644
index 5e93c9a..0000000
--- a/src/XPath/FunctionName.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionName.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionName::FunctionName()
-{
-}
-
-
-
-FunctionName::~FunctionName()
-{
-}
-
-
-
-XObjectPtr
-FunctionName::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The name() function requires a non-null context node!",
-				context,
-				locator);
-
-		// Dummy return value...
-		return XObjectPtr();
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createStringReference(DOMServices::getNameOfNode(*context));
-	}
-}
-
-
-
-XObjectPtr
-FunctionName::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	const NodeRefListBase&	theNodeList = arg1->nodeset();
-
-	if (theNodeList.getLength() == 0)
-    {
-	    return executionContext.getXObjectFactory().createString(XalanDOMString());
-    }
-    else
-	{
-		assert(theNodeList.item(0) != 0);
-
-        const XalanDOMString&   theData = DOMServices::getNameOfNode(*theNodeList.item(0));
-
-	    return executionContext.getXObjectFactory().createStringReference(theData);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionName*
-#endif
-FunctionName::clone() const
-{
-	return new FunctionName(*this);
-}
-
-
-
-const XalanDOMString
-FunctionName::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The name() function takes zero or one arguments!"));
-}
diff --git a/src/XPath/FunctionName.hpp b/src/XPath/FunctionName.hpp
deleted file mode 100644
index df6ab99..0000000
--- a/src/XPath/FunctionName.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONNAME_HEADER_GUARD_1357924680)
-#define FUNCTIONNAME_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cassert>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "name" function.
- */
-class XALAN_XPATH_EXPORT FunctionName : public Function
-{
-public:
-
-	// These methods are inherited from Function ...
-
-	FunctionName();
-
-	virtual
-	~FunctionName();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionName*
-#endif
-	clone() const;
-	
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionName&
-	operator=(const FunctionName&);
-
-	bool
-	operator==(const FunctionName&) const;
-};
-
-
-
-#endif	// FUNCTIONNAME_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionNamespaceURI.cpp b/src/XPath/FunctionNamespaceURI.cpp
deleted file mode 100644
index 1d0e53c..0000000
--- a/src/XPath/FunctionNamespaceURI.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionNamespaceURI.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionNamespaceURI::FunctionNamespaceURI()
-{
-}
-
-
-
-FunctionNamespaceURI::~FunctionNamespaceURI()
-{
-}
-
-
-
-static const XalanDOMString		theEmptyString;
-
-
-
-XObjectPtr
-FunctionNamespaceURI::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The namespace-uri() function requires a non-null context node!",
-				context,
-				locator);
-
-		// Dummy return value...
-		return XObjectPtr(0);
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createStringReference(DOMServices::getNamespaceOfNode(*context));
-	}
-}
-
-
-
-XObjectPtr
-FunctionNamespaceURI::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false);	
-	
-	const NodeRefListBase&	theList = arg1->nodeset();
-
-	if (theList.getLength() == 0)
-	{
-		return executionContext.getXObjectFactory().createStringReference(theEmptyString);
-	}
-	else
-	{
-		assert(theList.item(0) != 0);
-
-		return execute(executionContext, theList.item(0), locator);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionNamespaceURI*
-#endif
-FunctionNamespaceURI::clone() const
-{
-	return new FunctionNamespaceURI(*this);
-}
-
-
-
-const XalanDOMString
-FunctionNamespaceURI::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The namespace-uri() function takes zero arguments or one argument!"));
-}
diff --git a/src/XPath/FunctionNamespaceURI.hpp b/src/XPath/FunctionNamespaceURI.hpp
deleted file mode 100644
index b8342eb..0000000
--- a/src/XPath/FunctionNamespaceURI.hpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONNAMESPACEURI_HEADER_GUARD_1357924680)
-#define FUNCTIONNAMESPACEURI_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "namespace-uri" function.
- */
-class XALAN_XPATH_EXPORT FunctionNamespaceURI : public Function
-{
-public:
-	
-	FunctionNamespaceURI();
-
-	virtual
-	~FunctionNamespaceURI();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionNamespaceURI*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionNamespaceURI&
-	operator=(const FunctionNamespaceURI&);
-
-	bool
-	operator==(const FunctionNamespaceURI&) const;
-};
-
-
-
-#endif	// FUNCTIONNAMESPACEURI_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionNormalizeSpace.cpp b/src/XPath/FunctionNormalizeSpace.cpp
deleted file mode 100644
index 01dbffc..0000000
--- a/src/XPath/FunctionNormalizeSpace.cpp
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "FunctionNormalizeSpace.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionNormalizeSpace::FunctionNormalizeSpace()
-{
-}
-
-
-
-FunctionNormalizeSpace::~FunctionNormalizeSpace()
-{
-}
-
-
-
-XObjectPtr
-FunctionNormalizeSpace::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The normalize-space() function requires a non-null context node!",
-				context,
-				locator);
-
-		// Dummy return value...
-		return XObjectPtr(0);
-	}
-	else
-	{
-		// The XPath standard says that if there are no arguments,
-		// the default is to turn the context node into a string value.
-		// DOMServices::getNodeData() will give us the data.
-
-		// Get a cached string...
-		XPathExecutionContext::GetAndReleaseCachedString	theData(executionContext);
-
-		XalanDOMString&		theString = theData.get();
-
-		DOMServices::getNodeData(*context, theString);
-
-		return normalize(executionContext, theString);
-	}
-}
-
-
-
-XObjectPtr
-FunctionNormalizeSpace::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-		
-	return normalize(executionContext, arg1);
-}
-
-
-
-XObjectPtr
-FunctionNormalizeSpace::normalize(
-			XPathExecutionContext&	executionContext,
-			const XalanDOMString&	theString) const
-{
-	const XalanDOMString::size_type		theStringLength = length(theString);
-
-	// A string contain the result...
-	XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-	XalanDOMString&		theNewString = theResult.get();
-	assert(length(theNewString) == 0);
-
-	// The result string can only be as large as the source string, so
-	// just reserve the space now.
-	reserve(theNewString, theStringLength);
-
-	bool	fPreviousIsSpace = false;
-
-	// OK, strip out any multiple spaces...
-	for (unsigned int i = 0; i < theStringLength; i++)
-	{
-		const XalanDOMChar	theCurrentChar = charAt(theString, i);
-
-		if (isXMLWhitespace(theCurrentChar) == true)
-		{
-			// If the previous character wasn't a space, and we've
-			// encountered some non-space characters, and it's not
-			// the last character in the string, then push the
-			// space character (not the original character).
-			if (fPreviousIsSpace == false)
-			{
-				if (length(theNewString) > 0 &&
-					i < theStringLength - 1)
-				{
-					append(theNewString, XalanDOMChar(XalanUnicode::charSpace));
-				}
-
-				fPreviousIsSpace = true;
-			}
-		}
-		else
-		{
-			append(theNewString, theCurrentChar);
-
-			fPreviousIsSpace = false;
-		}
-	}
-
-	const XalanDOMString::size_type		theNewStringLength = length(theNewString);
-
-	if (theNewStringLength == 0)
-	{
-		return executionContext.getXObjectFactory().createString(XalanDOMString());
-	}
-	else
-	{
-		// We may have a space character at end, since we don't look ahead,
-		// so removed it now...
-		if (charAt(theNewString, theNewStringLength - 1) ==
-				XalanDOMChar(XalanUnicode::charSpace))
-		{
-			theNewString.erase(theNewStringLength - 1, 1);
-		}
-
-		return executionContext.getXObjectFactory().createString(theResult);
-	}
-}
-
-
-
-XObjectPtr
-FunctionNormalizeSpace::normalize(
-			XPathExecutionContext&	executionContext,
-			const XObjectPtr&		theArg) const
-{
-	const XalanDOMString&	theString = theArg->str();
-
-	if (needsNormalization(theString) == false)
-	{
-		return theArg;
-	}
-	else
-	{
-		return normalize(executionContext, theString);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionNormalizeSpace*
-#endif
-FunctionNormalizeSpace::clone() const
-{
-	return new FunctionNormalizeSpace(*this);
-}
-
-
-
-const XalanDOMString
-FunctionNormalizeSpace::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The normalize-space() function takes zero arguments or one argument!"));
-}
-
-
-
-bool
-FunctionNormalizeSpace::needsNormalization(const XalanDOMString&	theString) const
-{
-	const XalanDOMString::size_type		theStringLength = length(theString);
-
-	bool	fNormalize = false;
-
-	bool	fPreviousIsSpace = false;
-
-	// OK, search for multiple spaces, or whitespace that is not the
-	// space character...
-	for (XalanDOMString::size_type i = 0; i < theStringLength && fNormalize == false; ++i)
-	{
-		const XalanDOMChar	theCurrentChar = charAt(theString, i);
-
-		if (isXMLWhitespace(theCurrentChar) == false)
-		{
-			fPreviousIsSpace = false;
-		}
-		else
-		{
-			if (i == 0 ||
-				i == theStringLength - 1 ||
-				theCurrentChar != XalanDOMChar(XalanUnicode::charSpace) ||
-				fPreviousIsSpace == true)
-			{
-				fNormalize = true;
-			}
-			else
-			{
-				fPreviousIsSpace = true;
-			}
-		}
-	}
-
-	return fNormalize;
-}
diff --git a/src/XPath/FunctionNormalizeSpace.hpp b/src/XPath/FunctionNormalizeSpace.hpp
deleted file mode 100644
index 75620a7..0000000
--- a/src/XPath/FunctionNormalizeSpace.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONNORMALIZE_HEADER_GUARD_1357924680)
-#define FUNCTIONNORMALIZE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "normalize-space" function.
- */
-class XALAN_XPATH_EXPORT FunctionNormalizeSpace : public Function
-{
-public:
-	
-	FunctionNormalizeSpace();
-
-	virtual
-	~FunctionNormalizeSpace();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionNormalizeSpace*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	bool
-	needsNormalization(const XalanDOMString&	theString) const;
-
-	XObjectPtr
-	normalize(
-		XPathExecutionContext&	executionContext,
-		const XalanDOMString&	theString) const;
-
-	XObjectPtr
-	normalize(
-		XPathExecutionContext&	executionContext,
-		const XObjectPtr&		theArg) const;
-
-	// Not implemented...
-	FunctionNormalizeSpace&
-	operator=(const FunctionNormalizeSpace&);
-
-	bool
-	operator==(const FunctionNormalizeSpace&) const;
-};
-
-
-
-#endif	// FUNCTIONNORMALIZE_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionNot.cpp b/src/XPath/FunctionNot.cpp
deleted file mode 100644
index 4f3d1c2..0000000
--- a/src/XPath/FunctionNot.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionNot.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionNot::FunctionNot()
-{
-}
-
-
-
-FunctionNot::~FunctionNot()
-{
-}
-
-
-
-XObjectPtr
-FunctionNot::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	return executionContext.getXObjectFactory().createBoolean(!arg1->boolean());
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionNot*
-#endif
-FunctionNot::clone() const
-{
-	return new FunctionNot(*this);
-}
-
-
-
-const XalanDOMString
-FunctionNot::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The not() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionNot.hpp b/src/XPath/FunctionNot.hpp
deleted file mode 100644
index 7cb3582..0000000
--- a/src/XPath/FunctionNot.hpp
+++ /dev/null
@@ -1,117 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONNOT_HEADER_GUARD_1357924680)
-#define FUNCTIONNOT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "not" function.
- */
-class XALAN_XPATH_EXPORT FunctionNot : public Function
-{
-public:
-
-	FunctionNot();
-
-	virtual
-	~FunctionNot();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionNot*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionNot&
-	operator=(const FunctionNot&);
-
-	bool
-	operator==(const FunctionNot&) const;
-};
-
-
-
-#endif	// FUNCTIONNOT_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionNumber.cpp b/src/XPath/FunctionNumber.cpp
deleted file mode 100644
index 7031e68..0000000
--- a/src/XPath/FunctionNumber.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionNumber.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionNumber::FunctionNumber()
-{
-}
-
-
-
-FunctionNumber::~FunctionNumber()
-{
-}
-
-
-
-XObjectPtr
-FunctionNumber::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The number() function requires a non-null context node!",
-				context,
-				locator);
-
-		// Dummy return value...
-		return XObjectPtr();
-	}
-	else
-	{
-		// The XPath standard says that if there are no arguments,
-		// the argument defaults to a node set with the context node
-		// as the only member.  The number value of a node set is the
-		// string value of the first node in the node set, converted to
-		// a number.  DOMServices::getNodeData() will give us the data.
-
-		// Get a cached string...
-		XPathExecutionContext::GetAndReleaseCachedString	theData(executionContext);
-
-		XalanDOMString&		theString = theData.get();
-
-		DOMServices::getNodeData(*context, theString);
-
-		return executionContext.getXObjectFactory().createNumber(DOMStringToDouble(theString));
-	}
-}
-
-
-
-XObjectPtr
-FunctionNumber::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	if (arg1->getType() == XObject::eTypeNumber)
-	{
-		// Since XObjects are reference counted, just return the
-		// argument.
-		return arg1;
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createNumber(arg1->num());
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionNumber*
-#endif
-FunctionNumber::clone() const
-{
-	return new FunctionNumber(*this);
-}
-
-
-
-const XalanDOMString
-FunctionNumber::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The number() function takes zero or one arguments!"));
-}
diff --git a/src/XPath/FunctionNumber.hpp b/src/XPath/FunctionNumber.hpp
deleted file mode 100644
index dcb1d7e..0000000
--- a/src/XPath/FunctionNumber.hpp
+++ /dev/null
@@ -1,127 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONNUMBER_HEADER_GUARD_1357924680)
-#define FUNCTIONNUMBER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "number" function.
- */
-class XALAN_XPATH_EXPORT FunctionNumber : public Function
-{
-public:
-	
-	FunctionNumber();
-
-	virtual
-	~FunctionNumber();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionNumber*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionNumber&
-	operator=(const FunctionNumber&);
-
-	bool
-	operator==(const FunctionNumber&) const;
-};
-
-
-
-#endif	// FUNCTIONNUMBER_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionPosition.cpp b/src/XPath/FunctionPosition.cpp
deleted file mode 100644
index 707158b..0000000
--- a/src/XPath/FunctionPosition.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionPosition.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionPosition::FunctionPosition()
-{
-}
-
-
-
-FunctionPosition::~FunctionPosition()
-{
-}
-
-
-
-XObjectPtr
-FunctionPosition::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The position() function requires a non-null context node!",
-				context,
-				locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		const NodeRefListBase::size_type	theValue = executionContext.getContextNodeListPosition(*context);
-
-		return executionContext.getXObjectFactory().createNumber(theValue);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionPosition*
-#endif
-FunctionPosition::clone() const
-{
-	return new FunctionPosition(*this);
-}
-
-
-
-const XalanDOMString
-FunctionPosition::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The position() function does not accept any arguments!"));
-}
diff --git a/src/XPath/FunctionPosition.hpp b/src/XPath/FunctionPosition.hpp
deleted file mode 100644
index 8e6453c..0000000
--- a/src/XPath/FunctionPosition.hpp
+++ /dev/null
@@ -1,116 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONPOSITION_HEADER_GUARD_1357924680)
-#define FUNCTIONPOSITION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "position" function.
- */
-class XALAN_XPATH_EXPORT FunctionPosition : public Function
-{
-public:
-
-	FunctionPosition();
-
-	virtual
-	~FunctionPosition();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-	
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionPosition*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionPosition&
-	operator=(const FunctionPosition&);
-
-	bool
-	operator==(const FunctionPosition&) const;
-};
-
-
-
-#endif	// FUNCTIONPOSITION_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionRound.cpp b/src/XPath/FunctionRound.cpp
deleted file mode 100644
index 88a035c..0000000
--- a/src/XPath/FunctionRound.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionRound.hpp"
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionRound::FunctionRound()
-{
-}
-
-
-
-FunctionRound::~FunctionRound()
-{
-}
-
-
-
-XObjectPtr
-FunctionRound::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::round(arg1->num()));
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionRound*
-#endif
-FunctionRound::clone() const
-{
-	return new FunctionRound(*this);
-}
-
-
-
-const XalanDOMString
-FunctionRound::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The round() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionRound.hpp b/src/XPath/FunctionRound.hpp
deleted file mode 100644
index 6b1fafe..0000000
--- a/src/XPath/FunctionRound.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONROUND_HEADER_GUARD_1357924680)
-#define FUNCTIONROUND_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cmath>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "round" function.
- */
-class XALAN_XPATH_EXPORT FunctionRound : public Function
-{
-public:
-
-	FunctionRound();
-
-	virtual
-	~FunctionRound();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionRound*
-#endif
-	clone() const;
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionRound&
-	operator=(const FunctionRound&);
-
-	bool
-	operator==(const FunctionRound&) const;
-};
-
-
-
-#endif	// FUNCTIONROUND_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionStartsWith.cpp b/src/XPath/FunctionStartsWith.cpp
deleted file mode 100644
index 5060a67..0000000
--- a/src/XPath/FunctionStartsWith.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionStartsWith.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionStartsWith::FunctionStartsWith()
-{
-}
-
-
-
-FunctionStartsWith::~FunctionStartsWith()
-{
-}
-
-
-
-XObjectPtr
-FunctionStartsWith::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false);	
-
-	const bool	fStartsWith = startsWith(arg1->str(), arg2->str());
-
-	return executionContext.getXObjectFactory().createBoolean(fStartsWith);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionStartsWith*
-#endif
-FunctionStartsWith::clone() const
-{
-	return new FunctionStartsWith(*this);
-}
-
-
-
-const XalanDOMString
-FunctionStartsWith::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The starts-with() function takes two arguments!"));
-}
diff --git a/src/XPath/FunctionStartsWith.hpp b/src/XPath/FunctionStartsWith.hpp
deleted file mode 100644
index 512fe57..0000000
--- a/src/XPath/FunctionStartsWith.hpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSTARTSWITH_HEADER_GUARD_1357924680)
-#define FUNCTIONSTARTSWITH_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "starts-with" function.
- */
-class XALAN_XPATH_EXPORT FunctionStartsWith : public Function
-{
-public:
-
-	FunctionStartsWith();
-
-	virtual
-	~FunctionStartsWith();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionStartsWith*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionStartsWith&
-	operator=(const FunctionStartsWith&);
-
-	bool
-	operator==(const FunctionStartsWith&) const;
-};
-
-
-
-#endif	// FUNCTIONSTARTSWITH_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionString.cpp b/src/XPath/FunctionString.cpp
deleted file mode 100644
index 066f474..0000000
--- a/src/XPath/FunctionString.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionString.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionString::FunctionString()
-{
-}
-
-
-
-FunctionString::~FunctionString()
-{
-}
-
-
-
-XObjectPtr
-FunctionString::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The string() function requires a non-null context node!",
-				context,
-				locator);
-
-		// Dummy return value...
-		return XObjectPtr();
-	}
-	else
-	{
-		// The XPath standard says that if there are no arguments,
-		// the argument defaults to a node set with the context node
-		// as the only member.  The string value of a node set is the
-		// string value of the first node in the node set.
-		// DOMServices::getNodeData() will give us the data.
-
-		// Get a cached string...
-		XPathExecutionContext::GetAndReleaseCachedString	theData(executionContext);
-
-		XalanDOMString&		theString = theData.get();
-
-		DOMServices::getNodeData(*context, theString);
-
-		return executionContext.getXObjectFactory().createString(theData);
-	}
-}
-
-
-
-XObjectPtr
-FunctionString::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);	
-
-	if (arg1->getType() == XObject::eTypeString)
-	{
-		// Since XObjects are reference counted, just return the
-		// argument.
-		return arg1;
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createStringAdapter(arg1);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionString*
-#endif
-FunctionString::clone() const
-{
-	return new FunctionString(*this);
-}
-
-
-
-const XalanDOMString
-FunctionString::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The string() function takes zero or one arguments!"));
-}
diff --git a/src/XPath/FunctionString.hpp b/src/XPath/FunctionString.hpp
deleted file mode 100644
index 5c80cd5..0000000
--- a/src/XPath/FunctionString.hpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSTRING_HEADER_GUARD_1357924680)
-#define FUNCTIONSTRING_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "string" function.
- */
-class XALAN_XPATH_EXPORT FunctionString : public Function
-{
-public:
-
-	FunctionString();
-
-	virtual
-	~FunctionString();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionString*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionString&
-	operator=(const FunctionString&);
-
-	bool
-	operator==(const FunctionString&) const;
-};
-
-
-
-#endif	// FUNCTIONSTRING_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionStringLength.cpp b/src/XPath/FunctionStringLength.cpp
deleted file mode 100644
index 7e08ca9..0000000
--- a/src/XPath/FunctionStringLength.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionStringLength.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionStringLength::FunctionStringLength()
-{
-}
-
-
-
-FunctionStringLength::~FunctionStringLength()
-{
-}
-
-
-
-XObjectPtr
-FunctionStringLength::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The string-length() function requires a non-null context node!",
-				context,
-				locator);
-
-		// Dummy return value...
-		return XObjectPtr();
-	}
-	else
-	{
-		// The XPath standard says that if there are no arguments,
-		// the argument defaults to a node set with the context node
-		// as the only member.  The string value of a node set is the
-		// string value of the first node in the node set.
-		// DOMServices::getNodeData() will give us the data.
-
-		// Get a cached string...
-		XPathExecutionContext::GetAndReleaseCachedString	theData(executionContext);
-
-		XalanDOMString&		theString = theData.get();
-
-		DOMServices::getNodeData(*context, theString);
-
-		return executionContext.getXObjectFactory().createNumber(length(theString));
-	}
-}
-
-
-
-XObjectPtr
-FunctionStringLength::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg,
-			const Locator*			/* locator */) const
-{
-	assert(arg.null() == false);	
-
-	return executionContext.getXObjectFactory().createNumber(length(arg->str()));
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionStringLength*
-#endif
-FunctionStringLength::clone() const
-{
-	return new FunctionStringLength(*this);
-}
-
-
-
-const XalanDOMString
-FunctionStringLength::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The string-length() function takes zero or one argument!"));
-}
diff --git a/src/XPath/FunctionStringLength.hpp b/src/XPath/FunctionStringLength.hpp
deleted file mode 100644
index e9af97e..0000000
--- a/src/XPath/FunctionStringLength.hpp
+++ /dev/null
@@ -1,127 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSTRINGLENGTH_HEADER_GUARD_1357924680)
-#define FUNCTIONSTRINGLENGTH_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * XPath implementation of "string-length" function.
- */
-class XALAN_XPATH_EXPORT FunctionStringLength : public Function
-{
-public:
-
-	FunctionStringLength();
-
-	virtual
-	~FunctionStringLength();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionStringLength*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionStringLength&
-	operator=(const FunctionStringLength&);
-
-	bool
-	operator==(const FunctionStringLength&) const;
-};
-
-
-
-#endif	// FUNCTIONSTRINGLENGTH_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionSubstring.cpp b/src/XPath/FunctionSubstring.cpp
deleted file mode 100644
index e854226..0000000
--- a/src/XPath/FunctionSubstring.cpp
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionSubstring.hpp"
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-const XObjectPtr		FunctionSubstring::s_nullXObjectPtr;
-
-
-
-FunctionSubstring::FunctionSubstring()
-{
-}
-
-
-
-FunctionSubstring::~FunctionSubstring()
-{
-}
-
-
-
-/*
- * Get the value for the start index (C-style, not XPath).
- */
-inline XalanDOMString::size_type
-getStartIndex(
-			double						theSecondArgValue,
-			XalanDOMString::size_type	theStringLength)
-{
-	// We always subtract 1 for C-style index, since XPath indexes from 1.
-	
-	// Anything less than, or equal to 1 is 0.
-	if (theSecondArgValue <= 1 ||
-		DoubleSupport::isNaN(theSecondArgValue) == true)
-	{
-		return 0;
-	}
-	else if (DoubleSupport::isPositiveInfinity(theSecondArgValue) == true)
-	{
-		return theStringLength;
-	}
-	else
-	{
-		return XalanDOMString::size_type(DoubleSupport::round(theSecondArgValue)) - 1;
-	}
-}
-
-
-
-/*
- * Get the length of the substring.
- */
-inline XalanDOMString::size_type
-getSubstringLength(
-			XalanDOMString::size_type	theSourceStringLength,
-			XalanDOMString::size_type	theStartIndex,
-			double						theThirdArgValue)
-{
-	// The last index must be less than theThirdArgValue.  Since it has
-	// already been rounded, subtracting 1 will do the job.
-	const XalanDOMString::size_type		theLastIndex = XalanDOMString::size_type(theThirdArgValue - 1);
-
-	if (theLastIndex >= theSourceStringLength)
-	{
-		return theSourceStringLength - theStartIndex;
-	}
-	else
-	{
-		return theLastIndex - theStartIndex;
-	}
-}
-
-
-
-/*
- * Get the total of the second and third arguments.
- */
-inline double
-getTotal(
-			XalanDOMString::size_type	theSourceStringLength,
-			double						theSecondArgValue,
-			const XObjectPtr&			arg3)
-{
-	// Total the second and third arguments.  If the third argument is
-	// missing, make it the length of the string + 1 (for XPath
-	// indexing style).
-	if (arg3.null() == true)
-	{
-		return double(theSourceStringLength + 1);
-	}
-	else
-	{
-		const double	theRoundedValue =
-			DoubleSupport::round(DoubleSupport::add(theSecondArgValue, arg3->num()));
-
-		// If there's overflow, then we should return the length of the string + 1.
-		if (DoubleSupport::isPositiveInfinity(theRoundedValue) == true)
-		{
-			return double(theSourceStringLength + 1);
-		}
-		else
-		{
-			return theRoundedValue;
-		}
-	}
-}
-
-
-
-static const XalanDOMString		theEmptyString;
-
-
-inline XObjectPtr
-createEmptyString(XPathExecutionContext&	executionContext)
-{
-	return executionContext.getXObjectFactory().createString(theEmptyString);
-}
-
-
-
-XObjectPtr
-FunctionSubstring::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false && arg2.null() == false);
-
-	return execute(executionContext, context, arg1, arg2, s_nullXObjectPtr, locator);
-}
-
-
-
-XObjectPtr
-FunctionSubstring::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false);	
-
-	const XalanDOMString&				theSourceString = arg1->str();
-	const XalanDOMString::size_type		theSourceStringLength = length(theSourceString);
-
-	if (theSourceStringLength == 0)
-	{
-		return createEmptyString(executionContext);
-	}
-	else
-	{
-		// Get the value of the second argument...
-		const double	theSecondArgValue =
-			DoubleSupport::round(arg2->num());
-
-		// XPath indexes from 1, so this is the first XPath index....
-		const XalanDOMString::size_type		theStartIndex = getStartIndex(theSecondArgValue, theSourceStringLength);
-
-		if (theStartIndex >= theSourceStringLength)
-		{
-			return createEmptyString(executionContext);
-		}
-		else
-		{
-			const double	theTotal =
-				getTotal(theSourceStringLength, theSecondArgValue, arg3);
-
-			if (DoubleSupport::isNaN(theSecondArgValue) == true ||
-				DoubleSupport::isNaN(theTotal) == true ||
-				DoubleSupport::isNegativeInfinity(theTotal) == true ||
-				theTotal == 0.0 ||
-				theTotal < double(theStartIndex))
-			{
-				return createEmptyString(executionContext);
-			}
-			else
-			{
-				const XalanDOMString::size_type		theSubstringLength =
-					getSubstringLength(
-						theSourceStringLength,
-						theStartIndex,
-						theTotal);
-
-				XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-				XalanDOMString&		theString = theResult.get();
-
-				assign(
-						theString,
-						toCharArray(theSourceString) + theStartIndex,
-						theSubstringLength);
-
-				return executionContext.getXObjectFactory().createString(theResult);
-			}
-		}
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionSubstring*
-#endif
-FunctionSubstring::clone() const
-{
-	return new FunctionSubstring(*this);
-}
-
-
-
-const XalanDOMString
-FunctionSubstring::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The substring() function takes two or three arguments!"));
-}
diff --git a/src/XPath/FunctionSubstring.hpp b/src/XPath/FunctionSubstring.hpp
deleted file mode 100644
index 125c6c5..0000000
--- a/src/XPath/FunctionSubstring.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSUBSTRING_HEADER_GUARD_1357924680)
-#define FUNCTIONSUBSTRING_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cfloat>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XPath/FunctionRound.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-/**
- * XPath implementation of "substring" function.
- */
-class XALAN_XPATH_EXPORT FunctionSubstring : public Function
-{
-public:
-
-	FunctionSubstring();
-
-	virtual
-	~FunctionSubstring();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionSubstring*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionSubstring&
-	operator=(const FunctionSubstring&);
-
-	bool
-	operator==(const FunctionSubstring&) const;
-
-	static const XObjectPtr			s_nullXObjectPtr;
-};
-
-
-
-#endif	// FUNCTIONSUBSTRING_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionSubstringAfter.cpp b/src/XPath/FunctionSubstringAfter.cpp
deleted file mode 100644
index 370127a..0000000
--- a/src/XPath/FunctionSubstringAfter.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionSubstringAfter.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionSubstringAfter::FunctionSubstringAfter()
-{
-}
-
-
-
-FunctionSubstringAfter::~FunctionSubstringAfter()
-{
-}
-
-
-
-XObjectPtr
-FunctionSubstringAfter::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false);
-
-	const XalanDOMString&				theFirstString = arg1->str();
-
-	const XalanDOMString::size_type		theFirstStringLength = length(theFirstString);
-
-	if (theFirstStringLength == 0)
-	{
-		return executionContext.getXObjectFactory().createString(XalanDOMString());
-	}
-	else
-	{
-		const XalanDOMString&	theSecondString = arg2->str();
-
-		const XalanDOMString::size_type		theIndex = indexOf(theFirstString,
-												   theSecondString);
-
-		if (theIndex == theFirstStringLength)
-		{
-			return executionContext.getXObjectFactory().createString(XalanDOMString());
-		}
-		else
-		{
-			const XalanDOMString::size_type		theSecondStringLength = length(theSecondString);
-
-			// Find the first character, which will be the offset of the index of the
-			// beginning of the second string, plus the length of the second string.
-			const XalanDOMChar* const	theFirstCharacter =
-				toCharArray(theFirstString) + theIndex + theSecondStringLength;
-
-			// The remaining length is just the opposite -- the length of the string,
-			// minus the index, minus the length of the second string.
-			const XalanDOMString::size_type		theSubstringLength =
-				theFirstStringLength  - theIndex - theSecondStringLength;
-
-			XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-			XalanDOMString&		theString = theResult.get();
-
-			assign(
-					theString,
-					theFirstCharacter,
-					theSubstringLength);
-
-			return executionContext.getXObjectFactory().createString(theResult);
-		}
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionSubstringAfter*
-#endif
-FunctionSubstringAfter::clone() const
-{
-	return new FunctionSubstringAfter(*this);
-}
-
-
-
-const XalanDOMString
-FunctionSubstringAfter::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The substring-after() function takes two arguments!"));
-}
diff --git a/src/XPath/FunctionSubstringAfter.hpp b/src/XPath/FunctionSubstringAfter.hpp
deleted file mode 100644
index 1071138..0000000
--- a/src/XPath/FunctionSubstringAfter.hpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSUBSTRINGAFTER_HEADER_GUARD_1357924680)
-#define FUNCTIONSUBSTRINGAFTER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "substring-after" function.
- */
-class XALAN_XPATH_EXPORT FunctionSubstringAfter : public Function
-{
-public:
-
-	FunctionSubstringAfter();
-
-	virtual
-	~FunctionSubstringAfter();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionSubstringAfter*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionSubstringAfter&
-	operator=(const FunctionSubstringAfter&);
-
-	bool
-	operator==(const FunctionSubstringAfter&) const;
-};
-
-
-
-#endif	// FUNCTIONSUBSTRINGAFTER_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionSubstringBefore.cpp b/src/XPath/FunctionSubstringBefore.cpp
deleted file mode 100644
index dc12935..0000000
--- a/src/XPath/FunctionSubstringBefore.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionSubstringBefore.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionSubstringBefore::FunctionSubstringBefore()
-{
-}
-
-
-
-FunctionSubstringBefore::~FunctionSubstringBefore()
-{
-}
-
-
-
-XObjectPtr
-FunctionSubstringBefore::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false);
-
-	const XalanDOMString&				theFirstString = arg1->str();
-
-	const XalanDOMString::size_type		theFirstStringLength = length(theFirstString);
-
-	if (theFirstStringLength == 0)
-	{
-		return executionContext.getXObjectFactory().createString(XalanDOMString());
-	}
-	else
-	{
-		const XalanDOMString&				theSecondString = arg2->str();
-
-		const XalanDOMString::size_type		theIndex = indexOf(theFirstString,
-												   theSecondString);
-
-		if (theIndex == theFirstStringLength)
-		{
-			return executionContext.getXObjectFactory().createString(XalanDOMString());
-		}
-		else
-		{
-			XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-			XalanDOMString&		theString = theResult.get();
-
-			assign(
-					theString,
-					toCharArray(theFirstString),
-					theIndex);
-
-			// Create a string of the appropriate length...
-			return executionContext.getXObjectFactory().createString(theResult);
-		}
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionSubstringBefore*
-#endif
-FunctionSubstringBefore::clone() const
-{
-	return new FunctionSubstringBefore(*this);
-}
-
-
-
-const XalanDOMString
-FunctionSubstringBefore::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The substring-before() function takes two arguments!"));
-}
diff --git a/src/XPath/FunctionSubstringBefore.hpp b/src/XPath/FunctionSubstringBefore.hpp
deleted file mode 100644
index bd807eb..0000000
--- a/src/XPath/FunctionSubstringBefore.hpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSUBSTRINGBEFORE_HEADER_GUARD_1357924680)
-#define FUNCTIONSUBSTRINGBEFORE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "substring-before" function.
- */
-class XALAN_XPATH_EXPORT FunctionSubstringBefore : public Function
-{
-public:
-
-	FunctionSubstringBefore();
-
-	virtual
-	~FunctionSubstringBefore();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionSubstringBefore*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionSubstringBefore&
-	operator=(const FunctionSubstringBefore&);
-
-	bool
-	operator==(const FunctionSubstringBefore&) const;
-};
-
-
-
-#endif	// FUNCTIONSUBSTRINGBEFORE_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionSum.cpp b/src/XPath/FunctionSum.cpp
deleted file mode 100644
index 21e0349..0000000
--- a/src/XPath/FunctionSum.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionSum.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionSum::FunctionSum()
-{
-}
-
-
-
-FunctionSum::~FunctionSum()
-{
-}
-
-
-
-XObjectPtr
-FunctionSum::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);
-
-	const NodeRefListBase&	nl = arg1->nodeset();
-
-	double								sum = 0.0;
-
-	const NodeRefListBase::size_type	count = nl.getLength();
-
-	XPathExecutionContext::GetAndReleaseCachedString	theData(executionContext);
-
-	XalanDOMString&		theString = theData.get();
-
-	for (NodeRefListBase::size_type i = 0; i < count; i++)
-	{
-		DOMServices::getNodeData(*nl.item(i), theString);
-
-		sum = DoubleSupport::add(sum, DoubleSupport::toDouble(theString));
-
-		clear(theString);
-	}
-
-	return executionContext.getXObjectFactory().createNumber(sum);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionSum*
-#endif
-FunctionSum::clone() const
-{
-	return new FunctionSum(*this);
-}
-
-
-
-const XalanDOMString
-FunctionSum::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The sum() function takes one argument!"));
-}
diff --git a/src/XPath/FunctionSum.hpp b/src/XPath/FunctionSum.hpp
deleted file mode 100644
index 41fd79a..0000000
--- a/src/XPath/FunctionSum.hpp
+++ /dev/null
@@ -1,122 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSUM_HEADER_GUARD_1357924680)
-#define FUNCTIONSUM_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "sum" function.
- */
-class XALAN_XPATH_EXPORT FunctionSum : public Function
-{
-public:
-
-	FunctionSum();
-
-	virtual
-	~FunctionSum();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionSum*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionSum&
-	operator=(const FunctionSum&);
-
-	bool
-	operator==(const FunctionSum&) const;
-};
-
-
-
-#endif	// FUNCTIONSUM_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionTranslate.cpp b/src/XPath/FunctionTranslate.cpp
deleted file mode 100644
index 988d5d8..0000000
--- a/src/XPath/FunctionTranslate.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionTranslate.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionTranslate::FunctionTranslate()
-{
-}
-
-
-
-FunctionTranslate::~FunctionTranslate()
-{
-}
-
-
-
-XObjectPtr
-FunctionTranslate::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false && arg2.null() == false && arg3.null() == false);
-
-	const XalanDOMString&	theFirstString = arg1->str();
-	const XalanDOMString&	theSecondString = arg2->str();
-	const XalanDOMString&	theThirdString = arg3->str();
-
-	const XalanDOMString::size_type		theFirstStringLength = length(theFirstString);
-	const XalanDOMString::size_type		theSecondStringLength = length(theSecondString);
-	const XalanDOMString::size_type		theThirdStringLength = length(theThirdString);
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMChar>		VectorType;
-#else
-	typedef std::vector<XalanDOMChar>	VectorType;
-#endif
-
-	// A string to hold the result.
-	XPathExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-	XalanDOMString&		theString = theResult.get();
-
-	// The result string can only be as large as the first string, so
-	// just reserve the space now.  Also reserve space for the
-	// terminating 0.
-	reserve(theString, theFirstStringLength + 1);
-
-	for (XalanDOMString::size_type i = 0; i < theFirstStringLength; i++)
-	{
-		const XalanDOMChar					theCurrentChar = charAt(theFirstString, i);
-
-		const XalanDOMString::size_type		theIndex = indexOf(theSecondString, theCurrentChar);
-
-		if (theIndex >= theSecondStringLength)
-		{
-			// Didn't find the character in the second string, so it
-			// is not translated.
-			append(theString, theCurrentChar);
-		}
-		else if (theIndex < theThirdStringLength)
-		{
-			// OK, there's a corresponding character in the
-			// third string, so do the translation...
-			append(theString, charAt(theThirdString, theIndex));
-		}
-		else
-		{
-			// There's no corresponding character in the
-			// third string, since it's shorter than the
-			// second string.  In this case, the character
-			// is removed from the output string, so don't
-			// do anything.
-		}
-	}
-
-	return executionContext.getXObjectFactory().createString(theResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionTranslate*
-#endif
-FunctionTranslate::clone() const
-{
-	return new FunctionTranslate(*this);
-}
-
-
-
-const XalanDOMString
-FunctionTranslate::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The translate() function takes three arguments!"));
-}
diff --git a/src/XPath/FunctionTranslate.hpp b/src/XPath/FunctionTranslate.hpp
deleted file mode 100644
index 8a60460..0000000
--- a/src/XPath/FunctionTranslate.hpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONTRANSLATE_HEADER_GUARD_1357924680)
-#define FUNCTIONTRANSLATE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "translate" function.
- */
-class XALAN_XPATH_EXPORT FunctionTranslate : public Function
-{
-public:
-
-	FunctionTranslate();
-
-	virtual
-	~FunctionTranslate();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionTranslate*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionTranslate&
-	operator=(const FunctionTranslate&);
-
-	bool
-	operator==(const FunctionTranslate&) const;
-};
-
-
-
-#endif	// FUNCTIONTRANSLATE_HEADER_GUARD_1357924680
diff --git a/src/XPath/FunctionTrue.cpp b/src/XPath/FunctionTrue.cpp
deleted file mode 100644
index e589e27..0000000
--- a/src/XPath/FunctionTrue.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionTrue.hpp"
-
-
-
-#include "XObjectFactory.hpp"
-
-
-
-FunctionTrue::FunctionTrue()
-{
-}
-
-
-
-FunctionTrue::~FunctionTrue()
-{
-}
-
-
-
-XObjectPtr
-FunctionTrue::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const Locator*			/* locator */) const
-{
-	return executionContext.getXObjectFactory().createBoolean(true);	
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionTrue*
-#endif
-FunctionTrue::clone() const
-{
-	return new FunctionTrue(*this);
-}
-
-
-
-const XalanDOMString
-FunctionTrue::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The true() function does not accept arguments!"));
-}
-
diff --git a/src/XPath/FunctionTrue.hpp b/src/XPath/FunctionTrue.hpp
deleted file mode 100644
index afd5e46..0000000
--- a/src/XPath/FunctionTrue.hpp
+++ /dev/null
@@ -1,115 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONTRUE_HEADER_GUARD_1357924680)
-#define FUNCTIONCURRENT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "true" function.
- */
-class XALAN_XPATH_EXPORT FunctionTrue : public Function
-{
-public:
-
-	FunctionTrue();
-
-	virtual
-	~FunctionTrue();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionTrue*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionTrue&
-	operator=(const FunctionTrue&);
-
-	bool
-	operator==(const FunctionTrue&) const;
-};
-
-
-#endif	// FUNCTIONTRUE_HEADER_GUARD_1357924680
diff --git a/src/XPath/MutableNodeRefList.cpp b/src/XPath/MutableNodeRefList.cpp
deleted file mode 100644
index fff8478..0000000
--- a/src/XPath/MutableNodeRefList.cpp
+++ /dev/null
@@ -1,713 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "MutableNodeRefList.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-#include <functional>
-
-
-
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-#include "XPathExecutionContext.hpp"
-
-
-
-MutableNodeRefList::MutableNodeRefList() :
-	NodeRefList(),
-	m_order(eUnknownOrder)
-{
-}
-
-
-
-MutableNodeRefList::MutableNodeRefList(const MutableNodeRefList&	theSource) :
-	NodeRefList(theSource),
-	m_order(theSource.m_order)
-{
-}
-
-
-
-MutableNodeRefList::MutableNodeRefList(const NodeRefListBase&	theSource) :
-	NodeRefList(theSource),
-	m_order(eUnknownOrder)
-{
-}
-
-
-	
-MutableNodeRefList::~MutableNodeRefList()
-{
-}
-
-
-
-MutableNodeRefList&
-MutableNodeRefList::operator=(const MutableNodeRefList&		theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Chain up...
-		NodeRefList::operator=(theRHS);
-
-		m_order = theRHS.m_order;
-	}
-
-	return *this;
-}
-
-
-
-MutableNodeRefList&
-MutableNodeRefList::operator=(const NodeRefList&		theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Chain up...
-		NodeRefList::operator=(theRHS);
-
-		m_order = eUnknownOrder;
-	}
-
-	return *this;
-}
-
-
-
-MutableNodeRefList&
-MutableNodeRefList::operator=(const NodeRefListBase&	theRHS)
-{
-	if (this != &theRHS)
-	{
-		// Chain up...
-		NodeRefList::operator=(theRHS);
-
-		m_order = eUnknownOrder;
-	}
-
-	return *this;
-}
-
-
-
-MutableNodeRefList&
-MutableNodeRefList::operator=(const XalanNodeList*	theRHS)
-{
-	clear();
-
-	if (theRHS != 0)
-	{
-		addNodes(*theRHS);
-	}
-
-	return *this;
-}
-
-
-
-void
-MutableNodeRefList::addNode(XalanNode*	n)
-{
-	if (n != 0)
-	{
-		m_nodeList.push_back(n);
-	}
-}
-
-
-
-void
-MutableNodeRefList::insertNode(
-			XalanNode*	n,
-			size_type	pos)
-{
- 	assert(m_nodeList.size() >= pos);
-
-	if (n != 0)
-	{
-		m_nodeList.insert(m_nodeList.begin() + pos, n);
-	}
-}
-
-
-
-void
-MutableNodeRefList::removeNode(const XalanNode*		n)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	NodeListVectorType::iterator	i =
-		find(m_nodeList.begin(),
-			 m_nodeList.end(),
-			 n);
-
-	if (i != m_nodeList.end())
-	{
-		m_nodeList.erase(i);
-	}
-}
-
-
-
-void
-MutableNodeRefList::removeNode(size_type	pos)
-{
-	assert(pos < m_nodeList.size());
-
-	m_nodeList.erase(m_nodeList.begin() + pos);
-}
-
-
-
-void
-MutableNodeRefList::clear()
-{
-	m_nodeList.clear();
-
-	m_order = eUnknownOrder;
-}
-
-
-
-void
-MutableNodeRefList::setNode(
-			size_type	pos,
-			XalanNode*	theNode)
-{
-	assert(pos < m_nodeList.size());
-
-	m_nodeList[pos] = theNode;
-}
-
-
-
-void
-MutableNodeRefList::addNodes(const XalanNodeList&	nodelist)
-{
-	const size_type		theLength = nodelist.getLength();
-
-	for (size_type i = 0; i < theLength; i++)
-	{
-		assert(unsigned(i) == i);
-
-		XalanNode* const	theNode = nodelist.item(unsigned(i));
-
-		if (theNode != 0)
-		{
-
-			m_nodeList.push_back(theNode);
-		}
-	}
-}
-
-
-
-void
-MutableNodeRefList::addNodes(const NodeRefListBase&		nodelist)
-{
-	const size_type	theLength = nodelist.getLength();
-
-	for (size_type i = 0; i < theLength; i++)
-	{
-		XalanNode* const	theNode = nodelist.item(i);
-
-		if (theNode != 0)
-		{
-
-			m_nodeList.push_back(theNode);
-		}
-	}
-}
-
-
-
-void
-MutableNodeRefList::addNodesInDocOrder(
-			const XalanNodeList&	nodelist,
-			XPathExecutionContext&	executionContext)
-{
-	const unsigned int	theOtherLength = nodelist.getLength();
-
-	for(unsigned int i = 0; i < theOtherLength; i++)
-	{
-		addNodeInDocOrder(nodelist.item(i), executionContext);
-	}
-}
-
-
-
-void
-MutableNodeRefList::addNodesInDocOrder(
-			const NodeRefListBase&	nodelist,
-			XPathExecutionContext&	executionContext)
-{
-	const size_type		theOtherLength = nodelist.getLength();
-
-	for(size_type i = 0; i < theOtherLength; i++)
-	{
-		addNodeInDocOrder(nodelist.item(i), executionContext);
-	}
-}
-
-
-
-void
-MutableNodeRefList::addNodesInDocOrder(
-			const MutableNodeRefList&	nodelist,
-			XPathExecutionContext&		executionContext)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::back_inserter;
-	using std::copy;
-	using std::for_each;
-#endif
-
-	const eOrder		theOtherOrder = nodelist.m_order;
-
-	if (theOtherOrder == eUnknownOrder)
-	{
-		for_each(
-			nodelist.m_nodeList.begin(),
-			nodelist.m_nodeList.end(),
-			addNodeInDocOrderFunctor(*this, executionContext));
-	}
-	else if (theOtherOrder == eDocumentOrder)
-	{
-		if (m_nodeList.empty() == true)
-		{
-			m_nodeList = nodelist.m_nodeList;
-		}
-		else
-		{
-			for_each(
-				nodelist.m_nodeList.begin(),
-				nodelist.m_nodeList.end(),
-				addNodeInDocOrderFunctor(*this, executionContext));
-		}
-	}
-	else
-	{
-		assert(theOtherOrder == eReverseDocumentOrder);
-
-		if (m_nodeList.empty() == true)
-		{
-			copy(
-				nodelist.m_nodeList.rbegin(),
-				nodelist.m_nodeList.rend(),
-				back_inserter(m_nodeList));
-		}
-		else
-		{
-			for_each(
-				nodelist.m_nodeList.rbegin(),
-				nodelist.m_nodeList.rend(),
-				addNodeInDocOrderFunctor(*this, executionContext));
-		}
-	}
-}
-
-
-
-bool
-findInsertionPointBinarySearch(
-			XalanNode*									node,
-			MutableNodeRefList::NodeListIteratorType	begin,
-			MutableNodeRefList::NodeListIteratorType	end,
-			MutableNodeRefList::NodeListIteratorType&	insertionPoint)
-{
-	assert(node != 0);
-	assert(node->getNodeType() == XalanNode::DOCUMENT_NODE ||
-		   (node->getOwnerDocument() != 0 && node->getOwnerDocument()->isIndexed() == true));
-
-	bool	fInsert = true;
-
-	// At this point, we are guaranteed that the range is only for this
-	// document, and that the range is indexed...
-	const unsigned long		theIndex = node->getIndex();
-
-	typedef MutableNodeRefList::NodeListIteratorType	NodeListIteratorType;
-
-	// End points to one past the last valid point,
-	// so subtract 1.
-	NodeListIteratorType	last(end - 1);
-	assert(*last != 0);
-
-	// Do a quick check to see if we just need to append...
-	if ((*last)->getIndex() < theIndex)
-	{
-		insertionPoint = end;
-	}
-	else
-	{
-		// Do a binary search for the insertion point...
-		NodeListIteratorType	first(begin);
-		NodeListIteratorType	current(end);
-
-		unsigned long			theCurrentIndex = 0;
-
-		while (first <= last)
-		{
-			current = first + (last - first) / 2;
-			assert(*current != 0);
-
-			theCurrentIndex = (*current)->getIndex();
-
-			if (theIndex < theCurrentIndex)
-			{
-				last = current - 1;
-			}
-			else if (theIndex > theCurrentIndex)
-			{
-				first = current + 1;
-			}
-			else if (theIndex == theCurrentIndex)
-			{
-				// Duplicate, don't insert...
-				fInsert = false;
-
-				break;
-			}
-		}
-
-		if (theIndex != theCurrentIndex)
-		{
-			if (current == end || first == end)
-			{
-				// We either didn't search, or we're
-				// at the end...
-				insertionPoint = end;
-			}
-			else if (theCurrentIndex < theIndex)
-			{
-				// We're inserting after the current position...
-				assert((*current)->getIndex() < theIndex &&
-					   (current + 1 == end || (*(current + 1))->getIndex() > theIndex));
-
-				insertionPoint = current + 1;
-			}
-			else
-			{
-				// We're inserting before the current position...
-				assert(theCurrentIndex > theIndex);
-				assert((*current)->getIndex() > theIndex &&
-					   (current == begin || (*(current))->getIndex() > theIndex));
-
-				insertionPoint = current;
-			}
-		}
-	}
-
-	return fInsert;
-}
-
-
-
-template<class PredicateType>
-bool
-findInsertionPointLinearSearch(
-			XalanNode*									node,
-			MutableNodeRefList::NodeListIteratorType	begin,
-			MutableNodeRefList::NodeListIteratorType	end,
-			MutableNodeRefList::NodeListIteratorType&	insertionPoint,
-			const PredicateType							isNodeAfterPredicate)
-{
-	assert(node != 0);
-
-	bool	fInsert = true;
-
-	typedef MutableNodeRefList::NodeListIteratorType	NodeListIteratorType;
-
-	NodeListIteratorType	current(begin);
-
-	// Loop, looking for the node, or for a
-	// node that's before the one we're adding...
-	while(current != end)
-	{
-		const XalanNode*	child = *current;
-		assert(child != 0);
-
-		if(child == node)
-		{
-			// Duplicate, don't insert...
-			fInsert = false;
-
-			break;
-		}
-		else if (isNodeAfterPredicate(*node, *child) == false)
-		{
-			// We found the insertion point...
-			break;
-		}
-		else
-		{
-			++current;
-		}
-	}
-
-	insertionPoint = current;
-
-	return fInsert;
-}
-
-
-
-struct DocumentPredicate
-{
-	bool
-	operator()(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-	{
-		// Always order a document node, or a node from another
-		// document after another node...
-		return node1.getNodeType() == XalanNode::DOCUMENT_NODE &&
-			   node2.getNodeType() == XalanNode::DOCUMENT_NODE ? true :
-					node1.getOwnerDocument() != node2.getOwnerDocument() ? true : false;
-	}
-};
-
-
-
-struct IndexPredicate
-{
-	bool
-	operator()(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-	{
-		assert(node1.getOwnerDocument() == node2.getOwnerDocument());
-
-		return m_documentPredicate(node1, node2) == true ? true : node1.getIndex() > node2.getIndex() ? true : false;
-	}
-
-	DocumentPredicate	m_documentPredicate;
-};
-
-
-
-
-struct ExecutionContextPredicate
-{
-	ExecutionContextPredicate(XPathExecutionContext&	executionContext) :
-		m_executionContext(executionContext)
-	{
-	}
-
-	bool
-	operator()(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-	{
-		if (m_documentPredicate(node1, node2) == true)
-		{
-			return true;
-		}
-		else
-		{
-			assert(node1.getOwnerDocument() == node2.getOwnerDocument());
-			assert(node1.getNodeType() != XalanNode::DOCUMENT_NODE &&
-				   node2.getNodeType() != XalanNode::DOCUMENT_NODE);
-
-			return  m_executionContext.isNodeAfter(node1, node2);
-		}
-	}
-
-	XPathExecutionContext&	m_executionContext;
-
-	DocumentPredicate		m_documentPredicate;
-};
-
-
-
-
-void
-MutableNodeRefList::addNodeInDocOrder(
-			XalanNode*				node,
-			XPathExecutionContext&	executionContext)
-{
-	if (node != 0)
-	{
-		const size_type		size = m_nodeList.size();
-
-		if (size == 0)
-		{
-			addNode(node);
-		}
-		else
-		{
-			assert(m_nodeList[0] != 0);
-
-			// Do some quick optimizations, since we tend to append
-			// the same node a lot.
-			const XalanNode* const	theLastNode = m_nodeList.back();
-			assert(theLastNode != 0);
-
-			// Is it a duplicate?
-			if (theLastNode != node)
-			{
-				bool					fInsert = false;
-
-				NodeListIteratorType	insertionPoint;
-
-				const XalanNode* const	theFirstNode = m_nodeList.front();
-				assert(theFirstNode != 0);
-
-				// Normalize so that if we have a document node, it owns
-				// itself, which is not how DOM works...
-				const XalanNode* const	theFirstNodeOwner =
-					theFirstNode->getNodeType() == XalanNode::DOCUMENT_NODE ?
-							theFirstNode : theFirstNode->getOwnerDocument();
-				assert(theFirstNodeOwner != 0);
-
-				if (node->isIndexed() == true &&
-					node->getOwnerDocument() == theFirstNodeOwner)
-				{
-					// If it's indexed, then see if the entire list consists of
-					// nodes from the same document.
-					// Normalize so that if we have a document node, it owns
-					// itself, which is not how DOM works...
-					const XalanNode* const	theLastNodeOwner =
-						theLastNode->getNodeType() == XalanNode::DOCUMENT_NODE ?
-								theLastNode : theLastNode->getOwnerDocument();
-					assert(theLastNodeOwner != 0);
-
-					// If the owner document is 0, then it's a document node, so there's not
-					// much we can do except a linear search...
-					if (theFirstNodeOwner == theLastNodeOwner)
-					{
-						fInsert =
-							findInsertionPointBinarySearch(
-									node,
-									m_nodeList.begin(),
-									m_nodeList.end(),
-									insertionPoint);
-					}
-					else
-					{
-						fInsert =
-							findInsertionPointLinearSearch(
-									node,
-									m_nodeList.begin(),
-									m_nodeList.end(),
-									insertionPoint,
-									IndexPredicate());
-					}
-				}
-				else
-				{
-					fInsert =
-							findInsertionPointLinearSearch(
-									node,
-									m_nodeList.begin(),
-									m_nodeList.end(),
-									insertionPoint,
-									ExecutionContextPredicate(executionContext));
-				}
-
-				if (fInsert == true)
-				{
-					m_nodeList.insert(insertionPoint, node);
-				}
-			}
-		}
-	}
-}
-
-
-
-void
-MutableNodeRefList::clearNulls()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::remove;
-#endif
-
-	m_nodeList.erase(
-		remove(
-			m_nodeList.begin(),
-			m_nodeList.end(), 
-			NodeListVectorType::value_type(0)),
-		m_nodeList.end());
-
-	assert(checkForDuplicates() == false);
-}
-
-
-
-void
-MutableNodeRefList::reverse()
-{
-#if defined(XALAN_NO_NAMESPACES)
-	::reverse(
-#else
-	std::reverse(
-#endif
-		m_nodeList.begin(),
-		m_nodeList.end());
-}
diff --git a/src/XPath/MutableNodeRefList.hpp b/src/XPath/MutableNodeRefList.hpp
deleted file mode 100644
index 231e76e..0000000
--- a/src/XPath/MutableNodeRefList.hpp
+++ /dev/null
@@ -1,353 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(MUTABLENODEREFLIST_HEADER_GUARD_1357924680)
-#define MUTABLENODEREFLIST_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/NodeRefList.hpp>
-
-
-
-class XPathExecutionContext;
-class XalanDocument;
-class XalanNodeList;
-
-
-
-/**
- * Local implementation of MutableNodeRefList.  This class is for internal use
- * only.
- */
-class XALAN_XPATH_EXPORT MutableNodeRefList : public NodeRefList
-{
-public:
-
-	/**
-	 * Construct an empty mutable node list.
-	 */
-	explicit
-	MutableNodeRefList();
-
-	/**
-	 * Construct a mutable node list from another list.
-	 * 
-	 * @param theSource source list
-	 */
-	MutableNodeRefList(const MutableNodeRefList&	theSource);
-
-	/**
-	 * Construct a mutable node list from another list.
-	 * 
-	 * @param theSource  source list
-	 */
-	explicit
-	MutableNodeRefList(const NodeRefListBase&	theSource);
-
-	virtual
-	~MutableNodeRefList();
-
-	MutableNodeRefList&
-	operator=(const MutableNodeRefList&		theRHS);
-
-	MutableNodeRefList&
-	operator=(const NodeRefList&		theRHS);
-
-	MutableNodeRefList&
-	operator=(const NodeRefListBase&	theRHS);
-
-	MutableNodeRefList&
-	operator=(const XalanNodeList*	theRHS);
-
-	/**
-	 * Add a node at to the list.
-	 * 
-	 * @param n node to add
-	 */
-	void
-	addNode(XalanNode*	n);
-
-	/**
-	 * Insert a node at a given position.
-	 * 
-	 * @param n   node to insert
-	 * @param pos position of insertion
-	 */
-	void
-	insertNode(
-			XalanNode*	n,
-			size_type	pos);
-
-	/**
-	 * Remove a node from the list.
-	 * 
-	 * @param n   node to insert
-	 */
-	void
-	removeNode(const XalanNode*		n);
-
-	/**
-	 * Remove a node from the list.
-	 * 
-	 * @param pos position of node in list
-	 */
-	void
-	removeNode(size_type	pos);
-
-	/**
-	 * Remove all nodes.
-	 */
-	void
-	clear();
-
-	/**
-	 * Set a item.
-	 * 
-	 * @param pos position of node to modify
-	 * @param n   node to insert, default is empty node
-	 */
-	void
-	setNode(
-			size_type	pos,
-			XalanNode*	n = 0);
-
-	/**
-	 * Copy NodeList members into this nodelist, adding in document order.  If
-	 * a node is null, don't add it.
-	 * 
-	 * @param nodelist node list to add
-	 */
-	void
-	addNodes(const XalanNodeList&	nodelist);
-
-	/**
-	 * Copy NodeList members into this nodelist, adding in document order.  If
-	 * a node is null, don't add it.
-	 * 
-	 * @param nodelist node list to add
-	 */
-	void
-	addNodes(const NodeRefListBase&		nodelist);
-
-	/**
-	 * Copy NodeList members into this nodelist, adding in document order.
-	 * 
-	 * @param nodelist node list to add
-	 * @param executionContext the current execution context
-	 */
-	void
-	addNodesInDocOrder(
-			const XalanNodeList&	nodelist,
-			XPathExecutionContext&	executionContext);
-  
-	/**
-	 * Copy NodeList members into this nodelist, adding in document order.
-	 * 
-	 * @param nodelist node list to add
-	 * @param executionContext the current execution context
-	 */
-	void
-	addNodesInDocOrder(
-			const NodeRefListBase&	nodelist,
-			XPathExecutionContext&	executionContext);
-
-	/**
-	 * Copy NodeList members into this nodelist, adding in document order.
-	 * 
-	 * @param nodelist node list to add
-	 * @param executionContext the current execution context
-	 */
-	void
-	addNodesInDocOrder(
-			const MutableNodeRefList&	nodelist,
-			XPathExecutionContext&		executionContext);
-  
-	/**
-	 * Add a node into list where it should occur in document order.
-	 *
-	 * @param node node object to add
-	 * @param executionContext the current execution context
-	 */
-	void
-	addNodeInDocOrder(
-			XalanNode*				node,
-			XPathExecutionContext&	executionContext);
-
-	/**
-	 * Clear any null entries in the node list.
-	 */
-	void
-	clearNulls();
-
-	/**
-	 * Reverse the nodes in the list.
-	 */
-	void
-	reverse();
-
-	/**
-	 * Reserve space for the supplied number of nodes.
-	 * This is taken as an optimization, and may be
-	 * ignored.  You might want to call this when you
-	 * know the number of nodes you're about to add to
-	 * this list.
-	 *
-	 * Remember to take into account the current size of
-	 * the list when calling this.  That means you will
-	 * probably want to add the result of getLength() to
-	 * the number of nodes you're planning to add.
-	 *
-	 * @param theCount the number of nodes to reserve space for
-	 */
-	void
-	reserve(size_type	theCount)
-	{
-		m_nodeList.reserve(theCount);
-	}
-
-	/**
-	 * See if the order of the nodes is an unknown order.
-	 */
-	bool
-	getUnknownOrder() const
-	{
-		return m_order == eUnknownOrder ? true : false;
-	}
-
-	/**
-	 * See if the order of the nodes is document order.
-	 */
-	bool
-	getDocumentOrder() const
-	{
-		return m_order == eDocumentOrder ? true : false;
-	}
-
-	/**
-	 * Set the known order of the nodes.  This should
-	 * only be done when the order is known. Otherwise,
-	 * disaster will ensue.
-	 */
-	void
-	setDocumentOrder()
-	{
-		m_order = eDocumentOrder;
-	}
-
-	/**
-	 * See if the order of the nodes is reverse document order.
-	 */
-	bool
-	getReverseDocumentOrder() const
-	{
-		return m_order == eReverseDocumentOrder ? true : false;
-	}
-
-	/**
-	 * Set the known order of the nodes.  This should
-	 * only be done when the order is known. Otherwise,
-	 * disaster will ensue.
-	 */
-	void
-	setReverseDocumentOrder()
-	{
-		m_order = eReverseDocumentOrder;
-	}
-
-	typedef NodeListVectorType::iterator	NodeListIteratorType;
-
-	class addNodeInDocOrderFunctor
-	{
-	public:
-
-		addNodeInDocOrderFunctor(
-				MutableNodeRefList&		theList,
-				XPathExecutionContext&	theExecutionContext) :
-			m_list(theList),
-			m_executionContext(theExecutionContext)
-		{
-		}
-
-		void
-		operator()(XalanNode*	theNode) const
-		{
-			m_list.addNodeInDocOrder(theNode, m_executionContext);
-		}
-
-	private:
-
-		MutableNodeRefList&		m_list;
-
-		XPathExecutionContext&	m_executionContext;
-	};
-
-private:
-
-	// An enum to determine what the order of the nodes is...
-	enum eOrder { eUnknownOrder, eDocumentOrder, eReverseDocumentOrder };
-
-	eOrder	m_order;
-};
-
-
-
-#endif	// MUTABLENODEREFLIST_HEADER_GUARD_1357924680
diff --git a/src/XPath/NameSpace.hpp b/src/XPath/NameSpace.hpp
deleted file mode 100644
index 43ba078..0000000
--- a/src/XPath/NameSpace.hpp
+++ /dev/null
@@ -1,171 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NAMESPACE_HEADER_GUARD_1357924680)
-#define NAMESPACE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-/**
- * A representation of a namespace.  One of these will be pushed on the
- * namespace stack for each element.
- */
-class XALAN_XPATH_EXPORT NameSpace
-{
-public:
-
-	explicit
-	NameSpace() :
-		m_prefix(),
-		m_uri()
-	{
-	}
-
-	/**
-	 * Construct a namespace for placement on the 
-	 * result tree namespace stack.
-	 *
-	 * @param prefix namespace prefix
-	 * @param uri    URI of namespace
-	 */
-	NameSpace(
-			const XalanDOMString&	prefix,
-			const XalanDOMString&	uri) :
-		m_prefix(prefix),
-		m_uri(uri)
-	{
-	}
-
-	~NameSpace()
-	{
-	}
-
-	/**
-	 * Retrieve the prefix for namespace
-	 * 
-	 * @return prefix string
-	 */
-	const XalanDOMString&
-	getPrefix() const
-	{
-		return m_prefix;
-	}
-
-	/**
-	 * Set the prefix for namespace
-	 * 
-	 * @param prefix The new prefix value
-	 */
-	void
-	setPrefix(const XalanDOMString&		prefix)
-	{
-		m_prefix = prefix;
-	}
-
-	/**
-	 * Retrieve the URI for namespace
-	 * 
-	 * @return URI string
-	 */
-	const XalanDOMString&
-	getURI() const
-	{
-		return m_uri;
-	}
-
-	/**
-	 * Set the URI for namespace
-	 * 
-	 * @param uri The new uri value
-	 */
-	void
-	setURI(const XalanDOMString&	uri)
-	{
-		m_uri = uri;
-	}
-
-	/**
-	 * Equality operator, necessary because DOMString::==()
-	 * has screwy semantics.
-	 *
-	 * @param theRHS namespace to compare
-	 */
-	bool
-	operator==(const NameSpace&		theRHS) const
-	{
-		return equals(m_prefix, theRHS.m_prefix) &&
-			   equals(m_uri, theRHS.m_uri);
-	}	
-
-private:
-
-	XalanDOMString	m_prefix;
-
-	XalanDOMString	m_uri; // if length is 0, then Element namespace is empty.
-};
-
-
-
-#endif	// NAMESPACE_HEADER_GUARD_1357924680
diff --git a/src/XPath/NodeListImplSurrogate.cpp b/src/XPath/NodeListImplSurrogate.cpp
deleted file mode 100644
index 885f2df..0000000
--- a/src/XPath/NodeListImplSurrogate.cpp
+++ /dev/null
@@ -1,97 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "NodeListImplSurrogate.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include "NodeRefListBase.hpp"
-
-
-
-NodeListImplSurrogate::NodeListImplSurrogate(NodeRefListBase&	theNodeRefList) :
-	XalanNodeList(),
-	m_nodeRefList(theNodeRefList)
-{
-}
-
-
-
-NodeListImplSurrogate::~NodeListImplSurrogate()
-{
-}
-
-
-
-XalanNode*
-NodeListImplSurrogate::item(unsigned int	index) const
-{
-	assert(index < getLength());
-
-	return m_nodeRefList.item(index);
-}
-
-
-
-unsigned int
-NodeListImplSurrogate::getLength() const
-{
-	return m_nodeRefList.getLength();
-}
diff --git a/src/XPath/NodeListImplSurrogate.hpp b/src/XPath/NodeListImplSurrogate.hpp
deleted file mode 100644
index 7195f4b..0000000
--- a/src/XPath/NodeListImplSurrogate.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NODELISTIMPLSURROGATE_HEADER_GUARD_1357924680)
-#define NODELISTIMPLSURROGATE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-class NodeRefListBase;
-
-
-
-class XALAN_XPATH_EXPORT NodeListImplSurrogate : public XalanNodeList
-{
-public:
-
-	/**
-	 * Construct a surrogate object from a node list
-	 *
-	 * @param theNodeRefList source node list
-	 */
-	NodeListImplSurrogate(NodeRefListBase&	theNodeRefList);
-
-	virtual
-	~NodeListImplSurrogate();
-
-	// These interfaces are inherited from XalanNodeList...
-
-    virtual XalanNode*
-	item(unsigned int	index) const;
-
-    virtual unsigned int
-	getLength() const;
-
-private:
-
-	NodeRefListBase&	m_nodeRefList;
-};
-
-
-
-#endif	// NODELISTIMPLSURROGATE_HEADER_GUARD_1357924680
diff --git a/src/XPath/NodeRefList.cpp b/src/XPath/NodeRefList.cpp
deleted file mode 100644
index cf83b48..0000000
--- a/src/XPath/NodeRefList.cpp
+++ /dev/null
@@ -1,221 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "NodeRefList.hpp"
-
-
-
-#include <cassert>
-#include <algorithm>
-
-#if !defined(NDEBUG)
-#include <set>
-#endif
-
-
-
-NodeRefList::NodeRefList() :
-	NodeRefListBase(),
-	m_nodeList()
-{
-}
-
-
-
-NodeRefList::NodeRefList(const NodeRefList&		theSource) :
-	NodeRefListBase(theSource),
-	m_nodeList(theSource.m_nodeList)
-{
-}
-
-
-
-NodeRefList::NodeRefList(const NodeRefListBase&		theSource) :
-	NodeRefListBase(theSource),
-	m_nodeList()
-{
-	*this = theSource;
-}
-
-
-
-NodeRefList::~NodeRefList()
-{
-}
-
-
-
-NodeRefList&
-NodeRefList::operator=(const NodeRefListBase&	theRHS)
-{
-	if (&theRHS != this)
-	{
-		m_nodeList.clear();
-
-		const size_type		theLength = theRHS.getLength();
-
-		m_nodeList.reserve(theLength);
-
-		for(size_type i = 0; i < theLength; i++)
-		{
-			XalanNode* const	theNode = theRHS.item(i);
-
-			if (theNode != 0)
-			{
-				m_nodeList.push_back(theNode);
-			}
-		}
-
-		// Chain up...
-		NodeRefListBase::operator=(theRHS);
-	}
-
-	return *this;
-}
-
-
-
-NodeRefList&
-NodeRefList::operator=(const NodeRefList&	theRHS)
-{
-	if (&theRHS != this)
-	{
-		m_nodeList = theRHS.m_nodeList;
-
-		// Chain up...
-		NodeRefListBase::operator=(theRHS);
-	}
-
-	return *this;
-}
-
-
-
-XalanNode*
-NodeRefList::item(size_type		index) const
-{
-	assert(index < m_nodeList.size());
-
-	return m_nodeList[index];
-}
-
-
-
-NodeRefList::size_type
-NodeRefList::getLength() const
-{
-	return m_nodeList.size();
-}
-
-
-
-NodeRefList::size_type
-NodeRefList::indexOf(const XalanNode*	theNode) const
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	// Look for the node in the list.
-	NodeListVectorType::const_iterator	i =
-		find(m_nodeList.begin(),
-			 m_nodeList.end(),
-			 theNode);
-
-	// If not found, return npos.  Otherwise, subtract the iterator
-	// from the first iterator to get the distance between them.
-	return i == m_nodeList.end() ? npos : i - m_nodeList.begin();
-}
-
-
-
-#if !defined(NDEBUG)
-bool
-NodeRefList::checkForDuplicates() const
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef set<const XalanNode*, less<const XalanNode*> >	NodeSetType;
-#else
-	typedef std::set<const XalanNode*>	NodeSetType;
-#endif
-
-	bool	fResult = false;
-
-	const size_type		theLength = getLength();
-
-	if (theLength > 0)
-	{
-		NodeSetType		theNodes;
-
-		for (size_type i = 0; i < theLength && fResult == false; ++i)
-		{
-			const XalanNode* const	theNode = item(i);
-
-			if (theNodes.find(theNode) != theNodes.end())
-			{
-				fResult = true;
-			}
-			else
-			{
-				theNodes.insert(theNode);
-			}
-		}
-	}
-
-	return fResult;
-}
-#endif
diff --git a/src/XPath/NodeRefList.hpp b/src/XPath/NodeRefList.hpp
deleted file mode 100644
index 66628d5..0000000
--- a/src/XPath/NodeRefList.hpp
+++ /dev/null
@@ -1,158 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NODEREFLIST_HEADER_GUARD_1357924680)
-#define NODEREFLIST_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-/**
- * Local implementation of NodeRefList.  This class is for internal use only.
- */
-class XALAN_XPATH_EXPORT NodeRefList : public NodeRefListBase
-{
-public:
-
-	explicit
-	NodeRefList();
-
-	/**
-	 * Construct a node list from another
-	 *
-	 * @param theSource source node list
-	 */
-	NodeRefList(const NodeRefList&	theSource);
-
-	/**
-	 * Construct a node list from another
-	 *
-	 * @param theSource source node list
-	 */
-	explicit
-	NodeRefList(const NodeRefListBase&	theSource);
-
-	virtual
-	~NodeRefList();
-
-	NodeRefList&
-	operator=(const NodeRefListBase&	theRHS);
-
-	NodeRefList&
-	operator=(const NodeRefList&	theRHS);
-
-	// These methods are inherited from NodeRefListBase ...
-
-	virtual XalanNode*
-	item(size_type	index) const;
-
-	virtual size_type
-	getLength() const;
-
-	virtual size_type
-	indexOf(const XalanNode*	theNode) const;
-
-#if !defined(NDEBUG)
-	bool
-	checkForDuplicates() const;
-#endif
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanNode*>			NodeListVectorType;
-#else
-	typedef std::vector<XalanNode*>		NodeListVectorType;
-#endif
-
-protected:
-
-	// Default vector allocation size.  It seems high, but
-	// it's really worth it...
-	enum
-	{
-		eDefaultVectorSize = 100
-	};
-
-	/**
-	 * Ensure that an allocation is either the default allocation
-	 * amount, or the amount specified in the parameter, whichever
-	 * is larger.
-	 *
-	 * @param theSize The requested size.
-	 */
-	void
-	ensureAllocation(NodeListVectorType::size_type	theSize = 0)
-	{
-		m_nodeList.reserve(eDefaultVectorSize > theSize ? eDefaultVectorSize : theSize);
-	}
-
-	NodeListVectorType	m_nodeList;
-};
-
-
-
-#endif	// NODEREFLIST_HEADER_GUARD_1357924680
diff --git a/src/XPath/NodeRefListBase.cpp b/src/XPath/NodeRefListBase.cpp
deleted file mode 100644
index b041a22..0000000
--- a/src/XPath/NodeRefListBase.cpp
+++ /dev/null
@@ -1,76 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "NodeRefListBase.hpp"
-
-
-
-#if !defined(XALAN_INLINE_INITIALIZATION)
-const NodeRefListBase::size_type	NodeRefListBase::npos = ~0u;
-#endif
-
-
-
-NodeRefListBase::NodeRefListBase()
-{
-}
-
-
-
-NodeRefListBase::~NodeRefListBase()
-{
-}
diff --git a/src/XPath/NodeRefListBase.hpp b/src/XPath/NodeRefListBase.hpp
deleted file mode 100644
index 8268f38..0000000
--- a/src/XPath/NodeRefListBase.hpp
+++ /dev/null
@@ -1,146 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(NODEREFLISTBASE_HEADER_GUARD_1357924680)
-#define NODEREFLISTBASE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cstddef>
-
-
-
-class XalanNode;
-
-
-
-/**
- * Local implementation of NodeRefList.  This class is for internal use only.
- */
-
-class XALAN_XPATH_EXPORT NodeRefListBase
-{
-public:
-
-	NodeRefListBase();
-
-	virtual
-	~NodeRefListBase();
-
-#if defined(XALAN_SIZE_T_IN_NAMESPACE_STD)
-	typedef std::size_t		size_type;
-#else
-	typedef size_t			size_type;
-#endif
-
-	/**
-	 * Returns the <code>index</code>th item in the collection. If
-	 * <code>index</code> is greater than or equal to the number of nodes in
-	 * the list, this returns <code>null</code>.
-	 *
-	 * @param index index into the collection
-	 * @return node at the <code>index</code>th position in the
-	 *         <code>NodeList</code>, or <code>null</code> if that is not a
-	 *         valid index
-	 */
-	virtual XalanNode*
-	item(size_type	index) const = 0;
-
-	/**
-	 * Determine the number of nodes in the list. The range of valid child node
-	 * indices is 0 to <code>length-1</code> inclusive. 
-	 *
-	 * @return number of nodes
-	 */
-	virtual size_type
-	getLength() const = 0;
-
-	/**
-	 * Retrieve the zero based index of the node in the list
-	 * 
-	 * @param theNode node whose index to find
-	 * @return index of node
-	 */
-	virtual size_type
-	indexOf(const XalanNode*	theNode) const = 0;
-
-#if defined(XALAN_INLINE_INITIALIZATION)
-	static const size_type	npos = ~0u;
-#else
-	static const size_type	npos;
-#endif
-
-protected:
-
-	NodeRefListBase(const NodeRefListBase&)
-	{
-	}
-
-	NodeRefListBase&
-	operator=(const NodeRefListBase&)
-	{
-		return *this;
-	}
-};
-
-
-
-#endif	// NODEREFLISTBASE_HEADER_GUARD_1357924680
diff --git a/src/XPath/ResultTreeFragBase.cpp b/src/XPath/ResultTreeFragBase.cpp
deleted file mode 100644
index 4b9cfd1..0000000
--- a/src/XPath/ResultTreeFragBase.cpp
+++ /dev/null
@@ -1,78 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "ResultTreeFragBase.hpp"
-
-
-
-ResultTreeFragBase::ResultTreeFragBase() :
-	XalanDocumentFragment()
-{
-}
-
-
-
-ResultTreeFragBase::ResultTreeFragBase(const ResultTreeFragBase&	theSource) :
-	XalanDocumentFragment(theSource)
-{
-}
-
-
-
-ResultTreeFragBase::~ResultTreeFragBase()
-{
-}
diff --git a/src/XPath/ResultTreeFragBase.hpp b/src/XPath/ResultTreeFragBase.hpp
deleted file mode 100644
index e2c9835..0000000
--- a/src/XPath/ResultTreeFragBase.hpp
+++ /dev/null
@@ -1,224 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(RESULTTREEFRAGBASE_HEADER_GUARD_1357924680)
-#define RESULTTREEFRAGBASE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDocumentFragment.hpp>
-
-
-
-class NodeRefListBase;
-class XMLParserLiaison;
-class XalanDocument;
-
-
-
-/**
- * The holder of result tree fragments.
- */
-class XALAN_XPATH_EXPORT ResultTreeFragBase : public XalanDocumentFragment
-{
-public:
-
-	/**
-	 * Construct a result tree fragment object.
-	 */
-	ResultTreeFragBase();
-
-	/**
-	 * Construct a result tree fragment object from another.
-	 * 
-	 * @param theSource source to copy
-	 */
-	ResultTreeFragBase(const ResultTreeFragBase&	theSource);
-
-	virtual
-	~ResultTreeFragBase();
-
-	// These interfaces are new to ResultTreeFragBase...
-
-	/**
-	 * Get the root when this instance is cast to a Nodeset.
-	 * This value might be this instance itself, or could
-	 * be another object that is serving as a proxy for
-	 * this instance.  Most likely the proxy would be a
-	 * DocumentFragment.
-	 *
-	 * @return The root for this fragment.
-	 */
-	virtual XalanNode*
-	getNodesetRoot() const = 0;
-
-	// These interfaces are inherited from XalanDocumentFragment...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	virtual NodeType
-	getNodeType() const = 0;
-
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual ResultTreeFragBase*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	virtual bool
-	hasChildNodes() const = 0;
-
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue) = 0;
-
-	virtual void
-	normalize() = 0;
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	virtual bool
-	isIndexed() const = 0;
-
-	virtual unsigned long
-	getIndex() const = 0;
-
-	virtual ResultTreeFragBase*
-	clone(bool	deep) const = 0;
-
-protected:
-
-	ResultTreeFragBase&
-	operator=(const ResultTreeFragBase&		theRHS)
-	{
-		XalanDocumentFragment::operator=(theRHS);
-
-		return *this;
-	}
-
-	bool
-	operator==(const ResultTreeFragBase&) const
-	{
-		return true;
-	}
-};
-
-
-
-#endif	// RESULTTREEFRAGBASE_HEADER_GUARD
diff --git a/src/XPath/SimpleNodeLocator.cpp b/src/XPath/SimpleNodeLocator.cpp
deleted file mode 100644
index 8fde7da..0000000
--- a/src/XPath/SimpleNodeLocator.cpp
+++ /dev/null
@@ -1,2429 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "SimpleNodeLocator.hpp"
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "FoundIndex.hpp"
-#include "NodeRefListBase.hpp"
-#include "XObject.hpp"
-#include "XObjectFactory.hpp"
-#include "XPath.hpp"
-
-
-
-const XalanDOMString	SimpleNodeLocator::s_emptyString;
-
-
-
-const XObjectPtr
-SimpleNodeLocator::locationPath(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode&				context, 
-			int 					opPos)
-{
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-	step(xpath, executionContext, &context, opPos + 2, *mnl.get());
-
-	return executionContext.getXObjectFactory().createNodeSet(mnl);
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::locationPathPattern(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode&				context, 
-			int 					opPos)
-{
-	XPath::eMatchScore	score = XPath::eMatchScoreNone;
-
-	stepPattern(xpath, executionContext, &context, opPos + 2, score);
-
-	return score;
-}
-
-
-
-void
-SimpleNodeLocator::step(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			MutableNodeRefList& 	queryResults)
-{
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// int endStep = xpath.getNextOpPos(opPos);
-	const int	stepType =
-		currentExpression.getOpCodeMapValue(opPos);
-
-	int 		argLen = 0;
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	subQueryResults(executionContext);
-
-	bool	shouldReorder = false;
-	bool	continueStepRecursion = true;
-
-	switch(stepType)
-	{
-	case XPathExpression::eOP_VARIABLE:
-	case XPathExpression::eOP_EXTFUNCTION:
-	case XPathExpression::eOP_FUNCTION:
-	case XPathExpression::eOP_GROUP:
-		argLen = findNodeSet(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_ROOT:
-		argLen = findRoot(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_PARENT:
-		argLen = findParent(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_SELF:
-		argLen = findSelf(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_ANCESTORS:
-		argLen = findAncestors(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eFROM_ANCESTORS_OR_SELF:
-		argLen = findAncestorsOrSelf(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eMATCH_ATTRIBUTE:
-		continueStepRecursion = false;
-		// fall-through on purpose.
-
-	case XPathExpression::eFROM_ATTRIBUTES:
-		argLen = findAttributes(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eMATCH_ANY_ANCESTOR:
-	case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
-	case XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE:
-		continueStepRecursion = false;
-		// fall-through on purpose.
-
-	case XPathExpression::eFROM_CHILDREN:
-		argLen = findChildren(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_DESCENDANTS:
-	case XPathExpression::eFROM_DESCENDANTS_OR_SELF:
-		argLen = findDescendants(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_FOLLOWING:
-		argLen = findFollowing(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_FOLLOWING_SIBLINGS:
-		argLen = findFollowingSiblings(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_PRECEDING:
-		argLen = findPreceeding(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eFROM_PRECEDING_SIBLINGS:
-		argLen = findPreceedingSiblings(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eFROM_NAMESPACE:
-		argLen = findNamespace(xpath, executionContext, context, opPos,  stepType, *subQueryResults);
-		break;
-
-	default:
-		argLen = findNodesOnUnknownAxis(xpath, executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-	}
-
-	// Push and pop the PrefixResolver...
-	XPathExecutionContext::ContextNodeListSetAndRestore		theSetAndRestore(
-									executionContext,
-									*subQueryResults);
-
-	opPos += argLen;
-
-	int		nextStepType = currentExpression.getOpCodeMapValue(opPos);
-
-	if(XPathExpression::eOP_PREDICATE == nextStepType)
-	{
-		predicates(xpath,
-				   executionContext,
-				   context,
-				   opPos, 
-				   *subQueryResults,
-				   opPos);
-
-		nextStepType = currentExpression.getOpCodeMapValue(opPos);
-	}
-
-	if(XPathExpression::eENDOP != nextStepType && continueStepRecursion == true)
-	{
-		const NodeRefListBase::size_type	nContexts = subQueryResults->getLength();
-
-		for(NodeRefListBase::size_type i = 0; i < nContexts; i++)
-		{
-			XalanNode* const	node = subQueryResults->item(i);
-
-			if(0 != node)
-			{
-				BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-				step(xpath, executionContext, node, opPos, *mnl);
-
-				if (mnl->getLength() > 0)
-				{
-					if(queryResults.getLength() == 0)
-					{
-						queryResults = *mnl;
-					}
-					else
-					{
-						queryResults.addNodesInDocOrder(*mnl, executionContext);
-					}
-				}
-			}
-		}
-	}
-	else
-	{
-		if (shouldReorder == true)
-		{
-			queryResults.addNodesInDocOrder(*subQueryResults, executionContext);
-		}
-		else
-		{
-			queryResults = *subQueryResults;
-		}
-	}
-}
-
-
-
-XalanNode*
-SimpleNodeLocator::stepPattern(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			XPath::eMatchScore& 	scoreHolder)
-{
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	const int	endStep = currentExpression.getNextOpCodePosition(opPos);
-	int 		nextStepType = currentExpression.getOpCodeMapValue(endStep);
-
-	if(XPathExpression::eENDOP != nextStepType)
-	{
-		// Continue step via recursion...
-		context = stepPattern(
-						xpath,
-						executionContext,
-						context,
-						endStep,
-						scoreHolder);
-
-		if(0 == context)
-		{
-			scoreHolder = XPath::eMatchScoreNone;
-
-		}
-
-		if (scoreHolder == XPath::eMatchScoreNone)
-		{
-			// !!!!!!!!!!!!! Big ugly return here !!!!!!!!!!!!!!!!!!!
-			return 0;
-		}
-
-		scoreHolder = XPath::eMatchScoreOther;
-
-		if (nextStepType != XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL)
-		{
-			context = DOMServices::getParentOfNode(*context);
-		}
-
-		if(0 == context)
-		{
-			// !!!!!!!!!!!!! Big ugly return here !!!!!!!!!!!!!!!!!!!
-			return 0;
-		}
-	}
-
-	assert(context != 0);
-
-	int					argLen = 0;
-
-	XPath::eMatchScore	score = XPath::eMatchScoreNone;
-
-	const int	startOpPos = opPos;
-	const int	stepType = currentExpression.getOpCodeMapValue(opPos);
-
-	switch(stepType)
-	{
-	case XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL:
-		score = scoreHolder;
-		break;
-
-	case XPathExpression::eOP_FUNCTION:
-		{
-			argLen = currentExpression.getOpCodeLengthFromOpMap(opPos);
-
-			const XObjectPtr		obj(xpath.executeMore(context, opPos, executionContext));
-			assert(obj.get() != 0);
-
-			const NodeRefListBase&				nl = obj->nodeset();
-
-			const NodeRefListBase::size_type	len = nl.getLength();
-
-			if (nextStepType == XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL)
-			{
-				bool	fFound = false;
-
-				while(context != 0 && fFound == false)
-				{
-					for(NodeRefListBase::size_type i = 0; i < len; i++)
-					{
-						XalanNode* const	n = nl.item(i);
-
-						if(n == context)
-						{
-							score = XPath::eMatchScoreOther;
-
-							context = n;
-
-							fFound = true;
-
-							break;
-						}
-					}
-
-					context = DOMServices::getParentOfNode(*context);
-				}
-			}
-			else
-			{
-				for(NodeRefListBase::size_type i = 0; i < len; i++)
-				{
-					XalanNode* const	n = nl.item(i);
-
-					if(n == context)
-					{
-						score = XPath::eMatchScoreOther;
-
-						context = n;
-
-						break;
-					}
-				}
-			}
-		}
-		break;
-
-	case XPathExpression::eFROM_ROOT:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			opPos += 3;
-
-			const XalanNode::NodeType	nodeType = context->getNodeType();
-
-			if (nodeType == XalanNode::DOCUMENT_NODE ||
-				nodeType == XalanNode::DOCUMENT_FRAGMENT_NODE)
-			{
-				score = XPath::eMatchScoreOther;
-			}
-			else
-			{
-				const int   prevPos = currentExpression.getNextOpCodePosition(startOpPos);		
-				const int	prevStepType = currentExpression.getOpCodeMapValue(prevPos);
-
-				if (XPath::eMatchScoreNone == score  && 
-				    (prevStepType == XPathExpression::eMATCH_ANY_ANCESTOR ||
-					 prevStepType == XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE))
-				{
-					const NodeTester	theTester(
-									xpath,
-									executionContext,
-									opPos,
-									argLen,
-									stepType);
-
-					while(0 != context)
-					{
-						score =
-							theTester(*context, context->getNodeType());
-							assert(score == nodeTest(xpath, executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-						if(XPath::eMatchScoreNone != score)
-							break;
-
-						context = DOMServices::getParentOfNode(*context);
-					}
-				}
-			}
-		}
-		break;
-
-	case XPathExpression::eMATCH_ATTRIBUTE:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			opPos += 3;
-
-			score = NodeTester(
-							xpath,
-							executionContext,
-							opPos,
-							argLen,
-							XPathExpression::eFROM_ATTRIBUTES)(*context, context->getNodeType());
-
-			assert(score == nodeTest(xpath,
-							 executionContext,
-							 context,
-							 context->getNodeType(),
-							 opPos,
-							 argLen,
-							 XPathExpression::eFROM_ATTRIBUTES));
-		}
-		break;
-
-	case XPathExpression::eMATCH_ANY_ANCESTOR:
-	case XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-					currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			XalanNode::NodeType		nodeType = context->getNodeType();
-
-			if(nodeType != XalanNode::ATTRIBUTE_NODE)
-			{
-				opPos += 3;
-
-				const NodeTester	theTester(
-									xpath,
-									executionContext,
-									opPos,
-									argLen,
-									stepType);
-
-				for(;;)
-				{
-					score = theTester(*context, nodeType);
-					assert(score == nodeTest(xpath, executionContext, context, nodeType, opPos, argLen, stepType));
-
-					if(XPath::eMatchScoreNone != score)
-						break;
-
-					context = DOMServices::getParentOfNode(*context);
-
-					if (context == 0)
-						break;
-
-					nodeType = context->getNodeType();
-				}
-			}
-		}
-		break;
-
-	case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			const XalanNode::NodeType	nodeType = context->getNodeType();
-
-			if(nodeType != XalanNode::ATTRIBUTE_NODE)
-			{
-				opPos += 3;
-
-				score = NodeTester(
-								xpath,
-								executionContext,
-								opPos,
-								argLen,
-								XPathExpression::eMATCH_IMMEDIATE_ANCESTOR)(*context, nodeType);
-
-				assert(score == nodeTest(xpath,
-								 executionContext,
-								 context,
-								 nodeType,
-								 opPos,
-								 argLen,
-								 XPathExpression::eMATCH_IMMEDIATE_ANCESTOR));
-			}
-		}
-		break;
-
-	default:
-		executionContext.error(TranscodeFromLocalCodePage("unknown match operation!"), context, xpath.getLocator());
-		break;
-	}
-
-	opPos += argLen;
-
-	nextStepType = currentExpression.getOpCodeMapValue(opPos);
-
-	if(score != XPath::eMatchScoreNone && XPathExpression::eOP_PREDICATE == nextStepType)
-	{
-		score = XPath::eMatchScoreOther;
-
-		// Execute the xpath.predicates, but if we have an index, then we have 
-		// to start over and do a search from the parent.  It would be nice 
-		// if I could sense this condition earlier...
-		try
-		{
-			executionContext.setThrowFoundIndex(true);
-
-			while(XPathExpression::eOP_PREDICATE == nextStepType)
-			{
-				const XObjectPtr		pred(xpath.predicate(context, opPos, executionContext));
-				assert(pred.get() != 0);
-
-				if(XObject::eTypeNumber == pred->getType())
-				{
-					score = handleFoundIndex(xpath, executionContext, context, startOpPos);
-				}
-				else if(pred->boolean() == false)
-				{
-					score = XPath::eMatchScoreNone;
-
-					break;
-				}
-
-				opPos = currentExpression.getNextOpCodePosition(opPos);
-				nextStepType = currentExpression.getOpCodeMapValue(opPos);
-			}
-
-			executionContext.setThrowFoundIndex(false);
-		}
-		catch(const FoundIndex&)
-		{
-			score = handleFoundIndex(xpath, executionContext, context, startOpPos);
-		}
-	}
-
-	if (scoreHolder == XPath::eMatchScoreNone || 
-        score == XPath::eMatchScoreNone)
-	{
-		scoreHolder = score;
-	}
-
-	return score == XPath::eMatchScoreNone ? 0 : context;
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::handleFoundIndex(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				localContext, 
-			int 					startOpPos)
-{
-	// We have an index somewhere in our pattern.  So, we have 
-	// to do a full search for our step, using the parent as 
-	// localContext, then see if the current localContext is found in the 
-	// node set.  Seems crazy, but, so far, it seems like the 
-	// easiest way.
-	executionContext.setThrowFoundIndex(false);
-
-	XalanNode* const	parentContext =
-				DOMServices::getParentOfNode(*localContext);
-
-	if (parentContext == 0)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-		BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-		step(xpath, executionContext, parentContext, startOpPos, *mnl);
-
-		if (mnl->indexOf(localContext) == MutableNodeRefList::npos)
-		{
-			return XPath::eMatchScoreNone;
-		}
-		else
-		{
-			return XPath::eMatchScoreOther;
-		}
-	}
-}
-
-
-
-int
-SimpleNodeLocator::findNodeSet(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					/* stepType */,
-			MutableNodeRefList& 	subQueryResults)
-{
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-
-	const XObjectPtr		obj(xpath.executeMore(context, opPos, executionContext));
-
-	const NodeRefListBase&	nl = obj->nodeset();
-
-	subQueryResults.addNodes(nl);
-
-	return currentExpression.getOpCodeLengthFromOpMap(opPos);
-}
-
-
-
-int
-SimpleNodeLocator::findRoot(
-			const XPath&			xpath,
-			XPathExecutionContext&	/* executionContext */,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					/* stepType */,
-			MutableNodeRefList& 	subQueryResults)
-{
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode* const	docContext = XalanNode::DOCUMENT_NODE == context->getNodeType() ?
-									context :
-									context->getOwnerDocument();
-	assert(docContext != 0);
-
-	subQueryResults.addNode(docContext);
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findParent(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-			xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-			currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode* const	theParent = DOMServices::getParentOfNode(*context);
-
-	if(0 != theParent)
-	{
-		if(argLen > 0)
-		{
-			opPos += 3;
-
-			const NodeTester	theTester(
-							xpath,
-							executionContext,
-							opPos,
-							argLen,
-							stepType);
-
-			const XPath::eMatchScore	score = theTester(*theParent, theParent->getNodeType());
-			assert(score == nodeTest(xpath, executionContext, theParent, theParent->getNodeType(), opPos, argLen, stepType));
-
-			if(XPath::eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(theParent);
-			}
-		}
-		else
-		{
-			subQueryResults.addNode(theParent);
-		}
-	}
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findSelf(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if(argLen == 0)
-	{
-		subQueryResults.addNode(context);
-	}
-	else
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		const XPath::eMatchScore	score =
-			theTester(*context, context->getNodeType());
-			assert(score == nodeTest(xpath, executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-		if(XPath::eMatchScoreNone != score)
-		{
-			subQueryResults.addNode(context);
-		}
-	}
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findAncestors(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	context = DOMServices::getParentOfNode(*context);
-
-	const XPathExpression&	currentExpression =
-			xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-			currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if (context != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const XPath::eMatchScore	score =
-				theTester(*context, context->getNodeType());
-				assert(score == nodeTest(xpath, executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-			if(XPath::eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(context);
-			}
-
-			context = DOMServices::getParentOfNode(*context);
-		} while(0 != context);
-
-		subQueryResults.setReverseDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findAncestorsOrSelf(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	opPos += 3;
-
-	const NodeTester	theTester(
-					xpath,
-					executionContext,
-					opPos,
-					argLen,
-					stepType);
-
-	do
-	{
-		const XPath::eMatchScore	score =
-				theTester(*context, context->getNodeType());
-				assert(score == nodeTest(xpath, executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-		if(XPath::eMatchScoreNone != score)
-		{
-			subQueryResults.addNode(context);
-		}
-
-		context = DOMServices::getParentOfNode(*context);
-	} while(0 != context);
-
-	subQueryResults.setReverseDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findAttributes(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-				xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if(context->getNodeType() == XalanNode::ELEMENT_NODE)
-	{
-		const XalanNamedNodeMap* const	attributeList = context->getAttributes();
-
-		if(attributeList != 0) 
-		{
-			opPos += 3;
-
-			const unsigned int	nAttrs = attributeList->getLength();
-
-			if (nAttrs != 0)
-			{
-				const NodeTester	theTester(
-								xpath,
-								executionContext,
-								opPos,
-								argLen,
-								stepType);
-
-				for(unsigned int j = 0; j < nAttrs; j++)
-				{
-					XalanNode* const	theNode = attributeList->item(j);
-					assert(theNode != 0 && theNode->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-					const XPath::eMatchScore	score =
-						theTester(*theNode, XalanNode::ATTRIBUTE_NODE);
-						assert(score == nodeTest(xpath, executionContext, theNode, XalanNode::ATTRIBUTE_NODE, opPos, argLen, stepType));
-
-					if(XPath::eMatchScoreNone != score)
-					{
-						subQueryResults.addNode(theNode);
-					}
-				}
-			}
-		}
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findChildren(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	XalanNode*	child = context->getFirstChild();
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if (child != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const XPath::eMatchScore	score =
-					theTester(*child, child->getNodeType());
-					assert(score == nodeTest(xpath, executionContext, child, child->getNodeType(), opPos, argLen, stepType));
-
-			if(XPath::eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(child);
-			}
-
-			child = child->getNextSibling();
-		} while(0 != child);
-
-		subQueryResults.setDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findDescendants(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	// Perform a pre-order traversal of descendents...
-	XalanNode*	pos = context;
-
-	opPos += 3;
-
-	const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-	do
-	{					
-		if(stepType == XPathExpression::eFROM_DESCENDANTS_OR_SELF ||
-		   context != pos)
-		{
-			const XPath::eMatchScore	score =
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(xpath, executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(score != XPath::eMatchScoreNone)
-			{
-				subQueryResults.addNode(pos);
-			}
-		}
-
-		XalanNode*	nextNode = pos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			if(context == pos)
-				break;
-
-			nextNode = pos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				pos = DOMServices::getParentOfNode(*pos);
-
-				if(context == pos || pos == 0)
-				{
-					nextNode = 0;
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-	} while(0 != pos);
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findFollowing(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	opPos += 3;
-
-	// What fun...
-	XalanDocument* const	doc = context->getOwnerDocument();
-
-	XalanNode*				pos = context;
-
-	const NodeTester	theTester(
-					xpath,
-					executionContext,
-					opPos,
-					argLen,
-					stepType);
-
-	while(0 != pos)
-	{
-		XalanNode*	nextNode = 0;
-
-		if(pos != context)
-		{
-			const XPath::eMatchScore	score =
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(xpath, executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(XPath::eMatchScoreNone != score)
-			{
-				subQueryResults.addNodeInDocOrder(pos, executionContext);
-			}
-
-			nextNode = pos->getFirstChild();
-		}
-		else
-		{
-			nextNode = 0;
-		}
-
-		while(0 == nextNode)
-		{
-			// This requires some explanation.  pos could be an attribute
-			// node, so getNextSibling() will always return 0.  In that
-			// case, I want to continue the search with the first child of
-			// the owner element, as if attribute nodes are children which
-			// are always _before_ the first child element.  I don't have to
-			// consider following attributes, since they _never_ match the
-			// following axis.
-			if (pos->getNodeType() == XalanNode::ATTRIBUTE_NODE)
-			{
-				assert(DOMServices::getParentOfNode(*pos) != 0);
-
-				nextNode = DOMServices::getParentOfNode(*pos)->getFirstChild();
-			}
-			else
-			{
-				nextNode = pos->getNextSibling();
-			}
-
-			if(0 == nextNode)
-			{
-				pos = DOMServices::getParentOfNode(*pos);
-
-				if(doc == pos || 0 == pos)
-				{
-					nextNode = 0;
-
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-	}
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findFollowingSiblings(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode*	pos = context->getNextSibling();
-
-	if (pos != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const XPath::eMatchScore	score =
-					theTester(*pos, pos->getNodeType());
-					assert(score == nodeTest(xpath, executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(XPath::eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(pos);
-			}
-
-			pos = pos->getNextSibling();
-		} while(0 != pos);
-
-		subQueryResults.setDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findPreceeding(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	opPos += 3;
-
-	// Ugh.  Reverse document order, no parents, I guess.
-	XalanDocument* const	doc = context->getOwnerDocument();
-
-	XalanNode*				pos = doc;
-
-	// If the context node is an attribute, we need to perform some
-	// magic to stop the search at the appropriate point, which is when
-	// we arrive back at the parent.
-	const bool				contextIsAttribute =
-			context->getNodeType() == XalanNode::ATTRIBUTE_NODE ? true : false;
-
-	const XalanNode* const	theAttributeContextParent =
-		contextIsAttribute == true ? DOMServices::getParentOfNode(*context) : 0;
-
-	const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-	while(0 != pos)
-	{
-		if(context == pos)
-		{
-			break;
-		}
-
-		const XPath::eMatchScore	score =
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(xpath, executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-		if(XPath::eMatchScoreNone != score)
-		{
-			// Ugh. If I could think a little better tonight, I'm
-			// sure there's a better way to check for the parent.
-			bool		isParent = false;
-
-			XalanNode*	parent = DOMServices::getParentOfNode(*context);
-
-			while(0 != parent)
-			{
-				if(parent == pos)
-				{
-					isParent = true;
-					break;
-				}
-
-				parent = DOMServices::getParentOfNode(*parent);
-			}
-
-			if(isParent == false)
-			{
-				subQueryResults.addNode(pos);
-			}
-		}
-
-		XalanNode*	nextNode = 0;
-
-		// Check to see if we're back at the attribute context node's
-		// parent, in which case, we should stop.
-		if (contextIsAttribute == true &&
-			pos == theAttributeContextParent)
-		{
-			nextNode = context;
-		}
-		else
-		{
-			nextNode = pos->getFirstChild();
-		}
-
-		while(0 == nextNode)
-		{
-			nextNode = pos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				pos = DOMServices::getParentOfNode(*pos);
-
-				if(doc == pos)
-				{
-					nextNode = 0;
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-	}
-
-	// Now, reverse the order of the nodes, since
-	// preceeding is a reverse axis, and we searched
-	// the document from the root to this node.
-	subQueryResults.reverse();
-
-	subQueryResults.setReverseDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findPreceedingSiblings(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode*	pos = context->getPreviousSibling();
-
-	if (pos != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const XPath::eMatchScore	score = 
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(xpath, executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(XPath::eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(pos);
-			}
-
-			pos = pos->getPreviousSibling();
-		} while(0 != pos);
-
-		subQueryResults.setReverseDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findNamespace(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults)
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if(context->getNodeType() == XalanNode::ELEMENT_NODE)
-	{
-		opPos += 3;
-
-		// Look up the element chain until we hit the document, so that we
-		// get all of the attribute/namespace nodes.
-		const XalanNode* const	theOwnerDocument = context->getOwnerDocument();
-		assert(theOwnerDocument != 0);
-
-		const XalanNode*		theCurrentNode = context;
-
-		const NodeTester	theTester(
-						xpath,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const XalanNamedNodeMap* const	attributeList =
-				theCurrentNode->getAttributes();
-
-			if(attributeList != 0) 
-			{
-				const unsigned int	nAttrs = attributeList->getLength();
-
-				for(unsigned int i = 0; i < nAttrs; ++i)
-				{
-					XalanNode* const	attr = attributeList->item(i);
-					assert(attr != 0 && attr->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-					const XalanDOMString&	theNodeName = attr->getNodeName();
-
-					// This is an optimization to keep non-namespace attributes out of
-					// the call to nodeTest().
-					if (startsWith(theNodeName, DOMServices::s_XMLNamespaceWithSeparator) == true ||
-						equals(theNodeName, DOMServices::s_XMLNamespace) == true)
-					{
-						const XPath::eMatchScore	score =
-							theTester(*attr, XalanNode::ATTRIBUTE_NODE);
-							assert(score == nodeTest(xpath, executionContext, attr, XalanNode::ATTRIBUTE_NODE, opPos, argLen, stepType));
-
-						if(score != XPath::eMatchScoreNone)
-						{
-							subQueryResults.addNode(attr);
-						}
-					}
-				}
-			}
-
-			theCurrentNode = theCurrentNode->getParentNode();
-		} while (theCurrentNode != theOwnerDocument && theCurrentNode != 0);
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-SimpleNodeLocator::findNodesOnUnknownAxis(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					/* stepType */,
-			MutableNodeRefList& 	/* subQueryResults */)
-{
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	executionContext.error(TranscodeFromLocalCodePage("Unknown axis!"), context, xpath.getLocator());
-
-	return argLen + 3;
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::nodeTest(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context,
-			XalanNode::NodeType		nodeType,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType)
-{
-	assert(context->getNodeType() == nodeType);
-
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	XPath::eMatchScore	score = XPath::eMatchScoreNone;
-
-	const int	testType = currentExpression.getOpCodeMapValue(opPos);
-
-	switch(testType)
-	{
-	case XPathExpression::eNODETYPE_COMMENT:
-		if (XalanNode::COMMENT_NODE == nodeType)
-		{
-			score = XPath::eMatchScoreNodeTest;
-		}
-		break;
-
-	case XPathExpression::eNODETYPE_TEXT:
-		if ((XalanNode::CDATA_SECTION_NODE == nodeType ||
-			 XalanNode::TEXT_NODE == nodeType) &&
-			executionContext.shouldStripSourceNode(*context) == false)
-		{
-			  score = XPath::eMatchScoreNodeTest;
-		}
-	  break;
-
-	case XPathExpression::eNODETYPE_PI:
-		if(XalanNode::PROCESSING_INSTRUCTION_NODE == nodeType)
-		{
-			if(argLen == 1)
-			{
-				score = XPath::eMatchScoreNodeTest;
-			}
-			else if(argLen == 2)
-			{
-				opPos++;
-
-				const int				tokenPosition =
-					currentExpression.getOpCodeMapValue(opPos);
-
-				const XObject* const	name =
-					currentExpression.getToken(tokenPosition);
-				assert(name != 0);
-
-				if (equals(context->getNodeName(), name->str()) == true)
-				{
-					score = XPath::eMatchScoreQName;
-				}
-			}
-			else
-			{
-				executionContext.error(TranscodeFromLocalCodePage("Arg length of processing-instruction() node test is incorrect!"), context, xpath.getLocator());
-			}
-		}
-
-		break;
-
-	case XPathExpression::eNODETYPE_NODE:
-		if (nodeType == XalanNode::CDATA_SECTION_NODE ||
-			nodeType == XalanNode::TEXT_NODE)
-		{
-			if (executionContext.shouldStripSourceNode(*context) == false)
-			{
-				score = XPath::eMatchScoreNodeTest;
-			}
-		}
-		else
-		{
-			score = XPath::eMatchScoreNodeTest;
-		}
-		break;
-
-	case XPathExpression::eNODETYPE_ROOT:
-		if (XalanNode::DOCUMENT_FRAGMENT_NODE == nodeType ||
-			XalanNode::DOCUMENT_NODE == nodeType)
-		{
-			score =  XPath::eMatchScoreOther;
-		}
-		break;
-
-	case XPathExpression::eNODENAME:
-		{
-			opPos++;
-
-			if (nodeType == XalanNode::ATTRIBUTE_NODE || nodeType == XalanNode::ELEMENT_NODE)
-			{
-				bool					test = false;
-
-				int 					queueIndex = currentExpression.getOpCodeMapValue(opPos);
-
-				const XalanDOMString&	targetNS = queueIndex >= 0 ?
-										currentExpression.getToken(queueIndex)->str() :
-											s_emptyString;
-
-				opPos++;
-
-				// From the draft: "Two expanded names are equal if they 
-				// have the same local part, and either both have no URI or 
-				// both have the same URI."
-				// "A node test * is true for any node of the principal node type. 
-				// For example, child::* will select all element children of the 
-				// context node, and attribute::* will select all attributes of 
-				// the context node."
-				// "A node test can have the form NCName:*. In this case, the prefix 
-				// is expanded in the same way as with a QName using the context 
-				// namespace declarations. The node test will be true for any node 
-				// of the principal type whose expanded name has the URI to which 
-				// the prefix expands, regardless of the local part of the name."
-				const bool	isTotallyWild =
-							0 == length(targetNS) &&
-							currentExpression.getOpCodeMapValue(opPos) == XPathExpression::eELEMWILDCARD;
-
-				bool		didMatchNS = false;
-
-				if(isTotallyWild == false)
-				{
-					const XalanDOMString&	contextNS = DOMServices::getNamespaceOfNode(*context);
-
-					if(0 != length(targetNS) && 0 != length(contextNS))
-					{
-						test = equals(contextNS, targetNS);
-
-						didMatchNS = true;
-					}
-					else
-					{
-						test = XPathExpression::eELEMWILDCARD == queueIndex || 
-						   (0 == length(contextNS) && 0 == length(targetNS));
-					}
-				}
-				else
-				{
-					test = true;
-				}
-
-				queueIndex = currentExpression.getOpCodeMapValue(opPos);
-
-				if(test == true)
-				{
-					switch(nodeType)
-					{
-					case XalanNode::ATTRIBUTE_NODE:
-						if(stepType == XPathExpression::eFROM_ATTRIBUTES ||
-							stepType == XPathExpression::eFROM_NAMESPACE)
-						{
-							assert(context->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-							const XalanDOMString&	attrName =
-										context->getNodeName();
-
-							const bool				isNamespace =
-									startsWith(attrName, DOMServices::s_XMLNamespaceWithSeparator) ||
-									equals(attrName, DOMServices::s_XMLNamespace);
-
-							if(XPathExpression::eELEMWILDCARD == queueIndex)
-							{
-								if(stepType == XPathExpression::eFROM_ATTRIBUTES)
-								{
-									if (isNamespace == false)
-									{
-										score = XPath::eMatchScoreNodeTest;
-									}
-								}
-								else
-								{
-									if (isNamespace == true)
-									{
-										score = XPath::eMatchScoreNodeTest;
-									}
-								}
-							}
-							else
-							{
-								if(stepType == XPathExpression::eFROM_ATTRIBUTES)
-								{
-									if (isNamespace == false)
-									{
-										assert(queueIndex >= 0);
-
-										const XalanDOMString&	targetLocalName =
-															currentExpression.getToken(queueIndex)->str();
-
-										const XalanDOMString&	localAttrName =
-												DOMServices::getLocalNameOfNode(*context);
-
-										if (equals(localAttrName, targetLocalName) == true)
-										{
-											score = XPath::eMatchScoreQName;
-										}
-									}
-								}
-								else
-								{
-									if (isNamespace == true)
-									{
-										const XalanAttr* const	theAttrNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-											(const XalanAttr*)context;
-#else
-											static_cast<const XalanAttr*>(context);
-#endif
-										assert(theAttrNode != 0);
-
-										const XalanDOMString&	theNamespace =
-													theAttrNode->getValue();
-
-										assert(queueIndex >= 0);
-
-										const XalanDOMString&	targetLocalName =
-															currentExpression.getToken(queueIndex)->str();
-
-										if (equals(theNamespace, targetLocalName) == true)
-										{
-											score = XPath::eMatchScoreQName;
-										}
-									}
-								}
-							}
-						}
-						break;
-
-					case XalanNode::ELEMENT_NODE:
-						if(stepType != XPathExpression::eFROM_ATTRIBUTES)
-						{
-							if(XPathExpression::eELEMWILDCARD == queueIndex)
-							{
-								score = didMatchNS == true ?
-									XPath::eMatchScoreNSWild : XPath::eMatchScoreNodeTest;
-							}
-							else
-							{
-								assert(queueIndex >= 0);
-
-								const XalanDOMString&	targetLocalName =
-															currentExpression.getToken(queueIndex)->str();
-
-								if (equals(DOMServices::getLocalNameOfNode(*context),
-										   targetLocalName) == true)
-								{
-									score = XPath::eMatchScoreQName;
-								}
-							}
-						}
-						break;
-
-					default:
-						// Trying to match on anything else causes nasty bugs.
-						break;
-					} // end switch(nodeType)
-				} // end if(test)
-			} // end if (nodeType == XalanNode::ATTRIBUTE_NODE || nodeType == XalanNode::ELEMENT_NODE)
-		} // end case XPathExpression::eNODENAME
-		break;
-
-	default:
-		break;
-	} // end switch(testType)
-
-	return score;
-}
-
-
-
-void
-SimpleNodeLocator::predicates(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */, 
-			int 					opPos,
-			MutableNodeRefList& 	subQueryResults,
-			int&					endPredicatesPos)
-{
-	const XPathExpression&	currentExpression =
-		xpath.getExpression();
-
-	int 					nextStepType =
-			currentExpression.getOpCodeMapValue(opPos);
-
-	while(XPathExpression::eOP_PREDICATE == nextStepType)
-	{
-		NodeRefListBase::size_type 			i = 0;
-
-		const NodeRefListBase::size_type	theLength = subQueryResults.getLength();
-
-		while(i < theLength)
-		{
-			XalanNode* const	theNode = subQueryResults.item(i);
-			assert(theNode != 0);
-
-			const XObjectPtr		pred(xpath.predicate(theNode, opPos, executionContext));
-			assert(pred.get() != 0);
-
-			// Remove any node that doesn't satisfy the predicate.
-			if(XObject::eTypeNumber == pred->getType() &&
-					i + 1 != pred->num() ||
-			   pred->boolean() == false)
-			{
-				// Set the node to 0.  After we're done,
-				// we'll clear it out.
-				subQueryResults.setNode(i, 0);
-			}
-
-			++i;
-		}
-
-		// Clear out any null entries...
-		subQueryResults.clearNulls();
-
-		opPos = currentExpression.getNextOpCodePosition(opPos);
-
-		nextStepType = currentExpression.getOpCodeMapValue(opPos);
-
-		if(XPathExpression::eOP_PREDICATE == nextStepType)
-		{
-			executionContext.setContextNodeList(subQueryResults);
-
-			// Don't break, loop 'till end so that opPos will be set to end.
-			// if(0 == subQueryResults.getLength())
-			//	break;
-		}
-	}
-
-	endPredicatesPos = opPos;
-}
-
-
-
-inline const XalanDOMString*
-getStringFromTokenQueue(
-			const XPathExpression&	expression,
-			int						opPos)
-{
-	const int	tokenPosition =
-				expression.getOpCodeMapValue(opPos);
-
-	if (tokenPosition < 0)
-	{
-		return 0;
-	}
-	else
-	{
-		const XObject* const	token =
-					expression.getToken(tokenPosition);
-		assert(token != 0);
-
-		return &token->str();
-	}
-}
-
-
-
-SimpleNodeLocator::NodeTester::NodeTester(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType) :
-	m_executionContext(executionContext),
-	m_targetNamespace(0),
-	m_targetLocalName(0),
-	m_testFunction(0)
-{
-	const XPathExpression&	theExpression = xpath.getExpression();
-
-	switch(theExpression.getOpCodeMapValue(opPos))
-	{
-	case XPathExpression::eNODETYPE_COMMENT:
-		m_testFunction = &NodeTester::testComment;
-		break;
-
-	case XPathExpression::eNODETYPE_TEXT:
-		m_testFunction = &NodeTester::testText;
-		break;
-
-	case XPathExpression::eNODETYPE_PI:
-		if (argLen == 1)
-		{
-			m_testFunction = &NodeTester::testPI;
-		}
-		else if(argLen == 2)
-		{
-			m_testFunction = &NodeTester::testPIName;
-
-			m_targetLocalName = getStringFromTokenQueue(
-				theExpression,
-				opPos + 1);
-		}
-		else
-		{
-			executionContext.error(TranscodeFromLocalCodePage("Arg length of processing-instruction() node test is incorrect!"), 0, xpath.getLocator());
-		}
-		break;
-
-	case XPathExpression::eNODETYPE_NODE:
-		m_testFunction = &NodeTester::testNode;
-		break;
-
-	case XPathExpression::eNODETYPE_ROOT:
-		m_testFunction = &NodeTester::testRoot;
-		break;
-
-	case XPathExpression::eNODENAME:
-		{
-			bool	isTotallyWild = false;
-
-			m_targetNamespace = getStringFromTokenQueue(
-					theExpression,
-					opPos + 1);
-
-			if (m_targetNamespace == 0 &&
-				theExpression.getOpCodeMapValue(opPos + 2) == XPathExpression::eELEMWILDCARD)
-			{
-				isTotallyWild = true;
-			}
-			else
-			{
-				m_targetLocalName = getStringFromTokenQueue(
-					theExpression,
-					opPos + 2);
-			}
-
-			if(stepType == XPathExpression::eFROM_ATTRIBUTES)
-			{
-				if (isTotallyWild == true)
-				{
-					m_testFunction = &NodeTester::testAttributeTotallyWild;
-				}
-				else if (m_targetNamespace == 0)
-				{
-					assert(m_targetLocalName != 0);
-
-					m_testFunction = &NodeTester::testAttributeNCName;
-				}
-				else if (m_targetLocalName == 0)
-				{
-					assert(m_targetNamespace != 0);
-
-					m_testFunction = &NodeTester::testAttributeNamespaceOnly;
-				}
-				else
-				{
-					assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-
-					m_testFunction = &NodeTester::testAttributeQName;
-				}
-			}
-			else if (stepType == XPathExpression::eFROM_NAMESPACE)
-			{
-				if (isTotallyWild == true)
-				{
-					m_testFunction = &NodeTester::testNamespaceTotallyWild;
-				}
-				else
-				{
-					m_testFunction = &NodeTester::testNamespaceNCName;
-				}
-			}
-			else
-			{
-				if (isTotallyWild == true)
-				{
-					m_testFunction = &NodeTester::testElementTotallyWild;
-				}
-				else if (m_targetNamespace == 0)
-				{
-					m_testFunction = &NodeTester::testElementNCName;
-				}
-				else if (m_targetLocalName == 0)
-				{
-					assert(m_targetNamespace != 0);
-
-					m_testFunction = &NodeTester::testElementNamespaceOnly;
-				}
-				else
-				{
-					assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-					m_testFunction = &NodeTester::testElementQName;
-				}
-			}
-		}
-		break;
-
-	default:
-		m_testFunction = &NodeTester::testDefault;
-		break;
-	}
-
-	assert(m_testFunction != 0);
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testComment(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::COMMENT_NODE == nodeType)
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-	else
-	{
-		return XPath::eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testText(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	if ((XalanNode::CDATA_SECTION_NODE == nodeType || XalanNode::TEXT_NODE == nodeType) &&
-		 shouldStripSourceNode(context) == false)
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-	else
-	{
-		return XPath::eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testPI(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::PROCESSING_INSTRUCTION_NODE == nodeType)
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-	else
-	{
-		return XPath::eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testPIName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetLocalName != 0);
-
-	if (XalanNode::PROCESSING_INSTRUCTION_NODE == nodeType &&
-		equals(context.getNodeName(), *m_targetLocalName) == true)
-	{
-		return XPath::eMatchScoreQName;
-	}
-	else
-	{
-		return XPath::eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testNode(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	if ((nodeType != XalanNode::CDATA_SECTION_NODE && nodeType != XalanNode::TEXT_NODE) ||
-		shouldStripSourceNode(context) == false)
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-	else
-	{
-		return XPath::eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testRoot(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::DOCUMENT_FRAGMENT_NODE == nodeType ||
-		XalanNode::DOCUMENT_NODE == nodeType)
-	{
-		return XPath::eMatchScoreOther;
-	}
-	else
-	{
-		return XPath::eMatchScoreNone;
-	}
-}
-
-
-
-inline bool
-isNamespaceDeclaration(const XalanNode&		theAttributeNode)
-{
-	assert(theAttributeNode.getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return DOMServices::isNamespaceDeclaration((const XalanAttr&)theAttributeNode);
-#else
-	return DOMServices::isNamespaceDeclaration(static_cast<const XalanAttr&>(theAttributeNode));
-#endif
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testAttributeNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true ||
-		matchLocalName(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testAttributeQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true ||
-		matchLocalNameAndNamespaceURI(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testAttributeNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true ||
-		matchNamespaceURI(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testAttributeTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testElementNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType ||
-		matchLocalName(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testElementQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType ||
-		matchLocalNameAndNamespaceURI(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testElementNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType ||
-		matchNamespaceURI(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreNSWild;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testElementTotallyWild(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testNamespaceNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == false ||
-		matchNamespace(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testNamespaceTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == false)
-	{
-		return XPath::eMatchScoreNone;
-	}
-	else
-	{
-		return XPath::eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-SimpleNodeLocator::NodeTester::testDefault(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		/* nodeType */) const
-{
-	return XPath::eMatchScoreNone;
-}
-
-
-
-bool
-SimpleNodeLocator::NodeTester::matchLocalName(const XalanNode&	context) const
-{
-	assert(m_targetLocalName != 0);
-
-	return length(context.getNamespaceURI()) == 0 &&
-		   equals(DOMServices::getLocalNameOfNode(context), *m_targetLocalName);
-}
-
-
-
-bool
-SimpleNodeLocator::NodeTester::matchNamespaceURI(const XalanNode&	context) const
-{
-	assert(m_targetNamespace != 0);
-
-	return equals(context.getNamespaceURI(), *m_targetNamespace);
-}
-
-
-
-bool
-SimpleNodeLocator::NodeTester::matchLocalNameAndNamespaceURI(const XalanNode&	context) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-	return equals(DOMServices::getLocalNameOfNode(context), *m_targetLocalName) == true &&
-		   equals(context.getNamespaceURI(), *m_targetNamespace) == true;
-}
-
-
-
-bool
-SimpleNodeLocator::NodeTester::matchNamespace(const XalanNode&	context) const
-{
-	assert(m_targetLocalName != 0);
-
-	return equals(context.getNodeValue(), *m_targetLocalName);
-}
-
-
-
-bool
-SimpleNodeLocator::NodeTester::shouldStripSourceNode(const XalanNode&	context) const
-{
-	assert(context.getNodeType() == XalanNode::CDATA_SECTION_NODE ||
-		   context.getNodeType() == XalanNode::TEXT_NODE);
-
-	return m_executionContext.shouldStripSourceNode(context);
-}
diff --git a/src/XPath/SimpleNodeLocator.hpp b/src/XPath/SimpleNodeLocator.hpp
deleted file mode 100644
index cfae73d..0000000
--- a/src/XPath/SimpleNodeLocator.hpp
+++ /dev/null
@@ -1,442 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(SIMPLENODELOCATOR_HEADER_GUARD_1357924680)
-#define SIMPLENODELOCATOR_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/XObject.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-class XPathExpression;
-
-
-
-/**
- * SimpleNodeLocator implements a search of one or more DOM trees.  It
- * has no constructors, since it is never instantiated.
- */
-class XALAN_XPATH_EXPORT SimpleNodeLocator
-{
-public:
-
-	static const XObjectPtr
-	locationPath(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode& 				context, 
-			int 					opPos);
-
-	static XPath::eMatchScore
-	locationPathPattern(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode& 				context, 
-			int 					opPos);
-
-	class NodeTester
-	{
-	public:
-
-		NodeTester(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType);
-
-		XPath::eMatchScore
-		operator()(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-		{
-			assert(context.getNodeType() == nodeType);
-
-			return (this->*m_testFunction)(context, nodeType);
-		}
-
-	private:
-
-		typedef XPath::eMatchScore (NodeTester::*MemberFunctionPtr)(const XalanNode&, XalanNode::NodeType) const;
-
-
-		XPath::eMatchScore
-		testComment(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testText(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testPI(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testPIName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testNode(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testRoot(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testAttributeNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testAttributeQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testAttributeNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testAttributeTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testElementNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testElementQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testElementNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testElementTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testNamespaceNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testNamespaceTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		XPath::eMatchScore
-		testDefault(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		bool
-		matchLocalName(const XalanNode&		context) const;
-
-		bool
-		matchNamespaceURI(const XalanNode&	context) const;
-
-		bool
-		matchLocalNameAndNamespaceURI(const XalanNode&	context) const;
-
-		bool
-		matchNamespace(const XalanNode&		context) const;
-
-		bool
-		shouldStripSourceNode(const XalanNode&	context) const;
-
-		// Data members...
-		XPathExecutionContext&	m_executionContext;
-
-		const XalanDOMString*	m_targetNamespace;
-
-		const XalanDOMString*	m_targetLocalName;
-
-		MemberFunctionPtr		m_testFunction;
-	};
-
-protected:
-
-	static void
-	step(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			MutableNodeRefList&		queryResults);
-
-	/**
-	 * Execute a step in a location path.
-	 *
-	 * @param xpath The xpath that is executing
-	 * @param context The current source tree context node
-	 * @param opPos The current position in the xpath operation map array
-	 * @param scoreHolder a reference to an XPath::eMatchScore to receive
-	 * the result.
-	 * @return the last matched context node
-	 */
-	static XalanNode*
-	stepPattern(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			XPath::eMatchScore& 	scoreHolder);
-
-	static int
-	findNodeSet(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findRoot(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findParent(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findSelf(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findAncestors(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findAncestorsOrSelf(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findAttributes(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findChildren(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findDescendants(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findFollowing(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findFollowingSiblings(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findPreceeding(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findPreceedingSiblings(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findNamespace(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static int
-	findNodesOnUnknownAxis(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults);
-
-	static XPath::eMatchScore
-	nodeTest(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context,
-			XalanNode::NodeType		nodeType,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType);
-
-	static void
-	predicates(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			MutableNodeRefList& 	subQueryResults,
-			int&					endPredicatesPos);
-
-	static XPath::eMatchScore
-	handleFoundIndex(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				localContext,
-			int 					startOpPos);
-
-private:
-
-	// Not defined...
-	SimpleNodeLocator();
-
-	~SimpleNodeLocator();
-
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// SIMPLENODELOCATOR_HEADER_GUARD_1357924680
diff --git a/src/XPath/XBoolean.cpp b/src/XPath/XBoolean.cpp
deleted file mode 100644
index 864e03d..0000000
--- a/src/XPath/XBoolean.cpp
+++ /dev/null
@@ -1,191 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XBoolean.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-
-
-
-XalanDOMString	XBoolean::s_falseString;
-
-XalanDOMString	XBoolean::s_trueString;
-
-
-
-XBoolean::XBoolean(bool		val) :
-	XObject(eTypeBoolean),
-	m_value(val)
-{
-}
-
-
-
-XBoolean::XBoolean(const XBoolean&	source) :
-	XObject(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XBoolean::~XBoolean()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XBoolean*
-#endif
-XBoolean::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XBoolean(*this) : new (theAddress) XBoolean(*this);
-}
-
-
-
-XalanDOMString
-XBoolean::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#BOOLEAN"));
-}
-
-
-
-double
-XBoolean::num() const
-{
-	return m_value == true ? 1.0 : 0.0;
-}
-
-
-
-bool
-XBoolean::boolean() const
-{
-	return m_value;
-}
-
-
-
-const XalanDOMString&
-XBoolean::str() const
-{
-	return m_value == true ? s_trueString : s_falseString;
-}
-
-
-
-void
-XBoolean::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	if (m_value == true)
-	{
-		(formatterListener.*function)(c_wstr(s_trueString), FormatterListener::size_type(length(s_trueString)));
-	}
-	else
-	{
-		(formatterListener.*function)(c_wstr(s_falseString), FormatterListener::size_type(length(s_falseString)));
-	}
-}
-
-
-
-void
-XBoolean::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.Boolean(*this,
-							  boolean());
-}
-
-
-
-void
-XBoolean::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.Boolean(*this,
-							  boolean());
-}
-
-
-
-void
-XBoolean::initialize()
-{
-	s_falseString = XALAN_STATIC_UCODE_STRING("false");
-	s_trueString = XALAN_STATIC_UCODE_STRING("true");
-}
-
-
-
-void
-XBoolean::terminate()
-{
-	releaseMemory(s_falseString);
-	releaseMemory(s_trueString);
-}
diff --git a/src/XPath/XBoolean.hpp b/src/XPath/XBoolean.hpp
deleted file mode 100644
index ee36e34..0000000
--- a/src/XPath/XBoolean.hpp
+++ /dev/null
@@ -1,143 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XBOOLEAN_HEADER_GUARD_1357924680)
-#define XBOOLEAN_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XObject.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XBoolean : public XObject
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XPathInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XPathInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Construct an XBoolean object from a boolean value
-	 * 
-	 * @param val		boolean value to initialize object
-	 */
-	XBoolean(bool	val);
-
-	XBoolean(const XBoolean&	source);
-
-	virtual
-	~XBoolean();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XBoolean*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual XalanDOMString
-	getTypeString() const;
-
-	virtual double
-	num() const;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-private:
-
-	bool	m_value;
-
-	static XalanDOMString	s_falseString;
-
-	static XalanDOMString	s_trueString;
-};
-
-
-
-#endif	// XBOOLEAN_HEADER_GUARD_1357924680
diff --git a/src/XPath/XLocator.cpp b/src/XPath/XLocator.cpp
deleted file mode 100644
index 9413166..0000000
--- a/src/XPath/XLocator.cpp
+++ /dev/null
@@ -1,69 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XLocator.hpp"
-
-
-
-XLocator::XLocator()
-{
-}
-
-
-
-XLocator::~XLocator()
-{
-}
diff --git a/src/XPath/XLocator.hpp b/src/XPath/XLocator.hpp
deleted file mode 100644
index 508e480..0000000
--- a/src/XPath/XLocator.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XLOCATOR_HEADER_GUARD_1357924680)
-#define XLOCATOR_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-class XalanNode;
-class XObject;
-class XObjectPtr;
-class XPath;
-class XPathExecutionContext;
-class XNodeSet;
-
-
-
-class XALAN_XPATH_EXPORT XLocator
-{
-public:
-
-	XLocator();
-
-	virtual
-	~XLocator();
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef	vector<XObjectPtr>		ConnectArgsVectorType;
-#else
-	typedef	std::vector<XObjectPtr>	ConnectArgsVectorType;
-#endif
-
-	/**
-	 * Execute a location path.  Normally, this method simply moves past the
-	 * OP_LOCATIONPATH and its length member, and calls the Step function,
-	 * which will recursively process the rest of the location path, and then
-	 * wraps the resulting node list in an XNodeSet object.
-	 *
-	 * @param xpath   xpath that is executing
-	 * @param context current source tree context node
-	 * @param opPos   current position in the xpath.m_opMap array
-	 * @return result of the query in a pointer to an XObject
-	 */
-	virtual const XObjectPtr
-	locationPath(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode&				context, 
-            int						opPos) = 0;
-
-	/**
-	 * Execute a location path pattern.
-	 *
-	 * @param xpath   xpath that is executing
-	 * @param context current source tree context node
-	 * @param opPos   current position in the xpath operation map array
-	 * @return score, one of MATCH_SCORE_NODETEST, MATCH_SCORE_NONE,
-	 *         MATCH_SCORE_OTHER, MATCH_SCORE_QNAME
-	 */
-	virtual double
-	locationPathPattern(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			XalanNode&				context, 
-            int						opPos) = 0;
-};
-
-
-
-#endif	// XLOCATOR_HEADER_GUARD_1357924680
diff --git a/src/XPath/XNodeSet.cpp b/src/XPath/XNodeSet.cpp
deleted file mode 100644
index a8e17f4..0000000
--- a/src/XPath/XNodeSet.cpp
+++ /dev/null
@@ -1,157 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XNodeSet.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "MutableNodeRefList.hpp"
-#include "XObjectTypeCallback.hpp"
-#include "XPathExecutionContext.hpp"
-
-
-
-
-XNodeSet::XNodeSet(BorrowReturnMutableNodeRefList&	value) :
-	XNodeSetBase(),
-	m_value(value)
-{
-}
-
-
-
-XNodeSet::XNodeSet(const XNodeSet&	source,
-				   bool				/* deepClone */) :
-	XNodeSetBase(source),
-	m_value(source.m_value.clone())
-{
-}
-
-
-
-XNodeSet::~XNodeSet()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XNodeSet*
-#endif
-XNodeSet::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XNodeSet(*this) : new (theAddress) XNodeSet(*this);
-}
-
-
-
-const NodeRefListBase&
-XNodeSet::nodeset() const
-{
-	return *m_value.get();
-}
-
-
-
-void
-XNodeSet::release()
-{
-	m_value.release();
-
-	clearCachedValues();
-}
-
-
-
-void
-XNodeSet::set(BorrowReturnMutableNodeRefList&	value)
-{
-	release();
-
-	m_value = value;
-}
-
-
-
-XalanNode*
-XNodeSet::item(size_type	index) const
-{
-	return m_value->item(index);
-}
-
-
-
-XNodeSet::size_type
-XNodeSet::getLength() const
-{
-	return m_value->getLength();
-}
diff --git a/src/XPath/XNodeSet.hpp b/src/XPath/XNodeSet.hpp
deleted file mode 100644
index 8017699..0000000
--- a/src/XPath/XNodeSet.hpp
+++ /dev/null
@@ -1,149 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XNODESET_HEADER_GUARD_1357924680)
-#define XNODESET_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XNodeSetBase.hpp>
-
-
-
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-/**
- * Class to hold XPath return types.
- */
-class XALAN_XPATH_EXPORT XNodeSet : public XNodeSetBase
-{
-public:
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	/**
-	 * Create an XNodeSet from a node list.
-	 *
-	 * @param value Pointer to source node list.  The XNodeSet will adopt the pointer.
-	 */
-	XNodeSet(BorrowReturnMutableNodeRefList&	value);
-
-	/**
-	 * Create an XNodeSet from another.
-	 *
-	 * @param source    object to copy
-	 * @param deepClone true to copy all children on nodeset nodes
-	 */
-	XNodeSet(
-			const XNodeSet&		source,
-			bool				deepClone = false);
-
-	virtual
-	~XNodeSet();
-
-	// These methods are inherited from XNodeSetBase...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XNodeSet*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual const NodeRefListBase&
-	nodeset() const;
-
-	virtual XalanNode*
-	item(size_type	index) const;
-
-	virtual size_type
-	getLength() const;
-
-	/**
-	 * Release the node set held by the instance.
-	 */
-	void
-	release();
-
-	/**
-	 * Change the value of an XNodeSet
-	 *
-	 * @param theValue The new value.
-	 */
-	void
-	set(BorrowReturnMutableNodeRefList&		value);
-
-private:
-
-	// Not implemented...
-	XNodeSet&
-	operator=(const XNodeSet&);
-
-	// Data members...
-	BorrowReturnMutableNodeRefList				m_value;
-};
-
-
-
-#endif	// XNODESET_HEADER_GUARD_1357924680
diff --git a/src/XPath/XNodeSetAllocator.cpp b/src/XPath/XNodeSetAllocator.cpp
deleted file mode 100644
index 6503775..0000000
--- a/src/XPath/XNodeSetAllocator.cpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XNodeSetAllocator.hpp"
-
-
-
-XNodeSetAllocator::XNodeSetAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XNodeSetAllocator::~XNodeSetAllocator()
-{
-}
-
-
-
-
-XNodeSetAllocator::nodeset_type*
-XNodeSetAllocator::createNodeSet(BorrowReturnMutableNodeRefList&	value)
-{
-	nodeset_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	nodeset_type* const	theResult = new(theBlock) nodeset_type(value);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XNodeSetAllocator::nodeset_type*
-XNodeSetAllocator::clone(const XNodeSet&	value)
-{
-	nodeset_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool
-XNodeSetAllocator::destroy(nodeset_type*	theNodeSet)
-{
-	return m_allocator.destroyObject(theNodeSet);
-}
-
-
-
-void 
-XNodeSetAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XNodeSetAllocator.hpp b/src/XPath/XNodeSetAllocator.hpp
deleted file mode 100644
index ff0a354..0000000
--- a/src/XPath/XNodeSetAllocator.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XNODESETALLOCATOR_INCLUDE_GUARD_12455133)
-#define XNODESETALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XNodeSet.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XNodeSetAllocator
-{
-public:
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	typedef XNodeSet			nodeset_type;
-
-	typedef ReusableArenaAllocator<nodeset_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XNodeSetAllocator(size_type	theBlockCount);
-
-	~XNodeSetAllocator();
-	
-	/**
-	 * Create an XNodeSet object using allocator from a string.
-	 * 
-	 * @param value			source NodeRefListBase
-	 *
-	 * @return pointer to a node
-	 */
-	nodeset_type*
-	createNodeSet(BorrowReturnMutableNodeRefList&	value);
-
-	/**
-	 * Clone an XNodeSet object.
-	 * 
-	 * @param value			source XNodeSet
-	 *
-	 * @return pointer to an XNodeSet
-	 */
-	nodeset_type*
-	clone(const XNodeSet&	value);
-
-	/**
-	 * Delete an XNodeSet object from allocator.	 
-	 */
-	bool
-	destroy(nodeset_type*	theNodeSet);
-	
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const nodeset_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XNodeSet objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-
-private:
-
-	// Not implemented...
-	XNodeSetAllocator(const XNodeSetAllocator&);
-
-	XNodeSetAllocator&
-	operator=(const XNodeSetAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XNODESETALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XPath/XNodeSetBase.cpp b/src/XPath/XNodeSetBase.cpp
deleted file mode 100644
index 182bbf8..0000000
--- a/src/XPath/XNodeSetBase.cpp
+++ /dev/null
@@ -1,236 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XNodeSetBase.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-#include "XPathExecutionContext.hpp"
-
-
-
-const double	theBogusNumberValue = 123456789;
-
-
-
-XNodeSetBase::XNodeSetBase() :
-	XObject(eTypeNodeSet),
-	m_proxy(*this),
-	m_cachedStringValue(),
-	m_cachedNumberValue(theBogusNumberValue)
-{
-}
-
-
-
-XNodeSetBase::XNodeSetBase(const XNodeSetBase&	source) :
-	XObject(source),
-	m_proxy(*this),
-	m_cachedStringValue(source.m_cachedStringValue),
-	m_cachedNumberValue(source.m_cachedNumberValue)
-{
-}
-
-
-
-XNodeSetBase::~XNodeSetBase()
-{
-}
-
-
-
-XalanDOMString
-XNodeSetBase::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#NODESET"));
-}
-
-
-
-double
-XNodeSetBase::num() const
-{
-	if (DoubleSupport::equal(m_cachedNumberValue, theBogusNumberValue) == true)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XNodeSetBase*)this)->m_cachedNumberValue = DoubleSupport::toDouble(str());
-#else
-		m_cachedNumberValue = DoubleSupport::toDouble(str());
-#endif
-	}
-
-	return m_cachedNumberValue;
-}
-
-
-
-bool
-XNodeSetBase::boolean() const
-{
-	return getLength() > 0 ? true : false;
-}
-
-
-
-const XalanDOMString&
-XNodeSetBase::str() const
-{
-	if (isEmpty(m_cachedStringValue) == true &&
-		getLength() > 0)
-	{
-		const XalanNode* const	theNode = item(0);
-		assert(theNode != 0);
-
-#if defined(XALAN_NO_MUTABLE)
-		DOMServices::getNodeData(*theNode, ((XNodeSetBase*)this)->m_cachedStringValue);
-#else
-		DOMServices::getNodeData(*theNode, m_cachedStringValue);
-#endif
-	}
-
-	return m_cachedStringValue;
-}
-
-
-
-void
-XNodeSetBase::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	if (isEmpty(m_cachedStringValue) == false)
-	{
-		assert(length(m_cachedStringValue) == FormatterListener::size_type(length(m_cachedStringValue)));
-
-		(formatterListener.*function)(c_wstr(m_cachedStringValue), FormatterListener::size_type(length(m_cachedStringValue)));
-	}
-	else if (getLength() > 0)
-	{
-		const XalanNode* const	theNode = item(0);
-		assert(theNode != 0);
-
-		DOMServices::getNodeData(*theNode, formatterListener, function);
-	}
-}
-
-
-
-void
-XNodeSetBase::str(XalanDOMString&	theBuffer) const
-{
-	if (isEmpty(m_cachedStringValue) == false)
-	{
-		append(theBuffer, m_cachedStringValue);
-	}
-	else if (getLength() > 0)
-	{
-		const XalanNode* const	theNode = item(0);
-		assert(theNode != 0);
-
-		DOMServices::getNodeData(*theNode, theBuffer);
-	}
-}
-
-
-
-const ResultTreeFragBase&
-XNodeSetBase::rtree() const
-{
-	return m_proxy;
-}
-
-
-
-void
-XNodeSetBase::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.NodeSet(*this,
-							  nodeset());
-}
-
-
-
-void
-XNodeSetBase::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.NodeSet(*this,
-							  nodeset());
-}
-
-
-
-void
-XNodeSetBase::clearCachedValues()
-{
-	m_cachedNumberValue = theBogusNumberValue;
-
-	clear(m_cachedStringValue);
-}
diff --git a/src/XPath/XNodeSetBase.hpp b/src/XPath/XNodeSetBase.hpp
deleted file mode 100644
index 9a2d44a..0000000
--- a/src/XPath/XNodeSetBase.hpp
+++ /dev/null
@@ -1,168 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XNODESETBASE_HEADER_GUARD_1357924680)
-#define XNODESETBASE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XObject.hpp>
-
-
-
-#include <XPath/XNodeSetResultTreeFragProxy.hpp>
-
-
-
-/**
- * Class to hold XPath return types.
- */
-class XALAN_XPATH_EXPORT XNodeSetBase : public XObject
-{
-public:
-
-	typedef size_t	size_type;
-
-	/**
-	 * Create an XNodeSetBase
-	 */
-	XNodeSetBase();
-
-	/**
-	 * Create an XNodeSetBase from another.
-	 *
-	 * @param source    object to copy
-	 */
-	XNodeSetBase(const XNodeSetBase&	source);
-
-	virtual
-	~XNodeSetBase();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XNodeSetBase*
-#endif
-	clone(void*		theAddress = 0) const = 0;
-
-	virtual XalanDOMString
-	getTypeString() const;
-
-	virtual double
-	num() const;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-	virtual const ResultTreeFragBase&
-	rtree() const;
-
-	virtual const NodeRefListBase&
-	nodeset() const = 0;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-	virtual XalanNode*
-	item(size_type	index) const = 0;
-
-	virtual size_type
-	getLength() const = 0;
-
-protected:
-
-	void
-	clearCachedValues();
-
-private:
-
-	// Not implemented...
-	XNodeSetBase&
-	operator=(const XNodeSetBase&);
-
-	// Data members...
-	XNodeSetResultTreeFragProxy		m_proxy;
-
-	mutable XalanDOMString			m_cachedStringValue;
-
-	mutable double					m_cachedNumberValue;
-};
-
-
-
-#endif	// XNODESETBASE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XNodeSetResultTreeFragProxy.cpp b/src/XPath/XNodeSetResultTreeFragProxy.cpp
deleted file mode 100644
index 39550d5..0000000
--- a/src/XPath/XNodeSetResultTreeFragProxy.cpp
+++ /dev/null
@@ -1,155 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XNodeSetResultTreeFragProxy.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include "NodeRefListBase.hpp"
-#include "XNodeSetBase.hpp"
-
-
-
-XNodeSetResultTreeFragProxy::XNodeSetResultTreeFragProxy(const XNodeSetBase&	theValue) :
-	XObjectResultTreeFragProxyBase(),
-	m_value(theValue)
-{
-}
-
-
-
-XNodeSetResultTreeFragProxy::~XNodeSetResultTreeFragProxy()
-{
-}
-
-
-
-XalanNode*
-XNodeSetResultTreeFragProxy::getFirstChild() const
-{
-	return m_value.getLength() == 0 ? 0 : m_value.item(0);
-}
-
-
-
-XalanNode*
-XNodeSetResultTreeFragProxy::getLastChild() const
-{
-	const XNodeSetBase::size_type	theLength = m_value.getLength();
-	
-	return theLength == 0 ? 0 : m_value.item(theLength - 1);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XNodeSetResultTreeFragProxy*
-#endif
-XNodeSetResultTreeFragProxy::cloneNode(bool	/* deep */) const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XNodeSetResultTreeFragProxy::hasChildNodes() const
-{
-	return getLength() > 0 ? true : false;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-ResultTreeFragBase*
-#else
-XNodeSetResultTreeFragProxy*
-#endif
-XNodeSetResultTreeFragProxy::clone(bool	/* deep */) const
-{
-	assert(false);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XNodeSetResultTreeFragProxy::item(unsigned int	index) const
-{
-	assert(index < getLength());
-
-	return m_value.nodeset().item(index);
-}
-
-
-
-unsigned int
-XNodeSetResultTreeFragProxy::getLength() const
-{
-	assert(unsigned(m_value.getLength()) == m_value.getLength());
-
-	return unsigned(m_value.getLength());
-}
diff --git a/src/XPath/XNodeSetResultTreeFragProxy.hpp b/src/XPath/XNodeSetResultTreeFragProxy.hpp
deleted file mode 100644
index 0b821cb..0000000
--- a/src/XPath/XNodeSetResultTreeFragProxy.hpp
+++ /dev/null
@@ -1,135 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XNODESETRESULTTREEFRAGPROXY_HEADER_GUARD_1357924680)
-#define XNODESETRESULTTREEFRAGPROXY_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XObjectResultTreeFragProxyBase.hpp>
-
-
-
-class XNodeSetBase;
-
-
-
-class XALAN_XPATH_EXPORT XNodeSetResultTreeFragProxy : public XObjectResultTreeFragProxyBase
-{
-public:
-
-	XNodeSetResultTreeFragProxy(const XNodeSetBase&	value);
-
-	virtual
-	~XNodeSetResultTreeFragProxy();
-
-	// These interfaces are inherited from XObjectResultTreeFragProxyBase...
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XNodeSetResultTreeFragProxy*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual bool
-	hasChildNodes() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual ResultTreeFragBase*
-#else
-	virtual XNodeSetResultTreeFragProxy*
-#endif
-	clone(bool	deep) const;
-
-private:
-
-	// Not implemented...
-	XNodeSetResultTreeFragProxy(const XNodeSetResultTreeFragProxy&	theSource);
-
-	XNodeSetResultTreeFragProxy&
-	operator=(const XNodeSetResultTreeFragProxy&	theRHS);
-
-	bool
-	operator==(const XNodeSetResultTreeFragProxy&	theRHS);
-
-
-	// These methods are inherited from XalanNodeList...
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual unsigned int
-	getLength() const;
-
-	// Data members...
-	const XNodeSetBase&		m_value;
-};
-
-
-
-#endif	// XNODESETRESULTTREEFRAGPROXY_HEADER_GUARD_1357924680
diff --git a/src/XPath/XNull.cpp b/src/XPath/XNull.cpp
deleted file mode 100644
index 83e8bc4..0000000
--- a/src/XPath/XNull.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XNull.hpp"
-
-
-
-#include "XObjectTypeCallback.hpp"
-
-
-
-XNull::XNull() :
-	XObject(eTypeNull)
-{
-}
-
-
-
-XNull::XNull(const XNull&	source) :
-	XObject(source)
-{
-}
-
-
-
-XNull::~XNull()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XNull*
-#endif
-XNull::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XNull(*this) : new (theAddress) XNull(*this);
-}
-
-
-
-XalanDOMString
-XNull::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#NULL"));
-}
-
-
-
-double
-XNull::num() const
-{
-	return 0.0;
-}
-
-
-
-bool
-XNull::boolean() const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XNull::str() const
-{
-	return s_nullString;
-}
-
-
-
-void
-XNull::str(
-			FormatterListener&	/* formatterListener */,
-			MemberFunctionPtr	/* function */) const
-{
-}
-
-
-
-void
-XNull::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.Null(*this);
-}
-
-
-
-void
-XNull::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.Null(*this);
-}
diff --git a/src/XPath/XNull.hpp b/src/XPath/XNull.hpp
deleted file mode 100644
index e487ce1..0000000
--- a/src/XPath/XNull.hpp
+++ /dev/null
@@ -1,134 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XNULL_HEADER_GUARD_1357924680)
-#define XNULL_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XObject.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XNull : public XObject
-{
-public:
-
-	/**
-	 * Create an XNull.
-	 *
-	 */
-	explicit
-	XNull();
-
-	/**
-	 * Create an XNull from another.
-	 *
-	 * @param source    object to copy
-	 * @param deepClone true to copy all children on nodeset nodes
-	 */
-	XNull(const XNull&	source);
-
-	virtual
-	~XNull();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XNull*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual XalanDOMString
-	getTypeString() const;
-
-	virtual double
-	num() const;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-private:
-
-	// not implemented
-	XNull& operator=(const XNull &);
-};
-
-
-
-#endif	// XNULL_HEADER_GUARD_1357924680
diff --git a/src/XPath/XNumber.cpp b/src/XPath/XNumber.cpp
deleted file mode 100644
index 4072949..0000000
--- a/src/XPath/XNumber.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XNumber.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-XNumber::XNumber(double		val) :
-	XNumberBase(),
-	m_value(val),
-	m_cachedStringValue()
-{
-}
-
-
-
-XNumber::XNumber(const XNumber&		source) :
-	XNumberBase(source),
-	m_value(source.m_value),
-	m_cachedStringValue(source.m_cachedStringValue)
-{
-}
-
-
-
-XNumber::~XNumber()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XNumber*
-#endif
-XNumber::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XNumber(*this) : new (theAddress) XNumber(*this);
-}
-
-
-
-double
-XNumber::num() const
-{
-	return m_value;
-}
-
-
-
-const XalanDOMString&
-XNumber::str() const
-{
-	if (isEmpty(m_cachedStringValue) == true)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		DoubleToDOMString(m_value, ((XNumber*)this)->m_cachedStringValue);
-#else
-		DoubleToDOMString(m_value, m_cachedStringValue);
-#endif
-	}
-
-	return m_cachedStringValue;
-}
-
-
-
-void
-XNumber::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	const XalanDOMString&	theValue = str();
-
-	assert(length(theValue) == FormatterListener::size_type(length(theValue)));
-
-	(formatterListener.*function)(c_wstr(theValue), FormatterListener::size_type(length(theValue)));
-}
-
-
-
-void
-XNumber::str(XalanDOMString&	theBuffer) const
-{
-	if (isEmpty(m_cachedStringValue) == false)
-	{
-		append(theBuffer, m_cachedStringValue);
-	}
-	else
-	{
-		DoubleToDOMString(m_value, theBuffer);
-	}
-}
-
-
-
-void
-XNumber::set(double		theValue)
-{
-	m_value = theValue;
-
-	clear(m_cachedStringValue);
-}
diff --git a/src/XPath/XNumber.hpp b/src/XPath/XNumber.hpp
deleted file mode 100644
index 297eb24..0000000
--- a/src/XPath/XNumber.hpp
+++ /dev/null
@@ -1,135 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XNUMBER_HEADER_GUARD_1357924680)
-#define XNUMBER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XNumberBase.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XNumber : public XNumberBase
-{
-public:
-
-	/**
-	 * Create an XNumber from a number.
-	 *
-	 * @param val numeric value to use
-	 */
-	XNumber(double	val);
-
-	XNumber(const XNumber&	source);
-
-	virtual
-	~XNumber();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XNumber*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual double
-	num() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-	// These methods are new to XNumber...
-
-	/**
-	 * Change the value of an XNumber
-	 *
-	 * @param theValue The new value.
-	 */
-	void
-	set(double	theValue);
-
-private:
-
-	// Value of the number being represented.
-	double					m_value;
-
-	mutable XalanDOMString	m_cachedStringValue;
-};
-
-
-
-#endif	// XNUMBER_HEADER_GUARD_1357924680
diff --git a/src/XPath/XNumberAllocator.cpp b/src/XPath/XNumberAllocator.cpp
deleted file mode 100644
index 0238ef6..0000000
--- a/src/XPath/XNumberAllocator.cpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XNumberAllocator.hpp"
-
-
-
-XNumberAllocator::XNumberAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XNumberAllocator::~XNumberAllocator()
-{
-}
-
-
-
-XNumberAllocator::number_type*
-XNumberAllocator::createNumber(double	theNumber) 
-{
-	number_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	number_type* const	theResult = new(theBlock) number_type(theNumber);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XNumberAllocator::number_type*
-XNumberAllocator::clone(const XNumber&	value)
-{
-	number_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool
-XNumberAllocator::destroy(number_type*	theNumber)
-{
-	return m_allocator.destroyObject(theNumber);
-}
-
-
-
-void 
-XNumberAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XNumberAllocator.hpp b/src/XPath/XNumberAllocator.hpp
deleted file mode 100644
index 0686aaa..0000000
--- a/src/XPath/XNumberAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XNUMBERALLOCATOR_INCLUDE_GUARD_135792455)
-#define XNUMBERALLOCATOR_INCLUDE_GUARD_135792455
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XNumber.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XNumberAllocator
-{
-public:
-
-	typedef XNumber			number_type;
-
-	typedef ReusableArenaAllocator<number_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XNumberAllocator(size_type	theBlockCount);
-
-	~XNumberAllocator();
-
-	/**
-	 * Create an XNumber object using allocator from a string.
-	 * 
-	 * @param theString     source number
-	 *
-	 * @return a pointer to a number
-	 */
-	number_type*
-	createNumber(double		theNumber);
-
-	/**
-	 * Clone an XNumber object.
-	 * 
-	 * @param value			source XNumber
-	 *
-	 * @return pointer to an XNumber
-	 */
-	number_type*
-	clone(const XNumber&	value);
-
-	/**
-	 * Delete an XNumber object from allocator.	 
-	 */
-	bool
-	destroy(number_type*	theNumber);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const number_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XNumber objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XNumberAllocator(const XNumberAllocator&);
-
-	XNumberAllocator&
-	operator=(const XNumberAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XNUMBERALLOCATOR_INCLUDE_GUARD_135792455
diff --git a/src/XPath/XNumberBase.cpp b/src/XPath/XNumberBase.cpp
deleted file mode 100644
index 1b2d646..0000000
--- a/src/XPath/XNumberBase.cpp
+++ /dev/null
@@ -1,122 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XNumberBase.hpp"
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-
-
-
-XNumberBase::XNumberBase() :
-	XObject(eTypeNumber)
-{
-}
-
-
-
-XNumberBase::XNumberBase(const XNumberBase&		source) :
-	XObject(source)
-{
-}
-
-
-
-XNumberBase::~XNumberBase()
-{
-}
-
-
-
-XalanDOMString
-XNumberBase::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#NUMBER"));
-}
-
-
-
-bool
-XNumberBase::boolean() const
-{
-	const double	theValue = num();
-
-	return DoubleSupport::isNaN(theValue) || DoubleSupport::equal(theValue, 0.0) ? false : true;
-}
-
-
-
-void
-XNumberBase::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.Number(*this,
-							 num());
-}
-
-
-
-void
-XNumberBase::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.Number(*this,
-							 num());
-}
diff --git a/src/XPath/XNumberBase.hpp b/src/XPath/XNumberBase.hpp
deleted file mode 100644
index 0dc25bd..0000000
--- a/src/XPath/XNumberBase.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XNUMBERBASE_HEADER_GUARD_1357924680)
-#define XNUMBERBASE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XObject.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XNumberBase : public XObject
-{
-public:
-
-	XNumberBase(const XNumberBase&	source);
-
-	virtual
-	~XNumberBase();
-
-	// These methods are inherited from XObject ...
-
-	virtual XalanDOMString
-	getTypeString() const;
-
-	virtual double
-	num() const = 0;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const = 0;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const = 0;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-protected:
-
-	/**
-	 * Constructor for derived classes
-	 */
-	explicit
-	XNumberBase();
-
-private:
-};
-
-
-
-#endif	// XNUMBERBASE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObject.cpp b/src/XPath/XObject.cpp
deleted file mode 100644
index cbcbc1f..0000000
--- a/src/XPath/XObject.cpp
+++ /dev/null
@@ -1,1145 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XObject.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "NodeRefList.hpp"
-#include "XObjectFactory.hpp"
-#include "XPathExecutionContext.hpp"
-
-
-
-const XalanDOMString	XObject::s_nullString;
-
-
-
-XObject::XObject(eObjectType	theObjectType) :
-	m_objectType(theObjectType),
-	m_factory(0)
-{
-}
-
-
-
-XObject::XObject(const XObject&		source) :
-	m_objectType(source.m_objectType),
-	m_factory(0)
-{
-}
-
-
-
-XObject::~XObject()
-{
-}
-
-
-
-XObject::eObjectType
-XObject::getRealType() const
-{
-	return m_objectType;
-}
-
-
-
-void
-XObject::referenced()
-{
-}
-
-
-
-void 
-XObject::dereferenced()
-{
-	if (m_factory != 0)
-	{
-		m_factory->returnObject(this);
-	}
-}
-
-
-
-double
-XObject::num() const
-{
-	throw XObjectInvalidConversionException(getTypeString(), TranscodeFromLocalCodePage("number"));
-
-	// This is just a dummy value to satisfy the compiler.
-	return 0.0;
-}
-
-
-
-bool
-XObject::boolean() const
-{
-	throw XObjectInvalidConversionException(getTypeString(), TranscodeFromLocalCodePage("boolean"));
-
-	// This is just a dummy value to satisfy the compiler.
-	return false;
-}
-
-
-
-const XalanDOMString&
-XObject::str() const
-{
-	throw XObjectInvalidConversionException(getTypeString(), TranscodeFromLocalCodePage("string"));
-
-	// This is just a dummy value to satisfy the compiler.
-	return s_nullString;
-}
-
-
-
-void
-XObject::str(
-			FormatterListener&	/* formatterListener */,
-			MemberFunctionPtr	/* function */) const
-{
-	throw XObjectInvalidConversionException(getTypeString(), TranscodeFromLocalCodePage("string"));
-}
-
-
-
-void
-XObject::str(XalanDOMString&	theBuffer) const
-{
-	append(theBuffer, str());
-}
-
-
-
-static int foo = 0;
-
-const ResultTreeFragBase&
-XObject::rtree() const
-{
-	throw XObjectInvalidConversionException(getTypeString(), TranscodeFromLocalCodePage("result tree fragment"));
-
-	// This is just a dummy value to satisfy the compiler.
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (const ResultTreeFragBase&)foo;
-#else
-	return reinterpret_cast<const ResultTreeFragBase&>(foo);
-#endif
-}
-
-
-
-static const NodeRefList	s_dummyList;
-
-
-
-const NodeRefListBase&
-XObject::nodeset() const
-{
-	throw XObjectInvalidConversionException(getTypeString(), TranscodeFromLocalCodePage("node set"));
-
-	// error will throw, so this is just a dummy
-	// value to satisfy the compiler.
-	return s_dummyList;
-}
-
-
-
-void
-getStringFromNode(
-			const XalanNode&	theNode,
-			XalanDOMString&		theString)
-{
-	DOMServices::getNodeData(theNode, theString);
-}
-
-
-
-struct
-getStringFromNodeFunction
-{
-	getStringFromNodeFunction(XPathExecutionContext&	executionContext) :
-		m_executionContext(executionContext)
-	{
-	}
-
-	const XalanDOMString
-	operator()(const XalanNode&		theNode) const
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	theGuard(m_executionContext);
-
-		XalanDOMString&		theString = theGuard.get();
-
-		getStringFromNode(theNode, theString);
-
-		return theString;
-	}
-
-	void
-	operator()(
-			const XalanNode&	theNode,
-			XalanDOMString&		theString) const
-	{
-		getStringFromNode(theNode, theString);
-	}
-
-private:
-
-	XPathExecutionContext&	m_executionContext;
-};
-
-
-
-struct
-getNumberFromNodeFunction
-{
-	getNumberFromNodeFunction(XPathExecutionContext&	executionContext) :
-		m_executionContext(executionContext)
-	{
-	}
-
-	double
-	operator()(const XalanNode&		theNode) const
-	{
-		return getNumberFromNode(theNode);
-	}
-
-	void
-	operator()(
-			const XalanNode&	theNode,
-			double&				theNumber) const
-	{
-		getNumberFromNode(theNode, theNumber);
-	}
-
-private:
-
-	double
-	getNumberFromNode(const XalanNode&	theNode) const
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	theString(m_executionContext);
-
-		getStringFromNode(theNode, theString.get());
-
-		return DoubleSupport::toDouble(theString.get());
-	}
-
-	void
-	getNumberFromNode(
-			const XalanNode&	theNode,
-			double&				theNumber) const
-	{
-		theNumber = getNumberFromNode(theNode);
-	}
-
-	XPathExecutionContext&	m_executionContext;
-};
-
-
-
-struct
-equalsDOMString
-{
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DOMStringEqualsFunction()(theLHS, theRHS);
-	}
-
-	bool
-	operator()(
-			const XObject&			theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DOMStringEqualsFunction()(theLHS.str(), theRHS);
-	}
-
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XObject&			theRHS) const
-	{
-		return DOMStringEqualsFunction()(theLHS, theRHS.str());
-	}
-};
-
-
-
-struct
-notEqualsDOMString
-{
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DOMStringNotEqualsFunction()(theLHS, theRHS);
-	}
-
-	bool
-	operator()(
-			const XObject&			theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DOMStringNotEqualsFunction()(theLHS.str(), theRHS);
-	}
-
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XObject&			theRHS) const
-	{
-		return DOMStringNotEqualsFunction()(theLHS, theRHS.str());
-	}
-};
-
-
-
-struct
-lessThanDOMString
-{
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::lessThan(
-				DOMStringToDouble(theLHS),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XObject&			theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::lessThan(
-				theLHS.num(),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XObject&			theRHS) const
-	{
-		return DoubleSupport::lessThan(
-				DOMStringToDouble(theLHS),
-				theRHS.num());
-	}
-};
-
-
-
-struct
-lessThanOrEqualDOMString
-{
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::lessThanOrEqual(
-				DOMStringToDouble(theLHS),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XObject&			theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::lessThanOrEqual(
-				theLHS.num(),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XObject&			theRHS) const
-	{
-		return DoubleSupport::lessThanOrEqual(
-				DOMStringToDouble(theLHS),
-				theRHS.num());
-	}
-};
-
-
-
-struct
-greaterThanDOMString
-{
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::greaterThan(
-				DOMStringToDouble(theLHS),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XObject&			theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::greaterThan(
-				theLHS.num(),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XObject&			theRHS) const
-	{
-		return DoubleSupport::greaterThan(
-				DOMStringToDouble(theLHS),
-				theRHS.num());
-	}
-};
-
-
-
-struct
-greaterThanOrEqualDOMString
-{
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::greaterThanOrEqual(
-				DOMStringToDouble(theLHS),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XObject&			theLHS,
-			const XalanDOMString&	theRHS) const
-	{
-		return DoubleSupport::greaterThanOrEqual(
-				theLHS.num(),
-				DOMStringToDouble(theRHS));
-	}
-
-	bool
-	operator()(
-			const XalanDOMString&	theLHS,
-			const XObject&			theRHS) const
-	{
-		return DoubleSupport::greaterThanOrEqual(
-				DOMStringToDouble(theLHS),
-				theRHS.num());
-	}
-};
-
-
-
-template<class CompareFunction, class TypeFunction>
-bool
-doCompareNodeSets(
-			const NodeRefListBase&	theLHSNodeSet,
-			const NodeRefListBase&	theRHSNodeSet,
-			const TypeFunction&		theTypeFunction,
-			const CompareFunction&	theCompareFunction,
-			XPathExecutionContext&	executionContext)
-{
-	// From http://www.w3.org/TR/xpath: 
-	// If both objects to be compared are node-sets, then the comparison 
-	// will be true if and only if there is a node in the first node-set 
-	// and a node in the second node-set such that the result of performing 
-	// the comparison on the string-values of the two nodes is true.
-
-	// Note this little gem from the draft:
-	// NOTE: If $x is bound to a node-set, then $x="foo" 
-	// does not mean the same as not($x!="foo"): the former 
-	// is true if and only if some node in $x has the string-value 
-	// foo; the latter is true if and only if all nodes in $x have 
-	// the string-value foo.
-	bool	theResult = false;
-
-	const NodeRefListBase::size_type	len1 = theLHSNodeSet.getLength();
-
-	if (len1 > 0)
-	{
-		const NodeRefListBase::size_type	len2 = theRHSNodeSet.getLength();
-
-		if (len2 > 0)
-		{
-			XPathExecutionContext::GetAndReleaseCachedString	s1(executionContext);
-
-			XPathExecutionContext::GetAndReleaseCachedString	s2(executionContext);
-
-			for(NodeRefListBase::size_type i = 0; i < len1 && theResult == false; i++)
-			{
-				const XalanNode* const	theLHSNode = theLHSNodeSet.item(i);
-				assert(theLHSNode != 0);
-
-				theTypeFunction(*theLHSNode, s1.get());
-
-				for(NodeRefListBase::size_type k = 0; k < len2 && theResult == false; k++)
-				{
-					const XalanNode* const	theRHSNode = theRHSNodeSet.item(k);
-					assert(theRHSNode != 0);
-
-					theTypeFunction(*theRHSNode, s2.get());
-
-					if(theCompareFunction(s1.get(), s2.get()) == true)
-					{
-						theResult = true;
-					}
-
-					clear(s2.get());
-				}
-
-				clear(s1.get());
-			}
-		}
-	}
-
-	return theResult;
-}
-
-
-
-template<class CompareFunction, class StringFunction>
-bool
-doCompareString(
-			const NodeRefListBase&	theLHSNodeSet,
-			const StringFunction&	theStringFunction,
-			const XObject&			theRHS,
-			const CompareFunction&	theCompareFunction,
-			XPathExecutionContext&	executionContext)
-{
-	bool				theResult = false;
-
-	const NodeRefListBase::size_type	len1 = theLHSNodeSet.getLength();
-
-	XPathExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-	XalanDOMString&		theLHS = theGuard.get();
-
-	for(NodeRefListBase::size_type i = 0; i < len1 && theResult == false; i++)
-	{
-		const XalanNode* const	theLHSNode = theLHSNodeSet.item(i);
-		assert(theLHSNode != 0);
-
-		theStringFunction(*theLHSNode, theLHS);
-
-		if (theCompareFunction(theLHS, theRHS) == true)
-		{
-			theResult = true;
-		}
-
-		clear(theLHS);
-	}
-
-	return theResult;
-}
-
-
-
-template<class CompareFunction, class NumberFunction>
-bool
-doCompareNumber(
-			const NodeRefListBase&	theLHSNodeSet,
-			const NumberFunction&	theNumberFunction,
-			const double			theRHS,
-			const CompareFunction&	theCompareFunction)
-{
-	bool				theResult = false;
-
-	const NodeRefListBase::size_type	len1 = theLHSNodeSet.getLength();
-
-	for(NodeRefListBase::size_type i = 0; i < len1 && theResult == false; i++)
-	{
-		const XalanNode* const	theLHSNode = theLHSNodeSet.item(i);
-		assert(theLHSNode != 0);
-
-		const double	theLHS = theNumberFunction(*theLHSNode);
-
-		if (theCompareFunction(theLHS, theRHS) == true)
-		{
-			theResult = true;
-		}
-	}
-
-	return theResult;
-}
-
-
-
-template<class StringCompareFunction, class NumberCompareFunction>
-bool
-compareNodeSets(
-			const XObject&					theLHS,
-			const XObject&					theRHS,
-			XObject::eObjectType			theRHSType,
-			const StringCompareFunction&	theStringCompareFunction,
-			const NumberCompareFunction&	theNumberCompareFunction,
-			XPathExecutionContext&			executionContext)
-{
-	bool	theResult = false;
-
-	if(theRHSType == XObject::eTypeNodeSet)
-	{
-		// Compare as node sets...
-		theResult = doCompareNodeSets(
-				theLHS.nodeset(),
-				theRHS.nodeset(),
-				getStringFromNodeFunction(executionContext),
-				theStringCompareFunction,
-				executionContext);
-
-	}
-	else if(theRHSType == XObject::eTypeBoolean)
-	{
-	  // From http://www.w3.org/TR/xpath: 
-	  // If one object to be compared is a node-set and the other is a boolean, 
-	  // then the comparison will be true if and only if the result of 
-	  // performing the comparison on the boolean and on the result of 
-	  // converting the node-set to a boolean using the boolean function 
-	  // is true.
-		const double	num1 = theLHS.boolean() == true ? 1.0 : 0.0;
-
-		theResult = theNumberCompareFunction(num1, theRHS.num());
-	}
-	else if(theRHSType == XObject::eTypeNumber)
-	{
-		// From http://www.w3.org/TR/xpath: 
-		// If one object to be compared is a node-set and the other is a number, 
-		// then the comparison will be true if and only if there is a 
-		// node in the node-set such that the result of performing the 
-		// comparison on the number to be compared and on the result of 
-		// converting the string-value of that node to a number using 
-		// the number function is true. 
-
-		theResult = doCompareNumber(
-				theLHS.nodeset(),
-				getNumberFromNodeFunction(executionContext),
-				theRHS.num(),
-				theNumberCompareFunction);
-	}
-	else if(theRHSType == XObject::eTypeResultTreeFrag)
-	{
-		// hmmm... 
-		const double	theRHSNumber = theRHS.num();
-
-		if(DoubleSupport::isNaN(theRHSNumber) == false)
-		{
-			// Compare as number...
-			theResult = doCompareNumber(
-					theLHS.nodeset(),
-					getNumberFromNodeFunction(executionContext),
-					theRHS.num(),
-					theNumberCompareFunction);
-		}
-		else
-		{
-			// Compare as string...
-			theResult = doCompareString(
-					theLHS.nodeset(),
-					getStringFromNodeFunction(executionContext),
-					theRHS,
-					theStringCompareFunction,
-					executionContext);
-		}
-	}
-	else if(theRHSType == XObject::eTypeString)
-	{
-		// From http://www.w3.org/TR/xpath: 
-		// If one object to be compared is a node-set and the other is a 
-		// string, then the comparison will be true if and only if there 
-		// is a node in the node-set such that the result of performing 
-		// the comparison on the string-value of the node and the other 
-		// string is true. 
-		theResult = doCompareString(
-				theLHS.nodeset(),
-				getStringFromNodeFunction(executionContext),
-				theRHS,
-				theStringCompareFunction,
-				executionContext);
-	}
-	else if (theRHSType != XObject::eTypeUnknown)
-	{
-		assert(false);
-	}
-
-	return theResult;
-}
-
-
-
-inline bool
-equalNodeSet(
-			const XObject&			theLHS,
-			const XObject&			theRHS,
-			XObject::eObjectType	theRHSType,
-			XPathExecutionContext&	executionContext)
-{
-	return compareNodeSets(
-				theLHS,
-				theRHS,
-				theRHSType,
-				equalsDOMString(),
-				DoubleSupport::equalFunction(),
-				executionContext);
-}
-
-
-
-inline bool
-notEqualNodeSet(
-			const XObject&			theLHS,
-			const XObject&			theRHS,
-			XObject::eObjectType	theRHSType,
-			XPathExecutionContext&	executionContext)
-{
-	return compareNodeSets(
-				theLHS,
-				theRHS,
-				theRHSType,
-				notEqualsDOMString(),
-				DoubleSupport::notEqualFunction(),
-				executionContext);
-}
-
-
-
-inline bool
-lessThanNodeSet(
-			const XObject&			theLHS,
-			const XObject&			theRHS,
-			XObject::eObjectType	theRHSType,
-			XPathExecutionContext&	executionContext)
-{
-	return compareNodeSets(
-				theLHS,
-				theRHS,
-				theRHSType,
-				lessThanDOMString(),
-				DoubleSupport::lessThanFunction(),
-				executionContext);
-}
-
-
-
-inline bool
-lessThanOrEqualNodeSet(
-			const XObject&			theLHS,
-			const XObject&			theRHS,
-			XObject::eObjectType	theRHSType,
-			XPathExecutionContext&	executionContext)
-{
-	return compareNodeSets(
-				theLHS,
-				theRHS,
-				theRHSType,
-				lessThanOrEqualDOMString(),
-				DoubleSupport::lessThanOrEqualFunction(),
-				executionContext);
-}
-
-
-
-inline bool
-greaterThanNodeSet(
-			const XObject&			theLHS,
-			const XObject&			theRHS,
-			XObject::eObjectType	theRHSType,
-			XPathExecutionContext&	executionContext)
-{
-	return compareNodeSets(
-				theLHS,
-				theRHS,
-				theRHSType,
-				greaterThanDOMString(),
-				DoubleSupport::greaterThanFunction(),
-				executionContext);
-}
-
-
-
-inline bool
-greaterThanOrEqualNodeSet(
-			const XObject&			theLHS,
-			const XObject&			theRHS,
-			XObject::eObjectType	theRHSType,
-			XPathExecutionContext&	executionContext)
-{
-	return compareNodeSets(
-				theLHS,
-				theRHS,
-				theRHSType,
-				greaterThanOrEqualDOMString(),
-				DoubleSupport::greaterThanOrEqualFunction(),
-				executionContext);
-}
-
-
-
-bool
-XObject::equals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const
-{
-	if (this == &theRHS)
-	{
-		return true;
-	}
-	else
-	{
-		const eObjectType	theLHSType = getType();
-
-		if (theLHSType == eTypeUnknown)
-		{
-			return this == &theRHS ? true : false;
-		}
-		else if (theLHSType == eTypeNull)
-		{
-			return theRHS.getType() == eTypeNull ? true : false;
-		}
-		else if (theLHSType == eTypeNodeSet)
-		{
-			return equalNodeSet(*this, theRHS, theRHS.getType(), executionContext);
-		}
-		else
-		{
-			const eObjectType	theRHSType = theRHS.getType();
-
-			if (theRHSType == eTypeNodeSet)
-			{
-				return equalNodeSet(theRHS, *this, theLHSType, executionContext);
-			}
-			else
-			{
-				if (theLHSType == eTypeBoolean || theRHSType == eTypeBoolean)
-				{
-					return boolean() == theRHS.boolean();
-				}
-				else if (theLHSType == eTypeNumber || theRHSType == eTypeNumber)
-				{
-					return DoubleSupport::equal(num(), theRHS.num());
-				}
-				else
-				{
-					return ::equals(str(), theRHS.str());
-				}
-			}
-		}
-	}
-}
-
-
-
-bool
-XObject::notEquals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const
-{
-	if (this == &theRHS)
-	{
-		return false;
-	}
-	else
-	{
-		const eObjectType	theLHSType = getType();
-
-		if (theLHSType == eTypeUnknown)
-		{
-			return this == &theRHS ? false : true;
-		}
-		else if (theLHSType == eTypeNull)
-		{
-			return theRHS.getType() == eTypeNull ? false : true;
-		}
-		else if (theLHSType == eTypeNodeSet)
-		{
-			return notEqualNodeSet(*this, theRHS, theRHS.getType(), executionContext);
-		}
-		else
-		{
-			const eObjectType	theRHSType = theRHS.getType();
-
-			if (theRHSType == eTypeNodeSet)
-			{
-				return notEqualNodeSet(theRHS, *this, theLHSType, executionContext);
-			}
-			else
-			{
-				if (theLHSType == eTypeBoolean || theRHSType == eTypeBoolean)
-				{
-					return boolean() != theRHS.boolean();
-				}
-				else if (theLHSType == eTypeNumber || theRHSType == eTypeNumber)
-				{
-					return DoubleSupport::notEqual(num(), theRHS.num());
-				}
-				else
-				{
-					return !::equals(str(), theRHS.str());
-				}
-			}
-		}
-	}
-}
-
-
-
-bool
-XObject::lessThan(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const
-{
-	if (this == &theRHS)
-	{
-		return false;
-	}
-	else
-	{
-		const eObjectType	theLHSType = getType();
-
-		if (theLHSType == eTypeNull || theLHSType == eTypeUnknown)
-		{
-			return false;
-		}
-		else if (theLHSType == eTypeNodeSet)
-		{
-			return lessThanNodeSet(*this, theRHS, theRHS.getType(), executionContext);
-		}
-		else if (theRHS.getType() == eTypeNodeSet)
-		{
-			return greaterThanNodeSet(theRHS, *this, theLHSType, executionContext);
-		}
-		else
-		{
-			return DoubleSupport::lessThan(num(), theRHS.num());
-		}
-	}
-}
-
-
-
-bool
-XObject::lessThanOrEquals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const
-{
-	if (this == &theRHS)
-	{
-		return false;
-	}
-	else
-	{
-		const eObjectType	theLHSType = getType();
-
-		if (theLHSType == eTypeNull || theLHSType == eTypeUnknown)
-		{
-			return false;
-		}
-		else if (theLHSType == eTypeNodeSet)
-		{
-			return lessThanOrEqualNodeSet(*this, theRHS, theRHS.getType(), executionContext);
-		}
-		else if (theRHS.getType() == eTypeNodeSet)
-		{
-			return greaterThanOrEqualNodeSet(theRHS, *this, theLHSType, executionContext);
-		}
-		else
-		{
-			return DoubleSupport::lessThanOrEqual(num(), theRHS.num());
-		}
-	}
-}
-
-
-
-bool
-XObject::greaterThan(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const
-{
-	if (this == &theRHS)
-	{
-		return false;
-	}
-	else
-	{
-		const eObjectType	theLHSType = getType();
-
-		if (theLHSType == eTypeNull || theLHSType == eTypeUnknown)
-		{
-			return false;
-		}
-		else if (theLHSType == eTypeNodeSet)
-		{
-			return greaterThanNodeSet(*this, theRHS, theRHS.getType(), executionContext);
-		}
-		else if (theRHS.getType() == eTypeNodeSet)
-		{
-			return lessThanNodeSet(theRHS, *this, theLHSType, executionContext);
-		}
-		else
-		{
-			return DoubleSupport::greaterThan(num(), theRHS.num());
-		}
-	}
-}
-
-
-
-bool
-XObject::greaterThanOrEquals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const
-{
-	if (this == &theRHS)
-	{
-		return false;
-	}
-	else
-	{
-		const eObjectType	theLHSType = getType();
-
-		if (theLHSType == eTypeNull || theLHSType == eTypeUnknown)
-		{
-			return false;
-		}
-		else if (theLHSType == eTypeNodeSet)
-		{
-			return greaterThanOrEqualNodeSet(*this, theRHS, theRHS.getType(), executionContext);
-		}
-		else if (theRHS.getType() == eTypeNodeSet)
-		{
-			return lessThanOrEqualNodeSet(theRHS, *this, theLHSType, executionContext);
-		}
-		else
-		{
-			return DoubleSupport::greaterThanOrEqual(num(), theRHS.num());
-		}
-	}
-}
-
-
-
-XObject::XObjectException::XObjectException(
-				const XalanDOMString&	message,
-				const XalanNode*		styleNode,
-				const XalanDOMString&	theType) :
-	XalanXPathException(message, styleNode, theType)
-{
-}
-
-
-
-XObject::XObjectException::~XObjectException()
-{
-}
-
-
-
-XObject::XObjectInvalidConversionException::XObjectInvalidConversionException(
-				const XalanDOMString&	fromType,
-				const XalanDOMString&	toType) :
-	XObjectException(
-			formatErrorString(fromType, toType),
-			0,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("XObjectInvalidConversionException"))),
-	m_fromType(fromType),
-	m_toType(toType)
-{
-}
-
-
-
-XObject::XObjectInvalidConversionException::~XObjectInvalidConversionException()
-{
-}
-
-
-
-const XalanDOMString
-XObject::XObjectInvalidConversionException::formatErrorString(
-				const XalanDOMString&	fromType,
-				const XalanDOMString&	toType)
-{
-	return XalanDOMString(XALAN_STATIC_UCODE_STRING("Cannot convert a ")) +
-		   fromType +
-		   XalanDOMString(XALAN_STATIC_UCODE_STRING(" to a ")) +
-		   toType +
-		   XalanDOMString(XALAN_STATIC_UCODE_STRING("."));
-}
diff --git a/src/XPath/XObject.hpp b/src/XPath/XObject.hpp
deleted file mode 100644
index 6b9d74d..0000000
--- a/src/XPath/XObject.hpp
+++ /dev/null
@@ -1,523 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECT_HEADER_GUARD_1357924680)
-#define XOBJECT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/FormatterListener.hpp>
-#include <PlatformSupport/XalanReferenceCountedObject.hpp>
-
-
-
-#include <XPath/XalanXPathException.hpp>
-
-
-
-class MutableNodeRefList;
-class NodeRefListBase;
-class ResultTreeFragBase;
-class XObjectFactory;
-class XObjectTypeCallback;
-class XPathExecutionContext;
-
-
-
-/**
- * Class to hold XPath return types.
- */
-class XALAN_XPATH_EXPORT XObject : protected XalanReferenceCountedObject
-{
-public:
-
-	friend class XObjectPtr;
-
-	/**
-	 * Enumeration of possible object types
-	 */
-	enum	eObjectType { eTypeNull = 0,
-						  eTypeUnknown = 1,
-						  eTypeBoolean = 2,
-						  eTypeNumber = 3,
-						  eTypeString = 4,
-						  eTypeNodeSet = 5,
-						  eTypeResultTreeFrag = 6,
-						  eTypeUserDefined = 7,
-						  // These next types are implementation-specific, and
-						  // are never returned by getType().
-						  eTypeStringReference = 8,
-						  eTypeStringAdapter = 9,
-						  eTypeStringCached = 10,
-						  eTypeXTokenNumberAdapter = 11,
-						  eTypeXTokenStringAdapter = 12,
-						  eUnknown
-						};
-
-	/**
-	 * Create an XObject.
-	 *
-	 * @param theObjectType The enum for the type of the object.
-	 */
-	XObject(eObjectType		theObjectType);
-
-	XObject(const XObject&	source);
-
-	/**
-	 * Clone the instance
-	 *
-	 * @param If theAddress is not null, the XObject will clone itself into that address.
-	 * @return a clone of the instance.
-	 */
-	virtual XObject*
-	clone(void*		theAddress = 0) const = 0;
-
-	/**
-	 * Given a request type, return the equivalent string. 
-	 * For diagnostic purposes.
-	 *
-	 * @return string for type
-	 */
-	virtual XalanDOMString
-	getTypeString() const = 0;
-
-	/**
-	 * Cast result object to a number.
-	 *
-	 * @return numeric value
-	 */
-	virtual double
-	num() const;
-
-	/**
-	 * Cast result object to a boolean.
-	 *
-	 * @return boolean value
-	 */
-	virtual bool
-	boolean() const;
-
-	/**
-	 * Cast result object to a string.
-	 *
-	 * @return string value
-	 */
-	virtual const XalanDOMString&
-	str() const;
-
-	typedef void (FormatterListener::*MemberFunctionPtr)(const XMLCh* const, const unsigned int);
-
-	/**
-	 * Send the string value to a FormatterListener instance.
-	 *
-	 * @param formatterListener The FormatterListener instance
-	 * @param function A pointer to the member function of FormatterListener to call
-	 * 
-	 */
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const = 0;
-
-	/**
-	 * Append the string value directly a string
-	 *
-	 * @param theBuffer The buffer for the data
-	 */
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-	/**
-	 * Cast result object to a result tree fragment.
-	 *
-	 * @return result tree fragment
-	 */
-	virtual const ResultTreeFragBase&
-	rtree() const;
-
-	/**
-	 * Cast result object to a nodelist.
-	 *
-	 * @return node list
-	 */
-	virtual const NodeRefListBase&
-	nodeset() const;
-
-	/**
-	 * Process a callback request for preferred type information.
-	 *
-	 * @param theCallbackObject object to call back
-	 */
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) = 0;
-
-	/**
-	 * Process a callback request for preferred type information.
-	 *
-	 * @param theCallbackObject object to call back
-	 */
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const = 0;
-
-	/**
-	 * Tell if two objects are functionally equal.
-	 *
-	 * @param theRHS object to compare
-	 * @param executionContext the current execution context
-	 * @return true if they are equal
-	 */
-	bool
-	equals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if two objects are functionally not equal.
-	 *
-	 * @param theRHS object to compare
-	 * @param executionContext the current execution context
-	 * @return true if they are equal
-	 */
-	bool
-	notEquals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one object is less than the other.
-	 *
-	 * @param theRHS object to compare
-	 * @return true if they are equal
-	 */
-	bool
-	lessThan(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one object is less than or equal
-	 * the other.
-	 *
-	 * @param theRHS object to compare
-	 * @return true if they are equal
-	 */
-	bool
-	lessThanOrEquals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one object is greater than the other.
-	 *
-	 * @param theRHS object to compare
-	 * @return true if they are equal
-	 */
-	bool
-	greaterThan(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one object is greater than or equal
-	 * the other.
-	 *
-	 * @param theRHS object to compare
-	 * @return true if they are equal
-	 */
-	bool
-	greaterThanOrEquals(
-			const XObject&			theRHS,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell what kind of class this is.
-	 *
-	 * @return numeric type value
-	 */
-	eObjectType
-	getType() const
-	{
-		return m_objectType;
-	}
-
-	// All XObject instances are controlled by an instance of an XObjectFactory.
-	friend class XObjectFactory;
-
-	void
-	setFactory(XObjectFactory*	theFactory)
-	{
-		m_factory = theFactory;
-	}
-
-	// Base class for all XObject exceptions...
-	class XObjectException : public XalanXPathException
-	{
-	public:
-
-		explicit
-		XObjectException(
-				const XalanDOMString&	message = XalanDOMString(),
-				const XalanNode*		styleNode = 0,
-				const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XObjectException")));
-
-		virtual
-		~XObjectException();
-	};
-
-	class XObjectInvalidConversionException : public XObjectException
-	{
-	public:
-
-		XObjectInvalidConversionException(
-				const XalanDOMString&	fromType,
-				const XalanDOMString&	toType);
-
-		virtual
-		~XObjectInvalidConversionException();
-
-		const XalanDOMString&
-		getFromType() const
-		{
-			return m_fromType;
-		}
-
-		const XalanDOMString&
-		getToType() const
-		{
-			return m_toType;
-		}
-
-	private:
-
-		static const XalanDOMString
-		formatErrorString(
-				const XalanDOMString&	fromType,
-				const XalanDOMString&	toType);
-
-		const XalanDOMString	m_fromType;
-
-		const XalanDOMString	m_toType;
-	};
-
-protected:
-
-	/**
-	 * Tell what kind of class this is.
-	 *
-	 * @return numeric type value
-	 */
-	virtual eObjectType
-	getRealType() const;
-
-	virtual void 
-	referenced();
-
-	virtual void 
-	dereferenced();
-
-	virtual
-	~XObject();
-
-	static const XalanDOMString		s_nullString;
-
-private:
-
-	// Not implemented...
-	XObject&
-	operator=(const XObject&);
-
-	const eObjectType	m_objectType;
-
-	XObjectFactory*		m_factory;
-};
-
-
-
-/**
- * Class to hold XObjectPtr return types.
- */
-class XALAN_XPATH_EXPORT XObjectPtr
-{
-public:
-
-	friend bool operator==(const XObjectPtr&, const XObjectPtr&);
-	friend bool operator<(const XObjectPtr&, const XObjectPtr&);
-
-	/**
-	 * Create an XObjectPtr.
-	 */
-	explicit
-	XObjectPtr(XObject*		theXObject = 0) :
-		m_xobjectPtr(theXObject)
-	{
-		XalanReferenceCountedObject::addReference(theXObject);
-	}
-	
-	XObjectPtr(const XObjectPtr&	theSource) :
-		m_xobjectPtr(theSource.m_xobjectPtr)
-	{ 
-		XalanReferenceCountedObject::addReference(m_xobjectPtr);
-	};
-
-	XObjectPtr&
-	operator=(const XObjectPtr&		theRHS)
-	{ 
-		if (m_xobjectPtr != theRHS.m_xobjectPtr)
-		{
-			XalanReferenceCountedObject::removeReference(m_xobjectPtr);
-
-			m_xobjectPtr = theRHS.m_xobjectPtr;
-
-			XalanReferenceCountedObject::addReference(m_xobjectPtr);
-		}
-
-		return *this;
-	}
-
-	~XObjectPtr()
-	{
-		XalanReferenceCountedObject::removeReference(m_xobjectPtr);
-	};	
-
-	bool
-	null() const
-	{
-		return m_xobjectPtr == 0 ? true : false;
-	}
-
-	const XObject&
-	operator*() const
-	{
-		return *m_xobjectPtr;
-	};
-
-	XObject&
-	operator*() 
-	{
-		return *m_xobjectPtr;
-	};
-
-	const XObject*
-	operator->() const
-	{
-		return m_xobjectPtr;
-	};
-
-	XObject*
-	operator->()
-	{
-		return m_xobjectPtr;
-	};
-
-	const XObject*
-	get() const
-	{
-		return m_xobjectPtr;
-	};
-
-	XObject*
-	get()
-	{
-		return m_xobjectPtr;
-	};
-
-private:
-
-	XObject*	m_xobjectPtr;	
-};
-
-
-
-inline bool
-operator==(
-			const XObjectPtr&	theLHS,
-			const XObjectPtr&	theRHS)
-{
-	return theLHS.m_xobjectPtr == theRHS.m_xobjectPtr;
-}
-
-
-
-inline bool
-operator!=(
-			const XObjectPtr&	theLHS,
-			const XObjectPtr&	theRHS)
-{
-	return !(theLHS == theRHS);
-}
-
-
-
-inline bool
-operator<(
-			const XObjectPtr&	theLHS,
-			const XObjectPtr&	theRHS)
-{
-	return theLHS.m_xobjectPtr < theRHS.m_xobjectPtr;
-}
-
-
-
-#endif	// XOBJECT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObjectFactory.cpp b/src/XPath/XObjectFactory.cpp
deleted file mode 100644
index ef5fa64..0000000
--- a/src/XPath/XObjectFactory.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XObjectFactory.hpp"
-
-
-
-XObjectFactory::XObjectFactory()
-{
-}
-
-
-
-XObjectFactory::~XObjectFactory()
-{
-}
diff --git a/src/XPath/XObjectFactory.hpp b/src/XPath/XObjectFactory.hpp
deleted file mode 100644
index 427909d..0000000
--- a/src/XPath/XObjectFactory.hpp
+++ /dev/null
@@ -1,351 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECTFACTORY_HEADER_GUARD_1357924680)
-#define XOBJECTFACTORY_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <algorithm>
-#include <cassert>
-#include <set>
-
-
-
-#include <XPath/XObject.hpp>
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-class XalanNode;
-class MutableNodeRefList;
-class NodeRefListBase;
-class XObject;
-class XObjectPtr;
-class XToken;
-
-
-
-/**
- * This class handles the creation of XObjects and manages their lifetime.
- */
-class XALAN_XPATH_EXPORT XObjectFactory
-{
-public:
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-	typedef XPathExecutionContext::GetAndReleaseCachedString		GetAndReleaseCachedString;
-
-
-	XObjectFactory();
-
-	virtual
-	~XObjectFactory();
-
-
-	/**
-	 * Return an XObject to the factory.
-	 * 
-	 * @param theXObject The XObject to be returned
-	 * @return true if the object belongs to the factory, false if not.
-	 */
-	bool
-	returnObject(XObject* 	theXObject)
-	{
-		return doReturnObject(theXObject);
-	}
-
-	/**
-	 * Reset the instance.	This invalidates all existing instances created
-	 * with this XObjectFactory.
-	 */
-	virtual void
-	reset() = 0;
-
-	/**
-	 * Create a boolean XObject from a boolean value.
-	 * 
-	 * @param theValue	value used to create object  
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createBoolean(bool	theValue) = 0;
-
-	/**
-	 * Create a node set XObject from a node list.
-	 * 
-	 * @param theValue	value used to create object.  theValue will be owned by the new XObject.
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createNodeSet(BorrowReturnMutableNodeRefList& 	theValue) = 0;
-
-	/**
-	 * Create a null XObject.
-	 * 
-	 * @param theValue	value used to create object 
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createNull() = 0;
-
-	/**
-	 * Create a numeric XObject from a number.
-	 * 
-	 * @param theValue	value used to create object 
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createNumber(double 	theValue) = 0;
-
-	/**
-	 * Create a numeric XObject from an XToken.  The XToken
-	 * instance must be inexistence for the lifetime of the
-	 * object.
-	 *
-	 * @param theValue	value used to create object 
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createNumber(const XToken&	theValue) = 0;
-
-	/**
-	 * Create a string XObject from a string.
-	 * 
-	 * @param theValue	value used to create object  
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createString(const XalanDOMString&	theValue) = 0;
-
-	/**
-	 * Create a string XObject from a null-terminated array of characters.
-	 * 
-	 * @param theValue	a pointer to the array
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createString(const XalanDOMChar*	theValue) = 0;
-
-	/**
-	 * Create a string XObject from an array of characters.
-	 * 
-	 * @param theValue	a pointer to the array
-	 * @paran theLength the length of the array
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createString(
-			const XalanDOMChar* 	theValue,
-			unsigned int			theLength) = 0;
-
-	/**
-	 * Create a string XObject from an XToken.  The XToken
-	 * instance must be inexistence for the lifetime of the
-	 * object.
-	 *
-	 * @param theValue	value used to create object 
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createString(const XToken&	theValue) = 0;
-
-	/**
-	 * Create a string XObject from a string.  The XObject
-	 * will hold a reference to the supplied string, so
-	 * the string must be in scope for the lifetime of
-	 * the instance
-	 *
-	 * @param theValue	value used to create object  
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createStringReference(const XalanDOMString&		theValue) = 0;
-
-	/**
-	 * Create a string XObject that will adapt another XObject to
-	 * behave like a string.  The XObject holds a reference to the
-	 * other XObject.
-	 *
-	 * @param theValue	value used to create object  
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createStringAdapter(const XObjectPtr&	theValue) = 0;
-
-	/**
-	 * Create a string XObject from a cached XalanDOMString,
-	 *
-	 * @param theValue	value used to create object  
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createString(GetAndReleaseCachedString&		theValue) = 0;
-
-	/**
-	 * Create an "unknown" XObject from a string.
-	 * 
-	 * @param theValue	value used to create object  
-	 * @return pointer to new object
-	 */
-	virtual const XObjectPtr
-	createUnknown(const XalanDOMString& 	theValue) = 0;
-
-	/**
-	 *
-	 * A public functor for use with stl algorithms.
-	 *
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	struct DeleteXObjectFunctor : public unary_function<XObject*, void>
-#else
-	struct DeleteXObjectFunctor : public std::unary_function<XObject*, void>
-#endif
-	{
-	public:
-
-		DeleteXObjectFunctor(
-			XObjectFactory& 	theFactoryInstance,
-			bool				fInReset = false) :
-			m_factoryInstance(theFactoryInstance),
-			m_fInReset(fInReset)
-		{
-		}
-
-		result_type
-		operator()(argument_type	theXObject) const
-		{
-			if (m_fInReset == true)
-			{
-				m_factoryInstance.doReturnObject(
-					theXObject,
-					true);
-			}
-			else
-			{
-				m_factoryInstance.returnObject(theXObject);
-			}
-		}
-
-	private:
-
-		XObjectFactory& 	m_factoryInstance;
-
-		const bool			m_fInReset;
-	};
-
-	friend struct DeleteXObjectFunctor;
-
-protected:
-
-	/**
-	 * Return the actual implementation type of an XObject.
-	 *
-	 * @param theXObject the XObject
-	 */
-	XObject::eObjectType
-	getRealType(const XObject&	theXObject) const
-	{
-		return theXObject.getRealType();
-	}
-
-	/**
-	 * Delete a FactoryObject instance.
-	 *
-	 * @param theXObject the XObject instance to delete.
-	 */
-	void
-	deleteObject(const XObject* 	theXObject) const
-	{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (XObject*)theXObject;
-#else
-		delete theXObject;
-#endif
-	}
-
-	/**
-	 * Return an XObject to the factory.
-	 * 
-	 * @param theXObject XObject to be returned
-	 * @param fInReset true when called during reset().
-	 */
-
-	virtual bool
-	doReturnObject(
-			XObject*	theXObject,
-			bool		fInReset = false) = 0;
-
-private:
-
-	// Not implemented...
-	XObjectFactory(const XObjectFactory&);
-
-	XObjectFactory&
-	operator=(const XObjectFactory&);
-
-	bool
-	operator==(const XObjectFactory&) const;
-};
-
-
-
-#endif	// XOBJECTFACTORY_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObjectFactoryDefault.cpp b/src/XPath/XObjectFactoryDefault.cpp
deleted file mode 100644
index 18f28fe..0000000
--- a/src/XPath/XObjectFactoryDefault.cpp
+++ /dev/null
@@ -1,498 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XObjectFactoryDefault.hpp"
-
-
-
-#include <algorithm>
-#include <memory>
-
-
-
-#include "XBoolean.hpp"
-#include "XNodeSet.hpp"
-#include "XNull.hpp"
-#include "XNumber.hpp"
-#include "XString.hpp"
-#include "XStringAdapter.hpp"
-#include "XStringCached.hpp"
-#include "XStringReference.hpp"
-#include "XUnknown.hpp"
-
-
-
-XObjectFactoryDefault::XObjectFactoryDefault(
-			unsigned int	theXStringBlockSize,
-			unsigned int	theXNumberBlockSize,
-			unsigned int	theXNodeSetBlockSize) : 
-	XObjectFactory(),
-	m_xstringAdapterAllocator(theXStringBlockSize),
-	m_xstringAllocator(theXStringBlockSize),
-	m_xstringCachedAllocator(theXStringBlockSize),
-	m_xstringReferenceAllocator(theXStringBlockSize),
-	m_xnumberAllocator(theXNumberBlockSize),
-	m_xnodesetAllocator(theXNodeSetBlockSize),
-	m_xtokenNumberAdapterAllocator(theXNumberBlockSize),
-	m_xtokenStringAdapterAllocator(theXStringBlockSize),
-	m_xobjects(),
-	m_xnumberCache(),
-	m_xnodesetCache(),
-	m_XNull(new XNull),
-	m_xbooleanFalse(new XBoolean(false)),
-	m_xbooleanTrue(new XBoolean(true))
-{
-}
-
-
-
-XObjectFactoryDefault::~XObjectFactoryDefault()
-{
-	reset();
-}
-
-
-
-bool
-XObjectFactoryDefault::doReturnObject(
-			XObject*	theXObject,
-			bool		fInReset)
-{
-	assert(theXObject != 0);
-
-	bool bStatus = false;	
-
-	const XObject::eObjectType	theType = getRealType(*theXObject);
-
-	switch(theType)
-	{
-	case XObject::eTypeBoolean:
-	case XObject::eTypeNull:
-		{		
-			bStatus = true;
-		}
-
-	case XObject::eTypeStringAdapter:
-		{
-			XStringAdapter* const		theXStringAdapter =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XStringAdapter*)theXObject;
-#else
-				static_cast<XStringAdapter*>(theXObject);
-#endif
-
-			bStatus = m_xstringAdapterAllocator.destroy(theXStringAdapter);
-		}
-		break;
-
-	case XObject::eTypeXTokenNumberAdapter:
-		{
-			XTokenNumberAdapter* const	theAdapter =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XTokenNumberAdapter*)theXObject;
-#else
-				static_cast<XTokenNumberAdapter*>(theXObject);
-#endif
-
-			bStatus = m_xtokenNumberAdapterAllocator.destroy(theAdapter);
-		}
-		break;
-
-	case XObject::eTypeXTokenStringAdapter:
-		{
-			XTokenStringAdapter* const	theAdapter =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XTokenStringAdapter*)theXObject;
-#else
-				static_cast<XTokenStringAdapter*>(theXObject);
-#endif
-
-			bStatus = m_xtokenStringAdapterAllocator.destroy(theAdapter);
-		}
-		break;
-
-	case XObject::eTypeString:
-		{
-			XString* const	theXString =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XString*)theXObject;
-#else
-				static_cast<XString*>(theXObject);
-#endif
-
-			bStatus = m_xstringAllocator.destroy(theXString);
-		}
-		break;
-
-	case XObject::eTypeStringCached:
-		{
-			XStringCached* const	theXStringCached =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XStringCached*)theXObject;
-#else
-				static_cast<XStringCached*>(theXObject);
-#endif
-
-			bStatus = m_xstringCachedAllocator.destroy(theXStringCached);
-		}
-		break;
-
-	case XObject::eTypeStringReference:
-		{
-			XStringReference* const		theXStringReference =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XStringReference*)theXObject;
-#else
-				static_cast<XStringReference*>(theXObject);
-#endif
-
-			bStatus = m_xstringReferenceAllocator.destroy(theXStringReference);
-		}
-		break;
-
-	case  XObject::eTypeNumber:
-		{
-			XNumber* const	theXNumber =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XNumber*)theXObject;
-#else
-				static_cast<XNumber*>(theXObject);
-#endif
-
-			if (m_xnumberCache.size() < eXNumberCacheMax)
-			{
-				m_xnumberCache.push_back(theXNumber);
-
-				bStatus = true;
-			}
-			else
-			{
-				bStatus = m_xnumberAllocator.destroy(theXNumber);
-			}
-		}
-		break;
-
-	case XObject::eTypeNodeSet:
-		{
-			XNodeSet* const		theXNodeSet =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XNodeSet*)theXObject;
-#else
-				static_cast<XNodeSet*>(theXObject);
-#endif
-
-			if (m_xnodesetCache.size() < eXNodeSetCacheMax)
-			{
-				theXNodeSet->release();
-
-				m_xnodesetCache.push_back(theXNodeSet);
-
-				bStatus = true;
-			}
-			else
-			{
-				bStatus = m_xnodesetAllocator.destroy(theXNodeSet);
-			}
-		}
-		break;
-
-	default:
-		{
-#if !defined(XALAN_NO_NAMESPACES)
-			using std::find;
-#endif
-
-			const XObjectCollectionType::iterator	i =
-					find(m_xobjects.begin(), m_xobjects.end(), theXObject);
-
-			if (i != m_xobjects.end())
-			{
-				if (fInReset == false)
-				{
-					m_xobjects.erase(i);
-				}
-
-				deleteObject(theXObject);
-
-				bStatus = true;
-			}
-		}
-		break;
-	}
-	
-	return bStatus;
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createBoolean(
-			bool	theValue)
-{
-	if (theValue == true)
-	{
-		return XObjectPtr(m_xbooleanTrue.get());
-	}
-	else
-	{
-		return XObjectPtr(m_xbooleanFalse.get());
-	}
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createNull()
-{	
-	return XObjectPtr(m_XNull.get());
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createUnknown(const XalanDOMString&	theValue)
-{
-	XUnknown* const	theXUnknown = new XUnknown(theValue);
-
-	m_xobjects.push_back(theXUnknown);
-
-	theXUnknown->setFactory(this);
-
-	return XObjectPtr(theXUnknown);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createNumber(double	theValue)
-{
-	if (m_xnumberCache.size() > 0)
-	{
-		XNumber* const	theXNumber = m_xnumberCache.back();
-
-		m_xnumberCache.pop_back();
-
-		theXNumber->set(theValue);
-
-		return XObjectPtr(theXNumber);
-	}
-	else
-	{
-		m_xnumberCache.reserve(eXNumberCacheMax);
-
-		XObject* const	theXObject = m_xnumberAllocator.createNumber(theValue);
-
-		theXObject->setFactory(this);
-
-		return XObjectPtr(theXObject);
-	}
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createNumber(const XToken&	theValue)
-{
-	XObject*	theXObject = m_xtokenNumberAdapterAllocator.create(theValue);
-
-	theXObject->setFactory(this);
-
-	return XObjectPtr(theXObject);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createNodeSet(BorrowReturnMutableNodeRefList&	theValue)
-{
-	if (m_xnodesetCache.size() > 0)
-	{
-		XNodeSet* const		theXObject = m_xnodesetCache.back();
-
-		m_xnodesetCache.pop_back();
-
-		theXObject->set(theValue);
-
-		return XObjectPtr(theXObject);
-	}
-	else
-	{
-		m_xnodesetCache.reserve(eXNodeSetCacheMax);
-
-		XNodeSet* const		theXObject = m_xnodesetAllocator.createNodeSet(theValue);
-
-		theXObject->setFactory(this);
-
-		return XObjectPtr(theXObject);
-	}
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createString(const XalanDOMString&	theValue)
-{
-	XString* const	theXString = m_xstringAllocator.createString(theValue);
-
-	theXString->setFactory(this);
-
-	return XObjectPtr(theXString);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createString(const XalanDOMChar*		theValue)
-{
-	XString* const	theXString = m_xstringAllocator.createString(theValue);
-
-	theXString->setFactory(this);
-
-	return XObjectPtr(theXString);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createString(
-			const XalanDOMChar*		theValue,
-			unsigned int			theLength)
-{
-	XString* const	theXString = m_xstringAllocator.createString(theValue, theLength);
-
-	theXString->setFactory(this);
-
-	return XObjectPtr(theXString);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createString(const XToken&	theValue)
-{
-	XObject*	theXObject = m_xtokenStringAdapterAllocator.create(theValue);
-
-	theXObject->setFactory(this);
-
-	return XObjectPtr(theXObject);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createStringReference(const XalanDOMString&	theValue)
-{
-	XStringReference* const	theXStringReference = m_xstringReferenceAllocator.createString(theValue);
-
-	theXStringReference->setFactory(this);
-
-	return XObjectPtr(theXStringReference);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createStringAdapter(const XObjectPtr&	theValue)
-{
-	XStringAdapter* const	theXStringAdapter = m_xstringAdapterAllocator.createString(theValue);
-
-	theXStringAdapter->setFactory(this);
-
-	return XObjectPtr(theXStringAdapter);
-}
-
-
-
-const XObjectPtr
-XObjectFactoryDefault::createString(GetAndReleaseCachedString&	theValue)
-{
-	XStringCached* const	theXStringCached = m_xstringCachedAllocator.createString(theValue);
-
-	theXStringCached->setFactory(this);
-
-	return XObjectPtr(theXStringCached);
-}
-
-
-
-void
-XObjectFactoryDefault::reset()
-{
-	m_xstringAdapterAllocator.reset();
-
-	m_xstringAllocator.reset();
-
-	m_xstringReferenceAllocator.reset();
-
-	m_xnumberAllocator.reset();
-
-	m_xnodesetAllocator.reset();
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_xobjects.begin(),
-			 m_xobjects.end(),
-			 DeleteXObjectFunctor(*this, true));
-
-	m_xobjects.clear();
-
-	m_xnumberCache.clear();
-
-	m_xnodesetCache.clear();
-}
diff --git a/src/XPath/XObjectFactoryDefault.hpp b/src/XPath/XObjectFactoryDefault.hpp
deleted file mode 100644
index 281ee76..0000000
--- a/src/XPath/XObjectFactoryDefault.hpp
+++ /dev/null
@@ -1,250 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECTFACTORYDEFAULT_HEADER_GUARD_1357924680)
-#define XOBJECTFACTORYDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-// Base class header file...
-#include <XPath/XObjectFactory.hpp>
-
-
-
-#include <XPath/XNodeSetAllocator.hpp>
-#include <XPath/XNumberAllocator.hpp>
-#include <XPath/XStringAllocator.hpp>
-#include <XPath/XStringAdapterAllocator.hpp>
-#include <XPath/XStringCachedAllocator.hpp>
-#include <XPath/XStringReferenceAllocator.hpp>
-#include <XPath/XTokenNumberAdapterAllocator.hpp>
-#include <XPath/XTokenStringAdapterAllocator.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <XPath/XNull.hpp>
-#include <XPath/XBoolean.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-class XBoolean;
-class XNull;
-class XNumber;
-
-
-
-/**
- * This class handles the creation of XObjects and manages their lifetime.
- */
-class XALAN_XPATH_EXPORT XObjectFactoryDefault : public XObjectFactory
-{
-public:
-
-	// Default block size for strings.
-	enum
-	{
-		eDefaultXStringBlockSize = 10,
-		eDefaultXNumberBlockSize = 10,
-		eDefaultXNodeSetBlockSize = 10,
-		eXNumberCacheMax = 40,
-		eXNodeSetCacheMax = 40,
-		eXResultTreeFragCacheMax = 40
-	};
-	
-	/**
-	 * Construct a factory for creating XObjects.
-	 * 
-	 * @param theXStringBlockSize allocation block size
-	 * @param theXNumberBlockSize allocation block size
-	 * @param theXNodeSetBlockSize allocation block size
-	 */
-	explicit
-	XObjectFactoryDefault(
-			unsigned int		theXStringBlockSize = eDefaultXStringBlockSize,
-			unsigned int		theXNumberBlockSize = eDefaultXNumberBlockSize,
-			unsigned int		theXNodeSetBlockSize = eDefaultXNodeSetBlockSize); 
-
-	virtual
-	~XObjectFactoryDefault();
-
-	// These methods are inherited from XObjectFactory ...
-
-	virtual void
-	reset();
-
-	virtual const XObjectPtr
-	createBoolean(bool	theValue);
-
-	virtual const XObjectPtr
-	createNodeSet(BorrowReturnMutableNodeRefList&	theValue);
-
-	virtual const XObjectPtr
-	createNull();
-
-	virtual const XObjectPtr
-	createNumber(double		theValue);
-
-	virtual const XObjectPtr
-	createNumber(const XToken&	theValue);
-
-	virtual const XObjectPtr
-	createString(const XalanDOMString&	theValue);
-
-	virtual const XObjectPtr
-	createString(const XalanDOMChar*	theValue);
-
-	virtual const XObjectPtr
-	createString(
-			const XalanDOMChar*		theValue,
-			unsigned int			theLength);
-
-	virtual const XObjectPtr
-	createString(const XToken&	theValue);
-
-	virtual const XObjectPtr
-	createStringReference(const XalanDOMString&		theValue);
-
-	virtual const XObjectPtr
-	createStringAdapter(const XObjectPtr&	theValue);
-
-	virtual const XObjectPtr
-	createString(GetAndReleaseCachedString&		theValue);
-
-	virtual const XObjectPtr
-	createUnknown(
-			const XalanDOMString&	theValue);
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XObject*>			XObjectCollectionType;
-	typedef vector<XNumber*>			XNumberCacheType;
-	typedef vector<XNodeSet*>			XNodeSetCacheType;
-#else
-	typedef std::vector<XObject*>			XObjectCollectionType;
-	typedef std::vector<XNumber*>			XNumberCacheType;
-	typedef std::vector<XNodeSet*>			XNodeSetCacheType;
-#endif
-
-protected:
-
-	virtual bool
-	doReturnObject(
-			XObject*	theXObject,
-			bool		fInReset = false);
-
-private:
-
-	// Not implemented...
-	XObjectFactoryDefault(const XObjectFactoryDefault&);
-
-	XObjectFactoryDefault&
-	operator=(const XObjectFactoryDefault&);
-
-	bool
-	operator==(const XObjectFactoryDefault&) const;
-
-
-	// Data members...
-
-	// This one's first, since it may be be holding references
-	// to objects in other allocators.
-	XStringAdapterAllocator			m_xstringAdapterAllocator;
-
-	XStringAllocator				m_xstringAllocator;
-
-	XStringCachedAllocator			m_xstringCachedAllocator;
-
-	XStringReferenceAllocator		m_xstringReferenceAllocator;
-
-	XNumberAllocator				m_xnumberAllocator;
-
-	XNodeSetAllocator				m_xnodesetAllocator;
-
-	XTokenNumberAdapterAllocator	m_xtokenNumberAdapterAllocator;
-
-	XTokenStringAdapterAllocator	m_xtokenStringAdapterAllocator;
-
-	XObjectCollectionType			m_xobjects;
-
-	XNumberCacheType				m_xnumberCache;
-
-	XNodeSetCacheType				m_xnodesetCache;
-
-	const XalanAutoPtr<XNull>		m_XNull;
-
-	const XalanAutoPtr<XBoolean>	m_xbooleanFalse;
-
-	const XalanAutoPtr<XBoolean>	m_xbooleanTrue;
-};
-
-
-
-#endif	// XOBJECTFACTORYDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObjectResultTreeFragProxy.cpp b/src/XPath/XObjectResultTreeFragProxy.cpp
deleted file mode 100644
index 7bc217a..0000000
--- a/src/XPath/XObjectResultTreeFragProxy.cpp
+++ /dev/null
@@ -1,163 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XObjectResultTreeFragProxy.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-XObjectResultTreeFragProxy::XObjectResultTreeFragProxy(const XObject&	theValue) :
-	XObjectResultTreeFragProxyBase(),
-	m_proxy(theValue)
-{
-}
-
-
-
-XObjectResultTreeFragProxy::~XObjectResultTreeFragProxy()
-{
-}
-
-
-
-#define XALAN_NO_MUTABLE
-XalanNode*
-XObjectResultTreeFragProxy::getFirstChild() const
-{
-#if defined(XALAN_NO_MUTABLE)
-	return (XalanNode*)&m_proxy;
-#else
-	return &m_proxy;
-#endif
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxy::getLastChild() const
-{
-#if defined(XALAN_NO_MUTABLE)
-	return (XalanNode*)&m_proxy;
-#else
-	return &m_proxy;
-#endif
-}
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XObjectResultTreeFragProxy*
-#endif
-XObjectResultTreeFragProxy::cloneNode(bool	/* deep */) const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XObjectResultTreeFragProxy::hasChildNodes() const
-{
-	return true;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-ResultTreeFragBase*
-#else
-XObjectResultTreeFragProxy*
-#endif
-XObjectResultTreeFragProxy::clone(bool	/* deep */) const
-{
-	assert(false);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxy::item(unsigned int	index) const
-{
-	if (index == 0)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		return (XalanNode*)&m_proxy;
-#else
-		return &m_proxy;
-#endif
-	}
-	else
-	{
-		assert(false);
-
-		return 0;
-	}
-}
-
-
-
-unsigned int
-XObjectResultTreeFragProxy::getLength() const
-{
-	return 1;
-}
diff --git a/src/XPath/XObjectResultTreeFragProxy.hpp b/src/XPath/XObjectResultTreeFragProxy.hpp
deleted file mode 100644
index 77e7f61..0000000
--- a/src/XPath/XObjectResultTreeFragProxy.hpp
+++ /dev/null
@@ -1,134 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECTRESULTTREEFRAGPROXY_HEADER_GUARD_1357924680)
-#define XOBJECTRESULTTREEFRAGPROXY_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XObjectResultTreeFragProxyBase.hpp>
-#include <XPath/XObjectResultTreeFragProxyText.hpp>
-
-
-
-
-class XALAN_XPATH_EXPORT XObjectResultTreeFragProxy : public XObjectResultTreeFragProxyBase
-{
-public:
-
-	XObjectResultTreeFragProxy(const XObject&	value);
-
-	virtual
-	~XObjectResultTreeFragProxy();
-
-	// These interfaces are inherited from ResultTreeFragBase...
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XObjectResultTreeFragProxy*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual bool
-	hasChildNodes() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual ResultTreeFragBase*
-#else
-	virtual XObjectResultTreeFragProxy*
-#endif
-	clone(bool	deep) const;
-
-private:
-
-	// Not implemented...
-	XObjectResultTreeFragProxy(const XObjectResultTreeFragProxy&	theSource);
-
-	XObjectResultTreeFragProxy&
-	operator=(const XObjectResultTreeFragProxy&	theRHS);
-
-	bool
-	operator==(const XObjectResultTreeFragProxy&	theRHS);
-
-
-	// These methods are inherited from XalanNodeList...
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual unsigned int
-	getLength() const;
-
-
-	// Data members...
-	mutable XObjectResultTreeFragProxyText	m_proxy;
-};
-
-
-
-#endif	// XOBJECTRESULTTREEFRAGPROXY_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObjectResultTreeFragProxyBase.cpp b/src/XPath/XObjectResultTreeFragProxyBase.cpp
deleted file mode 100644
index 9d1a5b1..0000000
--- a/src/XPath/XObjectResultTreeFragProxyBase.cpp
+++ /dev/null
@@ -1,327 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XObjectResultTreeFragProxyBase.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include "NodeRefListBase.hpp"
-#include "XNodeSetBase.hpp"
-
-
-
-const XalanDOMString	XObjectResultTreeFragProxyBase::s_emptyString;
-
-
-
-XObjectResultTreeFragProxyBase::XObjectResultTreeFragProxyBase() :
-	ResultTreeFragBase(),
-	XalanNodeList()
-{
-}
-
-
-
-XObjectResultTreeFragProxyBase::XObjectResultTreeFragProxyBase(const XObjectResultTreeFragProxyBase&	/* theRHS */)
-{
-}
-
-
-
-XObjectResultTreeFragProxyBase::~XObjectResultTreeFragProxyBase()
-{
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::getNodesetRoot() const
-{
-	// I hate to do this, but since all of the non-const
-	// member functions will throw exceptions, I can live
-	// with it.
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XObjectResultTreeFragProxyBase*)this;
-#else
-	return const_cast<XObjectResultTreeFragProxyBase*>(this);
-#endif
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyBase::getNodeName() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyBase::getNodeValue() const
-{
-	return s_emptyString;
-}
-
-
-
-XObjectResultTreeFragProxyBase::NodeType
-XObjectResultTreeFragProxyBase::getNodeType() const
-{
-	return DOCUMENT_FRAGMENT_NODE;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XObjectResultTreeFragProxyBase::getChildNodes() const
-{
-	return this;
-}
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XObjectResultTreeFragProxyBase::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XObjectResultTreeFragProxyBase::getOwnerDocument() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XObjectResultTreeFragProxyBase*
-#endif
-XObjectResultTreeFragProxyBase::cloneNode(bool	/* deep */) const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::appendChild(XalanNode*	/* newChild */ )
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyBase::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-void
-XObjectResultTreeFragProxyBase::setNodeValue(const XalanDOMString&	/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XObjectResultTreeFragProxyBase::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XObjectResultTreeFragProxyBase::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyBase::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyBase::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyBase::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XObjectResultTreeFragProxyBase::setPrefix(const XalanDOMString&		/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XObjectResultTreeFragProxyBase::isIndexed() const
-{
-	return false;
-}
-
-
-
-unsigned long
-XObjectResultTreeFragProxyBase::getIndex() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-ResultTreeFragBase*
-#else
-XObjectResultTreeFragProxyBase*
-#endif
-XObjectResultTreeFragProxyBase::clone(bool	/* deep */) const
-{
-	assert(false);
-
-	return 0;
-}
diff --git a/src/XPath/XObjectResultTreeFragProxyBase.hpp b/src/XPath/XObjectResultTreeFragProxyBase.hpp
deleted file mode 100644
index 569174c..0000000
--- a/src/XPath/XObjectResultTreeFragProxyBase.hpp
+++ /dev/null
@@ -1,215 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECTRESULTTREEFRAGPROXYBASE_HEADER_GUARD_1357924680)
-#define XOBJECTRESULTTREEFRAGPROXYBASE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-#include <XPath/ResultTreeFragBase.hpp>
-#include <XPath/XObjectResultTreeFragProxyText.hpp>
-
-
-
-
-class XALAN_XPATH_EXPORT XObjectResultTreeFragProxyBase : public ResultTreeFragBase, private XalanNodeList
-{
-public:
-
-	XObjectResultTreeFragProxyBase();
-
-	virtual
-	~XObjectResultTreeFragProxyBase();
-
-	// These interfaces are inherited from ResultTreeFragBase...
-
-	virtual XalanNode*
-	getNodesetRoot() const;
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XObjectResultTreeFragProxyBase*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const = 0;
-
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual ResultTreeFragBase*
-#else
-	virtual XObjectResultTreeFragProxyBase*
-#endif
-	clone(bool	deep) const;
-
-protected:
-
-	XObjectResultTreeFragProxyBase(const XObjectResultTreeFragProxyBase&	theRHS);
-
-private:
-
-	// Not implemented...
-	XObjectResultTreeFragProxyBase&
-	operator=(const XObjectResultTreeFragProxyBase&	theRHS);
-
-	bool
-	operator==(const XObjectResultTreeFragProxyBase&	theRHS);
-
-
-	// These methods are inherited from XalanNodeList...
-
-	virtual XalanNode*
-	item(unsigned int	index) const = 0;
-
-	virtual unsigned int
-	getLength() const = 0;
-
-
-	// Data members...
-	static const XalanDOMString				s_emptyString;
-};
-
-
-
-#endif	// XOBJECTRESULTTREEFRAGPROXYBASE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObjectResultTreeFragProxyText.cpp b/src/XPath/XObjectResultTreeFragProxyText.cpp
deleted file mode 100644
index eff87ca..0000000
--- a/src/XPath/XObjectResultTreeFragProxyText.cpp
+++ /dev/null
@@ -1,431 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XObjectResultTreeFragProxyText.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XObject.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XObjectResultTreeFragProxyText::XObjectResultTreeFragProxyText(const XObject&	theXObject) :
-	XalanText(),
-	m_value(theXObject)
-{
-}
-
-
-
-XObjectResultTreeFragProxyText::~XObjectResultTreeFragProxyText()
-{
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyText::getNodeName() const
-{
-	return s_nameString;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyText::getNodeValue() const
-{
-	return m_value.str();
-}
-
-
-
-XObjectResultTreeFragProxyText::NodeType
-XObjectResultTreeFragProxyText::getNodeType() const
-{
-	return TEXT_NODE;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XObjectResultTreeFragProxyText::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XObjectResultTreeFragProxyText::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XObjectResultTreeFragProxyText::getOwnerDocument() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XObjectResultTreeFragProxyText*
-#endif
-XObjectResultTreeFragProxyText::cloneNode(bool	/* deep */) const
-{
-	assert(false);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XObjectResultTreeFragProxyText::appendChild(XalanNode*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XObjectResultTreeFragProxyText::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XObjectResultTreeFragProxyText::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyText::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyText::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyText::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XObjectResultTreeFragProxyText::isIndexed() const
-{
-	return false;
-}
-
-
-
-unsigned long
-XObjectResultTreeFragProxyText::getIndex() const
-{
-	return 0;
-}
-
-
-
-const XalanDOMString&
-XObjectResultTreeFragProxyText::getData() const
-{
-	return m_value.str();
-}
-
-
-
-unsigned int
-XObjectResultTreeFragProxyText::getLength() const
-{
-	assert(unsigned(length(m_value.str())) == length(m_value.str()));
-
-	return unsigned(length(m_value.str()));
-}
-
-
-
-XalanDOMString
-XObjectResultTreeFragProxyText::substringData(
-			unsigned int	offset,
-			unsigned int	count) const
-{
-	return m_value.str().substr(offset, count);
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::appendData(const XalanDOMString&	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::insertData(
-			unsigned int			/* offset */,
-			const  XalanDOMString& 	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::deleteData(
-			unsigned int	/* offset */,
-			unsigned int	/* count */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::replaceData(
-			unsigned int			/* offset */,
-			unsigned int			/* count */,
-			const XalanDOMString&	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanText*
-XObjectResultTreeFragProxyText::splitText(unsigned int		/* offset */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XObjectResultTreeFragProxyText::isIgnorableWhitespace() const
-{
-	return isXMLWhitespace(m_value.str());
-}
-
-
-
-static XalanDOMString	s_nameString;
-
-
-
-const XalanDOMString&	XObjectResultTreeFragProxyText::s_nameString = ::s_nameString;
-
-
-
-void
-XObjectResultTreeFragProxyText::initialize()
-{
-	::s_nameString = XALAN_STATIC_UCODE_STRING("#text");
-}
-
-
-
-void
-XObjectResultTreeFragProxyText::terminate()
-{
-	releaseMemory(::s_nameString);
-}
diff --git a/src/XPath/XObjectResultTreeFragProxyText.hpp b/src/XPath/XObjectResultTreeFragProxyText.hpp
deleted file mode 100644
index add4878..0000000
--- a/src/XPath/XObjectResultTreeFragProxyText.hpp
+++ /dev/null
@@ -1,622 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECTRESULTTREEFRAGPROXYTEXT_HEADER_GUARD_1357924680)
-#define XOBJECTRESULTTREEFRAGPROXYTEXT_HEADER_GUARD_1357924680
-
-
-
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanText.hpp>
-
-
-
-class XObject;
-
-
-
-class XALAN_XPATH_EXPORT XObjectResultTreeFragProxyText : public XalanText
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XPathInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XPathInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theXObject The XObject instance for which this is a proxy.
-	 */
-	XObjectResultTreeFragProxyText(const XObject&	theXObject);
-
-	virtual
-	~XObjectResultTreeFragProxyText();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XObjectResultTreeFragProxyText*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanCDATASection...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>DOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>DOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>DOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>DOMString</code> specified.
-	 * @param arg The <code>DOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg);
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>DOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg);
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count);
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>DOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-
-  //@}
-
-    //@}
-    /** @name Functions to modify the Text node. */
-    //@{
-
-    /**
-     * Breaks this node into two nodes at the specified 
-     * offset, keeping both in the tree as siblings. 
-     *
-     * This node then only 
-     * contains all the content up to the <code>offset</code> point. And a new 
-     * node of the same nodeType, which is inserted as the next sibling of this 
-     * node, contains all the content at and after the <code>offset</code> 
-     * point. When the <code>offset</code> is equal to the lenght of this node,
-     * the new node has no data.
-     * @param offset The offset at which to split, starting from 0.
-     * @return The new <code>Text</code> node.
-     * @exception DOMException
-     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-     *   than the number of characters in <code>data</code>.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     */
-    virtual XalanText*
-	splitText(unsigned int	offset);
-
-    //@}
-
-	virtual bool
-	isIgnorableWhitespace() const;
-
-
-private:
-
-	// Not implemented...
-	XObjectResultTreeFragProxyText&
-	operator=(const XObjectResultTreeFragProxyText&	theSource);
-
-	bool
-	operator==(const XObjectResultTreeFragProxyText&	theRHS) const;
-
-
-	// Data members...
-	const XObject&	m_value;
-
-	static const XalanDOMString&	s_nameString;
-};
-
-
-
-#endif	// XOBJECTRESULTTREEFRAGPROXYTEXT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XObjectTypeCallback.cpp b/src/XPath/XObjectTypeCallback.cpp
deleted file mode 100644
index 0dbc6f2..0000000
--- a/src/XPath/XObjectTypeCallback.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XObjectTypeCallback.hpp"
-
-
-
-XObjectTypeCallback::XObjectTypeCallback()
-{
-}
-
-
-
-XObjectTypeCallback::~XObjectTypeCallback()
-{
-}
diff --git a/src/XPath/XObjectTypeCallback.hpp b/src/XPath/XObjectTypeCallback.hpp
deleted file mode 100644
index 0fab1ec..0000000
--- a/src/XPath/XObjectTypeCallback.hpp
+++ /dev/null
@@ -1,179 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XOBJECT_TYPE_CALLBACK_HEADER_GUARD_1357924680)
-#define XOBJECT_TYPE_CALLBACK_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// $$$ ToDo: This is necessarh while XalanDOMString is a typedef...
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-
-class MutableNodeRefList;
-class NodeRefListBase;
-class ResultTreeFragBase;
-class XObject;
-
-
-
-/**
- * The purpose of this class is to provide a way to get the "preferred" or
- * closest matching type for XObject-derived classes.  The idea is to pass a
- * reference to an instance of this class to an XObject instance.  It will
- * then call back to the member function that most closely matches its type.
- * This makes it possible to get preferred typing information without doing
- * RTTI or other such type introspections.
- */
-class XALAN_XPATH_EXPORT XObjectTypeCallback
-{
-public:
-
-	XObjectTypeCallback();
-
-	virtual
-	~XObjectTypeCallback();
-
-	/**
-	 * Call back the XObject with a numeric value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	Number(const XObject&	theXObject,
-		   double			theValue) = 0;
-
-	/**
-	 * Call back the XObject with a boolean value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	Boolean(const XObject&	theXObject,
-		    bool			theValue) = 0;
-
-	/**
-	 * Call back the XObject with a string value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	String(const XObject&			theXObject,
-		   const XalanDOMString&	theValue) = 0;
-
-	/**
-	 * Call back the XObject with a result tree fragment value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	ResultTreeFragment(const XObject&				theXObject,
-					   const ResultTreeFragBase&	theValue) = 0;
-
-	/**
-	 * Call back the XObject with a result tree fragment value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	ResultTreeFragment(const XObject&		theXObject,
-					   ResultTreeFragBase&	theValue) = 0;
-
-	/**
-	 * Call back the XObject with a node set value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	NodeSet(const XObject&			theXObject,
-			const NodeRefListBase&	theValue) = 0;
-
-	/**
-	 * Call back the XObject with an unknown value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	Unknown(const XObject&		theObject,
-			const XalanDOMString&	theName) = 0;
-
-	/**
-	 * Call back the XObject with a null value.
-	 *
-	 * @param theXObject
-	 * @param theValue
-	 */
-	virtual void
-	Null(const XObject&		theObject) = 0;
-};
-
-
-
-#endif	// XOBJECT_TYPE_CALLBACK_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPath.cpp b/src/XPath/XPath.cpp
deleted file mode 100644
index a52fdda..0000000
--- a/src/XPath/XPath.cpp
+++ /dev/null
@@ -1,3639 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-// Class header file.
-#include "XPath.hpp"
-
-
-
-#include <cassert>
-#include <cfloat>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "FoundIndex.hpp"
-#include "MutableNodeRefList.hpp"
-#include "XalanQNameByReference.hpp"
-#include "XLocator.hpp"
-#include "XObject.hpp"
-#include "XObjectFactory.hpp"
-#include "XPathEnvSupport.hpp"
-
-
-
-const XalanDOMString	XPath::s_emptyString;
-
-
-
-XPath::XPath(const Locator*	theLocator) :
-	m_expression(),
-	m_locator(theLocator),
-	m_inStylesheet(false)
-{
-}
-
-
-
-XPath::~XPath()
-{
-}
-
-
-
-void
-XPath::shrink()
-{
-	m_expression.shrink();
-}
-
-
-
-void
-XPath::installFunction(
-			const XalanDOMString&	funcName,
-			const Function& 		func)
-{
-	s_functions.InstallFunction(funcName,
-							    func);
-}
-
-
-
-bool
-XPath::uninstallFunction(const XalanDOMString&	funcName)
-{
-	return 	s_functions.UninstallFunction(funcName);
-}
-
-
-
-const XObjectPtr
-XPath::execute(
-			XalanNode*				context,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const
-{
-	// Push and pop the PrefixResolver...
-	XPathExecutionContext::PrefixResolverSetAndRestore	theResolverSetAndRestore(
-									executionContext,
-									&prefixResolver);
-
-	// Push and pop the current node...
-	XPathExecutionContext::CurrentNodeSetAndRestore		theNodeSetAndRestore(
-									executionContext,
-									context);
-
-	return executeMore(context, 0, executionContext);
-}
-
-
-
-const XObjectPtr
-XPath::executeMore(
-			XalanNode* 				context,
-			int 					opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	switch(m_expression.m_opMap[opPos])
-	{
-	case XPathExpression::eOP_XPATH:
-		return executeMore(context, opPos + 2, executionContext);
-		break;
-
-	case XPathExpression::eOP_MATCHPATTERN:
-		return matchPattern(context, opPos + 2, executionContext);
-		break;
-
-	case XPathExpression::eEMPTY:
-		opPos++;
-		break;
-
-	case XPathExpression::eOP_OR:
-		return Or(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_AND:
-		return And(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_NOTEQUALS:
-		return notequals(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_EQUALS:
-		return equals(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_LTE:
-		return lte(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_LT:
-		return lt(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_GTE:
-		return gte(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_GT:
-		return gt(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_PLUS:
-		return plus(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_MINUS:
-	  return minus(context, opPos, executionContext);
-	  break;
-
-	case XPathExpression::eOP_MULT:
-		return mult(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_DIV:
-		return div(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_MOD:
-		return mod(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_NEG:
-		return neg(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_BOOL:
-		return boolean(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_UNION:
-		return Union(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_LITERAL:
-		return literal(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_VARIABLE:
-	  return variable(context, opPos, executionContext);
-	  break;
-
-	case XPathExpression::eOP_GROUP:
-		return group(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_NUMBERLIT:
-		return numberlit(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_ARGUMENT:
-		return arg(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_EXTFUNCTION:
-		return runExtFunction(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_FUNCTION:
-		return runFunction(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_LOCATIONPATH:
-		return locationPath(context, opPos, executionContext);
-		break;
-
-	case XPathExpression::eOP_LOCATIONPATHPATTERN:
-		return locationPathPattern(context, opPos, executionContext);
-		break;
-
-	default:
-		{
-			const XalanDOMString	theOpCode = LongToDOMString(m_expression.m_opMap[opPos]);
-
-			executionContext.error(
-				TranscodeFromLocalCodePage("ERROR! Unknown op code: ") + theOpCode,
-				context,
-				m_locator);
-		}
-		break;
-	}
-
-	return XObjectPtr();
-}
-
-
-
-inline void
-XPath::doGetMatchScore(
-			XalanNode*				context,
-			XPathExecutionContext&	executionContext,
-			eMatchScore&			score) const
-{
-	assert(context != 0);
-
-	int		opPos = 2;
-
-	while(m_expression.m_opMap[opPos] == XPathExpression::eOP_LOCATIONPATHPATTERN)
-	{
-		const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		score = locationPathPattern(executionContext, *context, opPos);
-
-		if(score == eMatchScoreNone)
-		{
-			opPos = nextOpPos;
-		}
-		else
-		{
-			break;
-		}
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::getMatchScore(
-			XalanNode*				node,
-			const PrefixResolver&	resolver,
-			XPathExecutionContext&	executionContext) const
-{
-	eMatchScore		score = eMatchScoreNone;
-
-	if(m_expression.m_opMap[0] == XPathExpression::eOP_MATCHPATTERN)
-	{
-		assert(node != 0);
-
-		const PrefixResolver* const		theCurrentResolver =
-			executionContext.getPrefixResolver();
-
-		if (theCurrentResolver == &resolver)
-		{
-			doGetMatchScore(node, executionContext, score);
-		}
-		else
-		{
-			// Push and pop the PrefixResolver...
-			XPathExecutionContext::PrefixResolverSetAndRestore	theSetAndRestore(
-										executionContext,
-										theCurrentResolver,
-										&resolver);
-
-			doGetMatchScore(node, executionContext, score);
-		}
-	}
-	else
-	{
-		executionContext.error(
-			TranscodeFromLocalCodePage("Expected match pattern in getMatchScore!"),
-			node,
-			m_locator);
-	}
-	
-	return score;
-}
-
-
-
-void
-XPath::getTargetElementStrings(TargetElementStringsVectorType&	targetStrings) const
-{
-	int opPos = 2;
-
-	targetStrings.reserve(eDefaultTargetStringsSize);
-
-	while(m_expression.m_opMap[opPos] == XPathExpression::eOP_LOCATIONPATHPATTERN)
-	{
-		const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		opPos += 2;
-	  
-		while(m_expression.m_opMap[opPos] != XPathExpression::eENDOP)
-		{
-			const int	nextStepPos =
-				m_expression.getNextOpCodePosition(opPos);
-
-			const int	nextOp = m_expression.m_opMap[nextStepPos];
-
-			if(nextOp == XPathExpression::eOP_PREDICATE ||
-			   nextOp == XPathExpression::eOP_PREDICATE_WITH_POSITION ||
-			   nextOp == XPathExpression::eENDOP)
-			{
-				const int	stepType = m_expression.m_opMap[opPos];
-
-				opPos += 3;
-
-				switch(stepType)
-				{
-				case XPathExpression::eOP_FUNCTION:
-					targetStrings.push_back(PSEUDONAME_ANY);
-					break;
-
-				case XPathExpression::eFROM_ROOT:
-					targetStrings.push_back(PSEUDONAME_ROOT);
-					break;
-
-				case XPathExpression::eMATCH_ATTRIBUTE:
-				case XPathExpression::eMATCH_ANY_ANCESTOR:
-				case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
-					{
-						const int	tok = m_expression.m_opMap[opPos];
-
-						opPos++;
-
-						switch(tok)
-						{
-						case XPathExpression::eNODETYPE_COMMENT:
-							targetStrings.push_back(PSEUDONAME_COMMENT);
-							break;
-
-						case XPathExpression::eNODETYPE_TEXT:
-							targetStrings.push_back(PSEUDONAME_TEXT);
-							break;
-
-						case XPathExpression::eNODETYPE_NODE:
-							targetStrings.push_back(PSEUDONAME_NODE);
-							break;
-
-						case XPathExpression::eNODETYPE_ROOT:
-							targetStrings.push_back(PSEUDONAME_ROOT);
-							break;
-
-						case XPathExpression::eNODETYPE_ANYELEMENT:
-							targetStrings.push_back(PSEUDONAME_ANY);
-							break;
-
-						case XPathExpression::eNODETYPE_PI:
-							targetStrings.push_back(PSEUDONAME_PI);
-							break;
-
-						case XPathExpression::eNODENAME:
-							{
-								// Skip the namespace
-								const int	tokenIndex = m_expression.m_opMap[opPos + 1];
-
-								if(tokenIndex >= 0)
-								{
-									const XalanDOMString&	targetName =
-										m_expression.m_tokenQueue[tokenIndex].str();
-
-									if(::equals(targetName, PSEUDONAME_ANY) == true)
-									{
-										targetStrings.push_back(PSEUDONAME_ANY);
-									}
-									else
-									{
-										targetStrings.push_back(targetName);
-									}
-								}
-								else
-								{
-									targetStrings.push_back(PSEUDONAME_ANY);
-								}
-							}
-							break;
-
-						default:
-							targetStrings.push_back(PSEUDONAME_ANY);
-							break;
-						}
-					}
-					break;
-				}
-			}
-
-			opPos = nextStepPos;
-		}
-
-		opPos = nextOpPos;
-	}
-}
-
-
-
-const XObjectPtr
-XPath::matchPattern(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-
-{
-	XObjectPtr	score;
-
-	while(m_expression.m_opMap[opPos] == XPathExpression::eOP_LOCATIONPATHPATTERN)
-	{
-		const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		score = executeMore(context, opPos, executionContext);
-		assert(score.null() == false);
-
-		if(score->num() != eMatchScoreNone)
-		{
-			break;
-		}
-		else
-		{
-			opPos = nextOpPos;
-		}
-	}
-
-	if(score.null() == false)
-	{
-		return score;
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createNumber(getMatchScoreValue(eMatchScoreNone));
-	}
-}
-
-
-
-const XObjectPtr
-XPath::Or(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	bool	fResult = expr1->boolean();
-
-	if(fResult == false)
-	{
-		const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-		assert(expr2.get() != 0);
-
-		fResult = expr2->boolean();
-	}
-
-	return executionContext.getXObjectFactory().createBoolean(fResult);
-}
-
-
-
-const XObjectPtr
-XPath::And(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	bool	fResult = false;
-
-	opPos += 2;	
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	if (expr1->boolean() == true)
-	{
-		const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-		assert(expr2.get() != 0);
-
-		if (expr2->boolean() == true)
-		{
-			fResult = true;
-		}
-	}	
-
-	return executionContext.getXObjectFactory().createBoolean(fResult);
-}
-
-
-
-const XObjectPtr
-XPath::notequals(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;	
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createBoolean(expr1->notEquals(*expr2.get(), executionContext));
-}
-
-
-
-const XObjectPtr
-XPath::equals(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;	
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createBoolean(expr1->equals(*expr2.get(), executionContext));
-}
-
-
-
-const XObjectPtr
-XPath::lte(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;	
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createBoolean(expr1->lessThanOrEquals(*expr2.get(), executionContext));
-}
-
-
-
-const XObjectPtr
-XPath::lt(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createBoolean(expr1->lessThan(*expr2.get(), executionContext));
-}
-
-
-
-const XObjectPtr
-XPath::gte(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createBoolean(expr1->greaterThanOrEquals(*expr2.get(), executionContext));
-}
-
-
-
-const XObjectPtr
-XPath::gt(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createBoolean(expr1->greaterThan(*expr2.get(), executionContext));
-}
-
-
-
-double
-XPath::getNumericOperand(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	if (m_expression.m_opMap[opPos] == XPathExpression::eOP_NUMBERLIT)
-	{
-		assert(m_expression.m_tokenQueue.size() > unsigned(m_expression.m_opMap[opPos + 3]));
-
-		return m_expression.getNumberLiteral(m_expression.m_opMap[opPos + 2]);
-	}
-	else
-	{
-		return executeMore(context, opPos, executionContext)->num();
-	}
-}
-
-
-
-const XObjectPtr
-XPath::plus(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const double	expr1 = getNumericOperand(context, opPos, executionContext);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const double	expr2 = getNumericOperand(context, expr2Pos, executionContext);
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::add(expr1, expr2));
-}
-
-
-
-const XObjectPtr
-XPath::minus(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const double	expr1 = getNumericOperand(context, opPos, executionContext);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const double	expr2 = getNumericOperand(context, expr2Pos, executionContext);
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::subtract(expr1, expr2));
-}
-
-
-
-const XObjectPtr
-XPath::mult(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const double	expr1 = getNumericOperand(context, opPos, executionContext);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const double	expr2 = getNumericOperand(context, expr2Pos, executionContext);
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::multiply(expr1, expr2));
-}
-
-
-
-const XObjectPtr
-XPath::div(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	const double	expr1 = getNumericOperand(context, opPos, executionContext);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const double	expr2 = getNumericOperand(context, expr2Pos, executionContext);
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::divide(expr1, expr2));
-}
-
-
-
-const XObjectPtr
-XPath::mod(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;	
-
-	const XObjectPtr	expr1(executeMore(context, opPos, executionContext));
-	assert(expr1.get() != 0);
-
-	const int		expr2Pos = m_expression.getNextOpCodePosition(opPos);
-
-	const XObjectPtr	expr2(executeMore(context, expr2Pos, executionContext));
-	assert(expr2.get() != 0);
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::modulus(expr1->num(), expr2->num()));
-}
-
-
-
-const XObjectPtr
-XPath::neg(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	const XObjectPtr	expr1(executeMore(context, opPos + 2, executionContext));
-	assert(expr1.get() != 0);
-
-	return executionContext.getXObjectFactory().createNumber(DoubleSupport::negative(expr1->num()));
-}
-
-
-
-const XObjectPtr
-XPath::boolean(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	const XObjectPtr	expr1(executeMore(context, opPos + 2, executionContext));
-	assert(expr1.get() != 0);
-
-	// Try to optimize when the result of the execution is
-	// already a boolean.
-	if (expr1->getType() == XObject::eTypeBoolean)
-	{
-		return expr1;
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createBoolean(expr1->boolean());
-	}
-}
-
-
- 
-const XObjectPtr
-XPath::Union(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	opPos += 2;
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	resultNodeList(executionContext);
-
-	while(m_expression.m_opMap[opPos] != XPathExpression::eENDOP)
-	{
-		const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	expr(executeMore(context, opPos, executionContext));
-
-		const NodeRefListBase&	nl =
-				expr->nodeset();
-
-		resultNodeList->addNodesInDocOrder(nl, executionContext);	
-
-		opPos = nextOpPos;
-	}
-
-	return executionContext.getXObjectFactory().createNodeSet(resultNodeList);
-}
-
-
-
-const XObjectPtr
-XPath::literal(
-			XalanNode*				/* context */,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	assert(m_expression.m_opMap.size() > unsigned(opPos + 2));
-	assert(m_expression.m_tokenQueue.size() > unsigned(m_expression.m_opMap[opPos + 2]));
-
-	const XToken&	theLiteral = m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 2]];
-
-	if (m_inStylesheet == true)
-	{
-		return executionContext.getXObjectFactory().createString(theLiteral);
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createString(theLiteral.str());
-	}
-}
-
-
-
-const XObjectPtr
-XPath::variable(
-			XalanNode*				/* context */,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	assert(executionContext.getPrefixResolver() != 0);
-
-	const XObject&	ns = m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 2]];
-
-	const XObject&	varName = m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 3]];
-
-	return executionContext.getVariable(XalanQNameByReference(ns.str(), varName.str()), m_locator);
-}
-
-
-
-const XObjectPtr
-XPath::numberlit(
-			XalanNode*				/* context */,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	assert(m_expression.m_opMap.size() > unsigned(opPos + 3));
-	assert(m_expression.m_tokenQueue.size() > unsigned(m_expression.m_opMap[opPos + 3]));
-
-	const XToken&	theLiteral = m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 3]];
-
-	if (m_inStylesheet == true)
-	{
-		return executionContext.getXObjectFactory().createNumber(theLiteral);
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createNumber(theLiteral.num());
-	}
-}
-
-
-
-const XObjectPtr
-XPath::locationPath(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{    
-	assert(context != 0);
-
-	return locationPath(executionContext, *context, opPos);
-}
-
-
-
-const XObjectPtr
-XPath::locationPathPattern(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	assert(context != 0);
-
-	const eMatchScore	result =
-		locationPathPattern(executionContext, *context, opPos);
-
-	return executionContext.getXObjectFactory().createNumber(getMatchScoreValue(result));
-}
-
-
-
-const XObjectPtr
-XPath::runExtFunction(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	const int	endExtFunc = opPos + m_expression.m_opMap[opPos + 1] - 1;
-
-	opPos += 2;
-
-	const XalanDOMString&	ns = m_expression.m_tokenQueue[m_expression.m_opMap[opPos]].str();
-
-	++opPos;
-
-	const XalanDOMString&	funcName = m_expression.m_tokenQueue[m_expression.m_opMap[opPos]].str();
-
-	++opPos;
-
-	typedef XPathExecutionContext::XObjectArgVectorType		XObjectArgVectorType;
-
-	XObjectArgVectorType	args;
-
-	while(opPos < endExtFunc)
-	{
-		const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		args.push_back(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-	}
-
-	return extfunction(context, opPos, ns, funcName, args, executionContext);
-}
-
-
-
-const XObjectPtr
-XPath::runFunction(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-{
-	const int	endFunc = opPos + m_expression.m_opMap[opPos + 1] - 1;
-
-	opPos += 2;
-
-	// This is actually the position in the token queue of the
-	// string that contains the name of the function.
-	const int	funcID = m_expression.m_opMap[opPos];
-
-	opPos++;
-
-	// Number of args is next, not used for now...
-	const int	argCount = m_expression.m_opMap[opPos];
-
-	opPos++;
-
-	if (argCount == 0)
-	{
-		assert(opPos == endFunc);
-
-		return s_functions[funcID].execute(executionContext, context, m_locator);
-	}
-	else if (argCount == 1)
-	{
-		const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	theArg(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-		
-		assert(opPos == endFunc);
-
-		return s_functions[funcID].execute(executionContext, context, theArg, m_locator);
-	}
-	else if (argCount == 2)
-	{
-		int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	theArg1(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-
-		nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	theArg2(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-		
-		assert(opPos == endFunc);
-
-		return s_functions[funcID].execute(executionContext, context, theArg1, theArg2, m_locator);
-	}
-	else if (argCount == 3)
-	{
-
-		int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	theArg1(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-
-		nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	theArg2(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-
-		nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-		const XObjectPtr	theArg3(executeMore(context, opPos, executionContext));
-
-		opPos = nextOpPos;
-
-		assert(opPos == endFunc);
-
-		return s_functions[funcID].execute(executionContext, context, theArg1, theArg2, theArg3, m_locator);
-	}
-	else
-	{
-		typedef XPathExecutionContext::XObjectArgVectorType		XObjectArgVectorType;
-
-		XObjectArgVectorType	args;
-
-		args.reserve(argCount);
-
-		while(opPos < endFunc)
-		{
-			const int	nextOpPos = m_expression.getNextOpCodePosition(opPos);
-
-			args.push_back(executeMore(context, opPos, executionContext));
-
-			opPos = nextOpPos;
-		}
-
-		return function(context, funcID, args, executionContext);
-	}
-}
-
-
-
-const XObjectPtr
-XPath::locationPath(
-			XPathExecutionContext&	executionContext,
-			XalanNode&				context, 
-			int 					opPos) const
-{
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-	step(executionContext, &context, opPos + 2, *mnl.get());
-
-	return executionContext.getXObjectFactory().createNodeSet(mnl);
-}
-
-
-
-XPath::eMatchScore
-XPath::locationPathPattern(
-			XPathExecutionContext&	executionContext,
-			XalanNode&				context, 
-			int 					opPos) const
-{
-	eMatchScore	score = eMatchScoreNone;
-
-	stepPattern(executionContext, &context, opPos + 2, score);
-
-	return score;
-}
-
-
-
-void
-XPath::step(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			MutableNodeRefList& 	queryResults) const
-{
-	const XPathExpression&	currentExpression = getExpression();
-
-	// int endStep = xpath.getNextOpPos(opPos);
-	const int	stepType =
-		currentExpression.getOpCodeMapValue(opPos);
-
-	int 		argLen = 0;
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	subQueryResults(executionContext);
-
-	bool	shouldReorder = false;
-	bool	continueStepRecursion = true;
-
-	switch(stepType)
-	{
-	case XPathExpression::eOP_VARIABLE:
-	case XPathExpression::eOP_EXTFUNCTION:
-	case XPathExpression::eOP_FUNCTION:
-	case XPathExpression::eOP_GROUP:
-		argLen = findNodeSet(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_ROOT:
-		argLen = findRoot(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_PARENT:
-		argLen = findParent(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_SELF:
-		argLen = findSelf(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_ANCESTORS:
-		argLen = findAncestors(executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eFROM_ANCESTORS_OR_SELF:
-		argLen = findAncestorsOrSelf(executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eMATCH_ATTRIBUTE:
-		continueStepRecursion = false;
-		// fall-through on purpose.
-
-	case XPathExpression::eFROM_ATTRIBUTES:
-		argLen = findAttributes(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eMATCH_ANY_ANCESTOR:
-	case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
-	case XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE:
-		continueStepRecursion = false;
-		// fall-through on purpose.
-
-	case XPathExpression::eFROM_CHILDREN:
-		argLen = findChildren(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_DESCENDANTS:
-	case XPathExpression::eFROM_DESCENDANTS_OR_SELF:
-		argLen = findDescendants(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_FOLLOWING:
-		argLen = findFollowing(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_FOLLOWING_SIBLINGS:
-		argLen = findFollowingSiblings(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-
-	case XPathExpression::eFROM_PRECEDING:
-		argLen = findPreceeding(executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eFROM_PRECEDING_SIBLINGS:
-		argLen = findPreceedingSiblings(executionContext, context, opPos, stepType, *subQueryResults);
-		shouldReorder = true;
-		break;
-
-	case XPathExpression::eFROM_NAMESPACE:
-		argLen = findNamespace(executionContext, context, opPos,  stepType, *subQueryResults);
-		break;
-
-	default:
-		argLen = findNodesOnUnknownAxis(executionContext, context, opPos, stepType, *subQueryResults);
-		break;
-	}
-
-	// Push and pop the PrefixResolver...
-	XPathExecutionContext::ContextNodeListSetAndRestore		theSetAndRestore(
-									executionContext,
-									*subQueryResults);
-
-	opPos += argLen;
-
-	int		nextStepType = currentExpression.getOpCodeMapValue(opPos);
-
-	if(XPathExpression::eOP_PREDICATE == nextStepType ||
-	   XPathExpression::eOP_PREDICATE_WITH_POSITION == nextStepType)
-	{
-		predicates(executionContext,
-				   context,
-				   opPos, 
-				   *subQueryResults,
-				   opPos);
-
-		nextStepType = currentExpression.getOpCodeMapValue(opPos);
-	}
-
-	if(XPathExpression::eENDOP != nextStepType && continueStepRecursion == true)
-	{
-		const NodeRefListBase::size_type	nContexts = subQueryResults->getLength();
-
-		for(NodeRefListBase::size_type i = 0; i < nContexts; i++)
-		{
-			XalanNode* const	node = subQueryResults->item(i);
-
-			if(0 != node)
-			{
-				BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-				step(executionContext, node, opPos, *mnl);
-
-				if (mnl->getLength() > 0)
-				{
-					if(queryResults.getLength() == 0)
-					{
-						if (mnl->getReverseDocumentOrder() == true)
-						{
-							mnl->reverse();
-
-							queryResults.setDocumentOrder();
-						}
-						else if (mnl->getDocumentOrder() == true)
-						{
-							queryResults.setDocumentOrder();
-						}
-
-						queryResults = *mnl;
-					}
-					else
-					{
-						queryResults.addNodesInDocOrder(*mnl, executionContext);
-
-						queryResults.setDocumentOrder();
-					}
-				}
-			}
-		}
-	}
-	else
-	{
-		if (shouldReorder == true)
-		{
-			if (queryResults.getLength() != 0 ||
-				subQueryResults->getUnknownOrder() == true)
-			{
-				queryResults.addNodesInDocOrder(*subQueryResults, executionContext);
-			}
-			else
-			{
-				if (subQueryResults->getReverseDocumentOrder() == true)
-				{
-					subQueryResults->reverse();
-
-					queryResults = *subQueryResults;
-				}
-				else if (subQueryResults->getDocumentOrder() == true)
-				{
-					queryResults = *subQueryResults;
-				}
-				else
-				{
-					assert(false);
-				}
-			}
-
-			queryResults.setDocumentOrder();
-		}
-		else
-		{
-			queryResults = *subQueryResults;
-		}
-	}
-}
-
-
-
-XalanNode*
-XPath::stepPattern(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			eMatchScore& 			scoreHolder) const
-{
-	const XPathExpression&	currentExpression = getExpression();
-
-	const int	endStep = currentExpression.getNextOpCodePosition(opPos);
-	int 		nextStepType = currentExpression.getOpCodeMapValue(endStep);
-
-	if(XPathExpression::eENDOP != nextStepType)
-	{
-		// Continue step via recursion...
-		context = stepPattern(
-						executionContext,
-						context,
-						endStep,
-						scoreHolder);
-
-		if(0 == context)
-		{
-			scoreHolder = eMatchScoreNone;
-
-		}
-
-		if (scoreHolder == eMatchScoreNone)
-		{
-			// !!!!!!!!!!!!! Big ugly return here !!!!!!!!!!!!!!!!!!!
-			return 0;
-		}
-
-		scoreHolder = eMatchScoreOther;
-
-		if (nextStepType != XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL)
-		{
-			context = DOMServices::getParentOfNode(*context);
-		}
-
-		if(0 == context)
-		{
-			// !!!!!!!!!!!!! Big ugly return here !!!!!!!!!!!!!!!!!!!
-			return 0;
-		}
-	}
-
-	assert(context != 0);
-
-	int					argLen = 0;
-
-	eMatchScore	score = eMatchScoreNone;
-
-	const int	startOpPos = opPos;
-	const int	stepType = currentExpression.getOpCodeMapValue(opPos);
-
-	switch(stepType)
-	{
-	case XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL:
-		score = scoreHolder;
-		break;
-
-	case XPathExpression::eOP_FUNCTION:
-		{
-			argLen = currentExpression.getOpCodeLengthFromOpMap(opPos);
-
-			const XObjectPtr		obj(executeMore(context, opPos, executionContext));
-			assert(obj.get() != 0);
-
-			const NodeRefListBase&				nl = obj->nodeset();
-
-			const NodeRefListBase::size_type	len = nl.getLength();
-
-			if (nextStepType == XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL)
-			{
-				bool	fFound = false;
-
-				while(context != 0 && fFound == false)
-				{
-					for(NodeRefListBase::size_type i = 0; i < len; i++)
-					{
-						XalanNode* const	n = nl.item(i);
-
-						if(n == context)
-						{
-							score = eMatchScoreOther;
-
-							context = n;
-
-							fFound = true;
-
-							break;
-						}
-					}
-
-					context = DOMServices::getParentOfNode(*context);
-				}
-			}
-			else
-			{
-				for(NodeRefListBase::size_type i = 0; i < len; i++)
-				{
-					XalanNode* const	n = nl.item(i);
-
-					if(n == context)
-					{
-						score = eMatchScoreOther;
-
-						context = n;
-
-						break;
-					}
-				}
-			}
-		}
-		break;
-
-	case XPathExpression::eFROM_ROOT:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			opPos += 3;
-
-			const XalanNode::NodeType	nodeType = context->getNodeType();
-
-			if (nodeType == XalanNode::DOCUMENT_NODE ||
-				nodeType == XalanNode::DOCUMENT_FRAGMENT_NODE)
-			{
-				score = eMatchScoreOther;
-			}
-			else
-			{
-				const int   prevPos = currentExpression.getNextOpCodePosition(startOpPos);		
-				const int	prevStepType = currentExpression.getOpCodeMapValue(prevPos);
-
-				if (eMatchScoreNone == score  && 
-				    (prevStepType == XPathExpression::eMATCH_ANY_ANCESTOR ||
-					 prevStepType == XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE))
-				{
-					const NodeTester	theTester(
-									*this,
-									executionContext,
-									opPos,
-									argLen,
-									stepType);
-
-					while(0 != context)
-					{
-						score =
-							theTester(*context, context->getNodeType());
-							assert(score == nodeTest(executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-						if(eMatchScoreNone != score)
-							break;
-
-						context = DOMServices::getParentOfNode(*context);
-					}
-				}
-			}
-		}
-		break;
-
-	case XPathExpression::eMATCH_ATTRIBUTE:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			opPos += 3;
-
-			score = NodeTester(
-							*this,
-							executionContext,
-							opPos,
-							argLen,
-							XPathExpression::eFROM_ATTRIBUTES)(*context, context->getNodeType());
-
-			assert(score == nodeTest(
-							 executionContext,
-							 context,
-							 context->getNodeType(),
-							 opPos,
-							 argLen,
-							 XPathExpression::eFROM_ATTRIBUTES));
-		}
-		break;
-
-	case XPathExpression::eMATCH_ANY_ANCESTOR:
-	case XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-					currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			XalanNode::NodeType		nodeType = context->getNodeType();
-
-			if(nodeType != XalanNode::ATTRIBUTE_NODE)
-			{
-				opPos += 3;
-
-				const NodeTester	theTester(
-									*this,
-									executionContext,
-									opPos,
-									argLen,
-									stepType);
-
-				for(;;)
-				{
-					score = theTester(*context, nodeType);
-					assert(score == nodeTest(executionContext, context, nodeType, opPos, argLen, stepType));
-
-					if(eMatchScoreNone != score)
-						break;
-
-					context = DOMServices::getParentOfNode(*context);
-
-					if (context == 0)
-						break;
-
-					nodeType = context->getNodeType();
-				}
-			}
-		}
-		break;
-
-	case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
-		{
-			// $$ ToDO: Can we reduce this to some call on the
-			// XPathExpression interface?
-			argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-			const XalanNode::NodeType	nodeType = context->getNodeType();
-
-			if(nodeType != XalanNode::ATTRIBUTE_NODE)
-			{
-				opPos += 3;
-
-				score = NodeTester(
-								*this,
-								executionContext,
-								opPos,
-								argLen,
-								XPathExpression::eMATCH_IMMEDIATE_ANCESTOR)(*context, nodeType);
-
-				assert(score == nodeTest(
-								 executionContext,
-								 context,
-								 nodeType,
-								 opPos,
-								 argLen,
-								 XPathExpression::eMATCH_IMMEDIATE_ANCESTOR));
-			}
-		}
-		break;
-
-	default:
-		executionContext.error(TranscodeFromLocalCodePage("unknown match operation!"), context, getLocator());
-		break;
-	}
-
-	opPos += argLen;
-
-	nextStepType = currentExpression.getOpCodeMapValue(opPos);
-
-	if(score != eMatchScoreNone &&
-	   (XPathExpression::eOP_PREDICATE == nextStepType || XPathExpression::eOP_PREDICATE_WITH_POSITION == nextStepType))
-	{
-		score = eMatchScoreOther;
-
-		// Execute the xpath.predicates, but if we have an index, then we have 
-		// to start over and do a search from the parent.  It would be nice 
-		// if I could sense this condition earlier...
-		try
-		{
-			executionContext.setThrowFoundIndex(true);
-
-			while(XPathExpression::eOP_PREDICATE == nextStepType ||
-				  XPathExpression::eOP_PREDICATE_WITH_POSITION == nextStepType)
-			{
-				// This is a quick hack to look ahead and see if we have
-				// number literal as the predicate, i.e. match="foo[1]".
-				if (m_expression.getOpCodeMapValue(opPos + 2) == XPathExpression::eOP_NUMBERLIT,
-					XPathExpression::eOP_PREDICATE_WITH_POSITION == nextStepType)
-				{
-					score = handleFoundIndex(executionContext, context, startOpPos);
-				}
-				else
-				{
-					const XObjectPtr	pred(predicate(context, opPos, executionContext));
-					assert(pred.get() != 0);
-
-					if(XObject::eTypeNumber == pred->getType())
-					{
-						score = handleFoundIndex(executionContext, context, startOpPos);
-					}
-					else if(pred->boolean() == false)
-					{
-						score = eMatchScoreNone;
-
-						break;
-					}
-				}
-
-				opPos = currentExpression.getNextOpCodePosition(opPos);
-				nextStepType = currentExpression.getOpCodeMapValue(opPos);
-			}
-
-			executionContext.setThrowFoundIndex(false);
-		}
-		catch(const FoundIndex&)
-		{
-			score = handleFoundIndex(executionContext, context, startOpPos);
-		}
-	}
-
-	if (scoreHolder == eMatchScoreNone || 
-        score == eMatchScoreNone)
-	{
-		scoreHolder = score;
-	}
-
-	return score == eMatchScoreNone ? 0 : context;
-}
-
-
-
-XPath::eMatchScore
-XPath::handleFoundIndex(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				localContext, 
-			int 					startOpPos) const
-{
-	// We have an index somewhere in our pattern.  So, we have 
-	// to do a full search for our step, using the parent as 
-	// localContext, then see if the current localContext is found in the 
-	// node set.  Seems crazy, but, so far, it seems like the 
-	// easiest way.
-	executionContext.setThrowFoundIndex(false);
-
-	XalanNode* const	parentContext =
-				DOMServices::getParentOfNode(*localContext);
-
-	if (parentContext == 0)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-		BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-		step(executionContext, parentContext, startOpPos, *mnl);
-
-		if (mnl->indexOf(localContext) == MutableNodeRefList::npos)
-		{
-			return eMatchScoreNone;
-		}
-		else
-		{
-			return eMatchScoreOther;
-		}
-	}
-}
-
-
-
-int
-XPath::findNodeSet(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					/* stepType */,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	const XPathExpression&	currentExpression = getExpression();
-
-	const XObjectPtr		obj(executeMore(context, opPos, executionContext));
-
-	const NodeRefListBase&	nl = obj->nodeset();
-
-	subQueryResults.addNodes(nl);
-
-	return currentExpression.getOpCodeLengthFromOpMap(opPos);
-}
-
-
-
-int
-XPath::findRoot(
-			XPathExecutionContext&	/* executionContext */,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					/* stepType */,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode* const	docContext = XalanNode::DOCUMENT_NODE == context->getNodeType() ?
-									context :
-									context->getOwnerDocument();
-	assert(docContext != 0);
-
-	subQueryResults.addNode(docContext);
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findParent(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-			currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode* const	theParent = DOMServices::getParentOfNode(*context);
-
-	if(0 != theParent)
-	{
-		if(argLen > 0)
-		{
-			opPos += 3;
-
-			const NodeTester	theTester(
-							*this,
-							executionContext,
-							opPos,
-							argLen,
-							stepType);
-
-			const eMatchScore	score = theTester(*theParent, theParent->getNodeType());
-			assert(score == nodeTest(executionContext, theParent, theParent->getNodeType(), opPos, argLen, stepType));
-
-			if(eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(theParent);
-			}
-		}
-		else
-		{
-			subQueryResults.addNode(theParent);
-		}
-	}
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findSelf(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if(argLen == 0)
-	{
-		subQueryResults.addNode(context);
-	}
-	else
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		const eMatchScore	score =
-			theTester(*context, context->getNodeType());
-			assert(score == nodeTest(executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-		if(eMatchScoreNone != score)
-		{
-			subQueryResults.addNode(context);
-		}
-	}
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findAncestors(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	context = DOMServices::getParentOfNode(*context);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-			currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if (context != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const eMatchScore	score =
-				theTester(*context, context->getNodeType());
-				assert(score == nodeTest(executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-			if(eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(context);
-			}
-
-			context = DOMServices::getParentOfNode(*context);
-		} while(0 != context);
-
-		subQueryResults.setReverseDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findAncestorsOrSelf(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	opPos += 3;
-
-	const NodeTester	theTester(
-					*this,
-					executionContext,
-					opPos,
-					argLen,
-					stepType);
-
-	do
-	{
-		const eMatchScore	score =
-				theTester(*context, context->getNodeType());
-				assert(score == nodeTest(executionContext, context, context->getNodeType(), opPos, argLen, stepType));
-
-		if(eMatchScoreNone != score)
-		{
-			subQueryResults.addNode(context);
-		}
-
-		context = DOMServices::getParentOfNode(*context);
-	} while(0 != context);
-
-	subQueryResults.setReverseDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findAttributes(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-				currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if(context->getNodeType() == XalanNode::ELEMENT_NODE)
-	{
-		const XalanNamedNodeMap* const	attributeList = context->getAttributes();
-
-		if(attributeList != 0) 
-		{
-			opPos += 3;
-
-			const unsigned int	nAttrs = attributeList->getLength();
-
-			if (nAttrs != 0)
-			{
-				const NodeTester	theTester(
-								*this,
-								executionContext,
-								opPos,
-								argLen,
-								stepType);
-
-				for(unsigned int j = 0; j < nAttrs; j++)
-				{
-					XalanNode* const	theNode = attributeList->item(j);
-					assert(theNode != 0 && theNode->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-					const eMatchScore	score =
-						theTester(*theNode, XalanNode::ATTRIBUTE_NODE);
-						assert(score == nodeTest(executionContext, theNode, XalanNode::ATTRIBUTE_NODE, opPos, argLen, stepType));
-
-					if(eMatchScoreNone != score)
-					{
-						subQueryResults.addNode(theNode);
-					}
-				}
-			}
-		}
-
-		subQueryResults.setDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findChildren(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	XalanNode*	child = context->getFirstChild();
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if (child != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const eMatchScore	score =
-					theTester(*child, child->getNodeType());
-					assert(score == nodeTest(executionContext, child, child->getNodeType(), opPos, argLen, stepType));
-
-			if(eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(child);
-			}
-
-			child = child->getNextSibling();
-		} while(0 != child);
-
-		subQueryResults.setDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findDescendants(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	// Perform a pre-order traversal of descendents...
-	XalanNode*	pos = context;
-
-	opPos += 3;
-
-	const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-	do
-	{					
-		if(stepType == XPathExpression::eFROM_DESCENDANTS_OR_SELF ||
-		   context != pos)
-		{
-			const eMatchScore	score =
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(score != eMatchScoreNone)
-			{
-				subQueryResults.addNode(pos);
-			}
-		}
-
-		XalanNode*	nextNode = pos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			if(context == pos)
-				break;
-
-			nextNode = pos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				pos = DOMServices::getParentOfNode(*pos);
-
-				if(context == pos || pos == 0)
-				{
-					nextNode = 0;
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-	} while(0 != pos);
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findFollowing(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	opPos += 3;
-
-	// What fun...
-	XalanDocument* const	doc = context->getOwnerDocument();
-
-	XalanNode*				pos = context;
-
-	const NodeTester	theTester(
-					*this,
-					executionContext,
-					opPos,
-					argLen,
-					stepType);
-
-	while(0 != pos)
-	{
-		XalanNode*	nextNode = 0;
-
-		if(pos != context)
-		{
-			const eMatchScore	score =
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(eMatchScoreNone != score)
-			{
-				subQueryResults.addNodeInDocOrder(pos, executionContext);
-			}
-
-			nextNode = pos->getFirstChild();
-		}
-		else
-		{
-			nextNode = 0;
-		}
-
-		while(0 == nextNode)
-		{
-			// This requires some explanation.  pos could be an attribute
-			// node, so getNextSibling() will always return 0.  In that
-			// case, I want to continue the search with the first child of
-			// the owner element, as if attribute nodes are children which
-			// are always _before_ the first child element.  I don't have to
-			// consider following attributes, since they _never_ match the
-			// following axis.
-			if (pos->getNodeType() == XalanNode::ATTRIBUTE_NODE)
-			{
-				assert(DOMServices::getParentOfNode(*pos) != 0);
-
-				nextNode = DOMServices::getParentOfNode(*pos)->getFirstChild();
-			}
-			else
-			{
-				nextNode = pos->getNextSibling();
-			}
-
-			if(0 == nextNode)
-			{
-				pos = DOMServices::getParentOfNode(*pos);
-
-				if(doc == pos || 0 == pos)
-				{
-					nextNode = 0;
-
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-	}
-
-	subQueryResults.setDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findFollowingSiblings(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode*	pos = context->getNextSibling();
-
-	if (pos != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const eMatchScore	score =
-					theTester(*pos, pos->getNodeType());
-					assert(score == nodeTest(executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(pos);
-			}
-
-			pos = pos->getNextSibling();
-		} while(0 != pos);
-
-		subQueryResults.setDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-/*
- * This is bit of a hack to figure out where we should start for
- * the preceeding axis.  It's mostly to support RTFs which have
- * been coerced to nodesets through the nodeset() extension function.
- */
-static XalanNode*
-findTopNode(
-			XalanNode*				context,
-			XalanNode::NodeType		theType)
-{
-	assert(context != 0);
-
-	if (theType == XalanNode::DOCUMENT_NODE)
-	{
-		return context;
-	}
-	else
-	{
-		XalanDocument* const	theDocument = context->getOwnerDocument();
-		assert(theDocument != 0);
-
-		if (theDocument->getDocumentElement() != 0)
-		{
-			return theDocument;
-		}
-		else
-		{
-			XalanNode*	theNode = 0;
-
-			while(context != 0 &&
-				  context->getNodeType() != XalanNode::DOCUMENT_NODE)
-			{
-				theNode = context;
-
-				context = DOMServices::getParentOfNode(*context);
-			}
-
-			assert(theNode != 0);
-
-			return theNode;
-		}
-	}
-}
-
-
-
-int
-XPath::findPreceeding(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	opPos += 3;
-
-	// Ugh.  Reverse document order, no parents, I guess.
-	const XalanNode::NodeType	theType = context->getNodeType();
-
-	XalanNode* const	topNode = findTopNode(context, theType);
-
-	XalanNode*			pos = topNode;
-
-	// If the context node is an attribute, we need to perform some
-	// magic to stop the search at the appropriate point, which is when
-	// we arrive back at the parent.
-	const bool				contextIsAttribute =
-			theType == XalanNode::ATTRIBUTE_NODE ? true : false;
-
-	const XalanNode* const	theAttributeContextParent =
-		contextIsAttribute == true ? DOMServices::getParentOfNode(*context) : 0;
-
-	const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-	while(0 != pos)
-	{
-		if(context == pos)
-		{
-			break;
-		}
-
-		const eMatchScore	score =
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-		if(eMatchScoreNone != score)
-		{
-			// Ugh. If I could think a little better tonight, I'm
-			// sure there's a better way to check for the parent.
-			bool		isParent = false;
-
-			XalanNode*	parent = DOMServices::getParentOfNode(*context);
-
-			while(0 != parent)
-			{
-				if(parent == pos)
-				{
-					isParent = true;
-					break;
-				}
-
-				parent = DOMServices::getParentOfNode(*parent);
-			}
-
-			if(isParent == false)
-			{
-				subQueryResults.addNode(pos);
-			}
-		}
-
-		XalanNode*	nextNode = 0;
-
-		// Check to see if we're back at the attribute context node's
-		// parent, in which case, we should stop.
-		if (contextIsAttribute == true &&
-			pos == theAttributeContextParent)
-		{
-			nextNode = context;
-		}
-		else
-		{
-			nextNode = pos->getFirstChild();
-		}
-
-		while(0 == nextNode)
-		{
-			nextNode = pos->getNextSibling();
-
-			if(0 == nextNode)
-			{
-				pos = DOMServices::getParentOfNode(*pos);
-
-				if(topNode == pos)
-				{
-					nextNode = 0;
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-	}
-
-	// Now, reverse the order of the nodes, since
-	// preceeding is a reverse axis, and we searched
-	// the document from the root to this node.
-	subQueryResults.reverse();
-
-	subQueryResults.setReverseDocumentOrder();
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findPreceedingSiblings(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	XalanNode*	pos = context->getPreviousSibling();
-
-	if (pos != 0)
-	{
-		opPos += 3;
-
-		const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const eMatchScore	score = 
-				theTester(*pos, pos->getNodeType());
-				assert(score == nodeTest(executionContext, pos, pos->getNodeType(), opPos, argLen, stepType));
-
-			if(eMatchScoreNone != score)
-			{
-				subQueryResults.addNode(pos);
-			}
-
-			pos = pos->getPreviousSibling();
-		} while(0 != pos);
-
-		subQueryResults.setReverseDocumentOrder();
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findNamespace(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const
-{
-	assert(context != 0);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	if(context->getNodeType() == XalanNode::ELEMENT_NODE)
-	{
-		opPos += 3;
-
-		// Look up the element chain until we hit the document, so that we
-		// get all of the attribute/namespace nodes.
-		const XalanNode* const	theOwnerDocument = context->getOwnerDocument();
-		assert(theOwnerDocument != 0);
-
-		const XalanNode*		theCurrentNode = context;
-
-		const NodeTester	theTester(
-						*this,
-						executionContext,
-						opPos,
-						argLen,
-						stepType);
-
-		do
-		{
-			const XalanNamedNodeMap* const	attributeList =
-				theCurrentNode->getAttributes();
-
-			if(attributeList != 0) 
-			{
-				const unsigned int	nAttrs = attributeList->getLength();
-
-				for(unsigned int i = 0; i < nAttrs; ++i)
-				{
-					XalanNode* const	attr = attributeList->item(i);
-					assert(attr != 0 && attr->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-					const XalanDOMString&	theNodeName = attr->getNodeName();
-
-					// This is an optimization to keep non-namespace attributes out of
-					// the call to nodeTest().
-					if (startsWith(theNodeName, DOMServices::s_XMLNamespaceWithSeparator) == true ||
-						::equals(theNodeName, DOMServices::s_XMLNamespace) == true)
-					{
-						const eMatchScore	score =
-							theTester(*attr, XalanNode::ATTRIBUTE_NODE);
-							assert(score == nodeTest(executionContext, attr, XalanNode::ATTRIBUTE_NODE, opPos, argLen, stepType));
-
-						if(score != eMatchScoreNone)
-						{
-							subQueryResults.addNode(attr);
-						}
-					}
-				}
-			}
-
-			theCurrentNode = theCurrentNode->getParentNode();
-		} while (theCurrentNode != theOwnerDocument && theCurrentNode != 0);
-	}
-
-	return argLen + 3;
-}
-
-
-
-int
-XPath::findNodesOnUnknownAxis(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context, 
-			int 					opPos,
-			int 					/* stepType */,
-			MutableNodeRefList& 	/* subQueryResults */) const
-{
-	const XPathExpression&	currentExpression = getExpression();
-
-	// $$ ToDO: Can we reduce this to some call on the
-	// XPathExpression interface?
-	const int	argLen =
-		currentExpression.getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-
-	executionContext.error(TranscodeFromLocalCodePage("Unknown axis!"), context, getLocator());
-
-	return argLen + 3;
-}
-
-
-
-XPath::eMatchScore
-XPath::nodeTest(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context,
-			XalanNode::NodeType		nodeType,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType) const
-{
-	assert(context->getNodeType() == nodeType);
-
-	const XPathExpression&	currentExpression = getExpression();
-
-	eMatchScore		score = eMatchScoreNone;
-
-	const int	testType = currentExpression.getOpCodeMapValue(opPos);
-
-	switch(testType)
-	{
-	case XPathExpression::eNODETYPE_COMMENT:
-		if (XalanNode::COMMENT_NODE == nodeType)
-		{
-			score = eMatchScoreNodeTest;
-		}
-		break;
-
-	case XPathExpression::eNODETYPE_TEXT:
-		if ((XalanNode::CDATA_SECTION_NODE == nodeType ||
-			 XalanNode::TEXT_NODE == nodeType) &&
-			executionContext.shouldStripSourceNode(*context) == false)
-		{
-			  score = eMatchScoreNodeTest;
-		}
-	  break;
-
-	case XPathExpression::eNODETYPE_PI:
-		if(XalanNode::PROCESSING_INSTRUCTION_NODE == nodeType)
-		{
-			if(argLen == 1)
-			{
-				score = eMatchScoreNodeTest;
-			}
-			else if(argLen == 2)
-			{
-				opPos++;
-
-				const int				tokenPosition =
-					currentExpression.getOpCodeMapValue(opPos);
-
-				const XObject* const	name =
-					currentExpression.getToken(tokenPosition);
-				assert(name != 0);
-
-				if (::equals(context->getNodeName(), name->str()) == true)
-				{
-					score = eMatchScoreQName;
-				}
-			}
-			else
-			{
-				executionContext.error(TranscodeFromLocalCodePage("Arg length of processing-instruction() node test is incorrect!"), context, getLocator());
-			}
-		}
-
-		break;
-
-	case XPathExpression::eNODETYPE_NODE:
-		if (nodeType == XalanNode::CDATA_SECTION_NODE ||
-			nodeType == XalanNode::TEXT_NODE)
-		{
-			if (executionContext.shouldStripSourceNode(*context) == false)
-			{
-				score = eMatchScoreNodeTest;
-			}
-		}
-		else
-		{
-			score = eMatchScoreNodeTest;
-		}
-		break;
-
-	case XPathExpression::eNODETYPE_ROOT:
-		if (XalanNode::DOCUMENT_FRAGMENT_NODE == nodeType ||
-			XalanNode::DOCUMENT_NODE == nodeType)
-		{
-			score =  eMatchScoreOther;
-		}
-		break;
-
-	case XPathExpression::eNODENAME:
-		{
-			opPos++;
-
-			if (nodeType == XalanNode::ATTRIBUTE_NODE || nodeType == XalanNode::ELEMENT_NODE)
-			{
-				bool					test = false;
-
-				int 					queueIndex = currentExpression.getOpCodeMapValue(opPos);
-
-				const XalanDOMString&	targetNS = queueIndex >= 0 ?
-										currentExpression.getToken(queueIndex)->str() :
-											s_emptyString;
-
-				opPos++;
-
-				// From the draft: "Two expanded names are equal if they 
-				// have the same local part, and either both have no URI or 
-				// both have the same URI."
-				// "A node test * is true for any node of the principal node type. 
-				// For example, child::* will select all element children of the 
-				// context node, and attribute::* will select all attributes of 
-				// the context node."
-				// "A node test can have the form NCName:*. In this case, the prefix 
-				// is expanded in the same way as with a QName using the context 
-				// namespace declarations. The node test will be true for any node 
-				// of the principal type whose expanded name has the URI to which 
-				// the prefix expands, regardless of the local part of the name."
-				const bool	isTotallyWild =
-							0 == length(targetNS) &&
-							currentExpression.getOpCodeMapValue(opPos) == XPathExpression::eELEMWILDCARD;
-
-				bool		didMatchNS = false;
-
-				if(isTotallyWild == false)
-				{
-					const XalanDOMString&	contextNS = DOMServices::getNamespaceOfNode(*context);
-
-					if(0 != length(targetNS) && 0 != length(contextNS))
-					{
-						test = ::equals(contextNS, targetNS);
-
-						didMatchNS = true;
-					}
-					else
-					{
-						test = XPathExpression::eELEMWILDCARD == queueIndex || 
-						   (0 == length(contextNS) && 0 == length(targetNS));
-					}
-				}
-				else
-				{
-					test = true;
-				}
-
-				queueIndex = currentExpression.getOpCodeMapValue(opPos);
-
-				if(test == true)
-				{
-					switch(nodeType)
-					{
-					case XalanNode::ATTRIBUTE_NODE:
-						if(stepType == XPathExpression::eFROM_ATTRIBUTES ||
-							stepType == XPathExpression::eFROM_NAMESPACE)
-						{
-							assert(context->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-							const XalanDOMString&	attrName =
-										context->getNodeName();
-
-							const bool				isNamespace =
-									startsWith(attrName, DOMServices::s_XMLNamespaceWithSeparator) ||
-									::equals(attrName, DOMServices::s_XMLNamespace);
-
-							if(XPathExpression::eELEMWILDCARD == queueIndex)
-							{
-								if(stepType == XPathExpression::eFROM_ATTRIBUTES)
-								{
-									if (isNamespace == false)
-									{
-										score = eMatchScoreNodeTest;
-									}
-								}
-								else
-								{
-									if (isNamespace == true)
-									{
-										score = eMatchScoreNodeTest;
-									}
-								}
-							}
-							else
-							{
-								if(stepType == XPathExpression::eFROM_ATTRIBUTES)
-								{
-									if (isNamespace == false)
-									{
-										assert(queueIndex >= 0);
-
-										const XalanDOMString&	targetLocalName =
-															currentExpression.getToken(queueIndex)->str();
-
-										const XalanDOMString&	localAttrName =
-												DOMServices::getLocalNameOfNode(*context);
-
-										if (::equals(localAttrName, targetLocalName) == true)
-										{
-											score = eMatchScoreQName;
-										}
-									}
-								}
-								else
-								{
-									if (isNamespace == true)
-									{
-										const XalanAttr* const	theAttrNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-											(const XalanAttr*)context;
-#else
-											static_cast<const XalanAttr*>(context);
-#endif
-										assert(theAttrNode != 0);
-
-										const XalanDOMString&	theNamespace =
-													theAttrNode->getValue();
-
-										assert(queueIndex >= 0);
-
-										const XalanDOMString&	targetLocalName =
-															currentExpression.getToken(queueIndex)->str();
-
-										if (::equals(theNamespace, targetLocalName) == true)
-										{
-											score = eMatchScoreQName;
-										}
-									}
-								}
-							}
-						}
-						break;
-
-					case XalanNode::ELEMENT_NODE:
-						if(stepType != XPathExpression::eFROM_ATTRIBUTES)
-						{
-							if(XPathExpression::eELEMWILDCARD == queueIndex)
-							{
-								score = didMatchNS == true ?
-									eMatchScoreNSWild : eMatchScoreNodeTest;
-							}
-							else
-							{
-								assert(queueIndex >= 0);
-
-								const XalanDOMString&	targetLocalName =
-															currentExpression.getToken(queueIndex)->str();
-
-								if (::equals(DOMServices::getLocalNameOfNode(*context),
-										   targetLocalName) == true)
-								{
-									score = eMatchScoreQName;
-								}
-							}
-						}
-						break;
-
-					default:
-						// Trying to match on anything else causes nasty bugs.
-						break;
-					} // end switch(nodeType)
-				} // end if(test)
-			} // end if (nodeType == XalanNode::ATTRIBUTE_NODE || nodeType == XalanNode::ELEMENT_NODE)
-		} // end case XPathExpression::eNODENAME
-		break;
-
-	default:
-		break;
-	} // end switch(testType)
-
-	return score;
-}
-
-
-
-void
-XPath::predicates(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */, 
-			int 					opPos,
-			MutableNodeRefList& 	subQueryResults,
-			int&					endPredicatesPos) const
-{
-	const XPathExpression&	currentExpression = getExpression();
-
-	int 	nextStepType =
-			currentExpression.getOpCodeMapValue(opPos);
-
-	while(XPathExpression::eOP_PREDICATE == nextStepType ||
-		  XPathExpression::eOP_PREDICATE_WITH_POSITION == nextStepType)
-	{
-		const NodeRefListBase::size_type	theLength = subQueryResults.getLength();
-
-		// If we have no nodes left, then there's no point in executing any
-		// predicates.  However, we will continue to loop, since we need to
-		// update endPredicatePos.
-		if (theLength > 0)
-		{
-			const int predOpPos = opPos + 2;
-
-			// OK, this is a huge hack/optimization.  If the predicate is
-			// simple a number, such as [2], we can just get the
-			// numeric value from the expression, and not bother executing
-			// the predicate.  Furthermore, we don't need to execute the
-			// predicate for each node, since the evaluation is no dependent
-			// on the context node.  All we really have to do is remove all
-			// nodes from subQueryResults, _except_ for the node at that
-			// position.  The only trick is that XPath indexes from 1, while
-			// our node lists index from 0.
-			if (m_expression.getOpCodeMapValue(predOpPos) == XPathExpression::eOP_NUMBERLIT)
-			{
-				assert(m_expression.m_tokenQueue.size() > unsigned(m_expression.m_opMap[predOpPos + 3]));
-
-				// Get the value of the number...
-				const double	theIndex =
-					m_expression.getNumberLiteral(m_expression.getOpCodeMapValue(predOpPos + 2));
-
-				// If the index is out of range, or not an integer, just clear subQueryResults...
-				if (theIndex <= 0.0 ||
-					NodeRefListBase::size_type(theIndex) > theLength ||
-					double(NodeRefListBase::size_type(theIndex)) != theIndex)
-				{
-					subQueryResults.clear();
-				}
-				else if (theLength > 1)
-				{
-					// Save the matching node...
-					XalanNode* const	theNode =
-						subQueryResults.item(NodeRefListBase::size_type(theIndex) - 1);
-
-					// Clear the list...
-					subQueryResults.clear();
-
-					// Add the node back in...
-					subQueryResults.addNode(theNode);
-				}
-				else
-				{
-					// OK, if there's only 1 node in the list, then
-					// we don't need to bother modifying the list.
-					// Just assert that theIndex == 1.0...
-					assert(theIndex == 1.0);
-				}
-			}
-			else
-			{
-				for(NodeRefListBase::size_type i = 0; i < theLength; ++i)
-				{
-					XalanNode* const	theNode = subQueryResults.item(i);
-					assert(theNode != 0);
-
-					const XObjectPtr		pred(predicate(theNode, opPos, executionContext));
-					assert(pred.get() != 0);
-
-					// Remove any node that doesn't satisfy the predicate.
-					if((XObject::eTypeNumber == pred->getType() && i + 1 != pred->num()) ||
-					   pred->boolean() == false)
-					{
-						// Set the node to 0.  After we're done,
-						// we'll clear it out.
-						subQueryResults.setNode(i, 0);
-					}
-				}
-
-				// Clear out any null entries...
-				subQueryResults.clearNulls();
-			}
-		}
-
-		opPos = currentExpression.getNextOpCodePosition(opPos);
-
-		nextStepType = currentExpression.getOpCodeMapValue(opPos);
-
-		if(XPathExpression::eOP_PREDICATE == nextStepType ||
-		   XPathExpression::eOP_PREDICATE_WITH_POSITION == nextStepType)
-		{
-			executionContext.setContextNodeList(subQueryResults);
-		}
-	}
-
-	endPredicatesPos = opPos;
-}
-
-
-
-inline const XalanDOMString*
-getStringFromTokenQueue(
-			const XPathExpression&	expression,
-			int						opPos)
-{
-	const int	tokenPosition =
-				expression.getOpCodeMapValue(opPos);
-
-	if (tokenPosition < 0)
-	{
-		return 0;
-	}
-	else
-	{
-		const XObject* const	token =
-					expression.getToken(tokenPosition);
-		assert(token != 0);
-
-		return &token->str();
-	}
-}
-
-
-
-XPath::NodeTester::NodeTester(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType) :
-	m_executionContext(executionContext),
-	m_targetNamespace(0),
-	m_targetLocalName(0),
-	m_testFunction(0)
-{
-	const XPathExpression&	theExpression = xpath.getExpression();
-
-	switch(theExpression.getOpCodeMapValue(opPos))
-	{
-	case XPathExpression::eNODETYPE_COMMENT:
-		m_testFunction = &NodeTester::testComment;
-		break;
-
-	case XPathExpression::eNODETYPE_TEXT:
-		m_testFunction = &NodeTester::testText;
-		break;
-
-	case XPathExpression::eNODETYPE_PI:
-		if (argLen == 1)
-		{
-			m_testFunction = &NodeTester::testPI;
-		}
-		else if(argLen == 2)
-		{
-			m_testFunction = &NodeTester::testPIName;
-
-			m_targetLocalName = getStringFromTokenQueue(
-				theExpression,
-				opPos + 1);
-		}
-		else
-		{
-			executionContext.error(TranscodeFromLocalCodePage("Arg length of processing-instruction() node test is incorrect!"), 0, xpath.getLocator());
-		}
-		break;
-
-	case XPathExpression::eNODETYPE_NODE:
-		m_testFunction = &NodeTester::testNode;
-		break;
-
-	case XPathExpression::eNODETYPE_ROOT:
-		m_testFunction = &NodeTester::testRoot;
-		break;
-
-	case XPathExpression::eNODENAME:
-		{
-			bool	isTotallyWild = false;
-
-			m_targetNamespace = getStringFromTokenQueue(
-					theExpression,
-					opPos + 1);
-
-			if (m_targetNamespace == 0 &&
-				theExpression.getOpCodeMapValue(opPos + 2) == XPathExpression::eELEMWILDCARD)
-			{
-				isTotallyWild = true;
-			}
-			else
-			{
-				m_targetLocalName = getStringFromTokenQueue(
-					theExpression,
-					opPos + 2);
-			}
-
-			if(stepType == XPathExpression::eFROM_ATTRIBUTES)
-			{
-				if (isTotallyWild == true)
-				{
-					m_testFunction = &NodeTester::testAttributeTotallyWild;
-				}
-				else if (m_targetNamespace == 0)
-				{
-					assert(m_targetLocalName != 0);
-
-					m_testFunction = &NodeTester::testAttributeNCName;
-				}
-				else if (m_targetLocalName == 0)
-				{
-					assert(m_targetNamespace != 0);
-
-					m_testFunction = &NodeTester::testAttributeNamespaceOnly;
-				}
-				else
-				{
-					assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-
-					m_testFunction = &NodeTester::testAttributeQName;
-				}
-			}
-			else if (stepType == XPathExpression::eFROM_NAMESPACE)
-			{
-				if (isTotallyWild == true)
-				{
-					m_testFunction = &NodeTester::testNamespaceTotallyWild;
-				}
-				else
-				{
-					m_testFunction = &NodeTester::testNamespaceNCName;
-				}
-			}
-			else
-			{
-				if (isTotallyWild == true)
-				{
-					m_testFunction = &NodeTester::testElementTotallyWild;
-				}
-				else if (m_targetNamespace == 0)
-				{
-					m_testFunction = &NodeTester::testElementNCName;
-				}
-				else if (m_targetLocalName == 0)
-				{
-					assert(m_targetNamespace != 0);
-
-					m_testFunction = &NodeTester::testElementNamespaceOnly;
-				}
-				else
-				{
-					assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-					m_testFunction = &NodeTester::testElementQName;
-				}
-			}
-		}
-		break;
-
-	default:
-		m_testFunction = &NodeTester::testDefault;
-		break;
-	}
-
-	assert(m_testFunction != 0);
-}
-
-
-
-// MSVC generates some really horrible code for some of these very simple functions when they're inlined...
-#if defined(_MSC_VER)
-#pragma auto_inline(off)
-#endif
-
-XPath::eMatchScore
-XPath::NodeTester::testComment(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::COMMENT_NODE == nodeType)
-	{
-		return eMatchScoreNodeTest;
-	}
-	else
-	{
-		return eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testText(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	if ((XalanNode::CDATA_SECTION_NODE == nodeType || XalanNode::TEXT_NODE == nodeType) &&
-		 shouldStripSourceNode(context) == false)
-	{
-		return eMatchScoreNodeTest;
-	}
-	else
-	{
-		return eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testPI(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::PROCESSING_INSTRUCTION_NODE == nodeType)
-	{
-		return eMatchScoreNodeTest;
-	}
-	else
-	{
-		return eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testPIName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetLocalName != 0);
-
-	if (XalanNode::PROCESSING_INSTRUCTION_NODE == nodeType &&
-		::equals(context.getNodeName(), *m_targetLocalName) == true)
-	{
-		return eMatchScoreQName;
-	}
-	else
-	{
-		return eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testNode(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	if ((nodeType != XalanNode::CDATA_SECTION_NODE && nodeType != XalanNode::TEXT_NODE) ||
-		shouldStripSourceNode(context) == false)
-	{
-		return eMatchScoreNodeTest;
-	}
-	else
-	{
-		return eMatchScoreNone;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testRoot(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::DOCUMENT_FRAGMENT_NODE == nodeType ||
-		XalanNode::DOCUMENT_NODE == nodeType)
-	{
-		return eMatchScoreOther;
-	}
-	else
-	{
-		return eMatchScoreNone;
-	}
-}
-
-
-
-inline bool
-isNamespaceDeclaration(const XalanNode&		theAttributeNode)
-{
-	assert(theAttributeNode.getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return DOMServices::isNamespaceDeclaration((const XalanAttr&)theAttributeNode);
-#else
-	return DOMServices::isNamespaceDeclaration(static_cast<const XalanAttr&>(theAttributeNode));
-#endif
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testAttributeNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true ||
-		matchLocalName(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testAttributeQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true ||
-		matchLocalNameAndNamespaceURI(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testAttributeNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true ||
-		matchNamespaceURI(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testAttributeTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == true)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testElementNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType ||
-		matchLocalName(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testElementQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType ||
-		matchLocalNameAndNamespaceURI(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testElementNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType ||
-		matchNamespaceURI(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreNSWild;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testElementTotallyWild(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ELEMENT_NODE != nodeType)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testNamespaceNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName != 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == false ||
-		matchNamespace(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreQName;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testNamespaceTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-{
-	assert(m_targetNamespace == 0 && m_targetLocalName == 0);
-
-	if (XalanNode::ATTRIBUTE_NODE != nodeType ||
-		isNamespaceDeclaration(context) == false)
-	{
-		return eMatchScoreNone;
-	}
-	else
-	{
-		return eMatchScoreNodeTest;
-	}
-}
-
-
-
-XPath::eMatchScore
-XPath::NodeTester::testDefault(
-			const XalanNode& 		/* context */,
-			XalanNode::NodeType		/* nodeType */) const
-{
-	return eMatchScoreNone;
-}
-
-
-
-bool
-XPath::NodeTester::matchLocalName(const XalanNode&	context) const
-{
-	assert(m_targetLocalName != 0);
-
-	return length(context.getNamespaceURI()) == 0 &&
-		::equals(DOMServices::getLocalNameOfNode(context), *m_targetLocalName);
-}
-
-
-
-bool
-XPath::NodeTester::matchNamespaceURI(const XalanNode&	context) const
-{
-	assert(m_targetNamespace != 0);
-
-	return ::equals(context.getNamespaceURI(), *m_targetNamespace);
-}
-
-
-
-bool
-XPath::NodeTester::matchLocalNameAndNamespaceURI(const XalanNode&	context) const
-{
-	assert(m_targetNamespace != 0 && m_targetLocalName != 0);
-
-	return ::equals(DOMServices::getLocalNameOfNode(context), *m_targetLocalName) == true &&
-		::equals(context.getNamespaceURI(), *m_targetNamespace) == true;
-}
-
-
-
-bool
-XPath::NodeTester::matchNamespace(const XalanNode&	context) const
-{
-	assert(m_targetLocalName != 0);
-
-	return ::equals(context.getNodeValue(), *m_targetLocalName);
-}
-
-
-
-bool
-XPath::NodeTester::shouldStripSourceNode(const XalanNode&	context) const
-{
-	assert(context.getNodeType() == XalanNode::CDATA_SECTION_NODE ||
-		   context.getNodeType() == XalanNode::TEXT_NODE);
-
-	return m_executionContext.shouldStripSourceNode(context);
-}
-
-
-
-static XalanDOMString	PSEUDONAME_ANY;
-static XalanDOMString	PSEUDONAME_ROOT;
-static XalanDOMString	PSEUDONAME_TEXT;
-static XalanDOMString	PSEUDONAME_COMMENT;
-static XalanDOMString	PSEUDONAME_PI;
-static XalanDOMString	PSEUDONAME_OTHER;
-static XalanDOMString	PSEUDONAME_NODE;
-
-
-
-const XalanDOMString&	XPath::PSEUDONAME_ANY = ::PSEUDONAME_ANY;
-const XalanDOMString&	XPath::PSEUDONAME_ROOT = ::PSEUDONAME_ROOT;
-const XalanDOMString&	XPath::PSEUDONAME_TEXT = ::PSEUDONAME_TEXT;
-const XalanDOMString&	XPath::PSEUDONAME_COMMENT = ::PSEUDONAME_COMMENT;
-const XalanDOMString&	XPath::PSEUDONAME_PI = ::PSEUDONAME_PI;
-const XalanDOMString&	XPath::PSEUDONAME_OTHER = ::PSEUDONAME_OTHER;
-const XalanDOMString&	XPath::PSEUDONAME_NODE = ::PSEUDONAME_NODE;
-
-
-
-// Don't auto-create the table...
-XPath::FunctionTableType		XPath::s_functions(false);
-
-
-
-void
-XPath::initialize()
-{
-	s_functions.CreateTable();
-
-	::PSEUDONAME_ANY = XALAN_STATIC_UCODE_STRING("*");
-	::PSEUDONAME_ROOT = XALAN_STATIC_UCODE_STRING("/");
-	::PSEUDONAME_TEXT = XALAN_STATIC_UCODE_STRING("#text");
-	::PSEUDONAME_COMMENT = XALAN_STATIC_UCODE_STRING("#comment");
-	::PSEUDONAME_PI = XALAN_STATIC_UCODE_STRING("#pi");
-	::PSEUDONAME_OTHER = XALAN_STATIC_UCODE_STRING("*");
-	::PSEUDONAME_NODE = XALAN_STATIC_UCODE_STRING("#node");
-}
-
-
-
-void
-XPath::terminate()
-{
-	releaseMemory(::PSEUDONAME_ANY);
-	releaseMemory(::PSEUDONAME_ROOT);
-	releaseMemory(::PSEUDONAME_TEXT);
-	releaseMemory(::PSEUDONAME_COMMENT);
-	releaseMemory(::PSEUDONAME_PI);
-	releaseMemory(::PSEUDONAME_OTHER);
-	releaseMemory(::PSEUDONAME_NODE);
-
-	s_functions.DestroyTable();
-}
diff --git a/src/XPath/XPath.hpp b/src/XPath/XPath.hpp
deleted file mode 100644
index 05b80ce..0000000
--- a/src/XPath/XPath.hpp
+++ /dev/null
@@ -1,1166 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATH_HEADER_GUARD_1357924680)
-#define XPATH_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-// Base class header files...
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-#include <XPath/XPathExpression.hpp>
-#include <XPath/Function.hpp>
-#include <XPath/XPathFunctionTable.hpp>
-
-
-
-class Locator;
-class PrefixResolver;
-class XObject;
-class XalanNode;
-
-
-
-class XALAN_XPATH_EXPORT XPath
-{
-public:
-
-	static const XalanDOMString&	PSEUDONAME_ANY;
-	static const XalanDOMString&	PSEUDONAME_ROOT;
-	static const XalanDOMString&	PSEUDONAME_TEXT;
-	static const XalanDOMString&	PSEUDONAME_COMMENT;
-	static const XalanDOMString&	PSEUDONAME_PI;
-	static const XalanDOMString&	PSEUDONAME_OTHER;
-	static const XalanDOMString&	PSEUDONAME_NODE;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMString>			TargetElementStringsVectorType;
-#else
-	typedef std::vector<XalanDOMString>		TargetElementStringsVectorType;
-#endif
-
-
-	/**
-	 * Perform static initialization.  See class XPathInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XPathInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Construct an XPath.
-	 *
-	 * @param theLocator The applicable Locator, if any.
-	 */
-	explicit
-	XPath(const Locator*	theLocator = 0);
-
-	virtual
-	~XPath();
-
-	/**
-	 * Shrink internal tables.
-	 */
-	void
-	shrink();
-
-	/**
-	 * Execute the XPath from the provided context.
-	 *
-	 * @param context          current source tree context node
-	 * @param prefixResolver   prefix resolver to use
-	 * @param executionContext current execution context
-	 * @return pointer to union of node-set operands
-	 */
-	const XObjectPtr
-	execute(
-			XalanNode*				context,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Execute the XPath from the provided context.
-	 *
-	 * @param context          current source tree context node
-	 * @param prefixResolver   prefix resolver to use
-	 * @param contextNodeList  node list for current context
-	 * @param executionContext current execution context
-	 * @return pointer to union of node-set operands
-	 */
-	const XObjectPtr
-	execute(
-			XalanNode*				context,
-			const PrefixResolver&	prefixResolver,
-			const NodeRefListBase&	contextNodeList,
-			XPathExecutionContext&	executionContext) const
-	{
-		// Set and restore the context node list...
-		XPathExecutionContext::ContextNodeListSetAndRestore		theSetAndRestore(
-										executionContext,
-										contextNodeList);	
-
-		return execute(context, prefixResolver, executionContext);
-	}
-
-	/**
-	 * Execute the XPath from the provided context.  The
-	 * prefix resolver must already be set in the
-	 * execution context.
-	 *
-	 * @param executionContext current execution context
-	 * @return pointer to result XObject
-	 */
-	const XObjectPtr
-	execute(XPathExecutionContext&	executionContext) const
-	{
-		assert(executionContext.getPrefixResolver() != 0);
-
-		return executeMore(executionContext.getCurrentNode(), 0, executionContext);
-	}
-
-	/**
-	 * Execute the XPath from the provided context.
-	 *
-	 * @param context          current source tree context node
-	 * @param opPos            current position in the m_opMap array
-	 * @param executionContext current execution context
-	 * @return pointer to union of node-set operands
-	 */
-	const XObjectPtr
-	executeMore(
-			XalanNode* 				context,
-			int 					opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Execute a location path.
-	 *
-	 * @param context          current source tree context node
-	 * @param opPos            current position in the m_opMap array
-	 * @param executionContext current execution context
-	 * @return node-set
-	 */
-	const XObjectPtr
-	locationPath(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Retrieve a reference to the current expression.
-	 * 
-	 * @return current expression
-	 */
-	XPathExpression&
-	getExpression()
-	{
-		return m_expression;
-	}
-
-	/**
-	 * Retrieve a reference to the current expression.
-	 * 
-	 * @return current expression
-	 */
-	const XPathExpression&
-	getExpression() const
-	{
-		return m_expression;
-	}
-
-	enum eMatchScore
-	{
-		eMatchScoreNone,
-		eMatchScoreNodeTest,
-		eMatchScoreNSWild,
-		eMatchScoreQName,
-		eMatchScoreOther
-	};
-
-	static double
-	getMatchScoreValue(eMatchScore	score)
-	{
-		switch(score)
-		{
-		case eMatchScoreNone:
-			return DoubleSupport::getNegativeInfinity();
-			break;
-
-		case eMatchScoreNodeTest:
-			return -0.5;
-			break;
-
-		case eMatchScoreNSWild:
-			return -0.25;
-			break;
-
-		case eMatchScoreOther:
-			return 0.5;
-			break;
-
-		case eMatchScoreQName:
-			return 0.0;
-			break;
-		};
-
-		assert(false);
-		return 0.0;
-	}
-
-	/**
-	 * Get the match score for the specified node.
-	 *
-	 * @param node The node for the score
-	 * @param resolver The prefix resolver
-	 * @param executionContext current execution context
-	 * @return union of node-set operands
-	 */
-	eMatchScore
-	getMatchScore(
-			XalanNode*				node,
-			const PrefixResolver&	resolver,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Evaluate a predicate.
-	 *
-	 * @param context          current source tree context node
-	 * @param opPos            current position in the m_opMap array
-	 * @param executionContext current execution context
-	 * @return pointer to either a boolean or a number
-	 */
-	const XObjectPtr
-	predicate(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-	{
-		return executeMore(context, opPos + 2, executionContext);
-	}
-
-	/**
-	 * Add the strings for the target element to a vector of strings.
-	 * 
-	 * @param targetStrings vector of strings
-	 */
-	void
-	getTargetElementStrings(TargetElementStringsVectorType&		targetStrings) const;
-
-	/**
-	 * Install a built-in function.
-	 *
-	 * @param funcName  unqualified name of the function
-	 * @param func      instance of an XPath function object
-	 */
-	static void
-	installFunction(
-			const XalanDOMString&	funcName,
-			const Function& 		func);
-
-	/**
-	 * Remove a named function from the function table.
-	 * 
-	 * @param funcName name of function
-	 * @return true if the function was found and removed.
-	 */
-	static bool
-	uninstallFunction(const XalanDOMString&		funcName);
-
-	/**
-	 * Whether the named function is installed in the function table.
-	 * 
-	 * @param name of function
-	 * @return true if the function has been installed
-	 */
-	static bool
-	isInstalledFunction(const XalanDOMString&	theFunctionName)
-	{
-		return s_functions.isInstalledFunction(theFunctionName);
-	}
-
-	typedef XPathFunctionTable	FunctionTableType;
-
-	/**
-	 * Retrieve the table of installed functions.
-	 * 
-	 * @return function table
-	 */
-	static const FunctionTableType&
-	getFunctionTable()
-	{
-		return s_functions;
-	}
-
-#if defined(XALAN_NO_MEMBER_TEMPLATES)
-	typedef XPathFunctionTable::InstalledFunctionNameVectorType
-					InstalledFunctionNameVectorType;
-
-	/**
-	 * Add the names for the installed functions to a vector strings.
-	 * 
-	 * @param theVector added to
-	 */
-	static void
-	getInstalledFunctionNames(InstalledFunctionNameVectorType&	theVector)
-	{
-		s_functions.getInstalledFunctionNames(theVector);
-	}
-#else
-	/**
-	 * Add the names for the installed functions to a vector strings.
-	 * 
-	 * @param theIterator vector added to
-	 */
-	template<class OutputIteratorType>
-	static void
-	getInstalledFunctionNames(OutputIteratorType	theIterator)
-	{
-		s_functions.getInstalledFunctionNames(theIterator);
-	}
-#endif
-
-	static void
-	destroyTable()
-	{
-		s_functions.DestroyTable();
-	}
-
-	bool
-	getInStylesheet() const
-	{
-		return m_inStylesheet;
-	}
-
-	void
-	setInStylesheet(bool	fValue)
-	{
-		m_inStylesheet = fValue;
-	}
-
-	const Locator*
-	getLocator() const
-	{
-		return m_locator;
-	}
-
-	void
-	setLocator(const Locator*	theLocator)
-	{
-		m_locator = theLocator;
-	}
-
-protected:
-
-	/**
-	 * createXLocatorHandler.
-	 */
-	XLocator*
-	createXLocatorHandler() const;
-
-	/**
-	 * Computes the union of its operands which must be node-sets.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return the match score in the form of an XObject.
-	 */
-	const XObjectPtr
-	matchPattern(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-protected:
-
-	/**
-	 * Helper function to get match score.
-	 * @param context The current source tree context node.
-	 * @param executionContext The current execution context
-	 * @param score The match score
-	 */
-	void
-	doGetMatchScore(
-			XalanNode*				context,
-			XPathExecutionContext&	executionContext,
-			eMatchScore&			score) const;
-
-	/**
-	 * OR two expressions and return the boolean result.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if the one of the two arguments are true.
-	 */
-	const XObjectPtr
-	Or(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * OR two expressions and return the boolean result.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if the two arguments are both true.
-	 */
-	const XObjectPtr
-	And(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if two expressions are functionally not equal.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if the two arguments are not equal.
-	 */
-	const XObjectPtr
-	notequals(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if two expressions are functionally equal.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if the two arguments are equal.
-	 */
-	const XObjectPtr
-	equals(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one argument is less than or equal to the other argument.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if arg 1 is less than or equal to arg 2.
-	 */
-	const XObjectPtr
-	lte(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one argument is less than the other argument.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if arg 1 is less than arg 2.
-	 */
-	const XObjectPtr
-	lt(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one argument is greater than or equal to the other argument.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if arg 1 is greater than or equal to arg 2.
-	 */
-	const XObjectPtr
-	gte(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Tell if one argument is greater than the other argument.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return XBoolean set to true if arg 1 is greater than arg 2.
-	 */
-	const XObjectPtr
-	gt(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Give the sum of two arguments.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return sum of arg1 and arg2.
-	 */
-	const XObjectPtr
-	plus(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Give the difference of two arguments.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return difference of arg1 and arg2.
-	 */
-	const XObjectPtr
-	minus(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Multiply two arguments.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return arg1 * arg2.
-	 */
-	const XObjectPtr
-	mult(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Divide a number.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return arg1 / arg2.
-	 */
-	const XObjectPtr
-	div(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Return the remainder from a truncating division.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return arg1 mod arg2.
-	 */
-	const XObjectPtr
-	mod(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Return the negation of a number.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return -arg.
-	 */
-	const XObjectPtr
-	neg(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Cast an expression to a string.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return arg cast to a string.
-	 */
-	const XObjectPtr
-	string(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Cast an expression to a boolean.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return arg cast to a boolean.
-	 */
-	const XObjectPtr
-	boolean(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
- 
-	/**
-	 * Computes the union of its operands which must be node-sets.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return the union of node-set operands.
-	 */
-	const XObjectPtr
-	Union(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Get a literal value.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return an XObject object.
-	 */
-	const XObjectPtr
-	literal(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-  
-	/**
-	 * Get the value of a variable.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return an XObject object.
-	 */
-	const XObjectPtr
-	variable(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Execute an expression as a group.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return arg.
-	 */
-	const XObjectPtr
-	group(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-	{
-		return executeMore(context, opPos + 2, executionContext);
-	}
-
-	/**
-	 * Get a literal value.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return an XObject object.
-	 */
-	const XObjectPtr
-	numberlit(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Execute a function argument.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return the result of the argument expression.
-	 */
-	const XObjectPtr
-	arg(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const
-	{
-		return executeMore(context, opPos + 2, executionContext);
-	}
-
-	/**
-	 * Execute a location path.
-	 * @param context The current source tree context node.
-	 * @param opPos The current position in the m_opMap array.
-	 * @return score in an XNumber, one of MATCH_SCORE_NODETEST, 
-	 * MATCH_SCORE_NONE, MATCH_SCORE_OTHER, MATCH_SCORE_QNAME.
-	 */
-	const XObjectPtr
-	locationPathPattern(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Setup for and run an extension function.
-	 */
-	const XObjectPtr
-	runExtFunction(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Handle an extension function.
-	 */
-	const XObjectPtr
-	extfunction(
-			XalanNode*								context,
-			int										/* opPos */,
-			const XalanDOMString&					theNamespace,
-			const XalanDOMString&					functionName, 
-			const Function::XObjectArgVectorType&	argVec,
-			XPathExecutionContext&					executionContext) const
-	{
-		return 	executionContext.extFunction(theNamespace,
-											 functionName,
-											 context,
-											 argVec,
-											 m_locator);
-	}
-
-	/**
-	 * Setup for and run a function.
-	 */
-	const XObjectPtr
-	runFunction(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-	/**
-	 * Handle a built-in function.
-	 */
-	const XObjectPtr
-	function(
-			XalanNode*								context,
-			int										funcID,
-			const Function::XObjectArgVectorType&	argVec,
-			XPathExecutionContext&					executionContext) const
-	{
-		return s_functions[funcID].execute(executionContext, context, argVec, m_locator);
-	}
-
-	double
-	getNumericOperand(
-			XalanNode*				context,
-			int						opPos,
-			XPathExecutionContext&	executionContext) const;
-
-private:
-
-	// These are not implemented...
-	XPath(const XPath&);
-
-	XPath&
-	operator=(const XPath&);
-
-	bool
-	operator==(const XPath&) const;
-
-	// Default vector allocation sizes.
-	enum
-	{
-		eDefaultTargetStringsSize = 5
-	};
-
-	const XObjectPtr
-	locationPath(
-			XPathExecutionContext&	executionContext,
-			XalanNode& 				context, 
-			int 					opPos) const;
-
-	eMatchScore
-	locationPathPattern(
-			XPathExecutionContext&	executionContext,
-			XalanNode& 				context, 
-			int 					opPos) const;
-
-	class NodeTester
-	{
-	public:
-
-		NodeTester(
-			const XPath&			xpath,
-			XPathExecutionContext&	executionContext,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType);
-
-		eMatchScore
-		operator()(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const
-		{
-			assert(context.getNodeType() == nodeType);
-
-			return (this->*m_testFunction)(context, nodeType);
-		}
-
-	private:
-
-		typedef eMatchScore (NodeTester::*MemberFunctionPtr)(const XalanNode&, XalanNode::NodeType) const;
-
-
-		eMatchScore
-		testComment(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testText(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testPI(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testPIName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testNode(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testRoot(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testAttributeNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testAttributeQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testAttributeNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testAttributeTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testElementNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testElementQName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testElementNamespaceOnly(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testElementTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testNamespaceNCName(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testNamespaceTotallyWild(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		eMatchScore
-		testDefault(
-			const XalanNode& 		context,
-			XalanNode::NodeType		nodeType) const;
-
-		bool
-		matchLocalName(const XalanNode&		context) const;
-
-		bool
-		matchNamespaceURI(const XalanNode&	context) const;
-
-		bool
-		matchLocalNameAndNamespaceURI(const XalanNode&	context) const;
-
-		bool
-		matchNamespace(const XalanNode&		context) const;
-
-		bool
-		shouldStripSourceNode(const XalanNode&	context) const;
-
-		// Data members...
-		XPathExecutionContext&	m_executionContext;
-
-		const XalanDOMString*	m_targetNamespace;
-
-		const XalanDOMString*	m_targetLocalName;
-
-		MemberFunctionPtr		m_testFunction;
-	};
-
-protected:
-
-	void
-	step(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			MutableNodeRefList&		queryResults) const;
-
-	/**
-	 * Execute a step in a location path.
-	 *
-	 * @param xpath The xpath that is executing
-	 * @param context The current source tree context node
-	 * @param opPos The current position in the xpath operation map array
-	 * @param scoreHolder a reference to an eMatchScore to receive
-	 * the result.
-	 * @return the last matched context node
-	 */
-	XalanNode*
-	stepPattern(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			eMatchScore& 			scoreHolder) const;
-
-	int
-	findNodeSet(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findRoot(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findParent(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findSelf(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findAncestors(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findAncestorsOrSelf(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findAttributes(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findChildren(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findDescendants(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findFollowing(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findFollowingSiblings(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findPreceeding(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findPreceedingSiblings(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findNamespace(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	int
-	findNodesOnUnknownAxis(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			int 					stepType,
-			MutableNodeRefList& 	subQueryResults) const;
-
-	eMatchScore
-	nodeTest(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context,
-			XalanNode::NodeType		nodeType,
-			int 					opPos,
-			int 					argLen,
-			int 					stepType) const;
-
-	void
-	predicates(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				context, 
-			int 					opPos,
-			MutableNodeRefList& 	subQueryResults,
-			int&					endPredicatesPos) const;
-
-	eMatchScore
-	handleFoundIndex(
-			XPathExecutionContext&	executionContext,
-			XalanNode* 				localContext,
-			int 					startOpPos) const;
-
-	// Data members...
-
-	/**
-	 *
-	 * Holds information about the current expression.
-	 *
-	 */
-	XPathExpression						m_expression;
-
-	/**
-	 * A Locator for reporting errors.
-	 */
-	const Locator*						m_locator;
-
-	/**
-	 * If true, the XPath can allocated XObjects in more
-	 * efficient ways, since its lifetime is guaranteed
-	 * to be at least that of the transform.
-	 */
-	bool								m_inStylesheet;
-
-	/**
-	 *
-	 * This is the table of installed functions.
-	 *
-	 */
-	static FunctionTableType			s_functions;
-
-	static const XalanDOMString			s_emptyString;
-};
-
-
-
-#endif	// XPATH_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathAllocator.cpp b/src/XPath/XPathAllocator.cpp
deleted file mode 100644
index 06cd9b9..0000000
--- a/src/XPath/XPathAllocator.cpp
+++ /dev/null
@@ -1,95 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XPathAllocator.hpp"
-
-
-
-XPathAllocator::XPathAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XPathAllocator::~XPathAllocator()
-{
-}
-
-
-
-XPathAllocator::object_type*
-XPathAllocator::create() 
-{
-	object_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) object_type;
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XPathAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XPathAllocator.hpp b/src/XPath/XPathAllocator.hpp
deleted file mode 100644
index bf5773b..0000000
--- a/src/XPath/XPathAllocator.hpp
+++ /dev/null
@@ -1,161 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XPATHALLOCATOR_INCLUDE_GUARD_135792455)
-#define XPATHALLOCATOR_INCLUDE_GUARD_135792455
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XPath/XPath.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XPathAllocator
-{
-public:
-
-	typedef XPath							object_type;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<object_type>			ArenaBlockType;
-
-	typedef ArenaAllocator<object_type,
-						   ArenaBlockType>	ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<object_type>		ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type	size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XPathAllocator(size_type	theBlockCount);
-
-	~XPathAllocator();
-
-	/**
-	 * Create an XPath object using the allocator.
-	 * 
-	 * @return a pointer to an XPath
-	 */
-	object_type*
-	create();
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const object_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XPath objects allocated.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get the number of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of blocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XPathAllocator(const XPathAllocator&);
-
-	XPathAllocator&
-	operator=(const XPathAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XNUMBERALLOCATOR_INCLUDE_GUARD_135792455
diff --git a/src/XPath/XPathDefinitions.hpp b/src/XPath/XPathDefinitions.hpp
deleted file mode 100644
index 370a076..0000000
--- a/src/XPath/XPathDefinitions.hpp
+++ /dev/null
@@ -1,82 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHDEFINITIONS_HEADER_GUARD_1357924680)
-#define XPATHDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_XPATH_BUILD_DLL)
-
-#define XALAN_XPATH_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_XPATH_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_XPATH_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_XPATH_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// XPATHDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathEnvSupport.cpp b/src/XPath/XPathEnvSupport.cpp
deleted file mode 100644
index 2672b9a..0000000
--- a/src/XPath/XPathEnvSupport.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XPathEnvSupport.hpp"
-
-
-
-XPathEnvSupport::XPathEnvSupport() :
-	Resettable()
-{
-}
-
-
-
-XPathEnvSupport::~XPathEnvSupport()
-{
-}
diff --git a/src/XPath/XPathEnvSupport.hpp b/src/XPath/XPathEnvSupport.hpp
deleted file mode 100644
index 8da7251..0000000
--- a/src/XPath/XPathEnvSupport.hpp
+++ /dev/null
@@ -1,289 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XPATHENVSUPPORT_HEADER_GUARD_1357924680)
-#define XPATHENVSUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <map>
-#include <vector>
-
-
-
-// $$$ ToDo: Necessary while XalanDOMString is style a typedef.
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/Resettable.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class Locator;
-class NodeRefListBase;
-class PrefixResolver;
-class XLocator;
-class XObject;
-class XPathExecutionContext;
-class XObjectFactory;
-class XalanDocument;
-class XalanElement;
-class XalanNode;
-class XalanQName;
-
-
-
-class XALAN_XPATH_EXPORT XPathEnvSupport : public Resettable
-{
-public:
-
-	typedef Function::XObjectArgVectorType	XObjectArgVectorType;
-
-	XPathEnvSupport();
-
-	virtual
-	~XPathEnvSupport();
-
-	/**
-	 * Provides support for XML parsing service.
-	 *
-	 * @param urlString location of the XML
-	 * @param base base location for URI
-	 * @return parsed document
-	 */
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) = 0;
-
-	/**
-	 * Get the source document for the given URI.
-	 *
-	 * @param theURI document URI
-	 * @return source document
-	 */
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const = 0;
-
-	/**
-	 * Associate a document with a given URI.
-	 *
-	 * @param theURI      document URI
-	 * @param theDocument source document
-	 */
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument) = 0;
-
-	/**
-	 * Given a DOM Document, tell what URI was used to parse it. Needed for
-	 * relative resolution.
-	 *
-	 * @param owner source document
-	 * @return document URI
-	 */
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const = 0;
-
-	/**
-	 * Determine if an external element is available.
-	 *
-	 * @param theNamespace  namespace for the element
-	 * @param elementName name of extension element
-	 * @return whether the element is available or not
-	 */
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const = 0;
-
-	/**
-	 * Determine if a function is available.  For standard
-	 * function availability, theNamespace should be an
-	 * empty string.
-	 *
-	 * @param theNamespace  namespace for the function
-	 * @param functionName name of the function
-	 * @return whether the function is available or not
-	 */
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const = 0;
-
-	/**
-	 * Handle an extension function.
-	 * 
-	 * @param executionContext  current execution context
-	 * @param theNamespace  namespace of function    
-	 * @param functionName extension function name
-	 * @param argVec        vector of arguments to function
-	 * @param locator A Locator instance for error reporting.
-	 * @return pointer to XObject result
-	 */
-	virtual XObjectPtr
-	extFunction(
-			XPathExecutionContext&			executionContext,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName, 
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) const = 0;
-
-	enum eSource { eXMLParser		= 1,
-				   eXSLTProcessor	= 2,
-				   eXPATHParser		= 3,
-				   eXPATHProcessor	= 4,
-				   eDataSource		= 5 };
-
-	enum eClassification { eMessage = 0,
-						   eWarning = 1,
-						   eError = 2 };
-
-	/**
-	 * Function that is called when a problem event occurs.
-	 * 
-	 * @param   where 			     either eXMLParser, eXSLTProcessor,
-	 *							        eXPATHParser, eXPATHProcessor, or eDataSource.
-	 * @param   classification	  either eWarning, or eError
-	 * @param   styleNode         style tree node where the problem occurred
-	 *                            (may be 0)
-	 * @param   sourceNode        source tree node where the problem occurred
-	 *                            (may be 0)
-	 * @param   msg               string message explaining the problem.
-	 * @param   uri				  the URI of the stylesheet, if available.  May be 0;
-	 * @param   lineNo            line number where the problem occurred,  
-	 *                            if it is known, else -1
-	 * @param   charOffset        character offset where the problem,  
-	 *                            occurred if it is known, else -1
-	 * @return  true if the return is an ERROR, in which case
-	 *          exception will be thrown.  Otherwise the processor will 
-	 *          continue to process.
-	 */
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const XalanNode*		styleNode,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const = 0;
-
-	/**
-	 * Function that is called when a problem event occurs.
-	 * 
-	 * @param where 			either eXMLParser, eXSLTProcessor,
-	 *			 			      eXPATHParser, eXPATHProcessor, or eDataSource.
-	 * @param classification	either eWarning, or eError
-	 * @param resolver       resolver for namespace resolution
-	 * @param sourceNode     source tree node where the problem occurred
-	 *                       (may be 0)
-	 * @param msg            string message explaining the problem.
-	 * @param   uri				  the URI of the stylesheet, if available.  May be 0;
-	 * @param lineNo         line number where the problem occurred,  
-	 *                       if it is known, else -1
-	 * @param charOffset     character offset where the problem,  
-	 *                       occurred if it is known, else -1
-	 * @return true if the return is an ERROR, in which case exception will be
-	 *         thrown.  Otherwise the processor will continue to process.
-	 */
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const PrefixResolver*	resolver,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const = 0;
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset() = 0;
-
-private:
-
-	// These are not implemented...
-	XPathEnvSupport(const XPathEnvSupport&);
-
-	XPathEnvSupport&
-	operator=(const XPathEnvSupport&);
-
-	bool
-	operator==(const XPathEnvSupport&) const;
-};
-
-
-
-#endif	// XPATHENVSUPPORT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathEnvSupportDefault.cpp b/src/XPath/XPathEnvSupportDefault.cpp
deleted file mode 100644
index a929c7f..0000000
--- a/src/XPath/XPathEnvSupportDefault.cpp
+++ /dev/null
@@ -1,540 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-#include "XPathEnvSupportDefault.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XObject.hpp"
-#include "XObjectFactory.hpp"
-#include "XPath.hpp"
-#include "XPathExecutionContext.hpp"
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::cerr;
-using std::endl;
-using std::for_each;
-#endif
-
-
-
-XPathEnvSupportDefault::NamespaceFunctionTablesType		XPathEnvSupportDefault::s_externalFunctions;
-
-
-
-void
-XPathEnvSupportDefault::initialize()
-{
-}
-
-
-
-void
-XPathEnvSupportDefault::terminate()
-{
-	// Clean up the extension namespaces vector
-	for_each(s_externalFunctions.begin(),
-			 s_externalFunctions.end(),
-			 NamespaceFunctionTableDeleteFunctor());
-
-	NamespaceFunctionTablesType().swap(s_externalFunctions);
-}
-
-
-
-XPathEnvSupportDefault::XPathEnvSupportDefault() :
-	XPathEnvSupport(),
-	m_sourceDocs(),
-	m_externalFunctions()
-{
-}
-
-
-
-XPathEnvSupportDefault::~XPathEnvSupportDefault()
-{
-	// Clean up the extension namespaces vector
-	for_each(m_externalFunctions.begin(),
-			 m_externalFunctions.end(),
-			 NamespaceFunctionTableDeleteFunctor());
-
-	NamespaceFunctionTablesType().swap(m_externalFunctions);
-}
-
-
-
-void
-XPathEnvSupportDefault::updateFunctionTable(
-			NamespaceFunctionTablesType&	theTable,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			const Function*					function)
-{
-	// See if there's a table for that namespace...
-	const NamespaceFunctionTablesType::iterator		i =
-		theTable.find(theNamespace);
-
-	if (i == theTable.end())
-	{
-		// The namespace was not found.  If function is not
-		// 0, then add a clone of the function.
-		if (function != 0)
-		{
-			theTable[theNamespace][functionName] =
-				function->clone();
-		}
-	}
-	else
-	{
-		// There is already a table for the namespace,
-		// so look for the function...
-		const FunctionTableType::iterator	j =
-			(*i).second.find(functionName);
-
-		if (j == (*i).second.end())
-		{
-			// The function was not found.  If function is not
-			// 0, then add a clone of the function.
-			if (function != 0)
-			{
-				(*i).second[functionName] = function->clone();
-			}
-		}
-		else
-		{
-			// Found it, so delete the function...
-#if defined(XALAN_CANNOT_DELETE_CONST)
-			delete (Function*)(*j).second;
-#else
-			delete (*j).second;
-#endif
-
-			// If function is not 0, then we update
-			// the entry.  Otherwise, we erase it...
-			if (function != 0)
-			{
-				// Update it...
-				(*j).second = function->clone();
-			}
-			else
-			{
-				// Erase it...
-				(*i).second.erase(j);
-			}
-		}
-	}
-}
-
-
-
-void
-XPathEnvSupportDefault::installExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function)
-{
-	updateFunctionTable(s_externalFunctions, theNamespace, functionName, &function);
-}
-
-
-
-void
-XPathEnvSupportDefault::uninstallExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName)
-{
-	updateFunctionTable(s_externalFunctions, theNamespace, functionName, 0);
-}
-
-
-
-void
-XPathEnvSupportDefault::installExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function)
-{
-	updateFunctionTable(m_externalFunctions, theNamespace, functionName, &function);
-}
-
-
-
-void
-XPathEnvSupportDefault::uninstallExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName)
-{
-	updateFunctionTable(m_externalFunctions, theNamespace, functionName, 0);
-}
-
-
-
-void
-XPathEnvSupportDefault::reset()
-{
-	m_sourceDocs.clear();
-}
-
-
-
-XalanDocument*
-XPathEnvSupportDefault::parseXML(
-			const XalanDOMString&	/* urlString */,
-			const XalanDOMString&	/* base */)
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XPathEnvSupportDefault::getSourceDocument(const XalanDOMString&		theURI) const
-{
-	const SourceDocsTableType::const_iterator	i =
-			m_sourceDocs.find(theURI);
-
-	if (i == m_sourceDocs.end())
-	{
-		return 0;
-	}
-	else
-	{
-		return (*i).second;
-	}
-}
-
-
-
-void
-XPathEnvSupportDefault::setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument)
-{
-	m_sourceDocs[theURI] = theDocument;
-}
-
-
-
-XalanDOMString
-XPathEnvSupportDefault::findURIFromDoc(const XalanDocument*		owner) const
-{
-	SourceDocsTableType::const_iterator	i =
-			m_sourceDocs.begin();
-
-	bool	fFound = false;
-
-	while(i != m_sourceDocs.end() && fFound == false)
-	{
-		if ((*i).second == owner)
-		{
-			fFound = true;
-		}
-		else
-		{
-			++i;
-		}
-	}
-
-	return fFound == false ? XalanDOMString() : (*i).first;
-}
-
-
-
-bool
-XPathEnvSupportDefault::elementAvailable(
-			const XalanDOMString&	/* theNamespace */,
-			const XalanDOMString&	/* elementName */) const
-{
-	return false;
-}
-
-
-
-bool
-XPathEnvSupportDefault::functionAvailable(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName) const
-{
-	bool	theResult = false;
-
-	// Any function without a namespace prefix is considered
-	// to be an intrinsic function.
-	if (isEmpty(theNamespace) == true)
-	{
-		theResult = XPath::isInstalledFunction(functionName);
-	}
-	else
-	{
-		const Function* const	theFunction =
-			findFunction(
-				theNamespace,
-				functionName);
-
-		if (theFunction != 0)
-		{
-			theResult = true;
-		}
-	}
-
-	return theResult;
-}
-
-
-
-const Function*
-XPathEnvSupportDefault::findFunction(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName) const
-{
-	// First, look locally...
-	const Function*		theFunction = findFunction(
-			m_externalFunctions,
-			theNamespace,
-			functionName);
-
-	if (theFunction == 0)
-	{
-		// Not found, so look in the global space...
-		theFunction = findFunction(
-			s_externalFunctions,
-			theNamespace,
-			functionName);
-	}
-
-	return theFunction;
-}
-
-
-
-const Function*
-XPathEnvSupportDefault::findFunction(
-			const NamespaceFunctionTablesType&	theTable,
-			const XalanDOMString&				theNamespace,
-			const XalanDOMString&				functionName) const
-{
-	const Function*	theFunction = 0;
-
-	// See if there's a table for that namespace...
-	const NamespaceFunctionTablesType::const_iterator	i =
-		theTable.find(theNamespace);
-
-	if (i != theTable.end())
-	{
-		// There is a table for the namespace,
-		// so look for the function...
-		const FunctionTableType::const_iterator		j =
-			(*i).second.find(functionName);
-
-		if (j != (*i).second.end())
-		{
-			// Found the function...
-			assert((*j).second != 0);
-
-			theFunction = (*j).second;
-		}
-	}
-
-	return theFunction;
-}
-
-
-
-XObjectPtr
-XPathEnvSupportDefault::extFunction(
-			XPathExecutionContext&			executionContext,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) const
-{
-	const Function* const	theFunction = findFunction(theNamespace, functionName);
-
-	if (theFunction != 0)
-	{
-		return theFunction->execute(
-					executionContext,
-					context,
-					argVec,
-					locator);
-	}
-	else
-	{
-		XalanDOMString	theFunctionName;
-
-		if(length(theNamespace) > 0)
-		{
-			theFunctionName += theNamespace;
-			theFunctionName += DOMServices::s_XMLNamespaceSeparatorString;
-		}
-
-		theFunctionName += functionName;
-
-		throw XPathExceptionFunctionNotAvailable(theFunctionName);
-
-		// dummy return value...
-		return XObjectPtr();
-	}
-}
-
-
-
-bool
-XPathEnvSupportDefault::problem(
-			eSource					/* where */,
-			eClassification			classification,
-			const XalanNode*		/* styleNode */,
-			const XalanNode*		/* sourceNode */,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const
-{
-	cerr << msg;
-
-	if (uri != 0)
-	{
-		cerr << ",in " << uri;
-	}
-
-	cerr << ", at line number "
-		 << lineNo
-		 << " at offset "
-		 << charOffset
-		 << endl;
-
-	return classification == XPathEnvSupport::eError ? true : false;
-}
-
-
-
-bool
-XPathEnvSupportDefault::problem(
-			eSource					/* where */,
-			eClassification			classification,
-			const PrefixResolver*	/* resolver */,
-			const XalanNode*		/* sourceNode */,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const
-{
-	cerr << msg;
-
-	if (uri != 0)
-	{
-		cerr << ",in " << uri;
-	}
-
-	cerr << ", at line number "
-		 << lineNo
-		 << " at offset "
-		 << charOffset
-		 << endl;
-
-	return classification == XPathEnvSupport::eError ? true : false;
-}
-
-
-
-void
-XPathEnvSupportDefault::NamespaceFunctionTableDeleteFunctor::operator()(const NamespaceFunctionTablesInnerType::value_type&	thePair) const
-{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	FunctionTableInnerType::const_iterator	i = thePair.second.begin();
-
-	while(i != thePair.second.end())
-	{
-		delete (Function*) (*i).second;
-
-		++i;
-	}
-#else
-	// Clean up the extension namespaces vector
-	for_each(thePair.second.begin(),
-			 thePair.second.end(),
-			 MapValueDeleteFunctor<FunctionTableInnerType>());
-#endif
-}
diff --git a/src/XPath/XPathEnvSupportDefault.hpp b/src/XPath/XPathEnvSupportDefault.hpp
deleted file mode 100644
index 4ea4ce5..0000000
--- a/src/XPath/XPathEnvSupportDefault.hpp
+++ /dev/null
@@ -1,320 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XPATHENVSUPPORTDEFAULT_HEADER_GUARD_1357924680)
-#define XPATHENVSUPPORTDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XPath/XPathEnvSupport.hpp>
-
-
-
-/**
- * Dummy class in order to make the XPath object happy 
- * for diagnostic purposes.
- */
-class XALAN_XPATH_EXPORT XPathEnvSupportDefault : public XPathEnvSupport
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString, XalanDocument*, less<XalanDOMString> >		SourceDocsTableType;
-	typedef map<XalanDOMString, const Function*, less<XalanDOMString> >		FunctionTableType;
-	typedef map<XalanDOMString, FunctionTableType, less<XalanDOMString> >	NamespaceFunctionTablesType;
-#else
-	typedef std::map<XalanDOMString, XalanDocument*>	SourceDocsTableType;
-	typedef std::map<XalanDOMString, const Function*>	FunctionTableType;
-	typedef std::map<XalanDOMString, FunctionTableType>	NamespaceFunctionTablesType;
-#endif
-
-	/**
-	 * Perform initialization of statics -- must be called before any
-	 * processing occurs.  See class XPathInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform termination of statics.  See class XPathInit.
-	 */
-	static void
-	terminate();
-
-
-	XPathEnvSupportDefault();
-
-	virtual
-	~XPathEnvSupportDefault();
-
-
-	// Interfaces to install and uninstall external functions globally.
-	// These calls are not thread-safe, and should happen during
-	// processing.
-
-	/**
-	 * Install an external function in the global space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	static void
-	installExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function);
-
-	/**
-	 * Uninstall an external function from the global space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 */
-	static void
-	uninstallExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName);
-
-	// Interfaces to install and uninstall external functions in this instance.
-
-	/**
-	 * Install an external function in the local space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	virtual void
-	installExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function);
-
-	/**
-	 * Uninstall an external function from the local space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 */
-	virtual void
-	uninstallExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName);
-
-
-	// These interfaces are inherited from XPathEnvSupport...
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base);
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&	theURI) const;
-
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument);
-
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const;
-
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const;
-
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const;
-
-	virtual XObjectPtr
-	extFunction(
-			XPathExecutionContext&			executionContext,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName, 
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) const;
-
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const XalanNode*		styleNode,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const;
-
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const PrefixResolver*	resolver,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const;
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset();
-
-	// Delete functor for table cleanup...
-	struct NamespaceFunctionTableDeleteFunctor
-	{
-		typedef FunctionTableType				FunctionTableInnerType;
-		typedef NamespaceFunctionTablesType		NamespaceFunctionTablesInnerType;
-
-		/**
-		 * Delete the value object in a map value pair.  The value of the pair must
-		 * be of pointer type.
-		 *
-		 * @param thePair key-value pair
-		 */
-		void
-		operator()(const NamespaceFunctionTablesInnerType::value_type&	thePair) const;
-	};
-
-protected:
-
-	/**
-	 * Find an external function.
-	 *
-	 * @param theNamespace The namespace for the function.
-	 * @param functionName The name of the function.
-	 * @return a pointer to the function if found, or 0 if not found.
-	 */
-	const Function*
-	findFunction(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName) const;
-
-private:
-
-	// These are not implemented...
-	XPathEnvSupportDefault(const XPathEnvSupportDefault&);
-
-	XPathEnvSupportDefault&
-	operator=(const XPathEnvSupportDefault&);
-
-	bool
-	operator==(const XPathEnvSupportDefault&) const;
-
-	/**
-	 * Update the supplied function table.  If the parameter
-	 * function is 0, and a function with the supplied
-	 * namespace and name exists in the table, it will be
-	 * removed.  If function is not 0, and a function with
-	 * the supplied namespace and name exists in the table,
-	 * it will be replaced with the new function.  Otherwise,
-	 * the function will be added.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	static void
-	updateFunctionTable(
-			NamespaceFunctionTablesType&	theTable,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			const Function*					function);
-
-	/**
-	 * Find an external function in the supplied table.
-	 *
-	 * @param theTable The table to search.
-	 * @param theNamespace The namespace for the function.
-	 * @param functionName The name of the function.
-	 * @return a pointer to the function if found, or 0 if not found.
-	 */
-	const Function*
-	findFunction(
-			const NamespaceFunctionTablesType&	theTable,
-			const XalanDOMString&				theNamespace,
-			const XalanDOMString&				functionName) const;
-
-	// Data members...
-
-	SourceDocsTableType						m_sourceDocs;
-
-	NamespaceFunctionTablesType				m_externalFunctions;
-
-	static 	NamespaceFunctionTablesType		s_externalFunctions;
-};
-
-
-
-#endif	// XPATHENVSUPPORTDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathEvaluator.cpp b/src/XPath/XPathEvaluator.cpp
deleted file mode 100644
index 6bb800d..0000000
--- a/src/XPath/XPathEvaluator.cpp
+++ /dev/null
@@ -1,473 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XPathEvaluator.hpp"
-
-
-
-#include <DOMSupport/DOMSupportDefault.hpp>
-
-
-
-#include <XPath/ElementPrefixResolverProxy.hpp>
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-#include <XPath/XPathInit.hpp>
-
-
-
-static XPathInit*	theXPathInit = 0;
-
-
-
-void
-XPathEvaluator::initialize()
-{
-	theXPathInit = new XPathInit;
-}
-
-
-
-void
-XPathEvaluator::terminate()
-{
-	delete theXPathInit;
-
-	theXPathInit = 0;
-}
-
-
-
-XPathEvaluator::XPathEvaluator() :
-	m_xobjectFactory(new XObjectFactoryDefault),
-	m_xpathFactory(new XPathFactoryDefault),
-	m_executionContext(new XPathExecutionContextDefault)
-
-{
-}
-
-
-
-XPathEvaluator::~XPathEvaluator()
-{
-	// Just in case these are still set, reset them
-	// to 0.
-	m_executionContext->setXPathEnvSupport(0);
-
-	m_executionContext->setXObjectFactory(0);
-
-	m_executionContext->setDOMSupport(0);
-}
-
-
-
-XalanNode*
-XPathEvaluator::selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const XalanElement*		namespaceNode)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpathString,
-			namespaceNode));
-
-	const NodeRefListBase&	theNodeList = theResult->nodeset();
-
-	return theNodeList.getLength() == 0 ? 0 : theNodeList.item(0);
-}
-
-
-
-XalanNode*
-XPathEvaluator::selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpathString,
-			prefixResolver));
-
-	const NodeRefListBase&	theNodeList = theResult->nodeset();
-
-	return theNodeList.getLength() == 0 ? 0 : theNodeList.item(0);
-}
-
-
-
-XalanNode*
-XPathEvaluator::selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const XalanElement*		namespaceNode)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpath,
-			namespaceNode));
-
-	const NodeRefListBase&	theNodeList = theResult->nodeset();
-
-	return theNodeList.getLength() == 0 ? 0 : theNodeList.item(0);
-}
-
-
-
-XalanNode*
-XPathEvaluator::selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpath,
-			prefixResolver));
-
-	const NodeRefListBase&	theNodeList = theResult->nodeset();
-
-	return theNodeList.getLength() == 0 ? 0 : theNodeList.item(0);
-}
-
-
-
-NodeRefList
-XPathEvaluator::selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const XalanElement*		namespaceNode)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpathString,
-			namespaceNode));
-
-	return NodeRefList(theResult->nodeset());
-}
-
-
-
-NodeRefList
-XPathEvaluator::selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpathString,
-			prefixResolver));
-
-	return NodeRefList(theResult->nodeset());
-}
-
-
-
-NodeRefList
-XPathEvaluator::selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const XalanElement*		namespaceNode)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpath,
-			namespaceNode));
-
-	return NodeRefList(theResult->nodeset());
-}
-
-
-
-NodeRefList
-XPathEvaluator::selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver)
-{
-	const XObjectPtr	theResult(
-		evaluate(
-			domSupport,
-			contextNode,
-			xpath,
-			prefixResolver));
-
-	return NodeRefList(theResult->nodeset());
-}
-
-
-
-XObjectPtr
-XPathEvaluator::evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const XalanElement*		namespaceNode)
-{
-	XPathEnvSupportDefault	theEnvSupportDefault;
-
-	return	evaluate(
-			domSupport,
-			contextNode,
-			xpathString,
-			ElementPrefixResolverProxy(namespaceNode, theEnvSupportDefault, domSupport),
-			theEnvSupportDefault);
-}
-
-
-
-XObjectPtr
-XPathEvaluator::evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const XalanElement*		namespaceNode)
-{
-	XPathEnvSupportDefault	theEnvSupportDefault;
-
-	return evaluate(
-				domSupport,
-				contextNode,
-				xpath,
-				ElementPrefixResolverProxy(namespaceNode, theEnvSupportDefault, domSupport),
-				theEnvSupportDefault);
-}
-
-
-
-XObjectPtr
-XPathEvaluator::evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver)
-{
-	XPathEnvSupportDefault	theEnvSupportDefault;
-
-	return	evaluate(
-			domSupport,
-			contextNode,
-			xpathString,
-			prefixResolver,
-			theEnvSupportDefault);
-}
-
-
-
-XObjectPtr
-XPathEvaluator::evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver)
-{
-	XPathEnvSupportDefault	theEnvSupportDefault;
-
-	return evaluate(
-				domSupport,
-				contextNode,
-				xpath,
-				prefixResolver,
-				theEnvSupportDefault);
-}
-
-
-
-XPath*
-XPathEvaluator::createXPath(const XalanDOMChar*		xpathString)
-{
-	DOMSupportDefault		theDOMSupport;
-	XPathEnvSupportDefault	theEnvSupportDefault;
-
-	return createXPath(xpathString, ElementPrefixResolverProxy(0, theEnvSupportDefault, theDOMSupport));
-}
-
-
-
-XPath*
-XPathEvaluator::createXPath(
-			const XalanDOMChar*		xpathString,
-			DOMSupport&				domSupport,
-			const XalanElement*		namespaceNode)
-{
-	XPathEnvSupportDefault	theEnvSupportDefault;
-
-	return createXPath(xpathString, ElementPrefixResolverProxy(namespaceNode, theEnvSupportDefault, domSupport));
-}
-
-
-
-XPath*
-XPathEvaluator::createXPath(
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver)
-{
-	XPath* const	theXPath = m_xpathFactory->create();
-	assert(theXPath != 0);
-
-	XPathProcessorImpl		theProcessor;
-
-    theProcessor.initXPath(
-			*theXPath,
-			XalanDOMString(xpathString),
-			prefixResolver);
-
-	return theXPath;
-}
-
-
-
-bool
-XPathEvaluator::destroyXPath(XPath*		theXPath)
-{
-	assert(theXPath != 0);
-
-	return m_xpathFactory->returnObject(theXPath);
-}
-
-
-
-XObjectPtr
-XPathEvaluator::evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver,
-			XPathEnvSupport&		envSupport)
-{
-	assert(contextNode != 0);
-	assert(xpathString != 0);
-
-	// Create an XPath, and an XPathProcessorImpl to process
-	// the XPath.
-	XPath					theXPath;
-
-	XPathProcessorImpl		theProcessor;
-
-    theProcessor.initXPath(
-			theXPath,
-			XalanDOMString(xpathString),
-			prefixResolver);
-
-	return evaluate(domSupport, contextNode, theXPath, prefixResolver, envSupport);
-}
-
-
-
-XObjectPtr
-XPathEvaluator::evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver,
-			XPathEnvSupport&		envSupport)
-{
-	// Reset these, in case we've been here before...
-	m_executionContext->reset();
-	m_xobjectFactory->reset();
-
-	// Set up the connections between the execution context and
-	// the provided support objects...
-	m_executionContext->setXPathEnvSupport(&envSupport);
-
-	m_executionContext->setXObjectFactory(m_xobjectFactory.get());
-
-	m_executionContext->setDOMSupport(&domSupport);
-
-	// OK, evaluate the expression...
-	const XObjectPtr	theResult(
-		xpath.execute(
-			contextNode,
-			prefixResolver,
-			*m_executionContext.get()));
-
-	// Break the connectons we set...
-	m_executionContext->setXPathEnvSupport(0);
-
-	m_executionContext->setXObjectFactory(0);
-
-	m_executionContext->setDOMSupport(0);
-
-	return theResult;
-}
diff --git a/src/XPath/XPathEvaluator.hpp b/src/XPath/XPathEvaluator.hpp
deleted file mode 100644
index 927ef23..0000000
--- a/src/XPath/XPathEvaluator.hpp
+++ /dev/null
@@ -1,455 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHEVALUATOR_HEADER_GUARD_1357924680)
-#define XPATHEVALUATOR_HEADER_GUARD_1357924680
-
-
-
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathFactory.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#if !defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-class XObjectFactory;
-class XPathFactory;
-class XPathExecutionContextDefault;
-#endif
-
-
-
-class DOMSupport;
-class NodeRefList;
-class PrefixResolver;
-class XalanNode;
-class XalanElement;
-class XObjectPtr;
-class XPath;
-class XPathEnvSupport;
-
-
-
-class XALAN_XPATH_EXPORT XPathEvaluator
-{
-public:
-
-	// Static initializer to be called before any instances are
-	// created.
-	static void
-	initialize();
-
-	// Static terminator to be called when after all instances
-	// are destroyed.
-	static void
-	terminate();
-
-
-	XPathEvaluator();
-
-	~XPathEvaluator();
-
-	/**
-	 * Evaluate the supplied XPath expression, within the given context.  If
-	 * the expression doesn't select a node, 0 is returned.  If it selects
-	 * more than one node, only the first is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return A pointer to the node selected by the expression, if any.
-	 */
-	XalanNode*
-	selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const XalanElement*		namespaceNode = 0);
-
-	/**
-	 * Evaluate the supplied XPath expression, within the given context.  If
-	 * the expression doesn't select a node, 0 is returned.  If it selects
-	 * more than one node, only the first is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return A pointer to the node selected by the expression, if any.
-	 */
-	XalanNode*
-	selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Evaluate the supplied XPath, within the given context.  If
-	 * the expression doesn't select a node, 0 is returned.  If it selects
-	 * more than one node, only the first is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath A reference to a compiled XPath expression.
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return A pointer to the node selected by the expression, if any.
-	 */
-	XalanNode*
-	selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const XalanElement*		namespaceNode = 0);
-
-	/**
-	 * Evaluate the supplied XPath, within the given context.  If
-	 * the expression doesn't select a node, 0 is returned.  If it selects
-	 * more than one node, only the first is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath A reference to a compiled XPath expression.
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return A pointer to the node selected by the expression, if any.
-	 */
-	XalanNode*
-	selectSingleNode(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Evaluate the supplied XPath expression, within the given context.  If
-	 * the expression doesn't select a node, an empty list is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return A list of selected nodes.
-	 */
-	NodeRefList
-	selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const XalanElement*		namespaceNode = 0);
-
-	/**
-	 * Evaluate the supplied XPath expression, within the given context.  If
-	 * the expression doesn't select a node, an empty list is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return A list of selected nodes.
-	 */
-	NodeRefList
-	selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Evaluate the supplied XPath, within the given context.  If
-	 * the expression doesn't select a node, an empty list is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath A reference to a compiled XPath expression.
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return A list of selected nodes.
-	 */
-	NodeRefList
-	selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const XalanElement*		namespaceNode = 0);
-
-	/**
-	 * Evaluate the supplied XPath, within the given context.  If
-	 * the expression doesn't select a node, an empty list is returned.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath A reference to a compiled XPath expression.
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return A list of selected nodes.
-	 */
-	NodeRefList
-	selectNodeList(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Evaluate the supplied XPath expression, within the given context.  The
-	 * result is returned as a generalized object.  The object will be
-	 * destroyed when the returned when the user's copy of the returned
-	 * XObjectPtr goes out of scope, or when the XPathEvaluator goes out of scope
-	 * or another expression is evaluated.
-	 *
-	 * The user's XObjectPtr copy _must_ no longer be in scope when the XPathEvaluator
-	 * instance goes out of scope, or another expression is evaluated.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return The result of evaluting the XPath expression.
-	 */
-	XObjectPtr
-	evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const XalanElement*		namespaceNode = 0);
-
-	/**
-	 * Evaluate the supplied XPath expression, within the given context.  The
-	 * result is returned as a generalized object.  The object will be
-	 * destroyed when the returned when the user's copy of the returned
-	 * XObjectPtr goes out of scope, or when the XPathEvaluator goes out of scope
-	 * or another expression is evaluated.
-	 *
-	 * The user's XObjectPtr copy _must_ no longer be in scope when the XPathEvaluator
-	 * instance goes out of scope, or another expression is evaluated.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return The result of evaluting the XPath expression.
-	 */
-	XObjectPtr
-	evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Evaluate the supplied XPath, within the given context.  The
-	 * result is returned as a generalized object.  The object will be
-	 * destroyed when the returned when the user's copy of the returned
-	 * XObjectPtr goes out of scope, or when the XPathEvaluator goes out of scope
-	 * or another expression is evaluated.
-	 *
-	 * The user's XObjectPtr copy _must_ no longer be in scope when the XPathEvaluator
-	 * instance goes out of scope, or another expression is evaluated.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath A reference to a compiled XPath expression.
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return The result of evaluting the XPath expression.
-	 */
-	XObjectPtr
-	evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const XalanElement*		namespaceNode = 0);
-
-	/**
-	 * Evaluate the supplied XPath, within the given context.  The
-	 * result is returned as a generalized object.  The object will be
-	 * destroyed when the returned when the user's copy of the returned
-	 * XObjectPtr goes out of scope, or when the XPathEvaluator goes out of scope
-	 * or another expression is evaluated.
-	 *
-	 * The user's XObjectPtr copy _must_ no longer be in scope when the XPathEvaluator
-	 * instance goes out of scope, or another expression is evaluated.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath A reference to a compiled XPath expression.
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return The result of evaluting the XPath expression.
-	 */
-	XObjectPtr
-	evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Compile an XPath expression into an object which can be used multiple times.
-	 * Call destroyXPath() when finished with the instance.  Otherwise, the object
-	 * will be destroyed when the XPathEvaluator instance goes out of scope.  Since
-	 * no PrefixResolver is supplied, the XPath expression may not contain any
-	 * namespace prefixes.
-	 *
-	 * @param xpathString The XPath expression to evaluate
-	 * @return A pointer to an XPath instance.
-	 */
-	XPath*
-	createXPath(const XalanDOMChar*		xpathString);
-
-	/**
-	 * Compile an XPath expression into an object which can be used multiple times.
-	 * Call destroyXPath() when finished with the instance.  Otherwise, the object
-	 * will be destroyed when the XPathEvaluator instance goes out of scope.
-	 *
-	 * @param xpathString The XPath expression to evaluate
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param namespaceNode A node to use for namespace prefix resolution.
-	 * @return A pointer to an XPath instance.
-	 */
-	XPath*
-	createXPath(
-			const XalanDOMChar*		xpathString,
-			DOMSupport&				domSupport,
-			const XalanElement*		namespaceNode);
-
-	/**
-	 * Compile an XPath expression into an object which can be used multiple times.
-	 * Call destroyXPath() when finished with the instance.  Otherwise, the object
-	 * will be destroyed when the XPathEvaluator instance goes out of scope.
-	 *
-	 * @param xpathString The XPath expression to evaluate
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @return A pointer to an XPath instance.
-	 */
-	XPath*
-	createXPath(
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver);
-
-	/**
-	 * Destory a compiled XPath instance.  The instance must have
-	 * been created using createXPath().
-	 *
-	 * @param theXPath The XPath instance to destroy
-	 * @return true if the instance was successfully destroyed
-	 */
-	bool
-	destroyXPath(XPath*		theXPath);
-
-private:
-
-	/**
-	 * A helper function to evaluate the supplied XPath expression, within
-	 * the given context.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpathString The XPath expression to evaluate
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @param envSupport The XPathEnvSupport instance to use.
-	 * @return The result of evaluting the XPath expression.
-	 */
-	XObjectPtr
-	evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XalanDOMChar*		xpathString,
-			const PrefixResolver&	prefixResolver,
-			XPathEnvSupport&		envSupport);
-
-	/**
-	 * A helper function to evaluate the supplied XPath expression, within
-	 * the given context.
-	 *
-	 * @param domSupport An instance of the corresponding DOMSupport-derived for the DOM implementation being used.
-	 * @param contextNode The source tree context node
-	 * @param xpath The XPath to evaluate
-	 * @param prefixResolver A prefix resolver instance to use for namespace prefix resolution.
-	 * @param envSupport The XPathEnvSupport instance to use.
-	 * @return The result of evaluting the XPath expression.
-	 */
-	XObjectPtr
-	evaluate(
-			DOMSupport&				domSupport,
-			XalanNode*				contextNode,
-			const XPath&			xpath,
-			const PrefixResolver&	prefixResolver,
-			XPathEnvSupport&		envSupport);
-
-	// Data members...
-	const XalanAutoPtr<XObjectFactory>					m_xobjectFactory;
-
-	const XalanAutoPtr<XPathFactory>					m_xpathFactory;
-
-	const XalanAutoPtr<XPathExecutionContextDefault>	m_executionContext;
-};
-
-
-
-#endif	// XPATHEVALUATOR_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathExecutionContext.cpp b/src/XPath/XPathExecutionContext.cpp
deleted file mode 100644
index 2c4ece9..0000000
--- a/src/XPath/XPathExecutionContext.cpp
+++ /dev/null
@@ -1,71 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XPathExecutionContext.hpp"
-
-
-
-XPathExecutionContext::XPathExecutionContext(XObjectFactory*	theXObjectFactory) :
-	m_xobjectFactory(theXObjectFactory)
-{
-}
-
-
-
-XPathExecutionContext::~XPathExecutionContext()
-{
-}
diff --git a/src/XPath/XPathExecutionContext.hpp b/src/XPath/XPathExecutionContext.hpp
deleted file mode 100644
index 7354fcf..0000000
--- a/src/XPath/XPathExecutionContext.hpp
+++ /dev/null
@@ -1,753 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680)
-#define XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file...
-#include <PlatformSupport/ExecutionContext.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/ResultTreeFragBase.hpp>
-
-
-
-class XalanDecimalFormatSymbols;
-class PrefixResolver;
-class XalanQName;
-class XLocator;
-class XMLURL;
-class XObject;
-class XObjectPtr;
-class XObjectFactory;
-class XalanDocument;
-class XalanElement;
-class XalanNode;
-class XalanText;
-
-
-
-//
-// An abstract class which provides support for executing XPath functions
-// and extension functions.
-//
-
-class XALAN_XPATH_EXPORT XPathExecutionContext : public ExecutionContext
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XObjectPtr>			XObjectArgVectorType;
-#else
-	typedef std::vector<XObjectPtr>		XObjectArgVectorType;
-#endif
-
-	typedef NodeRefListBase::size_type	size_type;
-
-	explicit
-	XPathExecutionContext(XObjectFactory*	theXObjectFactory = 0);
-
-	virtual
-	~XPathExecutionContext();
-
-	/**
-	 * Reset the instance.  This must be called before another
-	 * execution is attempted.
-	 */
-	virtual void
-	reset() = 0;
-
-	/**
-	 * Retrieve the node currently being executed.
-	 * 
-	 * @return current node
-	 */
-	virtual XalanNode*
-	getCurrentNode() const = 0;
-
-	/**
-	 * Change the node currently being executed.
-	 * 
-	 * @param theCurrentNode new current node
-	 */
-	virtual void
-	setCurrentNode(XalanNode*	theCurrentNode) = 0;
-
-	class CurrentNodeSetAndRestore
-	{
-	public:
-
-		CurrentNodeSetAndRestore(
-				XPathExecutionContext&	theExecutionContext,
-				XalanNode*				theNode) :
-			m_executionContext(theExecutionContext),
-			m_savedNode(theExecutionContext.getCurrentNode())
-		{
-			m_executionContext.setCurrentNode(theNode);
-		}
-
-		~CurrentNodeSetAndRestore()
-		{
-			m_executionContext.setCurrentNode(m_savedNode);
-		}
-
-	private:
-
-		XPathExecutionContext&	m_executionContext;
-		XalanNode* const		m_savedNode;
-	};
-
-	/**
-	 * Retrieve the factory object for creating XObjects.
-	 * 
-	 * @return factory object instance
-	 */
-	XObjectFactory&
-	getXObjectFactory() const
-	{
-		assert(m_xobjectFactory != 0);
-
-		return *m_xobjectFactory;
-	}
-
-	/**
-	 * Convenience function for creating a node set with
-	 * the supplied node as the only member.
-	 *
-	 * @param node	The  node queried
-	 * @return a pointer to the XObject instance.
-	 */
-	virtual XObjectPtr
-	createNodeSet(XalanNode&	theNode) = 0;
-
-	/**
-	 * Determine if a node is after another node, in document order.
-	 *
-	 * @param node1 The first node
-	 * @param node2 The second node
-	 * @return true if node1 one is after node2, or false if it is not.
-	 */
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const = 0;
-
-	/**
-	 * Retrieve node list for current context.
-	 * 
-	 * @return node list
-	 */
-	virtual const NodeRefListBase&
-	getContextNodeList() const = 0;
-
-	/**
-	 * Set node list for current context.
-	 * 
-	 * @param theList new node list
-	 */
-	virtual void	
-	setContextNodeList(const NodeRefListBase&	theList) = 0;
-
-	class ContextNodeListSetAndRestore
-	{
-	public:
-
-		ContextNodeListSetAndRestore(
-				XPathExecutionContext&		theExecutionContext,
-				const NodeRefListBase&		theNodeList) :
-			m_executionContext(theExecutionContext),
-			m_savedNodeList(theExecutionContext.getContextNodeList())
-		{
-			m_executionContext.setContextNodeList(theNodeList);
-		}
-
-		~ContextNodeListSetAndRestore()
-		{
-			m_executionContext.setContextNodeList(m_savedNodeList);
-		}
-
-	private:
-
-		XPathExecutionContext&	m_executionContext;
-		const NodeRefListBase&	m_savedNodeList;
-	};
-
-	/*
-	 * Get the count of nodes in the current context node list.
-	 *
-	 * @return length of list
-	 */
-	virtual size_type
-	getContextNodeListLength() const = 0;
-
-	/*
-	 * Get the position of the node in the current context node list.
-	 * Note that this is 1-based indexing (XPath/XSLT-style), not 0-based.
-	 * Thus, 0 will be returned if the node was not found.
-	 *
-	 * @return position in list
-	 */
-	virtual size_type
-	getContextNodeListPosition(const XalanNode&		contextNode) const = 0;
-
-	/**
-	 * Determine if an external element is available.
-	 *
-	 * @param theNamespace  namespace for the element
-	 * @param elementName name of extension element
-	 * @return whether the given element is available or not
-	 */
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const = 0;
-
-	/**
-	 * Determine if a function is available.  For standard
-	 * function availability, theNamespace should be an
-	 * empty string.
-	 *
-	 * @param theNamespace  namespace for the function
-	 * @param functionName name of the function
-	 * @return whether the function is available or not
-	 */
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const = 0;
-
-	/**
-	 * Handle an extension function.
-	 * 
-	 * @param theNamespace  namespace of function    
-	 * @param functionName extension function name
-	 * @param context The context node
-	 * @param argVec vector of arguments to function
-	 * @param locator A Locator instance for error reporting
-	 * @return pointer to XObject result
-	 */
-	virtual const XObjectPtr
-	extFunction(
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) = 0;
-
-	/**
-	 * Provides support for XML parsing service.
-	 *
-	 * @param urlString location of the XML
-	 * @param base base location for URI
-	 * @return parsed document
-	 */
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) const = 0;
-
-	/**
-	 * Borrow a cached MutableNodeRefList instance.
-	 *
-	 * @return A pointer to the instance.
-	 */
-	virtual MutableNodeRefList*
-	borrowMutableNodeRefList() = 0;
-
-	/**
-	 * Return a previously borrowed MutableNodeRefList instance.
-	 *
-	 * @param theList A pointer the to previously borrowed instance.
-	 * @return true if the list was borrowed (at therefore, destroyed), false if not.
-	 */
-	virtual bool
-	returnMutableNodeRefList(MutableNodeRefList*	theList) = 0;
-
-	class BorrowReturnMutableNodeRefList
-	{
-	public:
-
-		BorrowReturnMutableNodeRefList(XPathExecutionContext&	executionContext) :
-			m_xpathExecutionContext(&executionContext),
-			m_mutableNodeRefList(executionContext.borrowMutableNodeRefList())
-		{
-			assert(m_mutableNodeRefList != 0);
-		}
-
-		// N.B. Non-const copy constructor semantics (like std::auto_ptr)
-		BorrowReturnMutableNodeRefList(const BorrowReturnMutableNodeRefList&	theSource) :
-			m_xpathExecutionContext(theSource.m_xpathExecutionContext),
-			m_mutableNodeRefList(theSource.m_mutableNodeRefList)
-		{
-			assert(m_mutableNodeRefList != 0);
-
-			((BorrowReturnMutableNodeRefList&)theSource).m_mutableNodeRefList = 0;
-		}
-
-		~BorrowReturnMutableNodeRefList()
-		{
-			release();
-		}
-
-		MutableNodeRefList&
-		operator*() const
-		{
-			assert(m_mutableNodeRefList != 0);
-
-			return *m_mutableNodeRefList;
-		}
-
-		MutableNodeRefList*
-		get() const
-		{
-			return m_mutableNodeRefList;
-		}
-
-		MutableNodeRefList*
-		operator->() const
-		{
-			return get();
-		}
-
-		void
-		release()
-		{
-			assert(m_xpathExecutionContext != 0);
-
-			if (m_mutableNodeRefList != 0)
-			{
-				m_xpathExecutionContext->returnMutableNodeRefList(m_mutableNodeRefList);
-
-				m_mutableNodeRefList = 0;
-			}
-		}
-
-		BorrowReturnMutableNodeRefList
-		clone() const
-		{
-			assert(m_xpathExecutionContext != 0);
-
-			BorrowReturnMutableNodeRefList	theResult(*m_xpathExecutionContext);
-
-			*theResult = *m_mutableNodeRefList;
-
-			return theResult;
-		}
-
-		// N.B. Non-const assignment operator semantics.
-		BorrowReturnMutableNodeRefList&
-		operator=(BorrowReturnMutableNodeRefList&	theRHS)
-		{
-			release();
-
-			m_xpathExecutionContext = theRHS.m_xpathExecutionContext;
-
-			m_mutableNodeRefList = theRHS.m_mutableNodeRefList;
-
-			theRHS.m_mutableNodeRefList = 0;
-
-			return *this;
-		}
-
-	private:
-
-		XPathExecutionContext*	m_xpathExecutionContext;
-
-		MutableNodeRefList*		m_mutableNodeRefList;
-	};
-
-	virtual XalanDOMString&
-	getCachedString() = 0;
-
-	virtual bool
-	releaseCachedString(XalanDOMString&		theString) = 0;
-
-	class GetAndReleaseCachedString
-	{
-	public:
-
-		GetAndReleaseCachedString(XPathExecutionContext&	theExecutionContext) :
-			m_executionContext(&theExecutionContext),
-			m_string(&theExecutionContext.getCachedString())
-		{
-		}
-
-		// Note non-const copy semantics...
-		GetAndReleaseCachedString(GetAndReleaseCachedString&	theSource) :
-			m_executionContext(theSource.m_executionContext),
-			m_string(theSource.m_string)
-		{
-			theSource.m_string = 0;
-		}
-
-		~GetAndReleaseCachedString()
-		{
-			if (m_string != 0)
-			{
-				m_executionContext->releaseCachedString(*m_string);
-			}
-		}
-
-		XalanDOMString&
-		get() const
-		{
-			assert(m_string != 0);
-
-			return *m_string;
-		}
-
-		XPathExecutionContext&
-		getExecutionContext() const
-		{
-			return *m_executionContext;
-		}
-
-	private:
-
-		// Not implemented...
-		GetAndReleaseCachedString&
-		operator=(const GetAndReleaseCachedString&);
-
-
-		// Data members...
-		XPathExecutionContext*	m_executionContext;
-
-		XalanDOMString*			m_string;
-	};
-
-	/**
-	 * Create a MutableNodeRefList with the appropriate context.
-	 *
-	 * @return pointer to node list created
-	 */
-	virtual MutableNodeRefList*
-	createMutableNodeRefList() const = 0;
-
-	/**
-	 * Given a valid element key, return the corresponding node list.
-	 *
-	 * @param doc              source document
-	 * @param name             name of the key, which must match the 'name'
-	 *                         attribute on xsl:key
-	 * @param ref              value that must match the value found by the
-	 *                         'match' attribute on xsl:key
-	 * @param resolver         resolver for namespace resolution
-	 * @param nodelist         A node list to contain the nodes found
-	 */
-	virtual void
-	getNodeSetByKey(
-			XalanNode*				doc,
-			const XalanDOMString&	name,
-			const XalanDOMString&	ref,
-			const PrefixResolver&	resolver,
-			MutableNodeRefList&		nodelist) = 0;
-
-	/**
-	 * Given a name, locate a variable in the current context, and return 
-	 * a pointer to the object.
-	 *
-	 * @param theName name of variable
-	 * @return pointer to an XObject if the variable was found, 0 if it was not
-	 */
-	virtual const XObjectPtr
-	getVariable(
-			const XalanQName&	name,
-			const Locator*		locator = 0) = 0;
-
-	/**
-	 * Retrieve the resolver for namespaces.
-	 * 
-	 * @return object for namespace resolution
-	 */
-	virtual const PrefixResolver*
-	getPrefixResolver() const = 0;
-
-	/**
-	 * Change the resolver for namespaces.
-	 * 
-	 * @param thePrefixResolver new object for namespace resolution
-	 */
-	virtual void
-	setPrefixResolver(const PrefixResolver*		thePrefixResolver) = 0;
-
-	class PrefixResolverSetAndRestore
-	{
-	public:
-
-		PrefixResolverSetAndRestore(
-				XPathExecutionContext&	theExecutionContext,
-				const PrefixResolver*	theResolver) :
-			m_executionContext(theExecutionContext),
-			m_savedResolver(theExecutionContext.getPrefixResolver())
-		{
-			m_executionContext.setPrefixResolver(theResolver);
-		}
-
-		PrefixResolverSetAndRestore(
-				XPathExecutionContext&	theExecutionContext,
-				const PrefixResolver*	theOldResolver,
-				const PrefixResolver*	theNewResolver) :
-			m_executionContext(theExecutionContext),
-			m_savedResolver(theOldResolver)
-		{
-			m_executionContext.setPrefixResolver(theNewResolver);
-		}
-
-		~PrefixResolverSetAndRestore()
-		{
-			m_executionContext.setPrefixResolver(m_savedResolver);
-		}
-
-	private:
-
-		XPathExecutionContext&			m_executionContext;
-		const PrefixResolver* const		m_savedResolver;
-	};
-
-	/**
-	 * Retrieve the URI corresponding to a namespace prefix
-	 * 
-	 * @param prefix prefix for a namespace
-	 * @return URI corresponding to namespace
-	 */
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const = 0;
-
-	/**
-	 * Given a DOM Document, tell what URI was used to parse it. Needed for
-	 * relative resolution.
-	 *
-	 * @param owner source document
-	 * @return document URI
-	 */
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const = 0;
-
-	/**
-	 * The getUnparsedEntityURI function returns the URI of the unparsed
-	 * entity with the specified name in the same document as the context
-	 * node (see [3.3 Unparsed Entities]). It returns the empty string if
-	 * there is no such entity.
-	 *
-	 * @param theName     name of entity
-	 * @param theDocument document containing entity
-	 * @return URI for the entity
-	 */
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const = 0;
-
-	/**
-	 * Tells, through the combination of the default-space attribute
-	 * on xsl:stylesheet, xsl:strip-space, xsl:preserve-space, and the
-	 * xml:space attribute, whether or not extra whitespace should be stripped
-	 * from the node.  Literal elements from template elements should
-	 * <em>not</em> be tested with this function.
-	 *
-	 * @param textNode text node from the source tree
-	 * @return true if the text node should be stripped of extra whitespace
-	 */
-	virtual bool
-	shouldStripSourceNode(const XalanNode&	node) = 0;
-
-	/**
-	 * Tells if FoundIndex should be thrown if index is found. This is an
-	 * optimization for match patterns, and is used internally by the XPath
-	 * engine.
-	 *
-	 * @return true to throw FoundIndex
-	 */
-	virtual bool
-	getThrowFoundIndex() const = 0;
-
-	/**
-	 * Changes whether FoundIndex should be thrown if index is found. This is an
-	 * optimization for match patterns, and is used internally by the XPath
-	 * engine.
-	 *
-	 * @param fThrow true to throw FoundIndex
-	 */
-	virtual void
-	setThrowFoundIndex(bool 	fThrow) = 0;
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const = 0;
-
-	/**
-	 * Associate a document with a given URI.
-	 *
-	 * @param theURI      document URI
-	 * @param theDocument source document
-	 */
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument) = 0;
-
-
-	/**
-	 * Retrieve the XalanDecimalFormatSymbols instance associated with
-	 * the name.
-	 *
-	 * @param qname the QName for the lookup
-	 * @return a pointer to the matching instance, or 0 if none was found
-	 */
-	virtual const XalanDecimalFormatSymbols*
-	getDecimalFormatSymbols(const XalanQName&	qname) = 0;
-
-	// These interfaces are inherited from ExecutionContext...
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const = 0;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-protected:
-
-	XObjectFactory*		m_xobjectFactory;
-};
-
-
-
-#endif	// XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathExecutionContextDefault.cpp b/src/XPath/XPathExecutionContextDefault.cpp
deleted file mode 100644
index 8759301..0000000
--- a/src/XPath/XPathExecutionContextDefault.cpp
+++ /dev/null
@@ -1,762 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-// Class header file...
-#include "XPathExecutionContextDefault.hpp"
-
-
-
-#include <xercesc/sax/Locator.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-#include "FoundIndex.hpp"
-#include "XObjectFactory.hpp"
-#include "XalanQName.hpp"
-#include "XPathEnvSupport.hpp"
-
-
-
-const NodeRefList	XPathExecutionContextDefault::s_dummyList;
-
-
-
-XPathExecutionContextDefault::XPathExecutionContextDefault(
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XObjectFactory&			theXObjectFactory,
-			XalanNode*				theCurrentNode,
-			const NodeRefListBase*	theContextNodeList,
-			const PrefixResolver*	thePrefixResolver) :
-	XPathExecutionContext(&theXObjectFactory),
-	m_xpathEnvSupport(&theXPathEnvSupport),
-	m_domSupport(&theDOMSupport),
-	m_currentNode(theCurrentNode),
-	m_contextNodeList(theContextNodeList == 0 ? &s_dummyList : theContextNodeList),
-	m_prefixResolver(thePrefixResolver),
-	m_throwFoundIndex(false),
-	m_nodeListCache(eNodeListCacheListSize),
-	m_stringCache()
-{
-}
-
-
-
-XPathExecutionContextDefault::XPathExecutionContextDefault(
-			XalanNode*				theCurrentNode,
-			const NodeRefListBase*	theContextNodeList,
-			const PrefixResolver*	thePrefixResolver) :
-	XPathExecutionContext(),
-	m_xpathEnvSupport(0),
-	m_domSupport(0),
-	m_currentNode(theCurrentNode),
-	m_contextNodeList(theContextNodeList == 0 ? &s_dummyList : theContextNodeList),
-	m_prefixResolver(thePrefixResolver),
-	m_throwFoundIndex(false),
-	m_nodeListCache(eNodeListCacheListSize),
-	m_stringCache()
-{
-}
-
-
-
-
-XPathExecutionContextDefault::~XPathExecutionContextDefault()
-{
-	reset();
-}
-
-
-
-void
-XPathExecutionContextDefault::reset()
-{
-	if (m_xpathEnvSupport != 0)
-	{
-		m_xpathEnvSupport->reset();
-	}
-
-	if (m_domSupport != 0)
-	{
-		m_domSupport->reset();
-	}
-
-	if (m_xobjectFactory != 0)
-	{
-		m_xobjectFactory->reset();
-	}
-
-	m_currentNode = 0;
-	m_contextNodeList = &s_dummyList;
-	m_prefixResolver = 0;
-	m_throwFoundIndex = false;
-
-	m_nodeListCache.reset(),
-
-	m_stringCache.reset();
-}
-
-
-
-XalanNode*
-XPathExecutionContextDefault::getCurrentNode() const
-{
-	return m_currentNode;
-}
-
-
-
-void
-XPathExecutionContextDefault::setCurrentNode(XalanNode*		theCurrentNode)
-{
-	m_currentNode = theCurrentNode;
-}
-
-
-
-XObjectPtr
-XPathExecutionContextDefault::createNodeSet(XalanNode&	theNode)
-{
-	assert(m_xobjectFactory != 0);
-
-	// This list will hold the node...
-	BorrowReturnMutableNodeRefList	theNodeList(*this);
-
-	theNodeList->addNode(&theNode);
-
-	return m_xobjectFactory->createNodeSet(theNodeList);
-}
-
-
-
-bool
-XPathExecutionContextDefault::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-{
-	return m_domSupport->isNodeAfter(node1, node2);
-}
-
-
-
-const NodeRefListBase&
-XPathExecutionContextDefault::getContextNodeList() const
-{
-	return *m_contextNodeList;
-}
-
-
-
-void	
-XPathExecutionContextDefault::setContextNodeList(const NodeRefListBase&	theList)
-{
-	m_contextNodeList = &theList;
-}
-
-
-
-XPathExecutionContextDefault::size_type
-XPathExecutionContextDefault::getContextNodeListLength() const
-{
-	if (m_throwFoundIndex == true)
-	{
-		throw FoundIndex();
-	}
-
-	return m_contextNodeList->getLength();
-}
-
-
-
-XPathExecutionContextDefault::size_type
-XPathExecutionContextDefault::getContextNodeListPosition(const XalanNode&	contextNode) const
-{
-	if (m_throwFoundIndex == true)
-	{
-		throw FoundIndex();
-	}
-
-	// Get the index of the node...
-	const size_type		theIndex = m_contextNodeList->indexOf(&contextNode);
-
-	// If not found return 0.  Otherwise, return the index + 1
-	return theIndex == NodeRefListBase::npos ? 0 : theIndex + 1;
-}
-
-
-
-bool
-XPathExecutionContextDefault::elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	return m_xpathEnvSupport->elementAvailable(theNamespace, elementName);
-}
-
-
-
-bool
-XPathExecutionContextDefault::functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	return m_xpathEnvSupport->functionAvailable(theNamespace, functionName);
-}
-
-
-
-const XObjectPtr
-XPathExecutionContextDefault::extFunction(
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName, 
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator)
-{
-	assert(m_xpathEnvSupport != 0);
-
-	return m_xpathEnvSupport->extFunction(*this, theNamespace, functionName, context, argVec, locator);
-}
-
-
-
-XalanDocument*
-XPathExecutionContextDefault::parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	return m_xpathEnvSupport->parseXML(urlString, base);
-}
-
-
-
-MutableNodeRefList*
-XPathExecutionContextDefault::borrowMutableNodeRefList()
-{
-	return m_nodeListCache.get();
-}
-
-
-
-bool
-XPathExecutionContextDefault::returnMutableNodeRefList(MutableNodeRefList*	theList)
-{
-	return m_nodeListCache.release(theList);
-}
-
-
-
-MutableNodeRefList*
-XPathExecutionContextDefault::createMutableNodeRefList() const
-{
-	return new MutableNodeRefList;
-}
-
-
-
-XalanDOMString&
-XPathExecutionContextDefault::getCachedString()
-{
-	return m_stringCache.get();
-}
-
-
-
-bool
-XPathExecutionContextDefault::releaseCachedString(XalanDOMString&	theString)
-{
-	return m_stringCache.release(theString);
-}
-
-
-
-void
-XPathExecutionContextDefault::getNodeSetByKey(
-			XalanNode*				/* doc */,
-			const XalanDOMString&	/* name */,
-			const XalanDOMString&	/* ref */,
-			const PrefixResolver&	/* resolver */,
-			MutableNodeRefList&		/* nodelist */)
-{
-}
-
-
-
-const XObjectPtr
-XPathExecutionContextDefault::getVariable(
-			const XalanQName&		name,
-			const Locator*			/* locator */)
-{
-	assert(m_xobjectFactory != 0);
-
-	return m_xobjectFactory->createUnknown(name.getLocalPart());
-}
-
-
-
-const PrefixResolver*
-XPathExecutionContextDefault::getPrefixResolver() const
-{
-	return m_prefixResolver;
-}
-
-
-
-void
-XPathExecutionContextDefault::setPrefixResolver(const PrefixResolver*	thePrefixResolver)
-{
-	m_prefixResolver = thePrefixResolver;
-}
-
-
-
-const XalanDOMString*
-XPathExecutionContextDefault::getNamespaceForPrefix(const XalanDOMString&	prefix) const
-{
-	assert(m_prefixResolver != 0);
-
-	return m_prefixResolver->getNamespaceForPrefix(prefix);
-}
-
-
-
-XalanDOMString
-XPathExecutionContextDefault::findURIFromDoc(const XalanDocument*	owner) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	return m_xpathEnvSupport->findURIFromDoc(owner);
-}
-
-
-
-const XalanDOMString&
-XPathExecutionContextDefault::getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const
-{
-	return m_domSupport->getUnparsedEntityURI(theName, theDocument);
-}
-
-
-
-bool
-XPathExecutionContextDefault::shouldStripSourceNode(const XalanNode&	/* node */)
-{
-	return false;
-}
-
-
-
-void
-XPathExecutionContextDefault::error(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const XalanNode*		/* styleNode */) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	if (m_xpathEnvSupport->problem(
-			XPathEnvSupport::eXPATHProcessor, 
-			XPathEnvSupport::eError,
-			m_prefixResolver, 
-			sourceNode,
-			msg,
-			0,
-			-1,
-			-1) == true)
-	{
-		throw XalanXPathException(msg, 0);
-	}
-}
-
-
-
-void
-XPathExecutionContextDefault::error(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const Locator*			locator) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	int				lineNumber = -1;
-	int				columnNumber = -1;
-
-	XalanDOMString	uri;
-
-	if (locator != 0)
-	{
-		lineNumber = locator->getLineNumber();
-		columnNumber = locator->getColumnNumber();
-
-		const XalanDOMChar*		id =
-			locator->getPublicId();
-
-		if (id != 0)
-		{
-			uri = id;
-		}
-		else
-		{
-			id = locator->getSystemId();
-
-			if (id != 0)
-			{
-				uri = id;
-			}
-		}
-	}
-
-	if (m_xpathEnvSupport->problem(
-			XPathEnvSupport::eXPATHProcessor, 
-			XPathEnvSupport::eError,
-			m_prefixResolver, 
-			sourceNode,
-			msg,
-			c_wstr(uri),
-			lineNumber,
-			columnNumber) == true)
-	{
-		throw XalanXPathException(msg, uri, lineNumber, columnNumber);
-	}
-}
-
-
-
-void
-XPathExecutionContextDefault::error(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-XPathExecutionContextDefault::error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-XPathExecutionContextDefault::warn(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const XalanNode*		/* styleNode */) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	if (m_xpathEnvSupport->problem(
-			XPathEnvSupport::eXPATHProcessor, 
-			XPathEnvSupport::eWarning,
-			m_prefixResolver, 
-			sourceNode,
-			msg,
-			0,
-			-1,
-			-1) == true)
-	{
-		throw XalanXPathException(msg, sourceNode);
-	}
-}
-
-
-
-void
-XPathExecutionContextDefault::warn(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const Locator* 			locator) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	int					lineNumber = -1;
-	int					columnNumber = -1;
-
-	XalanDOMString	uri;
-
-	if (locator != 0)
-	{
-		lineNumber = locator->getLineNumber();
-		columnNumber = locator->getColumnNumber();
-
-		const XalanDOMChar*		id =
-			locator->getPublicId();
-
-		if (id != 0)
-		{
-			uri = id;
-		}
-		else
-		{
-			id = locator->getSystemId();
-
-			if (id != 0)
-			{
-				uri = id;
-			}
-		}
-	}
-
-	if (m_xpathEnvSupport->problem(
-			XPathEnvSupport::eXPATHProcessor, 
-			XPathEnvSupport::eWarning,
-			m_prefixResolver, 
-			sourceNode,
-			msg,
-			c_wstr(uri),
-			lineNumber,
-			columnNumber) == true)
-	{
-		throw XalanXPathException(msg, uri, lineNumber, columnNumber);
-	}
-}
-
-
-
-void
-XPathExecutionContextDefault::warn(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-XPathExecutionContextDefault::warn(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const Locator* 		locator) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-XPathExecutionContextDefault::message(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const XalanNode*		/* styleNode */) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	if (m_xpathEnvSupport->problem(
-			XPathEnvSupport::eXPATHProcessor, 
-			XPathEnvSupport::eMessage,
-			m_prefixResolver, 
-			sourceNode,
-			msg,
-			0,
-			-1,
-			-1) == true)
-	{
-		// $$$ ToDo: Do something with the PrefixResolver here...
-		throw XalanXPathException(msg);
-	}
-}
-
-
-
-void
-XPathExecutionContextDefault::message(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const Locator* 			locator) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	int					lineNumber = -1;
-	int					columnNumber = -1;
-
-	XalanDOMString	uri;
-
-	if (locator != 0)
-	{
-		lineNumber = locator->getLineNumber();
-		columnNumber = locator->getColumnNumber();
-
-		const XalanDOMChar*		id =
-			locator->getPublicId();
-
-		if (id != 0)
-		{
-			uri = id;
-		}
-		else
-		{
-			id = locator->getSystemId();
-
-			if (id != 0)
-			{
-				uri = id;
-			}
-		}
-	}
-
-	if (m_xpathEnvSupport->problem(
-			XPathEnvSupport::eXPATHProcessor, 
-			XPathEnvSupport::eMessage,
-			m_prefixResolver, 
-			sourceNode,
-			msg,
-			c_wstr(uri),
-			lineNumber,
-			columnNumber) == true)
-	{
-		throw XalanXPathException(msg, uri, lineNumber, columnNumber);
-	}
-}
-
-
-
-void
-XPathExecutionContextDefault::message(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-XPathExecutionContextDefault::message(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const Locator* 		locator) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-			
-			
-bool
-XPathExecutionContextDefault::getThrowFoundIndex() const
-{
-	return m_throwFoundIndex;
-}
-
-
-
-void
-XPathExecutionContextDefault::setThrowFoundIndex(bool 	fThrow)
-{
-	m_throwFoundIndex = fThrow;
-}
-
-
-
-XalanDocument*
-XPathExecutionContextDefault::getSourceDocument(const XalanDOMString&	theURI) const
-{
-	assert(m_xpathEnvSupport != 0);
-
-	return m_xpathEnvSupport->getSourceDocument(theURI);
-}
-
-
-
-void
-XPathExecutionContextDefault::setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument)
-{
-	assert(m_xpathEnvSupport != 0);
-
-	m_xpathEnvSupport->setSourceDocument(theURI, theDocument);
-}
-
-
-
-const XalanDecimalFormatSymbols*
-XPathExecutionContextDefault::getDecimalFormatSymbols(const XalanQName&		/* qname */)
-{
-	return 0;
-}
diff --git a/src/XPath/XPathExecutionContextDefault.hpp b/src/XPath/XPathExecutionContextDefault.hpp
deleted file mode 100644
index f0c003f..0000000
--- a/src/XPath/XPathExecutionContextDefault.hpp
+++ /dev/null
@@ -1,404 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
-#define XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <deque>
-
-
-
-#include <Include/XalanObjectCache.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class include file.
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-#include <PlatformSupport/XalanDOMStringCache.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-
-
-
-class DOMSupport;
-class XPathEnvSupport;
-class XalanQName;
-
-
-
-/**
- * A basic implementation of the class XPathExecutionContext.
- */
-class XALAN_XPATH_EXPORT XPathExecutionContextDefault : public XPathExecutionContext
-{
-public:
-
-	/**
-	 * Construct an XPathExecutionContextDefault object
-	 *
-	 * @param theXPathEnvSupport XPathEnvSupport class instance
-	 * @param theDOMSupport		 DOMSupport class instance
-	 * @param theXobjectFactory  factory class instance for XObjects
-	 * @param theCurrentNode     current node in the source tree
-	 * @param theContextNodeList node list for current context
-	 * @param thePrefixResolver  pointer to prefix resolver to use
-	 */	
-	XPathExecutionContextDefault(
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XObjectFactory&			theXObjectFactory,
-			XalanNode*				theCurrentNode = 0,
-			const NodeRefListBase*	theContextNodeList = 0,
-			const PrefixResolver*	thePrefixResolver = 0);
-
-	/**
-	 * Construct an XPathExecutionContextDefault object
-	 *
-	 * @param theXPathEnvSupport XPathEnvSupport class instance
-	 * @param theXObjectFactory  factory class instance for XObjects
-	 * @param theCurrentNode     current node in the source tree
-	 * @param theContextNodeList node list for current context
-	 * @param thePrefixResolver  pointer to prefix resolver to use
-	 */
-	explicit
-	XPathExecutionContextDefault(
-			XalanNode*				theCurrentNode = 0,
-			const NodeRefListBase*	theContextNodeList = 0,
-			const PrefixResolver*	thePrefixResolver = 0);
-
-	virtual
-	~XPathExecutionContextDefault();
-
-
-	/**
-	 * Set the XPathEnvSupport instance.
-	 *
-	 * @param theSupport a reference to the instance to use.
-	 */
-	void
-	setXPathEnvSupport(XPathEnvSupport*		theSupport)
-	{
-		m_xpathEnvSupport = theSupport;
-	}
-
-	/**
-	 * Set the DOMSupport instance.
-	 *
-	 * @param theDOMSupport a reference to the instance to use.
-	 */
-	void
-	setDOMSupport(DOMSupport*	theDOMSupport)
-	{
-		m_domSupport = theDOMSupport;
-	}
-
-	/**
-	 * Set the XObjectFactory instance.
-	 *
-	 * @param theFactory a reference to the instance to use.
-	 */
-	void
-	setXObjectFactory(XObjectFactory*	theXObjectFactory)
-	{
-		m_xobjectFactory = theXObjectFactory;
-	}
-
-
-	// These interfaces are inherited from XPathExecutionContext...
-
-	virtual void
-	reset();
-
-	virtual XalanNode*
-	getCurrentNode() const;
-
-	virtual void
-	setCurrentNode(XalanNode*		theCurrentNode);
-
-	virtual XObjectPtr
-	createNodeSet(XalanNode&	theNode);
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const;
-
-	virtual const NodeRefListBase&
-	getContextNodeList() const;
-
-	virtual void	
-	setContextNodeList(const NodeRefListBase&	theList);
-
-	virtual size_type
-	getContextNodeListLength() const;
-
-	virtual size_type
-	getContextNodeListPosition(const XalanNode&		contextNode) const;
-
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const;
-
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const;
-
-	virtual const XObjectPtr
-	extFunction(
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator);
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) const;
-
-	virtual MutableNodeRefList*
-	borrowMutableNodeRefList();
-
-	virtual bool
-	returnMutableNodeRefList(MutableNodeRefList*	theList);
-
-	virtual MutableNodeRefList*
-	createMutableNodeRefList() const;
-
-	virtual XalanDOMString&
-	getCachedString();
-
-	virtual bool
-	releaseCachedString(XalanDOMString&		theString);
-
-	virtual void
-	getNodeSetByKey(
-			XalanNode*				doc,
-			const XalanDOMString&	name,
-			const XalanDOMString&	ref,
-			const PrefixResolver&	resolver,
-			MutableNodeRefList&		nodelist);
-
-	virtual const XObjectPtr
-	getVariable(
-			const XalanQName&	name,
-			const Locator*		locator = 0);
-
-	virtual const PrefixResolver*
-	getPrefixResolver() const;
-
-	virtual void
-	setPrefixResolver(const PrefixResolver*		thePrefixResolver);
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const;
-
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const;
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&		theName,
-			const XalanDocument&		theDocument) const;
-
-	virtual bool
-	shouldStripSourceNode(const XalanNode&	node);
-
-	virtual bool
-	getThrowFoundIndex() const;
-
-	virtual void
-	setThrowFoundIndex(bool 	fThrow);
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const;
-
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument);
-
-	virtual const XalanDecimalFormatSymbols*
-	getDecimalFormatSymbols(const XalanQName&	qname);
-
-
-	// These interfaces are inherited from ExecutionContext...
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-protected:
-
-	typedef XalanObjectCache<MutableNodeRefList, DefaultCacheCreateFunctor<MutableNodeRefList>, DeleteFunctor<MutableNodeRefList>, ClearCacheResetFunctor<MutableNodeRefList> >	NodeListCacheType;
-
-	enum { eNodeListCacheListSize = 50 };
-
-	XPathEnvSupport*			m_xpathEnvSupport;
-
-	DOMSupport*					m_domSupport;
-
-	XalanNode*					m_currentNode;
-
-	const NodeRefListBase*		m_contextNodeList;
-
-	const PrefixResolver*		m_prefixResolver;
-
-	bool						m_throwFoundIndex;
-
-	XalanDOMString				m_currentPattern;
-
-	NodeListCacheType			m_nodeListCache;
-
-	XalanDOMStringCache			m_stringCache;
-
-	static const NodeRefList	s_dummyList;
-};
-
-
-
-#endif	// XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathExpression.cpp b/src/XPath/XPathExpression.cpp
deleted file mode 100644
index eaa7374..0000000
--- a/src/XPath/XPathExpression.cpp
+++ /dev/null
@@ -1,909 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XPathExpression.hpp"
-
-
-
-#include <algorithm>
-#include <cstdio>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#include <strstream.h>
-#else
-#include <ostream>
-#include <strstream>
-#endif
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-
-
-
-// This is an array which indicates which of the value defined by
-// XPathExpression::eOpCodes are node tests.
-static const bool	theNodeTestOpCodesArray[] =
-{
-	false, false, true,  false, false, false, false, false, false, false,
-	false, false, false, false, false, false, false, false, false, false,
-	false, false, false, false, false, false, false, false, false, false,
-	false, false, false, false, true,  true,  true,  true,  true,  true,
-	true,  true,  true,  true,  true,  true,  true,  false, false, false, 
-	true,  true,  true
-};
-
-static const unsigned int	theNodeTestOpCodesArraySize =
-		sizeof(theNodeTestOpCodesArray) / sizeof(theNodeTestOpCodesArray[0]);
-
-
-// This is an array for all of the opcode defined by XPathExpression::eOpCodes.
-// It is offset by 3, because there opcode values are -3, -2, and -1.  So,
-// when getting the length of an opcode, we add three to get the correct index.
-static const int	theOpCodeLengthArray[] =
-{
-	1,
-	1,
-	1,
-
-	0,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 3,
-	XPathExpression::s_opCodeMapLengthIndex + 3,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	1,
-	1,
-
-	1,
-	1,
-	1,
-	1,
-	1,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 1,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 2,
-	XPathExpression::s_opCodeMapLengthIndex + 1
-};
-
-static const int	theOpCodeLengthArraySize =
-		sizeof(theOpCodeLengthArray) / sizeof(theOpCodeLengthArray[0]);
-
-
-
-inline int
-getOpCodeLength(int		theOpCode)
-{
-	assert(theOpCodeLengthArraySize == XPathExpression::eOpCodeNextAvailable + 3);
-
-	// Add 3 to get the correct index into the array...
-	theOpCode += 3;
-
-	if (theOpCode < 0 || theOpCode >= theOpCodeLengthArraySize)
-	{
-		return 0;
-	}
-	else
-	{
-		return theOpCodeLengthArray[theOpCode];
-	}
-}
-
-
-
-XPathExpression::XPathExpressionException::XPathExpressionException(const XalanDOMString&	theMessage) :
-	XalanXPathException(theMessage)
-{
-}
-
-
-
-XPathExpression::XPathExpressionException::~XPathExpressionException()
-{
-}
-
-
-
-XPathExpression::InvalidOpCodeException::InvalidOpCodeException(int		theOpCode) :
-	XPathExpressionException(FormatErrorMessage(theOpCode))
-{
-}
-
-
-
-XPathExpression::InvalidOpCodeException::~InvalidOpCodeException()
-{
-}
-
-
-
-XalanDOMString
-XPathExpression::InvalidOpCodeException::FormatErrorMessage(int		theOpCode)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::ostrstream;
-#endif
-
-	char	theBuffer[50];
-
-	ostrstream	theFormatter(theBuffer, sizeof(theBuffer));
-
-	theFormatter << "Invalid op code "
-				 << theOpCode
-				 << " was detected."
-				 << '\0';
-
-	return TranscodeFromLocalCodePage(theFormatter.str());
-}
-
-
-
-XPathExpression::InvalidArgumentCountException::InvalidArgumentCountException(
-			int		theOpCode,
-			int		theExpectedCount,
-			int		theSuppliedCount) :
-	XPathExpressionException(FormatErrorMessage(theOpCode, theExpectedCount, theSuppliedCount))
-{
-}
-
-
-
-XPathExpression::InvalidArgumentCountException::~InvalidArgumentCountException()
-{
-}
-
-
-
-XalanDOMString
-XPathExpression::InvalidArgumentCountException::FormatErrorMessage(
-			int		theOpCode,
-			int		theExpectedCount,
-			int		theSuppliedCount)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::ostrstream;
-#endif
-
-	char	theBuffer[200];
-
-	ostrstream	theFormatter(theBuffer, sizeof(theBuffer));
-
-	theFormatter << "An invalid number of arguments for op code "
-				 << theOpCode
-				 << " was detected.  "
-				 << "The required number of arguments is "
-				 << theExpectedCount
-				 << ", but "
-				 << theSuppliedCount
-				 << " arguments(s) were supplied."
-				 << '\0';
-
-	return TranscodeFromLocalCodePage(theFormatter.str());
-}
-
-
-
-XPathExpression::InvalidArgumentException::InvalidArgumentException(
-			int	theOpCode,
-			int	theValue) :
-	XPathExpressionException(FormatErrorMessage(theOpCode, theValue))
-{
-}
-
-
-
-XPathExpression::InvalidArgumentException::~InvalidArgumentException()
-{
-}
-
-
-
-XalanDOMString
-XPathExpression::InvalidArgumentException::FormatErrorMessage(
-				int		theOpCode,
-				int		theValue)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::ostrstream;
-#endif
-
-	char	theBuffer[100];
-
-	ostrstream	theFormatter(theBuffer, sizeof(theBuffer));
-
-	theFormatter << "An invalid argument of "
-				 << theValue
-				 << " was supplied for op code "
-				 << theOpCode
-				 << "."
-				 << '\0';
-
-	return TranscodeFromLocalCodePage(theFormatter.str());
-}
-
-
-
-XPathExpression::InvalidRelativeTokenPosition::InvalidRelativeTokenPosition(int		theOffset) :
-	XPathExpressionException(FormatErrorMessage(theOffset))
-{
-}
-
-
-
-XPathExpression::InvalidRelativeTokenPosition::~InvalidRelativeTokenPosition()
-{
-}
-
-
-
-XalanDOMString
-XPathExpression::InvalidRelativeTokenPosition::FormatErrorMessage(int	theOffset)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::ostrstream;
-#endif
-
-	char	theBuffer[100];
-
-	ostrstream	theFormatter(theBuffer, sizeof(theBuffer));
-
-	theFormatter << "An invalid offset of "
-				 << theOffset
-				 << " was supplied as a relative token position."
-				 << "."
-				 << '\0';
-
-	return TranscodeFromLocalCodePage(theFormatter.str());
-}
-
-
-
-XPathExpression::XPathExpression() :
-	m_opMap(),
-	m_lastOpCodeIndex(0),
-	m_tokenQueue(),
-	m_currentPosition(0),
-	m_patternMap(100, 0),
-	m_currentPattern()
-{
-	m_opMap.reserve(eDefaultOpMapSize);
-}
-
-
-
-XPathExpression::~XPathExpression()
-{
-	reset();
-}
-
-
-
-void
-XPathExpression::reset()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::fill;
-		using std::for_each;
-#endif
-
-	m_opMap.clear();
-	m_tokenQueue.clear();
-
-	fill(m_patternMap.begin(), m_patternMap.end(), 0);
-}
-
-
-
-void
-XPathExpression::shrink()
-{
-	if (m_opMap.capacity() > m_opMap.size())
-	{
-		OpCodeMapType(m_opMap).swap(m_opMap);
-	}
-
-	if (m_patternMap.capacity() > m_patternMap.size())
-	{
-		PatternMapType(m_patternMap).swap(m_patternMap);
-	}
-}
-
-
-
-XPathExpression::OpCodeMapValueType
-XPathExpression::getOpCodeLengthFromOpMap(OpCodeMapSizeType		opPos) const
-{
-	OpCodeMapValueType	theResult = 0;
-
-	if (opPos >= opCodeMapSize())
-	{
-		throw InvalidOpCodeException(-1);
-	}
-	else
-	{
-		// Is there a valid opcode?
-		const int	theOpCodeLength = getOpCodeLength(m_opMap[opPos]);
-
-		if (theOpCodeLength == 0)
-		{
-			throw InvalidOpCodeException(-1);
-		}
-		else
-		{
-			// Does the Op code have a length > 1?
-			if (theOpCodeLength > 1)
-			{
-				// Yes, so get the length.
-				theResult = m_opMap[opPos + s_opCodeMapLengthIndex];
-			}
-		}
-	}
-
-	return theResult;
-}
-
-
-
-void
-XPathExpression::setOpCodeArgs(
-			eOpCodes							theOpCode,
-			OpCodeMapSizeType					theIndex,
-			const OpCodeMapValueVectorType&		theArgs)
-{
-	// There must be at least enough space to hold the OpCode
-	// and the length indicator.
-	assert(opCodeMapSize() > theIndex + 1);
-
-	const int	theOpCodeLength = getOpCodeLength(theOpCode);
-
-	// Make sure it's a valid op code and that it
-	// matches the op code at supplied index.
-	if (theOpCodeLength == 0 ||
-		m_opMap[theIndex] != theOpCode)
-	{
-		throw InvalidOpCodeException(theOpCode);
-	}
-	else
-	{
-		const OpCodeMapSizeType		theArgCount =
-				theOpCodeLength - 1 - s_opCodeMapLengthIndex;
-
-		if (theArgCount != theArgs.size())
-		{
-			throw InvalidArgumentCountException(theOpCode,
-												theOpCodeLength,
-												theArgCount);
-		}
-		else
-		{
-			assert(opCodeMapSize() > theIndex + theArgCount);
-
-			for (OpCodeMapSizeType	i = 0; i < theArgCount; ++i)
-			{
-				if (theArgs[i] < 0)
-				{
-					throw InvalidArgumentException(theOpCode,
-												   theArgs[i]);
-				}
-				else
-				{
-					m_opMap[i + theIndex + s_opCodeMapLengthIndex + 1] =
-						theArgs[i];
-				}
-			}
-		}
-	}
-}
-
-
-
-void
-XPathExpression::appendOpCode(eOpCodes	theOpCode)
-{
-	const int	theOpCodeLength = getOpCodeLength(theOpCode);
-
-	if (theOpCodeLength == 0)
-	{
-		throw InvalidOpCodeException(theOpCode);
-	}
-	else
-	{
-		// Set the current index before pushing, by
-		// getting the length, which will be correct
-		// after the push.
-		m_lastOpCodeIndex = opCodeMapSize();
-
-		m_opMap.push_back(theOpCode);
-
-		assert(s_opCodeMapLengthIndex == 1);
-
-		if (theOpCodeLength > 1)
-		{
-			m_opMap.push_back(theOpCodeLength);
-
-			for (int i = 2; i < theOpCodeLength; ++i)
-			{
-				m_opMap.push_back(eENDOP);
-			}
-		}
-
-		if (m_lastOpCodeIndex != 0)
-		{
-			m_opMap[s_opCodeMapLengthIndex] += theOpCodeLength;
-		}
-	}
-
-	assert(opCodeMapSize() == OpCodeMapSizeType(opCodeMapLength()));
-}
-
-
-
-void
-XPathExpression::replaceOpCode(
-			OpCodeMapSizeType	theIndex,
-			eOpCodes			theOldOpCode,
-			eOpCodes			theNewOpCode)
-{
-	if (theIndex >= m_opMap.size() ||
-		m_opMap[theIndex] != theOldOpCode ||
-		getOpCodeLength(theOldOpCode) != getOpCodeLength(theNewOpCode))
-	{
-		throw InvalidOpCodeException(theNewOpCode);
-	}
-	else
-	{
-		m_opMap[theIndex] = theNewOpCode;
-	}
-}
-
-
-
-XPathExpression::OpCodeMapValueType
-XPathExpression::insertOpCode(
-			eOpCodes			theOpCode,
-			OpCodeMapSizeType	theIndex)
-{
-	const int	theOpCodeLength = getOpCodeLength(theOpCode);
-
-	if (theOpCodeLength == 0)
-	{
-		throw InvalidOpCodeException(theOpCode);
-	}
-	else
-	{
-		// Insert -1 for each element of the opcode.
-		m_opMap.insert(m_opMap.begin() + theIndex, theOpCodeLength, -1);
-
-		// Set the member that contains the last insert/appended
-		// index.
-		m_lastOpCodeIndex = theIndex;
-
-		// Assign the opcode.
-		m_opMap[theIndex] = theOpCode;
-
-		// Update the entire expression length.
-		m_opMap[s_opCodeMapLengthIndex] += theOpCodeLength;
-	}
-
-	return theOpCodeLength;
-}
-
-
-
-void
-XPathExpression::updateShiftedOpCodeLength(
-			OpCodeMapValueType	theOpCode,
-			OpCodeMapSizeType	theOriginalIndex,
-			OpCodeMapSizeType	theNewIndex)
-{
-	// There must be some other expressions in
-	// the buffer...
-	assert(opCodeMapSize() > theNewIndex + 1);
-
-	assert(theNewIndex > theOriginalIndex);
-
-	const int	theOpCodeLength = getOpCodeLength(theOpCode);
-
-	// Make sure it's a valid op code and that it
-	// matches the op code at supplied index.
-	if (theOpCodeLength == 0 ||
-		m_opMap[theNewIndex] != theOpCode)
-	{
-		throw InvalidOpCodeException(theOpCode);
-	}
-	else
-	{
-		// Determine where the length position of the op code
-		// is.
-		const	OpCodeMapSizeType	theLengthIndex =
-						theNewIndex + s_opCodeMapLengthIndex;
-
-		// Too long, then throw an exception.
-		if (theLengthIndex >= opCodeMapSize())
-		{
-			throw InvalidOpCodeException(theOpCode);
-		}
-		else
-		{
-			// Look ahead to where the new operand is.
-			const OpCodeMapSizeType		theNextOpCodePosition =
-						getNextOpCodePosition(theNewIndex);
-
-			// If it's there, then update our size by
-			// adding that size in.
-			if (theNextOpCodePosition < opCodeMapSize())
-			{
-				m_opMap[theLengthIndex] += getOpCodeLengthFromOpMap(theNextOpCodePosition);
-			}
-		}
-	}
-}
-
-
-
-void
-XPathExpression::updateOpCodeLength(
-			OpCodeMapValueType	theOpCode,
-			OpCodeMapSizeType	theIndex)
-{
-	// There must be some other expressions in
-	// the buffer...
-	assert(opCodeMapSize() > theIndex + 1);
-
-	const int	theOpCodeLength = getOpCodeLength(theOpCode);
-
-	// Make sure it's a valid op code and that it
-	// matches the op code at supplied index.
-	if (theOpCodeLength == 0 ||
-		m_opMap[theIndex] != theOpCode)
-	{
-		throw InvalidOpCodeException(theOpCode);
-	}
-	else
-	{
-		// This presumes that the other opcodes
-		// have been appended to the expression,
-		// and that the specified op code's length
-		// needs to be set.  The size includes the
-		// normal length of the opcode, plus the
-		// length of its subexpressions.
-		m_opMap[theIndex + s_opCodeMapLengthIndex] =
-							opCodeMapLength() - theIndex;
-	}
-}
-
-
-
-bool
-XPathExpression::isNodeTestOpCode(OpCodeMapValueType	theOpCode)
-{
-	if (theOpCode < theNodeTestOpCodesArraySize)
-	{
-		return theNodeTestOpCodesArray[theOpCode];
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-void
-XPathExpression::updateOpCodeLengthAfterNodeTest(OpCodeMapSizeType	theIndex)
-{
-	// There must be some other expressions in
-	// the buffer...
-	assert(opCodeMapSize() > theIndex + 1);
-
-	const OpCodeMapValueType	theOpCode =
-						m_opMap[theIndex];
-
-	const int	theOpCodeLength = getOpCodeLength(theOpCode);
-
-	// Make sure it's a valid op code and that it
-	// is a node test op code.
-	if (theOpCodeLength == 0 ||
-		isNodeTestOpCode(theOpCode) == false)
-	{
-		throw InvalidOpCodeException(theOpCode);
-	}
-	else
-	{
-		m_opMap[theIndex + s_opCodeMapLengthIndex + 1] =
-							opCodeMapLength() - theIndex;
-	}
-}
-
-
-
-void
-XPathExpression::dumpOpCodeMap(
-			PrintWriter&		thePrintWriter,
-			OpCodeMapSizeType	theStartPosition) const
-{
-	for (OpCodeMapSizeType	i = theStartPosition;
-				i < opCodeMapSize(); i++) 
-	{
-		thePrintWriter.print(" '");
-		thePrintWriter.print(m_opMap[i]);
-		thePrintWriter.print("'");
-	}
-}
-
-
-
-void
-XPathExpression::dumpOpCodeMap(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&			theStream,
-#else
-			std::ostream&		theStream,
-#endif
-			OpCodeMapSizeType	theStartPosition) const
-{
-	for (OpCodeMapSizeType	i = theStartPosition;
-				i < opCodeMapSize(); i++) 
-	{
-		theStream << " '" << m_opMap[i] << "'";
-	}
-}
-
-
-
-void
-XPathExpression::dumpTokenQueue(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&			theStream,
-#else
-			std::ostream&		theStream,
-#endif
-			TokenQueueSizeType	theStartPosition) const
-{
-	for (TokenQueueSizeType	i = theStartPosition;
-				i < tokenQueueSize(); i++) 
-	{
-		assert(getToken(i) != 0);
-
-		theStream << " '" << getToken(i)->str() << "'";
-	}
-}
-
-
-
-void
-XPathExpression::dumpTokenQueue(
-			PrintWriter&		thePrintWriter,
-			TokenQueueSizeType	theStartPosition) const
-{
-	for (TokenQueueSizeType	i = theStartPosition;
-				i < tokenQueueSize(); i++) 
-	{
-		assert(getToken(i) != 0);
-
-		if (i > 0)
-		{
-			thePrintWriter.print(" '");
-		}
-		else
-		{
-			thePrintWriter.print("'");
-		}
-
-		thePrintWriter.print(getToken(i)->str());
-		thePrintWriter.print("'");
-	}
-}
-
-
-
-void
-XPathExpression::dumpRemainingTokenQueue(PrintWriter&	thePrintWriter) const
-{
-	thePrintWriter.print("Remaining tokens: (");
-
-	dumpTokenQueue(thePrintWriter,
-				   m_currentPosition);
-
-	thePrintWriter.print(")");
-}
-
-
-
-void
-#if defined(XALAN_NO_NAMESPACES)
-XPathExpression::dumpRemainingTokenQueue(ostream&		theStream) const
-#else
-XPathExpression::dumpRemainingTokenQueue(std::ostream&	theStream) const
-#endif
-{
-	theStream << "Remaining tokens: (";
-
-	dumpTokenQueue(theStream,
-				   m_currentPosition);
-
-	theStream << ")";
-}
-
-
-
-void
-XPathExpression::pushArgumentOnOpCodeMap(const XalanDOMString&	theToken)
-{
-	assert(m_currentPosition != 0);
-
-	const TokenQueueSizeType	thePosition = m_currentPosition - 1;
-
-	assert(thePosition < tokenQueueSize());
-
-	// Set the entry in the token queue to the XObject.
-	m_tokenQueue[thePosition] = theToken;
-
-	// Push the index onto the op map.
-	m_opMap.push_back(thePosition);
-
-	// Update the op map length.
-	m_opMap[s_opCodeMapLengthIndex]++;
-}
-
-
-
-void
-XPathExpression::pushArgumentOnOpCodeMap(double		theToken)
-{
-	assert(m_currentPosition != 0);
-
-	const TokenQueueSizeType	thePosition = m_currentPosition - 1;
-
-	assert(thePosition < tokenQueueSize());
-
-	// Set the entry in the token queue to the XObject.
-	m_tokenQueue[thePosition] = theToken;
-
-	// Push the index onto the op map.
-	m_opMap.push_back(thePosition);
-
-	// Update the op map length.
-	m_opMap[s_opCodeMapLengthIndex]++;
-}
-
-
-
-void
-XPathExpression::pushNumberLiteralOnOpCodeMap(double	theNumber)
-{
-	// Get the new index for the literal...
-	const OpCodeMapValueType	theIndex = OpCodeMapValueType(m_numberLiteralValues.size());
-
-	assert(NumberLiteralValueVectorType::size_type(theIndex) == m_numberLiteralValues.size());
-
-	// Push the index onto the op map.
-	m_opMap.push_back(theIndex);
-
-	// Update the op map length.
-	m_opMap[s_opCodeMapLengthIndex]++;
-
-	m_numberLiteralValues.push_back(theNumber);
-}
-
-
-
-void
-XPathExpression::pushCurrentTokenOnOpCodeMap()
-{
-	assert(m_currentPosition != 0);
-
-	const TokenQueueSizeType	thePosition = m_currentPosition - 1;
-
-	assert(thePosition < tokenQueueSize());
-
-	// Push the index onto the op map.
-	m_opMap.push_back(thePosition);
-
-	// Update the op map length.
-	m_opMap[s_opCodeMapLengthIndex]++;
-}
diff --git a/src/XPath/XPathExpression.hpp b/src/XPath/XPathExpression.hpp
deleted file mode 100644
index e34ee0a..0000000
--- a/src/XPath/XPathExpression.hpp
+++ /dev/null
@@ -1,1486 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHEXPRESSION_HEADER_GUARD_1357924680)
-#define XPATHEXPRESSION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <vector>
-
-#if defined(XALAN_OLD_STREAMS)
-#include <iostream.h>
-#else
-#include <iosfwd>
-#endif
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-#include <XPath/XToken.hpp>
-#include <XPath/XalanXPathException.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XPathExpression
-{
-public:
-
-	/**
-	 * List of operations codes.
-	 *
-	 * Code for the descriptions of the operations codes:
-	 * [UPPER CASE] indicates a literal value,
-	 * [lower case] is a description of a value,
-	 *		([length] always indicates the length of the operation,
-	 *		 including the operations code and the length integer.)
-	 * {UPPER CASE} indicates the given production,
-	 * {description} is the description of a new production,
-	 *		(For instance, {boolean expression} means some expression 
-	 *		 that should be resolved to a boolean.)
-	 *	* means that it occurs zero or more times,
-	 *	+ means that it occurs one or more times,
-	 *	? means that it is optional.
-	 *
-	 * returns: indicates what the production should return.
-	 */
-	enum eOpCodes
-	{
-		/**
-		 * [ELEMWILDCARD]
-		 * Means ELEMWILDCARD ("*"), used instead 
-		 * of string index in some places.
-		 */
-		eELEMWILDCARD = -3,
-
-		/**
-		 * [EMPTY]
-		 * Empty slot to indicate NULL.
-		 */
-		eEMPTY = -2,
-
-		/**
-		 * [ENDOP]
-		 * Some operators may like to have a terminator.
-		 */
-		eENDOP = -1,
-
-		/**
-		 * [OP_XPATH]
-		 * [length]
-		 *	{expression}
-		 * 
-		 * returns: 
-		 *	XNodeSet
-		 *	XNumber
-		 *	XString
-		 *	XBoolean
-		 *	XRTree
-		 *	XObject
-		 */
-		eOP_XPATH = 1,
-
-		/**
-		 * [OP_OR]
-		 * [length]
-		 *	{boolean expression}
-		 *	{boolean expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_OR = 2,
-
-		/**
-		 * [OP_AND]
-		 * [length]
-		 *	{boolean expression}
-		 *	{boolean expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_AND = 3,
-
-		/**
-		 * [OP_NOTEQUALS]
-		 * [length]
-		 *	{expression}
-		 *	{expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_NOTEQUALS = 4,
-
-		/**
-		 * [OP_EQUALS]
-		 * [length]
-		 *	{expression}
-		 *	{expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_EQUALS = 5,
-
-		/**
-		 * [OP_LTE] (less-than-or-equals)
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_LTE = 6,
-
-		/**
-		 * [OP_LT] (less-than)
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_LT = 7,
-
-		/**
-		 * [OP_GTE] (greater-than-or-equals)
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_GTE = 8,
-
-		/**
-		 * [OP_GT] (greater-than)
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_GT = 9,
-
-		/**
-		 * [OP_PLUS]
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XNumber
-		 */
-		eOP_PLUS = 10,
-
-		/**
-		 * [OP_MINUS]
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XNumber
-		 */
-		eOP_MINUS = 11,
-
-		/**
-		 * [OP_MULT]
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XNumber
-		 */
-		eOP_MULT = 12,
-
-		/**
-		 * [OP_DIV]
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XNumber
-		 */
-		eOP_DIV = 13,
-
-		/**
-		 * [OP_MOD]
-		 * [length]
-		 *	{number expression}
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XNumber
-		 */
-		eOP_MOD = 14,
-
-		/**
-		 * [OP_NEG]
-		 * [length]
-		 *	{number expression}
-		 * 
-		 * returns: 
-		 *	XNumber
-		 */
-		eOP_NEG = 15,
-
-		/**
-		 * [OP_BOOL] (cast operation)
-		 * [length]
-		 *	{expression}
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eOP_BOOL = 16,
-
-		/**
-		 * [OP_UNION]
-		 * [length]
-		 *	{PathExpr}+
-		 * 
-		 * returns: 
-		 *	XNodeSet
-		 */
-		eOP_UNION = 17,
-
-		/**
-		 * [OP_LITERAL]
-		 * [3]
-		 * [index to token]
-		 * 
-		 * returns: 
-		 *	XString
-		 */
-		eOP_LITERAL = 18,
-
-		/**
-		 * [OP_VARIABLE]
-		 * [3]
-		 * [index to token]
-		 * 
-		 * returns: 
-		 *	XString
-		 */
-		eOP_VARIABLE = 19,
-
-		/**
-		 * [OP_GROUP]
-		 * [length]
-		 *	{expression}
-		 * 
-		 * returns: 
-		 *	XNodeSet
-		 *	XNumber
-		 *	XString
-		 *	XBoolean
-		 *	XRTree
-		 *	XObject
-		 */
-		eOP_GROUP = 20,
-
-		/**
-		 * [OP_NUMBERLIT] (Number literal.)
-		 * [3]
-		 * [index to token]
-		 * 
-		 * returns: 
-		 *	XString
-		 */
-		eOP_NUMBERLIT = 21,
-
-		/**
-		 * [OP_ARGUMENT] (Function argument.)
-		 * [length]
-		 *	{expression}
-		 * 
-		 * returns: 
-		 *	XNodeSet
-		 *	XNumber
-		 *	XString
-		 *	XBoolean
-		 *	XRTree
-		 *	XObject
-		 */
-		eOP_ARGUMENT = 22,
-
-		/**
-		 * [OP_EXTFUNCTION] (Extension function.)
-		 * [length]
-		 * [index to namespace token]
-		 * [index to function name token]
-		 *  {OP_ARGUMENT}*
-		 * 
-		 * returns: 
-		 *  XNodeSet
-		 *  XNumber
-		 *  XString
-		 *  XBoolean
-		 *  XRTree
-		 *  XObject
-		 */
-		eOP_EXTFUNCTION = 23,
-
-		/**
-		 * [OP_FUNCTION]
-		 * [length]
-		 * [FUNC_name]
-		 *  {OP_ARGUMENT}*
-		 * [ENDOP]
-		 * 
-		 * returns: 
-		 *  XNodeSet
-		 *  XNumber
-		 *  XString
-		 *  XBoolean
-		 *  XRTree
-		 *  XObject
-		 */
-		eOP_FUNCTION = 24,
-
-		/**
-		 * [OP_LOCATIONPATH]
-		 * [length]
-		 *	 {FROM_stepType}
-		 * | {function}{predicate}*
-		 * [ENDOP]
-		 * 
-		 * (Note that element and attribute namespaces and 
-		 * names can be wildcarded '*'.)
-		 * 
-		 * returns: 
-		 *	XNodeSet
-		 */
-		eOP_LOCATIONPATH = 25,
-
-		/**
-		 * [OP_PREDICATE]
-		 * [length]
-		 *	{expression}
-		 * [ENDOP] (For safety)
-		 * 
-		 * returns: 
-		 *	XBoolean or XNumber
-		 */
-		eOP_PREDICATE = 26,
-
-		/**
-		 * [NODETYPE_COMMENT]
-		 * No size or arguments.
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODETYPE_COMMENT = 27,
-		
-		/**
-		 * [NODETYPE_TEXT]
-		 * No size or arguments.
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODETYPE_TEXT = 28,
-		
-		/**
-		 * [NODETYPE_PI]
-		 * [index to token]
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODETYPE_PI = 29,
-		
-		/**
-		 * [NODETYPE_NODE]
-		 * No size or arguments.
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODETYPE_NODE = 30,
-		
-		/**
-		 * [NODENAME]
-		 * [index to ns token or EMPTY]
-		 * [index to name token]
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODENAME = 31,
-		
-		/**
-		 * [NODETYPE_ROOT]
-		 * No size or arguments.
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODETYPE_ROOT = 32,
-		
-		/**
-		 * [NODETYPE_ANY]
-		 * No size or arguments.
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eNODETYPE_ANYELEMENT = 33,
-
-		/**
-		 * [FROM_stepType]
-		 * [length, including predicates]
-		 * [length of just the step, without the predicates]
-		 * {node test}
-		 * {predicates}?
-		 * 
-		 * returns: 
-		 *	XBoolean
-		 */
-		eFROM_ANCESTORS = 34,
-		eFROM_ANCESTORS_OR_SELF = 35,
-		eFROM_ATTRIBUTES = 36,
-		eFROM_CHILDREN = 37,
-		eFROM_DESCENDANTS = 38,
-		eFROM_DESCENDANTS_OR_SELF = 39,
-		eFROM_FOLLOWING = 40,
-		eFROM_FOLLOWING_SIBLINGS = 41,
-		eFROM_PARENT = 42,
-		eFROM_PRECEDING = 43,
-		eFROM_PRECEDING_SIBLINGS = 44,
-		eFROM_SELF = 45,
-		eFROM_NAMESPACE = 46,
-		eFROM_ROOT = 47,
-
-		/**
-		 * [OP_UNION]
-		 * [length]
-		 *  {PathExpr}+
-		 * 
-		 * returns: 
-		 *  XNodeSet
-		 */
-		eOP_MATCHPATTERN = 48,
-
-		/**
-		 * [OP_UNION]
-		 * [length]
-		 *  {PathExpr}+
-		 * 
-		 * returns: 
-		 *  XNodeSet
-		 */
-		eOP_LOCATIONPATHPATTERN = 49,
-
-		// For match patterns
-		eMATCH_ATTRIBUTE = 50,
-		eMATCH_ANY_ANCESTOR = 51,
-		eMATCH_IMMEDIATE_ANCESTOR = 52,
-		eMATCH_ANY_ANCESTOR_WITH_PREDICATE = 53,
-		eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL = 54,
-
-		/**
-		 * [OP_PREDICATE_WITH_POSITION]
-		 * [length]
-		 *	{expression}
-		 * [ENDOP] (For safety)
-		 * 
-		 * returns: 
-		 *	XBoolean or XNumber
-		 */
-		eOP_PREDICATE_WITH_POSITION = 55,
-  
-		// Always add _before_ this one and update
-		// s_opCodeLengthArray.
-		eOpCodeNextAvailable
-	};	// enum eOpCodes
-
-	/**
-	 * Exception class thrown when an invalid XPath expression is encountered
-	 */
-	class XALAN_XPATH_EXPORT XPathExpressionException : public XalanXPathException
-	{
-	public:
-
-		/**
-		 * Construct an XPathExpressionException object.
-		 * 
-		 * @param theMessage string error message
-		 */
-		XPathExpressionException(const XalanDOMString&	theMessage);
-
-		virtual~
-		XPathExpressionException();
-	};
-
-	/**
-	 * Exception class thrown when an invalid XPath operation code is encountered
-	 */
-	class XALAN_XPATH_EXPORT InvalidOpCodeException : public XPathExpressionException
-	{
-	public:
-
-		/**
-		 * Construct an InvalidOpCodeException object.
-		 * 
-		 * @param theOpCode operation code that caused the exception
-		 */
-		InvalidOpCodeException(int	theOpCode);
-
-		virtual~
-		InvalidOpCodeException();
-
-	private:
-
-		static XalanDOMString
-		FormatErrorMessage(int	theOpCode);
-	};
-
-	/**
-	 * Exception class thrown when an invalid number of XPath arguments is
-	 * encountered
-	 */
-	class XALAN_XPATH_EXPORT InvalidArgumentCountException : public XPathExpressionException
-	{
-	public:
-
-		/**
-		 * Construct an InvalidArgumentCountException object.
-		 * 
-		 * @param theOpCode operation code that caused the exception
-		 * @param theExpectedCount the correct number of arguments for "opcode"
-		 * @param theSuppliedCount the number of arguments supplied
-		 */
-		InvalidArgumentCountException(
-			int		theOpCode,
-			int		theExpectedCount,
-			int		theSuppliedCount);
-
-		virtual~
-		InvalidArgumentCountException();
-
-	private:
-
-		static XalanDOMString
-		FormatErrorMessage(
-			int		theOpCode,
-			int		theExpectedCount,
-			int		theSuppliedCount);
-	};
-
-	/**
-	 * Exception class thrown when an invalid XPath argument is encountered
-	 */
-	class XALAN_XPATH_EXPORT InvalidArgumentException : public XPathExpressionException
-	{
-	public:
-
-		/**
-		 * Construct an InvalidArgumentException object.
-		 * 
-		 * @param theOpCode operation code that caused the exception
-		 * @param theValue invalid argument value
-		 */
-		InvalidArgumentException(
-			int	theOpCode,
-			int	theValue);
-
-		virtual~
-		InvalidArgumentException();
-
-	private:
-
-		static XalanDOMString
-		FormatErrorMessage(
-				int		theOpCode,
-				int		theValue);
-	};
-
-	/**
-	 * Exception class thrown when an invalid token position is encountered
-	 */
-	class XALAN_XPATH_EXPORT InvalidRelativeTokenPosition : public XPathExpressionException
-	{
-	public:
-
-		/**
-		 * Construct an InvalidRelativeTokenPosition object.
-		 * 
-		 * @param theOffset the offset that caused the problem.
-		 */
-		InvalidRelativeTokenPosition(int	theOffset);
-
-		virtual~
-		InvalidRelativeTokenPosition();
-
-	private:
-
-		static XalanDOMString
-		FormatErrorMessage(int	theOffset);
-	};
-
-
-#if defined(XALAN_NO_NAMESPACES)
-
-	typedef vector<int>						OpCodeMapType;
-	typedef vector<XToken>					TokenQueueType;
-	typedef vector<int>						PatternMapType;
-
-	typedef OpCodeMapType::value_type		OpCodeMapValueType;
-	typedef OpCodeMapType::size_type		OpCodeMapSizeType;
-
-	typedef vector<OpCodeMapValueType>		OpCodeMapValueVectorType;
-
-	typedef vector<double>					NumberLiteralValueVectorType;
-#else
-
-	typedef std::vector<int>				OpCodeMapType;
-	typedef std::vector<XToken>				TokenQueueType;
-	typedef std::vector<int>				PatternMapType;
-
-	typedef OpCodeMapType::value_type		OpCodeMapValueType;
-	typedef OpCodeMapType::size_type		OpCodeMapSizeType;
-
-	typedef std::vector<OpCodeMapValueType> OpCodeMapValueVectorType;
-
-	typedef std::vector<double>				NumberLiteralValueVectorType;
-#endif
-
-	typedef TokenQueueType::value_type		TokenQueueValueType;
-	typedef TokenQueueType::size_type		TokenQueueSizeType;
-	typedef PatternMapType::value_type		PatternMapValueType;
-	typedef PatternMapType::size_type		PatternMapSizeType;
-
-	/**
-	 * The length is always the opcode position + 1. Length is always expressed
-	 * as the opcode+length bytes, so it is always 2 or greater.  This is the
-	 * offset from the op code where the length is stored.  It will always
-	 * remain one.
-	 */
-#if defined(XALAN_INLINE_INITIALIZATION)
-	static const TokenQueueSizeType		s_opCodeMapLengthIndex = 1;
-#else
-	enum eDummy
-	{
-		s_opCodeMapLengthIndex = 1
-	};
-#endif
-
-	explicit
-	XPathExpression();
-
-	~XPathExpression();
-
-	/**
-	 * Reset the expression.
-	 */
-	void
-	reset();
-
-	/**
-	 * Shrink internal tables.
-	 */
-	void
-	shrink();
-
-	/**
-	 * Retrieve number of elements in the operations code map.
-	 * 
-	 * @return size of operations code map
-	 */
-	OpCodeMapSizeType
-	opCodeMapSize() const
-	{
-		return m_opMap.size();
-	}
-
-	/**
-	 * Retrieve length of the operations code map stored in the map. The length
-	 * of the entire map is stored after the first op code.  That offset is
-	 * determined by this const static member.  Note that as expressions are
-	 * defined recursively, this is really just the length of the first
-	 * expression in the map, which is the top of the parse tree. Any
-	 * subexpression will also have a length entry at the same offset from the
-	 * beginning of the subexpression.
-	 * 
-	 * @return length of operations code map
-	 */
-	OpCodeMapValueType
-	opCodeMapLength() const
-	{
-		const OpCodeMapSizeType		theSize = opCodeMapSize();
-
-		if (theSize > s_opCodeMapLengthIndex)
-		{
-			assert(theSize == OpCodeMapSizeType(m_opMap[s_opCodeMapLengthIndex]));
-
-			return m_opMap[s_opCodeMapLengthIndex];
-		}
-		else
-		{
-			assert(theSize == OpCodeMapValueType(theSize));
-
-			return OpCodeMapValueType(theSize);
-		}
-	}
-
-	/**
-	 * Retrieve number of elements in the token queue.
-	 * 
-	 * @return size of token queue
-	 */
-	TokenQueueSizeType
-	tokenQueueSize() const
-	{
-		return m_tokenQueue.size();
-	}
-
-	/**
-	 * Retrieve number of elements in the pattern map.
-	 * 
-	 * @return size of pattern map
-	 */
-	PatternMapSizeType
-	patternMapSize() const
-	{
-		return m_patternMap.size();
-	}
-
-	/**
-	 * Retrieve the value of an operation code at a specified position in the
-	 * list.
-	 * 
-	 * @param opPos position in list
-	 * @return value of operation code
-	 */
-	OpCodeMapValueType
-	getOpCodeMapValue(OpCodeMapSizeType		opPos) const
-	{
-		return m_opMap[opPos];
-	}
-
-	OpCodeMapValueType
-	getOpCodeArgumentLength(OpCodeMapSizeType	opPos) const
-	{
-		return getOpCodeMapValue(opPos + XPathExpression::s_opCodeMapLengthIndex + 1) - 3;
-	}
-
-	/**
-	 * Retrieve the length of an operation code at a specified position in the
-	 * op map.
-	 * 
-	 * @param opPos position in the op map
-	 * @return length of operation code
-	 */
-	OpCodeMapValueType
-	getOpCodeLengthFromOpMap(OpCodeMapSizeType	opPos) const;
-
-	/**
-	 * Retrieve the position of the next operation code at a specified position
-	 * in the list.
-	 * 
-	 * @param opPos position in list
-	 * @return position of next operation code
-	 */
-	OpCodeMapValueType
-	getNextOpCodePosition(OpCodeMapSizeType		opPos) const
-	{
-		assert(opPos < opCodeMapSize());
-
-		assert(opPos + m_opMap[opPos + s_opCodeMapLengthIndex] == OpCodeMapValueType(opPos + m_opMap[opPos + s_opCodeMapLengthIndex]));
-
-		return OpCodeMapValueType(opPos + m_opMap[opPos + s_opCodeMapLengthIndex]);
-	}
-
-	/**
-	 * Set the arguments for an operation code at a specified index in the
-	 * list.
-	 * 
-	 * @param opPos position in list
-	 * @param theOpCode operation code
-	 * @param theIndex  index in list
-	 * @param theArgs   vector or arguments to supply
-	 */
-	void
-	setOpCodeArgs(
-			eOpCodes							theOpCode,
-			OpCodeMapSizeType					theIndex,
-			const OpCodeMapValueVectorType&		theArgs);
-
-	/**
-	 * Add an operation code to the list.
-	 * 
-	 * @param theOpCode operation code
-	 */
-	void
-	appendOpCode(eOpCodes	theOpCode);
-
-	/**
-	 * Add an operation code with supplied arguments to the list.
-	 * 
-	 * @param theOpCode operation code
-	 * @param theArgs   vector or arguments to supply
-	 */
-	void
-	appendOpCode(eOpCodes							theOpCode,
-				 const OpCodeMapValueVectorType&	theArgs)
-	{
-		appendOpCode(theOpCode);
-
-		setOpCodeArgs(theOpCode,
-					  m_lastOpCodeIndex,
-					  theArgs);
-	}
-
-	/**
-	 * Replace an operation code with supplied code.
-	 * 
-	 * @param theIndex  The index of the old operation code
-	 * @param theOldOpCode The old operation code
-	 * @param theNewOpCode The new operation code
-	 */
-	void
-	replaceOpCode(
-			OpCodeMapSizeType	theIndex,
-			eOpCodes			theOldOpCode,
-			eOpCodes			theNewOpCode);
-
-	/**
-	 * Insert an operation code at a specified index in the list.
-	 * 
-	 * @param theOpCode operation code
-	 * @param theIndex  index in list
-	 */
-	OpCodeMapValueType
-	insertOpCode(
-			eOpCodes			theOpCode,
-			OpCodeMapSizeType	theIndex);
-
-	/**
-	 * Update the length of an operation code at a specified index in the list.
-	 * This presumes that the other opcodes have been appended to the
-	 * expression, and that the specified op code's length needs to be set.
-	 * The size includes the normal length of the opcode, plus the length of
-	 * its subexpressions.
-	 * 
-	 * @param theIndex  index in list
-	 */
-	void
-	updateOpCodeLength(OpCodeMapSizeType	theIndex)
-	{
-		assert(theIndex < opCodeMapSize());
-
-		updateOpCodeLength(m_opMap[theIndex], theIndex);
-	}
-
-	/**
-	 * Update the length of an operation code that has moved to a new index in
-	 * the list.
-	 * 
-	 * @param theOpCode        operation code
-	 * @param theOriginalIndex original index in list
-	 * @param theNewIndex      new index in list
-	 */
-	void
-	updateShiftedOpCodeLength(
-			OpCodeMapValueType	theOpCode,
-			OpCodeMapSizeType	theOriginalIndex,
-			OpCodeMapSizeType	theNewIndex);
-
-	/**
-	 * Update the length of an operation code at a specified index in the list.
-	 * This presumes that the other opcodes have been appended to the
-	 * expression, and that the specified op code's length needs to be set.
-	 * The size includes the normal length of the opcode, plus the length of
-	 * its subexpressions.
-	 * 
-	 * @param theOpCode operation code at specified index
-	 * @param theIndex  index in list
-	 */
-	void
-	updateOpCodeLength(
-			OpCodeMapValueType	theOpCode,
-			OpCodeMapSizeType	theIndex);
-
-	/**
-	 * Whether the operation code is one of the node test types, for example,
-	 * "ancestor::" or "child::"
-	 *
-	 * @param theOpCode operation code
-	 * @return true if code represents a node test
-	 */
-	static bool
-	isNodeTestOpCode(OpCodeMapValueType		theOpCode);
-
-	/**
-	 * Update the length of an operation code after a node test code.
-	 * 
-	 * @param theIndex  index in list
-	 */
-	void
-	updateOpCodeLengthAfterNodeTest(OpCodeMapSizeType	theIndex);
-
-	/**
-	 * Whether there are any more tokens in the token queue.
-	 *
-	 * @return true if there are more tokens
-	 */
-	bool
-	hasMoreTokens() const
-	{
-		return tokenQueueSize() - m_currentPosition > 0 ? true : false;
-	}
-
-	/**
-	 * Retrieve the current position in the token queue.
-	 *
-	 * @return position in queue
-	 */
-	TokenQueueSizeType
-	getTokenPosition() const
-	{
-		return m_currentPosition;
-	}
-
-	/**
-	 * Set the current position in the token queue to zero.
-	 */
-	void
-	resetTokenPosition()
-	{
-		m_currentPosition = 0;
-	}
-
-	/**
-	 * Set the current position in the token queue to a specified value.
-	 *
-	 * @param thePosition value of position to set
-	 */
-	void
-	setTokenPosition(TokenQueueSizeType		thePosition)
-	{
-		const TokenQueueSizeType	theSize = tokenQueueSize();
-
-		m_currentPosition = thePosition > theSize ? theSize : thePosition;
-	}
-
-	/**
-	 * Set the current position in the token queue to a specified value.
-	 *
-	 * @param thePosition value of position to set
-	 */
-	void
-	setTokenPosition(int	thePosition)
-	{
-		setTokenPosition(thePosition > 0 ? TokenQueueSizeType(thePosition) : 0);
-	}
-
-	/**
-	 * Retrieve a token at the specified position in the token queue.
-	 * 
-	 * @param thePosition position in queue
-	 * @return pointer to XObject token
-	 */
-	const XObject*
-	getToken(TokenQueueSizeType		thePosition) const
-	{
-		assert(thePosition < tokenQueueSize());
-
-		return &m_tokenQueue[thePosition];
-	}
-
-	/**
-	 * Retrieve the next token in the token queue.
-	 * 
-	 * @return pointer to XObject token
-	 */
-	const XObject*
-	getNextToken()
-	{
-		if (hasMoreTokens() == true)
-		{
-			return getToken(m_currentPosition++);
-		}
-		else
-		{
-			return 0;
-		}
-	}
-
-	/**
-	 * Retrieve the previous token in the token queue.
-	 * 
-	 * @return pointer to XObject token
-	 */
-	const XObject*
-	getPreviousToken()
-	{
-		if (m_currentPosition > 0)
-		{
-			return getToken(--m_currentPosition);
-		}
-		else
-		{
-			return 0;
-		}
-	}
-
-	/**
-	 * Retrieve a token at the specified offset relative to the current
-	 * position in the token queue.
-	 * 
-	 * @param theOffset offset from current position
-	 * @return pointer to XObject token
-	 */
-	const XObject*
-	getRelativeToken(int	theOffset) const
-	{
-		const int	thePosition = int(m_currentPosition) + theOffset;
-
-		if (thePosition < 0 ||
-			thePosition >= int(tokenQueueSize()))
-		{
-			return 0;
-		}
-		else
-		{
-			return getToken(thePosition);
-		}
-	}
-
-	/**
-	 * Push a token onto the token queue.
-	 * 
-	 * @param theToken the string value to push
-	 */
-	void
-	pushToken(const XalanDOMString&		theToken)
-	{
-		m_tokenQueue.push_back(XToken(theToken));
-	}
-
-	/**
-	 * Push a token onto the token queue.
-	 * 
-	 * @param theToken the number value to push
-	 */
-	void
-	pushToken(double	theToken)
-	{
-		m_tokenQueue.push_back(XToken(theToken));
-	}
-
-	/**
-	 * Insert a token onto the token queue at the
-	 * current position.
-	 *
-	 * @param theToken the string value to push
-	 */
-	void
-	insertToken(const XalanDOMString&	theToken)
-	{
-		m_tokenQueue.insert(m_tokenQueue.begin() + (m_currentPosition - 1), XToken(theToken));
-	}
-
-	/**
-	 * Insert a token onto the token queue at the
-	 * current position.
-	 *
-	 * @param theToken the string value to push
-	 */
-	void
-	insertToken(double	theToken)
-	{
-		m_tokenQueue.insert(m_tokenQueue.begin() + (m_currentPosition - 1), XToken(theToken));
-	}
-
-	/**
-	 * Replace a token in the token queue.
-	 * 
-	 * @param theOffset the offset at which to replace the token.
-	 * @param theToken string value for the new token
-	 */
-	void
-	replaceRelativeToken(
-			int						theOffset,
-			const XalanDOMString&	theToken)
-	{
-		assert(c_wstr(theToken) != 0);
-
-		const int	thePosition = int(m_currentPosition) + theOffset;
-
-		if (thePosition < 0 ||
-			thePosition >= int(tokenQueueSize()))
-		{
-			throw InvalidRelativeTokenPosition(theOffset);
-		}
-
-		m_tokenQueue[thePosition] = theToken;
-	}
-
-	/**
-	 * Replace a token in the token queue.
-	 * 
-	 * @param theOffset the offset at which to replace the token.
-	 * @param theToken double value for the new token
-	 */
-	void
-	replaceRelativeToken(
-			int		theOffset,
-			double	theToken)
-	{
-		assert(theToken != 0);
-
-		const int	thePosition = int(m_currentPosition) + theOffset;
-
-		if (thePosition < 0 || thePosition >= int(tokenQueueSize()))
-		{
-			throw InvalidRelativeTokenPosition(theOffset);
-		}
-
-		m_tokenQueue[thePosition] = theToken;
-	}
-
-	/**
-	 * Diagnostic function to output the operation code map.
-	 * 
-	 * @param thePrintWriter   output device
-	 * @param theStartPosition starting position in map
-	 */
-	void
-	dumpOpCodeMap(PrintWriter&			thePrintWriter,
-				  OpCodeMapSizeType		theStartPosition = 0) const;
-
-	/**
-	 * Diagnostic function to output the operation code map.
-	 * 
-	 * @param theStream output stream
-	 * @param theStartPosition starting position in map
-	 */
-	void
-	dumpOpCodeMap(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&			theStream,
-#else
-			std::ostream&		theStream,
-#endif
-			OpCodeMapSizeType	theStartPosition = 0) const;
-
-	/**
-	 * Diagnostic function to output the token queue.
-	 * 
-	 * @param thePrintWriter   output device
-	 * @param theStartPosition starting position in token queue
-	 */
-	void
-	dumpTokenQueue(PrintWriter&			thePrintWriter,
-				   TokenQueueSizeType	theStartPosition = 0) const;
-
-	/**
-	 * Diagnostic function to output the token queue.
-	 * 
-	 * @param thePrintWriter   output device
-	 * @param theStartPosition starting position in token queue
-	 */
-	void
-	dumpTokenQueue(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream&			theStream,
-#else
-			std::ostream&		theStream,
-#endif
-			TokenQueueSizeType	theStartPosition = 0) const;
-
-	/**
-	 * Diagnostic function to output the remaining tokens in the token queue.
-	 * 
-	 * @param thePrintWriter   output device
-	 */
-	void
-	dumpRemainingTokenQueue(PrintWriter&	thePrintWriter) const;
-
-	/**
-	 * Diagnostic function to output the remaining tokens in the token queue.
-	 * 
-	 * @param theStream The output stream
-	 */
-	void
-#if defined(XALAN_NO_NAMESPACES)
-	dumpRemainingTokenQueue(ostream&		theStream) const;
-#else
-	dumpRemainingTokenQueue(std::ostream&	theStream) const;
-#endif
-
-	/**
-	 * Push a value onto the operations code
-	 * map.
-	 *
-	 * @param theToken string value of the token to push
-	 */
-	void
-	pushValueOnOpCodeMap(const OpCodeMapType::value_type&	theValue)
-	{
-		// Push the index onto the op map.
-		m_opMap.push_back(theValue);
-
-		// Update the op map length.
-		m_opMap[s_opCodeMapLengthIndex]++;
-	}
-
-	/**
-	 * Push a token onto the token queue and its index onto the operations code
-	 * map.
-	 *
-	 * @param theToken string value of the token to push
-	 */
-	void
-	pushArgumentOnOpCodeMap(const XalanDOMString&	theToken);
-
-	/**
-	 * Push a token onto the token queue and its index onto the operations code
-	 * map.
-	 *
-	 * @param theToken number value of the token to push
-	 */
-	void
-	pushArgumentOnOpCodeMap(double	theToken);
-
-	/**
-	 * Push a number literal onto the vector of number literals and its index onto
-	 * the operations code map.
-	 *
-	 * @param theToken number value of the token to push
-	 */
-	void
-	pushNumberLiteralOnOpCodeMap(double		theNumber);
-
-	/**
-	 * Get a number literal from the vector of number literals.
-	 *
-	 * @param theIndex The index of the desired value.
-	 */
-	double
-	getNumberLiteral(int	theIndex) const
-	{
-		assert(theIndex >= 0 &&
-			   NumberLiteralValueVectorType::size_type(theIndex) < m_numberLiteralValues.size());
-
-		return m_numberLiteralValues[NumberLiteralValueVectorType::size_type(theIndex)];
-	}
-
-	/**
-	 * Push the current position in the token queue onto the operations code
-	 * map.
-	 */
-	void
-	pushCurrentTokenOnOpCodeMap();
-
-	/**
-	 * Retrieve a pattern in the pattern map at the specified position.
-	 * position in the token queue.
-	 * 
-	 * @param thePatternPosition position in pattern map
-	 * @return match pattern
-	 */
-	PatternMapValueType
-	getPattern(int	thePatternPosition) const
-	{
-		assert(int(patternMapSize()) > thePatternPosition);
-
-		return m_patternMap[thePatternPosition];
-	}
-
-	/**
-	 * Retrieve a pattern in the pattern map at the specified position.
-	 * position in the token queue.
-	 * 
-	 * @param thePatternPosition position in pattern map
-	 * @return match pattern
-	 */
-	PatternMapValueType
-	getPattern(PatternMapSizeType	thePatternPosition) const
-	{
-		assert(patternMapSize() > thePatternPosition);
-
-		return m_patternMap[thePatternPosition];
-	}
-
-	/**
-	 * Push a pattern onto the pattern map.
-	 *
-	 * @param thePattern match pattern to push
-	 */
-	void
-	pushPattern(PatternMapValueType	thePattern)
-	{
-		m_patternMap.push_back(thePattern);
-	}
-
-	/**
-	 * Adjust the value of a pattern at a specified index in the pattern map.
-	 *
-	 * @param theIndex      index in map
-	 * @param theAdjustment value of adjustment to add
-	 */
-	void
-	adjustPattern(
-			OpCodeMapSizeType	theIndex,
-			PatternMapValueType	theAdjustment)
-	{
-		m_patternMap[theIndex] += theAdjustment;
-	}
-
-	/**
-	 * Change the current pattern in the pattern map.
-	 *
-	 * @param thePattern match pattern to make current
-	 */
-	void
-	setCurrentPattern(const XalanDOMString&		thePattern)
-	{
-		m_currentPattern = thePattern;
-	}
-
-	/**
-	 * Retrieve the current pattern in the pattern map.
-	 * 
-	 * @return string for current match pattern
-	 */
-	const XalanDOMString&
-	getCurrentPattern() const
-	{
-		return m_currentPattern;
-	}
-
-	/**
-	 * An operations map is used instead of a proper parse tree.  It contains
-	 * operations codes and indexes into the m_tokenQueue. We use an array
-	 * instead of a full parse tree in order to cut down on the number of
-	 * objects created.
-	 */
-	OpCodeMapType			m_opMap;
-
-	/**
-	 * The index of the last opcode that was appended or inserted.
-	 *
-	 */
-	OpCodeMapSizeType		m_lastOpCodeIndex;
-
-	/**
-	 * The queue of used tokens. The current token is the token at the end of
-	 * the m_tokenQueue. The idea is that the queue can be marked and a
-	 * sequence of tokens can be reused.
-	 */
-	TokenQueueType			m_tokenQueue;
-
-	/**
-	 *  The current position in the token queue.
-	 */
-	TokenQueueSizeType		m_currentPosition;
-
-	/**
-	 * This holds a map to the m_tokenQueue that tells where the top-level
-	 * elements are. It is used for pattern matching so the m_tokenQueue can be
-	 * walked backwards. Each element that is a 'target', (right-most top level
-	 * element name) has TARGETEXTRA added to it.
-	 * 
-	 */
-	 // Ignore this, it is going away.
-	PatternMapType			m_patternMap;
-
-	/**
-	 * The current pattern string, for diagnostics purposes.
-	 */
-	XalanDOMString			m_currentPattern;
-
-private:
-
-	// Default vector allocation sizes.
-	enum
-	{
-		eDefaultOpMapSize = 100,
-		eDefaultPatternMapSize = 100
-	};
-
-	NumberLiteralValueVectorType	m_numberLiteralValues;
-};
-
-
-
-#endif	// XPATHEXPRESSION_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathFactory.cpp b/src/XPath/XPathFactory.cpp
deleted file mode 100644
index cd75146..0000000
--- a/src/XPath/XPathFactory.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XPathFactory.hpp"
-
-
-
-XPathFactory::XPathFactory()
-{
-}
-
-
-
-XPathFactory::~XPathFactory()
-{
-}
diff --git a/src/XPath/XPathFactory.hpp b/src/XPath/XPathFactory.hpp
deleted file mode 100644
index de36d6b..0000000
--- a/src/XPath/XPathFactory.hpp
+++ /dev/null
@@ -1,281 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHFACTORY_HEADER_GUARD_1357924680)
-#define XPATHFACTORY_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <functional>
-
-
-
-class XPath;
-
-
-
-class XALAN_XPATH_EXPORT XPathFactory
-{
-public:
-
-	explicit
-	XPathFactory();
-
-	virtual
-	~XPathFactory();
-
-	/**
-	 * Return an XPath to the factory.
-	 * 
-	 * @param theXPath The XPath to be returned
-	 * @return true if the object belongs to the factory, false if not.
-	 */
-	bool
-	returnObject(const XPath*	theXPath)
-	{
-		return doReturnObject(theXPath);
-	}
-
-	/**
-	 * Reset the instance.  This invalidates all existing instances created
-	 * with this XPathFactory.
-	 */
-	virtual void
-	reset() = 0;
-
-	/**
-	 * Create an XPath.  The XPath instance is owned by the factory, and should
-	 * not be deleted.  The factory will manage the lifetime.
-	 *
-	 */
-	virtual XPath*
-	create() = 0;
-
-	/**
-	 *
-	 * A functor for use with stl algorithms.
-	 *
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	struct DeleteXPathFunctor : public unary_function<const XPath*, void>
-#else
-	struct DeleteXPathFunctor : public std::unary_function<const XPath*, void>
-#endif
-	{
-	public:
-
-		DeleteXPathFunctor(
-			XPathFactory&		theFactoryInstance,
-			bool				fInReset = false) :
-			m_factoryInstance(theFactoryInstance),
-			m_fInReset(fInReset)
-		{
-		}
-
-		result_type
-		operator()(argument_type	theXPath) const
-		{
-			if (m_fInReset == true)
-			{
-				m_factoryInstance.doReturnObject(theXPath,
-												 true);
-			}
-			else
-			{
-				m_factoryInstance.returnObject(theXPath);
-			}
-		}
-
-	private:
-
-		XPathFactory&		m_factoryInstance;
-
-		const bool			m_fInReset;
-	};
-
-	friend struct DeleteXPathFunctor;
-
-protected:
-
-	virtual bool
-	doReturnObject(
-			const XPath*	theXPath,
-			bool			fInReset = false) = 0;
-};
-
-
-
-/**
- * Manages the lifetime of an XPath instance.
- */
-class XPathGuard
-{
-public:
-
-	/**
-	 * Construct an XPathGuard instance from a factory object and an XPath.
-	 * 
-	 * @param theFactory object that manages lifetime of XPaths
-	 * @param theXPath pointer to XPath managed
-	 */
-	XPathGuard(
-			XPathFactory&	theFactory,
-			const XPath*	theXPath) :
-		m_factory(&theFactory),
-		m_object(theXPath)
-	{
-	}
-
-	// Note that copy construction transfers ownership, just
-	// as std::auto_ptr.
-	XPathGuard(XPathGuard&	theRHS)
-	{
-		// Release the current object...
-		release();
-
-		// Copy the factory and object pointers...
-		m_factory = theRHS.m_factory;
-		m_object = theRHS.m_object;
-
-		// The source object no longer points to
-		// the object...
-		theRHS.m_factory = 0;
-		theRHS.m_object = 0;
-	}
-
-	~XPathGuard()
-	{
-		reset();
-	}
-
-	/**
-	 * Retrieve the object pointer (must not be null)
-	 * 
-	 * @return pointer to XPath
-	 */
-	const XPath*
-	operator->() const
-	{
-		assert(m_object != 0);
-
-		return m_object;
-	}
-
-	/**
-	 * Retrieve the object pointer (may be null)
-	 * 
-	 * @return pointer to XPath
-	 */
-	const XPath*
-	get() const
-	{
-		return m_object;
-	}
-
-	/**
-	 * Return the referenced object to the factory and set pointers to null.
-	 */
-	void
-	reset()
-	{
-		if (m_object != 0)
-		{
-			assert(m_factory != 0);
-
-			m_factory->returnObject(m_object);
-
-			m_object = 0;
-		}
-
-		m_factory = 0;
-	}
-
-	/**
-	 * Transfers ownership of XPath to caller
-	 * 
-	 * @return pointer to XPath
-	 */
-	const XPath*
-	release()
-	{
-		const XPath* const	theTemp = m_object;
-
-		m_object = 0;
-
-		return theTemp;
-	}
-
-private:
-
-	XPathGuard&
-	operator=(const XPathGuard&);
-
-	bool
-	operator==(const XPathGuard&) const;
-
-
-	// Data members...
-	XPathFactory*	m_factory;
-    const XPath*	m_object;
-};
-
-#endif	// XPATHFACTORY_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathFactoryBlock.cpp b/src/XPath/XPathFactoryBlock.cpp
deleted file mode 100644
index 37877f0..0000000
--- a/src/XPath/XPathFactoryBlock.cpp
+++ /dev/null
@@ -1,104 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XPathFactoryBlock.hpp"
-
-
-
-#include <algorithm>
-
-
-
-XPathFactoryBlock::XPathFactoryBlock(unsigned int	theBlockSize) :
-	XPathFactory(),
-	m_allocator(theBlockSize)
-{
-}
-
-
-
-XPathFactoryBlock::~XPathFactoryBlock()
-{
-}
-
-
-
-void
-XPathFactoryBlock::reset()
-{
-	m_allocator.reset();
-}
-
-
-
-bool
-XPathFactoryBlock::doReturnObject(
-			const XPath*	theXPath,
-			bool			/* fInReset */)
-{
-	// We never really delete anything, but return
-	// false if our allocator didn't create the instance.
-	return m_allocator.ownsObject(theXPath);
-}
-
-
-
-XPath*
-XPathFactoryBlock::create()
-{
-	return m_allocator.create();
-}
diff --git a/src/XPath/XPathFactoryBlock.hpp b/src/XPath/XPathFactoryBlock.hpp
deleted file mode 100644
index 04ef42b..0000000
--- a/src/XPath/XPathFactoryBlock.hpp
+++ /dev/null
@@ -1,115 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHFACTORYBLOCK_HEADER_GUARD_1357924680)
-#define XPATHFACTORYBLOCK_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/XPathFactory.hpp>
-
-
-
-#include <XPath/XPathAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XPathFactoryBlock : public XPathFactory
-{
-
-public:
-
-	enum { eDefaultBlockSize = 20 };
-
-	explicit
-	XPathFactoryBlock(unsigned int	theBlockSize = eDefaultBlockSize);
-
-	virtual
-	~XPathFactoryBlock();
-
-
-	// Inherited from XPathFactory...
-	virtual void
-	reset();
-
-	// Inherited from XPathFactory...
-
-	virtual XPath*
-	create();
-
-protected:
-
-	// Inherited from XPathFactory...
-
-	virtual bool
-	doReturnObject(
-			const XPath*	theXPath,
-			bool			fInReset = false);
-
-private:
-
-	XPathAllocator	m_allocator;
-};
-
-
-
-#endif	// XPATHFACTORYBLOCK_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathFactoryDefault.cpp b/src/XPath/XPathFactoryDefault.cpp
deleted file mode 100644
index 1c71009..0000000
--- a/src/XPath/XPathFactoryDefault.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XPathFactoryDefault.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include "XPath.hpp"
-
-
-
-XPathFactoryDefault::XPathFactoryDefault() :
-	XPathFactory(),
-	m_xpaths()
-{
-}
-
-
-
-XPathFactoryDefault::~XPathFactoryDefault()
-{
-	reset();
-}
-
-
-
-void
-XPathFactoryDefault::reset()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_xpaths.begin(),
-			 m_xpaths.end(),
-			 DeleteXPathFunctor(*this, true));
-
-	m_xpaths.clear();
-}
-
-
-
-bool
-XPathFactoryDefault::doReturnObject(
-			const XPath*	theXPath,
-			bool			fInReset)
-{
-	const CollectionType::iterator	i =
-		m_xpaths.find(theXPath);
-
-	if (i != m_xpaths.end())
-	{
-		if (fInReset == false)
-		{
-			m_xpaths.erase(i);
-		}
-
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (XPath*)theXPath;
-#else
-		delete theXPath;
-#endif
-
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-XPath*
-XPathFactoryDefault::create()
-{
-	XPath* const	theXPath = new XPath;
-
-	m_xpaths.insert(theXPath);
-
-	return theXPath;
-}
diff --git a/src/XPath/XPathFactoryDefault.hpp b/src/XPath/XPathFactoryDefault.hpp
deleted file mode 100644
index 65f8a9c..0000000
--- a/src/XPath/XPathFactoryDefault.hpp
+++ /dev/null
@@ -1,126 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHFACTORYDEFAULT_HEADER_GUARD_1357924680)
-#define XPATHFACTORYDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <set>
-
-
-
-// Base class header file...
-#include <XPath/XPathFactory.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XPathFactoryDefault : public XPathFactory
-{
-
-public:
-
-	explicit
-	XPathFactoryDefault();
-
-	virtual
-	~XPathFactoryDefault();
-
-
-	// Inherited from XPathFactory...
-	virtual void
-	reset();
-
-	// Inherited from XPathFactory...
-
-	virtual XPath*
-	create();
-
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef set<const XPath*, less<const XPath*> >	CollectionType;
-#else
-	typedef std::set<const XPath*>	CollectionType;
-#endif
-
-	CollectionType::size_type
-	getInstanceCount() const
-	{
-		return m_xpaths.size();
-	}
-
-protected:
-
-	// Inherited from XPathFactory...
-
-	virtual bool
-	doReturnObject(
-			const XPath*	theXPath,
-			bool			fInReset = false);
-
-private:
-
-	CollectionType	m_xpaths;
-};
-
-
-
-#endif	// XPATHFACTORYDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathFunctionTable.cpp b/src/XPath/XPathFunctionTable.cpp
deleted file mode 100644
index ea8033c..0000000
--- a/src/XPath/XPathFunctionTable.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Base class header file
-#include "XPathFunctionTable.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "FunctionBoolean.hpp"
-#include "FunctionCeiling.hpp"
-#include "FunctionConcat.hpp"
-#include "FunctionContains.hpp"
-#include "FunctionCount.hpp"
-#include "FunctionFalse.hpp"
-#include "FunctionFloor.hpp"
-#include "FunctionID.hpp"
-#include "FunctionLang.hpp"
-#include "FunctionLast.hpp"
-#include "FunctionLocalName.hpp"
-#include "FunctionName.hpp"
-#include "FunctionNamespaceURI.hpp"
-#include "FunctionNormalizeSpace.hpp"
-#include "FunctionNot.hpp"
-#include "FunctionNumber.hpp"
-#include "FunctionPosition.hpp"
-#include "FunctionRound.hpp"
-#include "FunctionStartsWith.hpp"
-#include "FunctionString.hpp"
-#include "FunctionStringLength.hpp"
-#include "FunctionSubstring.hpp"
-#include "FunctionSubstringAfter.hpp"
-#include "FunctionSubstringBefore.hpp"
-#include "FunctionSum.hpp"
-#include "FunctionTranslate.hpp"
-#include "FunctionTrue.hpp"
-
-
-
-XPathFunctionTable::XPathFunctionTable(bool		fCreateTable) :
-	m_FunctionCollection(),
-	m_FunctionNameIndex()
-{
-	if (fCreateTable == true)
-	{
-		CreateTable();
-	}
-}
-
-
-
-XPathFunctionTable::~XPathFunctionTable()
-{
-	DestroyTable();
-}
-
-
-
-void
-XPathFunctionTable::InstallFunction(
-			const XalanDOMString&	theFunctionName,
-			const Function&			theFunction)
-{
-	assert(length(theFunctionName) != 0);
-
-	// See if a function of that name is already installed...
-	const FunctionNameIndexMapType::iterator	i =
-		m_FunctionNameIndex.find(theFunctionName);
-
-	if (i != m_FunctionNameIndex.end())
-	{
-		assert(CollectionType::size_type((*i).second) < m_FunctionCollection.size());
-
-		// It is, so delete the old one, and add the new one...
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (Function*)m_FunctionCollection[(*i).second];
-#else
-		delete m_FunctionCollection[(*i).second];
-#endif
-
-		m_FunctionCollection[(*i).second] = theFunction.clone();
-	}
-	else
-	{
-		const CollectionType::size_type		theIndex = m_FunctionCollection.size();
-
-		m_FunctionCollection.push_back(theFunction.clone());
-
-		m_FunctionNameIndex[theFunctionName] = int(theIndex);
-	}
-}
-
-
-
-bool
-XPathFunctionTable::UninstallFunction(const XalanDOMString&		theFunctionName)
-{
-	assert(length(theFunctionName) != 0);
-
-	// See if a function of that name is installed...
-	const FunctionNameIndexMapType::iterator	i =
-		m_FunctionNameIndex.find(theFunctionName);
-
-	if (i == m_FunctionNameIndex.end())
-	{
-		return false;
-	}
-	else
-	{
-		assert(CollectionType::size_type((*i).second) < m_FunctionCollection.size());
-
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::find;
-#endif
-
-		// Delete the function...
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (Function*)m_FunctionCollection[(*i).second];
-#else
-		delete m_FunctionCollection[(*i).second];
-#endif
-
-		// Set the entry in the table to 0...
-		m_FunctionCollection[(*i).second] = 0;
-
-		return true;
-	}
-}
-
-
-
-void
-XPathFunctionTable::CreateTable()
-{
-	try
-	{
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("last")),
-						FunctionLast());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("position")),
-						FunctionPosition());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("count")),
-						FunctionCount());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("id")),
-						FunctionID());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("local-name")),
-						FunctionLocalName());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("namespace-uri")),
-						FunctionNamespaceURI());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("name")),
-						FunctionName());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("string")),
-						FunctionString());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("concat")),
-						FunctionConcat());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("starts-with")),
-						FunctionStartsWith());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("contains")),
-						FunctionContains());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("substring-before")),
-						FunctionSubstringBefore());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("substring-after")),
-						FunctionSubstringAfter());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("substring")),
-						FunctionSubstring());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("string-length")),
-						FunctionStringLength());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("normalize-space")),
-						FunctionNormalizeSpace());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("translate")),
-						FunctionTranslate());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("boolean")),
-						FunctionBoolean());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("not")),
-						FunctionNot());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("true")),
-						FunctionTrue());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("false")),
-						FunctionFalse());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("lang")),
-						FunctionLang());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("number")),
-						FunctionNumber());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("sum")),
-						FunctionSum());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("floor")),
-						FunctionFloor());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("ceiling")),
-						FunctionCeiling());
-
-		InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("round")),
-						FunctionRound());
-
-	}
-	catch(...)
-	{
-		DestroyTable();
-
-		throw;
-	}
-}
-
-
-
-void
-XPathFunctionTable::DestroyTable()
-{
-	try
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::for_each;
-#endif
-
-		for_each(m_FunctionCollection.begin(),
-				 m_FunctionCollection.end(),
-				 DeleteFunctorType());
-
-		CollectionType().swap(m_FunctionCollection);
-
-		FunctionNameIndexMapType().swap(m_FunctionNameIndex);
-	}
-	catch(...)
-	{
-	}
-}
-
-
-
-XPathExceptionFunctionNotAvailable::XPathExceptionFunctionNotAvailable(
-		int					theFunctionNumber,
-		const XalanNode*	styleNode) :
-	XalanXPathException(TranscodeFromLocalCodePage("The specified function ID is not available: ") + LongToDOMString(theFunctionNumber),
-				   styleNode)
-{
-}
-
-
-
-XPathExceptionFunctionNotAvailable::XPathExceptionFunctionNotAvailable(
-			const XalanDOMString&	theFunctionName,
-			const XalanNode*		styleNode) :
-	XalanXPathException(TranscodeFromLocalCodePage("The specified function is not available: ") + theFunctionName,
-				   styleNode)
-{
-}
-
-
-
-XPathExceptionFunctionNotAvailable::~XPathExceptionFunctionNotAvailable()
-{
-}
diff --git a/src/XPath/XPathFunctionTable.hpp b/src/XPath/XPathFunctionTable.hpp
deleted file mode 100644
index 9efcb12..0000000
--- a/src/XPath/XPathFunctionTable.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHFUNCTIONTABLE_HEADER_GUARD_1357924680)
-#define XPATHFUNCTIONTABLE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <algorithm>
-#include <map>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <XPath/Function.hpp>
-#include <XPath/XalanXPathException.hpp>
-
-
-
-/**
- * Exception class thrown when an unknown function is encountered
- */
-class XALAN_XPATH_EXPORT XPathExceptionFunctionNotAvailable : public XalanXPathException
-{
-public:
-
-	XPathExceptionFunctionNotAvailable(
-		int					theFunctionName,
-		const XalanNode*	styleNode = 0);
-
-	XPathExceptionFunctionNotAvailable(
-		const XalanDOMString&	theFunctionName,
-		const XalanNode*		styleNode = 0);
-
-	~XPathExceptionFunctionNotAvailable();
-};
-
-
-
-/**
- * Class defines a table of functions that can be called in XPath expresions.
- */
-class XALAN_XPATH_EXPORT XPathFunctionTable
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<const Function*>			CollectionType;
-	typedef map<XalanDOMString,
-				int,
-				less<XalanDOMString> >		FunctionNameIndexMapType;
-#else
-	typedef std::vector<const Function*>	CollectionType;
-	typedef std::map<XalanDOMString, int>	FunctionNameIndexMapType;
-#endif
-
-	typedef DeleteFunctor<Function>		DeleteFunctorType;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param fCreateTable If true, the internal table will be created.  Otherwise, CreateTable() must be called.
-	 */
-	XPathFunctionTable(bool		fCreateTable = true);
-
-	~XPathFunctionTable();
-
-	/**
-	 * Set up the internal table.
-	 */
-	void
-	CreateTable();
-
-	/**
-	 * Destroy the internal table.
-	 */
-	void
-	DestroyTable();
-
-	/**
-	 * Retrieve the function object for a specified function name.
-	 * 
-	 * @param theFunctionName name of function
-	 * @return function named
-	 */
-	const Function&
-	operator[](const XalanDOMString&	theFunctionName) const
-	{
-		FunctionNameIndexMapType::const_iterator	i =
-			m_FunctionNameIndex.find(theFunctionName);
-
-		if (i != m_FunctionNameIndex.end())
-		{
-			return *m_FunctionCollection[(*i).second];
-		}
-		else
-		{
-			throw XPathExceptionFunctionNotAvailable(theFunctionName);
-		}
-	}
-
-	/**
-	 * Retrieve the function object for a specified function ID number.
-	 * 
-	 * @param theFunctionID ID number of the function
-	 * @return function named
-	 */
-	const Function&
-	operator[](int	theFunctionID) const
-	{
-		if (theFunctionID >= 0 &&
-			CollectionType::size_type(theFunctionID) < m_FunctionCollection.size())
-		{
-			return *m_FunctionCollection[theFunctionID];
-		}
-		else
-		{
-			throw XPathExceptionFunctionNotAvailable(theFunctionID);
-		}
-	}
-
-	enum { InvalidFunctionNumberID = -1 };
-
-	/**
-	 * Map a function ID to the corresponding name.
-	 * 
-	 * @param theFunctionID The ID number of the function
-	 * @return The name of the function, or an empty string if the function doesn't exist.
-	 */
-	const XalanDOMString
-	idToName(int	theFunctionID) const
-	{
-		XalanDOMString	theName;
-
-		if (theFunctionID >= 0 &&
-			CollectionType::size_type(theFunctionID) < m_FunctionCollection.size())
-		{
-			FunctionNameIndexMapType::const_iterator	i =
-				m_FunctionNameIndex.begin();
-
-			while (i != m_FunctionNameIndex.end())
-			{
-				if ((*i).second == theFunctionID)
-				{
-					theName = (*i).first;
-
-					break;
-				}
-			}
-		}
-
-		return theName;
-	}
-
-	/**
-	 * Map a function name to the corresponding ID number.
-	 * 
-	 * @param theName name of function
-	 * @return The ID number of function, or InvalidFunctionNumberID if the function doesn't exist.
-	 */
-	int
-	nameToID(const XalanDOMString&	theName) const
-	{
-		const FunctionNameIndexMapType::const_iterator	i =
-			m_FunctionNameIndex.find(theName);
-
-		if (i != m_FunctionNameIndex.end())
-		{
-			return (*i).second;
-		}
-		else
-		{
-			return InvalidFunctionNumberID;
-		}
-	}
-
-	/**
-	 * Insert a named function into the function table.
-	 * 
-	 * @param theFunctionName name of function
-	 * @param theFunction     function object corresponding to name
-	 */
-	void
-	InstallFunction(
-			const XalanDOMString&	theFunctionName,
-			const Function&			theFunction);
-
-	/**
-	 * Remove a named function from the function table.
-	 * 
-	 * @param theFunctionName name of function
-	 * @return true if the function was found and removed.
-	 */
-	bool
-	UninstallFunction(const XalanDOMString&		theFunctionName);
-
-	/**
-	 * Whether a named function is in the function table.
-	 * 
-	 * @param theFunctionName name of function
-	 * @return true if function is in table
-	 */
-	bool
-	isInstalledFunction(const XalanDOMString&	theFunctionName) const
-	{
-		if (m_FunctionNameIndex.find(theFunctionName) != m_FunctionNameIndex.end())
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-
-#if defined(XALAN_NO_MEMBER_TEMPLATES)
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMString>			InstalledFunctionNameVectorType;
-#else
-	typedef std::vector<XalanDOMString>		InstalledFunctionNameVectorType;
-#endif
-
-	/**
-	 * Add a list of the names of installed functions to a vector of names.
-	 * 
-	 * @param theVector vector of function name strings added to
-	 */
-	void
-	getInstalledFunctionNames(InstalledFunctionNameVectorType&	theVector) const
-	{
-		FunctionNameIndexMapType::const_iterator	i =
-			m_FunctionNameIndex.begin();
-
-		while(i != m_FunctionNameIndex.end())
-		{
-			theVector.push_back((*i).first);
-
-			++i;
-		}
-	}
-#else
-	/**
-	 * Add a list of the names of installed functions to a vector of names.
-	 * 
-	 * @param theIterator function table iterator to append names to
-	 */
-	template<class OutputIteratorType>
-	void
-	getInstalledFunctionNames(OutputIteratorType	theIterator) const
-	{
-		FunctionNameIndexMapType::const_iterator	i =
-			m_FunctionNameIndex.begin();
-
-		while(i != m_FunctionNameIndex.end())
-		{
-			*theIterator = (*i).first;
-
-			++i;
-			++theIterator;
-		}
-	}
-#endif
-
-private:
-
-	CollectionType				m_FunctionCollection;
-
-	FunctionNameIndexMapType	m_FunctionNameIndex;
-};
-
-
-
-#endif	// XPATHFUNCTIONTABLE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathInit.cpp b/src/XPath/XPathInit.cpp
deleted file mode 100644
index da65c9a..0000000
--- a/src/XPath/XPathInit.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XPathInit.hpp"
-
-
-
-#include "XBoolean.hpp"
-#include "XUnknown.hpp"
-#include "XPath.hpp"
-#include "XPathEnvSupportDefault.hpp"
-#include "XPathProcessorImpl.hpp"
-
-
-
-unsigned long	XPathInit::s_initCounter = 0;
-
-
-
-XPathInit::XPathInit() :
-	m_platformSupportInit(),
-	m_domSupportInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-XPathInit::~XPathInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-XPathInit::initialize()
-{
-	XBoolean::initialize();
-
-	XUnknown::initialize();
-
-	XPath::initialize();
-
-	XPathProcessorImpl::initialize();
-
-	XPathEnvSupportDefault::initialize();
-}
-
-
-
-void
-XPathInit::terminate()
-{
-	XPathEnvSupportDefault::terminate();
-
-	XPathProcessorImpl::terminate();
-
-	XPath::terminate();
-
-	XUnknown::terminate();
-
-	XBoolean::terminate();
-}
diff --git a/src/XPath/XPathInit.hpp b/src/XPath/XPathInit.hpp
deleted file mode 100644
index 0cc694c..0000000
--- a/src/XPath/XPathInit.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XPATHINIT_INCLUDE_GUARD_1357924680)
-#define XPATHINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PlatformSupportInit.hpp>
-
-
-
-#include <DOMSupport/DOMSupportInit.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XPathInit
-{
-public:
-
-	explicit
-	XPathInit();
-
-	~XPathInit();
-
-private:
-
-	// Not implemented...
-	XPathInit(const XPathInit&);
-
-	XPathInit&
-	operator=(const XPathInit&);
-
-	
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	const PlatformSupportInit	m_platformSupportInit;
-
-	const DOMSupportInit		m_domSupportInit;
-
-	static unsigned long		s_initCounter;
-};
-
-
-
-#endif	// !defined(XPATHINIT_INCLUDE_GUARD_1357924680)
diff --git a/src/XPath/XPathParserException.cpp b/src/XPath/XPathParserException.cpp
deleted file mode 100644
index b8e2a59..0000000
--- a/src/XPath/XPathParserException.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Base class header file.
-#include "XPathParserException.hpp"
-
-
-
-
-XPathParserException::XPathParserException(
-			const XalanDOMString&	message,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanDOMString&	theType) :
-	XalanXPathException(message, theURI, theLineNumber, theColumnNumber, 0, theType)
-{
-}
-
-
-
-XPathParserException::XPathParserException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType) :
-	XalanXPathException(theLocator, theMessage, 0, theType)
-{
-}
-
-
-
-XPathParserException::XPathParserException(
-			const XalanDOMString&	message,
-			const XalanDOMString&	theType) :
-	XalanXPathException(message, 0, theType)
-{
-}
-
-
-
-XPathParserException::~XPathParserException()
-{
-}
diff --git a/src/XPath/XPathParserException.hpp b/src/XPath/XPathParserException.hpp
deleted file mode 100644
index 686d464..0000000
--- a/src/XPath/XPathParserException.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHPARSEREXCEPTION_HEADER_GUARD_1357924680)
-#define XPATHPARSEREXCEPTION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XalanXPathException.hpp>
-
-
-
-/**
- * Exception class thrown when a problem parsing an XPath is encountered
- */
-class XALAN_XPATH_EXPORT XPathParserException : public XalanXPathException
-{
-public:
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theMessage message to write when exception thrown
-	 * @param theURI the URI of the related document, if known
-	 * @param theLineNumber the line number of the related document, or -1 if not known
-	 * @param theColumnNumber the column number of the related document, or -1 if not known
-	 * @param theType type of exception, default is "XPathParserException"
-	 */
-	XPathParserException(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XPathParserException")));
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theLocator The locator instance for error reporting.
-	 * @param theMessage message to write when exception thrown
-	 * @param theType type of exception, default is "XPathParserException"
-	 */
-	XPathParserException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XPathParserException")));
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theMessage message to write when exception thrown
-	 * @param theType type of exception, default is "XPathParserException"
-	 */
-	XPathParserException(
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XPathParserException")));
-
-	virtual
-	~XPathParserException();
-};
-
-
-
-#endif	// XPATHPARSEREXCEPTION_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathProcessor.cpp b/src/XPath/XPathProcessor.cpp
deleted file mode 100644
index c6adc7f..0000000
--- a/src/XPath/XPathProcessor.cpp
+++ /dev/null
@@ -1,85 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XPathProcessor.hpp"
-
-
-
-#include "XPath.hpp"
-
-
-
-XPathProcessor::XPathProcessor()
-{
-}
-
-
-
-XPathProcessor::~XPathProcessor()
-{
-}
-
-
-
-void
-XPathProcessor::installFunction(
-			const XalanDOMString&	theFunctionName,
-			const Function&			theFunction)
-{
-	XPath::installFunction(theFunctionName,
-						   theFunction);
-}
diff --git a/src/XPath/XPathProcessor.hpp b/src/XPath/XPathProcessor.hpp
deleted file mode 100644
index 1032408..0000000
--- a/src/XPath/XPathProcessor.hpp
+++ /dev/null
@@ -1,136 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHPROCESSOR_HEADER_GUARD_1357924680)
-#define XPATHPROCESSOR_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// $$$ ToDo: This is necessary while XalanDOMString is still a typedef...
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class Function;
-class Locator;
-class PrefixResolver;
-class XPath;
-
-
-
-class XALAN_XPATH_EXPORT XPathProcessor
-{
-public:
-
-	explicit
-	XPathProcessor();
-
-	virtual
-	~XPathProcessor();
-
-	/**
-	 * Given a string, make an XPath object, in order that a parse doesn't 
-	 * have to be done each time the expression is executed.
-	 *
-	 * @param pathObj        XPath object to be initialized
-	 * @param expression     expression that will be evaluated
-	 * @param resolver       prefix resolver to use
-	 * @param xobjectFactory factory class instance for XObjects
-	 * @param locator		 the Locator to use for error report. May be null
-	 */
-	virtual void
-	initXPath(
-			XPath&					pathObj,
-			const XalanDOMString&	expression,
-			const PrefixResolver&	resolver,
-			const Locator*			locator = 0) = 0;
-
-	/**
-	 * Given a string, create an XSLT Match Pattern object.
-	 *
-	 * @param pathObj        XPath object to be initialized
-	 * @param expression     expression that will be evaluated
-	 * @param resolver       prefix resolver to use
-	 * @param locator		 the Locator to use for error report. May be null
-	 */
-	virtual void
-	initMatchPattern(
-			XPath&					pathObj,
-			const XalanDOMString&	expression,
-			const PrefixResolver&	resolver,
-			const Locator*			locator = 0) = 0;
-
-	/**
-	 * Given a string, and a reference to a function object, install the
-	 * function with the given name.
-	 *
-	 * @param theFunctionName name of function
-	 * @param theFunction     function object corresponding to name
-	 */
-	static void
-	installFunction(
-			const XalanDOMString&	theFunctionName,
-			const Function&			theFunction);
-};
-
-
-
-#endif	// XPATHPROCESSOR_HEADER_GUARD_1357924680
diff --git a/src/XPath/XPathProcessorImpl.cpp b/src/XPath/XPathProcessorImpl.cpp
deleted file mode 100644
index eb64416..0000000
--- a/src/XPath/XPathProcessorImpl.cpp
+++ /dev/null
@@ -1,2790 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-// Class header file...
-#include "XPathProcessorImpl.hpp"
-
-
-
-#include <xercesc/sax/Locator.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DOMStringPrintWriter.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-#include <PlatformSupport/XalanXMLChar.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XalanQName.hpp"
-#include "XPathEnvSupport.hpp"
-#include "XPathExecutionContext.hpp"
-#include "XPathParserException.hpp"
-
-
-
-XPathProcessorImpl::XPathProcessorImpl() :
-	m_token(),
-	m_tokenChar(0),
-	m_xpath(0),
-	m_expression(0),
-	m_prefixResolver(0),
-	m_requireLiterals(false),
-	m_positionPredicateStack()
-{
-}
-
-
-
-XPathProcessorImpl::~XPathProcessorImpl()
-{
-}
-
-
-
-void
-XPathProcessorImpl::initXPath(
-			XPath&					pathObj,
-			const XalanDOMString&	expression,
-			const PrefixResolver&	prefixResolver,
-			const Locator*			locator)
-{
-	m_requireLiterals = false;
-
-	m_xpath = &pathObj;
-
-	m_expression = &m_xpath->getExpression();
-
-	m_prefixResolver = &prefixResolver;
-
-	m_locator = locator;
-
-	m_expression->reset();
-
-	tokenize(expression);
-
-	m_expression->appendOpCode(XPathExpression::eOP_XPATH);
-
-	nextToken();
-
-	Expr();
-
-	if (length(m_token) != 0)
-	{
-		error("Extra illegal tokens!");
-	}
-
-	m_xpath = 0;
-	m_expression = 0;
-	m_prefixResolver = 0;
-	m_locator = 0;
-	m_positionPredicateStack.clear();
-}
-
-
-
-void
-XPathProcessorImpl::initMatchPattern(
-			XPath&					pathObj,
-			const XalanDOMString&	expression,
-			const PrefixResolver&	prefixResolver,
-			const Locator*			locator)
-{
-	m_xpath = &pathObj;
-
-	m_expression = &m_xpath->getExpression();
-
-	m_prefixResolver = &prefixResolver;
-
-	m_locator = locator;
-
-	m_expression->reset();
-
-	tokenize(expression);
-
-	m_expression->appendOpCode(XPathExpression::eOP_MATCHPATTERN);
-
-	nextToken();
-
-	// This is an optimization, but it's mostly a hacky
-	// bug fix. We don't handle match patterns with
-	// leading "//" correctly. Since the semantics
-	// of a match pattern with "//" are identical to
-	// those of one without "//", there's no point
-	// in even encoding them, so we just re-parse
-	// the XPath stripping off the leading "//".
-	// Parsing once _with_ the "//" ensures that
-	// we detect any errors with the unmodified
-	// match pattern.
-	bool	fStripAndReparse = false;
-
-	if (tokenIs(XalanUnicode::charSolidus) == true &&
-		lookahead(XalanUnicode::charSolidus, 1) == true)
-	{
-		fStripAndReparse = true;
-	}
-
-	Pattern();
-
-	if (length(m_token) != 0)
-	{
-		error("Extra illegal tokens!");
-	}
-
-	if (fStripAndReparse == true)
-	{
-		initMatchPattern(
-			pathObj,
-			XalanDOMString(expression, 2, expression.length() - 2),
-			prefixResolver,
-			locator);
-	}
-	else
-	{
-		// Terminate for safety.
-		m_expression->appendOpCode(XPathExpression::eENDOP);
-
-		m_expression->shrink();
-
-		m_xpath = 0;
-		m_expression = 0;
-		m_prefixResolver = 0;
-		m_locator = 0;
-		m_positionPredicateStack.clear();
-	}
-}
-
-
-
-void
-XPathProcessorImpl::tokenize(
-			const XalanDOMString&	pat,
-			DOMStringVectorType* 	targetStrings)
-{
-	m_expression->setCurrentPattern(pat);
-
-	const int	nChars = length(pat);
-
-	int 		startSubstring = -1;
-	int 		posOfNSSep = -1;
-
-	bool		isStartOfPat = true;
-	bool		isAttrName = false;
-
-	// Nesting of '[' so we can know if the given element should be 
-	// counted inside the m_patternMap.
-	int nesting = 0;
-
-	XalanDOMString	theToken;
-
-	for(int i = 0; i < nChars; i++)
-	{
-		XalanDOMChar	c = charAt(pat, i);
-
-		switch(c)
-		{
-		case XalanUnicode::charQuoteMark: 
-			{
-				if(startSubstring != -1)
-				{
-					isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-
-					isAttrName = false;
-
-					if(-1 != posOfNSSep)
-					{	   
-						posOfNSSep = mapNSTokens(pat, startSubstring, posOfNSSep, i);
-					}
-					else
-					{
-						substring(pat, theToken, startSubstring, i);
-
-						addToTokenQueue(theToken);
-					}
-				}
-
-				startSubstring = i;
-
-				for(++i; i < nChars && (c = charAt(pat, i)) != XalanUnicode::charQuoteMark; ++i);
-
-				if(c == XalanUnicode::charQuoteMark)
-				{
-					substring(pat, theToken, startSubstring, i + 1);
-
-					addToTokenQueue(theToken);
-
-					startSubstring = -1;
-				}
-				else
-				{
-					error("misquoted literal... expected double quote!");
-				}
-			}
-			break;
-
-		case XalanUnicode::charApostrophe:
-			{
-				if(startSubstring != -1)
-				{
-					isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-					isAttrName = false;
-
-					if(-1 != posOfNSSep)
-					{	 
-						posOfNSSep = mapNSTokens(pat, startSubstring, posOfNSSep, i);
-					}
-					else
-					{
-						substring(pat, theToken, startSubstring, i);
-
-						addToTokenQueue(theToken);
-					}
-				}
-
-				startSubstring = i;
-
-				for(++i; i < nChars && (c = charAt(pat, i)) != XalanUnicode::charApostrophe; ++i);
-
-				if(c == XalanUnicode::charApostrophe)
-				{
-					substring(pat, theToken, startSubstring, i + 1);
-
-					addToTokenQueue(theToken);
-
-					startSubstring = -1;
-				}
-				else
-				{
-					error("misquoted literal... expected single quote!");
-				}
-			}
-			break;
-		
-		case XalanUnicode::charLF:
-		case XalanUnicode::charCR:
-		case XalanUnicode::charSpace:
-		case XalanUnicode::charHTab:
-			{
-				if(startSubstring != -1)
-				{
-					isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-					isAttrName = false;
-
-					if(-1 != posOfNSSep)
-					{	 
-						posOfNSSep = mapNSTokens(pat, startSubstring, posOfNSSep, i);
-					}
-					else
-					{
-						substring(pat, theToken, startSubstring, i);
-
-						addToTokenQueue(theToken);
-					}
-
-					startSubstring = -1;
-				}
-			}
-			break;
-		
-		case XalanUnicode::charCommercialAt:
-			isAttrName = true;
-			// fall-through on purpose
-
-		case XalanUnicode::charHyphenMinus:
-			{
-				if(XalanUnicode::charHyphenMinus == c)
-				{
-					if(!(startSubstring == -1))
-					{
-						break;
-					}
-				}
-			}
-			// fall-through on purpose
-
-		case XalanUnicode::charLeftParenthesis:
-		case XalanUnicode::charLeftSquareBracket:
-		case XalanUnicode::charRightParenthesis:
-		case XalanUnicode::charRightSquareBracket:
-		case XalanUnicode::charVerticalLine:
-		case XalanUnicode::charSolidus:
-		case XalanUnicode::charAsterisk:
-		case XalanUnicode::charPlusSign:
-		case XalanUnicode::charEqualsSign:
-		case XalanUnicode::charComma:
-		case XalanUnicode::charReverseSolidus: // Unused at the moment
-		case XalanUnicode::charCircumflexAccent: // Unused at the moment
-		case XalanUnicode::charExclamationMark: // Unused at the moment
-		case XalanUnicode::charDollarSign:
-		case XalanUnicode::charLessThanSign:
-		case XalanUnicode::charGreaterThanSign:
-			{
-				if(startSubstring != -1)
-				{
-					isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-					isAttrName = false;
-
-					if(-1 != posOfNSSep)
-					{	 
-						posOfNSSep = mapNSTokens(pat, startSubstring, posOfNSSep, i);
-					}
-					else
-					{
-						substring(pat, theToken, startSubstring, i);
-
-						addToTokenQueue(theToken);
-					}
-
-					startSubstring = -1;
-				}
-				else if(XalanUnicode::charSolidus == c && isStartOfPat == true)
-				{
-					isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-				}
-				else if(XalanUnicode::charAsterisk == c)
-				{
-					isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-					isAttrName = false;
-				}
-
-				if(0 == nesting)
-				{
-					if(XalanUnicode::charVerticalLine == c)
-					{
-						if(0 != targetStrings)
-						{
-							recordTokenString(*targetStrings);
-						}
-
-						isStartOfPat = true;
-					}
-				}
-
-				if(XalanUnicode::charRightParenthesis == c || XalanUnicode::charRightSquareBracket == c)
-				{
-					nesting--;
-				}
-				else if(XalanUnicode::charLeftParenthesis == c || XalanUnicode::charLeftSquareBracket == c)
-				{
-					nesting++;
-				}
-
-				substring(pat, theToken, i, i + 1);
-
-				addToTokenQueue(theToken);
-			}		
-			break;
-
-		case XalanUnicode::charColon:
-			{
-				if(posOfNSSep == i - 1 && i > 0)
-				{ 
-					if(startSubstring != -1)
-					{
-						if (startSubstring < i - 1)
-						{
-							substring(pat, theToken, startSubstring, i - 1);
-
-							addToTokenQueue(theToken);
-						}
-					}
-
-					isAttrName = false;
-					startSubstring = -1;
-					posOfNSSep = -1;
-
-					substring(pat, theToken, i - 1, i + 1);
-
-					addToTokenQueue(theToken);
-					break;
-				}
-				else
-				{
-					posOfNSSep = i;
-				}
-			}
-			// fall through on purpose
-
-		
-		default:
-			{
-				if(-1 == startSubstring)
-				{
-					startSubstring = i;
-
-					if (XalanXMLChar::isDigit(c) == true)
-					{
-						bool	gotFullStop = false;
-
-						while(i < nChars - 1)
-						{
-							++i;
-
-							const XalanDOMChar	currentChar = charAt(pat, i);
-
-							if (currentChar == XalanUnicode::charFullStop)
-							{
-								if (gotFullStop == false)
-								{
-									gotFullStop = true;
-								}
-								else
-								{
-									--i;
-
-									break;
-								}
-							}
-							else if (XalanXMLChar::isDigit(currentChar) == false)
-							{
-								--i;
-
-								break;
-							}
-						}
-
-						substring(pat, theToken, startSubstring, i + 1);
-
-						addToTokenQueue(theToken);
-
-						startSubstring = -1;
-					}
-				}
-			}
-		}
-	}
-
-	if(startSubstring != -1)
-	{
-		isStartOfPat = mapPatternElemPos(nesting, isStartOfPat, isAttrName);
-
-		if(-1 != posOfNSSep)
-		{	 
-			posOfNSSep = mapNSTokens(pat, startSubstring, posOfNSSep, nChars);
-		}
-		else
-		{
-			substring(pat, theToken, startSubstring, nChars);
-
-			addToTokenQueue(theToken);
-		}
-	}
-
-	if (0 == m_expression->tokenQueueSize())
-	{
-		error("Empty expression!");
-	}
-	else if (0 != targetStrings)
-	{
-		recordTokenString(*targetStrings);
-	}
-
-	m_expression->setTokenPosition(0);
-}
-
-
-
-bool
-XPathProcessorImpl::mapPatternElemPos(
-			int 	nesting,
-			bool	isStart,
-			bool	isAttrName) const
-{
-	if(0 == nesting)
-	{
-		if(!isStart)
-		{
-			m_expression->adjustPattern(m_expression->patternMapSize() - 1,
-										-TARGETEXTRA);
-		}
-
-		const int	theValue =
-			m_expression->tokenQueueSize() - (isAttrName ? 1 : 0) + TARGETEXTRA;
-
-		m_expression->pushPattern(theValue);
-
-		isStart = false;
-	}
-
-	return isStart;
-}
-
-
-
-void
-XPathProcessorImpl::recordTokenString(DOMStringVectorType&	targetStrings)
-{
-	assert(m_expression != 0);
-
-	int tokPos = getTokenQueuePosFromMap(m_expression->patternMapSize() - 1);
-
-	resetTokenMark(tokPos + 1);
-
-	if(lookahead(XalanUnicode::charLeftParenthesis, 1) == true)
-	{
-		const int	tok = getKeywordToken(m_token);
-
-		switch(tok)
-		{
-		case XPathExpression::eNODETYPE_COMMENT:
-			targetStrings.push_back(XPath::PSEUDONAME_COMMENT);
-			break;
-
-		case XPathExpression::eNODETYPE_TEXT:
-			targetStrings.push_back(XPath::PSEUDONAME_TEXT);
-			break;
-
-		case XPathExpression::eNODETYPE_NODE:
-			targetStrings.push_back(XPath::PSEUDONAME_ANY);
-			break;
-
-		case XPathExpression::eNODETYPE_ROOT:
-			targetStrings.push_back(XPath::PSEUDONAME_ROOT);
-			break;
-
-		case XPathExpression::eNODETYPE_ANYELEMENT:
-			targetStrings.push_back(XPath::PSEUDONAME_ANY);
-			break;
-
-		case XPathExpression::eNODETYPE_PI:
-			targetStrings.push_back(XPath::PSEUDONAME_ANY);
-			break;
-
-		default:
-			targetStrings.push_back(XPath::PSEUDONAME_ANY);
-			break;
-		}
-	}
-	else
-	{
-		if(tokenIs(XalanUnicode::charCommercialAt) == true)
-		{
-			tokPos++;
-
-			resetTokenMark(tokPos + 1);
-		}
-
-		if(lookahead(XalanUnicode::charColon, 1) == true)
-		{
-			tokPos += 2;
-		}
-
-		assert(m_expression->getToken(tokPos) != 0);
-
-		targetStrings.push_back(m_expression->getToken(tokPos)->str());
-	}
-}
-
-
-
-void
-XPathProcessorImpl::addToTokenQueue(const XalanDOMString&	s) const
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	m_expression->pushToken(s);
-}
-
-
-
-int
-XPathProcessorImpl::mapNSTokens(
-			const XalanDOMString&	pat,
-			int 					startSubstring,
-			int 					posOfNSSep,
-			int 					posOfScan) const
-{
-	assert(m_prefixResolver != 0);
-
-	const XalanDOMString 	prefix(pat, startSubstring, posOfNSSep - startSubstring);
-
-	if (XalanQName::isValidNCName(prefix) == false)
-	{
-		error(XalanDOMString("'") + prefix + XalanDOMString("' is not a valid NCName"));
-	}
-
-	const XalanDOMString* const		uName =
-				m_prefixResolver->getNamespaceForPrefix(prefix);
-
-	if(uName == 0)
-	{
-		error(
-			TranscodeFromLocalCodePage("Unable to resolve prefix '") +
-			prefix +
-			TranscodeFromLocalCodePage("'."));
-	}
-	else if (length(*uName) == 0)
-	{
-		error(
-			TranscodeFromLocalCodePage("The prefix '") +
-			prefix +
-			TranscodeFromLocalCodePage("' is bound to a zero-length URI."));
-	}
-	else
-	{
-		addToTokenQueue(*uName);
-
-		addToTokenQueue(DOMServices::s_XMLNamespaceSeparatorString);
-
-		// If there's no local part, then don't bother.  We need to check
-		// this because '*' tokenizes separately, which means "ns:*" tokenizes
-		// differently from "ns:foo".  In the first case, '*' will be tokenized
-		// _after_ this code, in the second 'ns:foo' will be split into tokens
-		// here...
-		if(posOfNSSep + 1 < posOfScan)
-		{
-			const XalanDOMString 	s(pat, posOfNSSep + 1, posOfScan - (posOfNSSep + 1));
-
-			assert(length(s) > 0);
-
-			if (XalanQName::isValidNCName(s) == false)
-			{
-				error(XalanDOMString("'") + s + XalanDOMString("' is not a valid NCName"));
-			}
-			else
-			{
-				addToTokenQueue(s);
-			}
-		}
-	}
-
-	return -1;
-}
-
-
-
-int
-XPathProcessorImpl::getTokenQueuePosFromMap(int 	i) const
-{
-	assert(m_expression != 0);
-
-	const int	pos = m_expression->getPattern(i);
-
-	return pos >= TARGETEXTRA ? pos - TARGETEXTRA : pos;
-}
-
-
-
-bool
-XPathProcessorImpl::tokenIs(const XalanDOMString&	s) const
-{
-	return equals(m_token, s);
-}
-
-
-
-bool
-XPathProcessorImpl::tokenIs(const XalanDOMChar*		s) const
-{
-	return equals(m_token, s);
-}
-
-
-
-bool
-XPathProcessorImpl::tokenIs(const char*		s) const
-{
-	const unsigned int	theTokenLength = length(m_token);
-
-	const unsigned int	theStringLength = XalanDOMString::length(s);
-
-	if (theTokenLength != theStringLength)
-	{
-		return false;
-	}
-	else
-	{
-		unsigned int	i = 0;
-
-		while(i < theStringLength)
-		{
-			if (charAt(m_token, i ) != s[i])
-			{
-				break;
-			}
-			else
-			{
-				++i;
-			}
-		}
-
-		return i == theStringLength ? true : false;
-	}
-}
-
-
-
-bool
-XPathProcessorImpl::tokenIs(char	c) const
-{
-	return m_tokenChar == c ? true : false;
-}
-
-
-
-bool
-XPathProcessorImpl::lookahead(
-			XalanDOMChar	c,
-			int 			n) const
-{
-	const XalanDOMString& 	tok =
-		getTokenRelative(n - 1);
-
-	if (length(tok) == 1 &&
-		charAt(tok, 0) == c)
-	{
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-bool
-XPathProcessorImpl::lookahead(
-			const XalanDOMChar* 	s,
-			int 					n) const
-{
-	assert(s != 0);
-
-	const XalanDOMString& 	tok =
-		getTokenRelative(n - 1);
-
-	return equals(tok, s);
-}
-
-
-
-bool
-XPathProcessorImpl::lookahead(
-			const XalanDOMString&	s,
-			int						n) const
-{
-	const XalanDOMString& 	tok =
-		getTokenRelative(n - 1);
-
-	return equals(tok, s);
-}
-
-
-
-bool
-XPathProcessorImpl::lookbehind(
-			char	c,
-			int 	n) const
-{
-	const XalanDOMString& 	tok =
-		getTokenRelative(-(n + 1));
-
-	if (length(tok) == 1 &&
-		charAt(tok, 0) == c)
-	{
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-bool
-XPathProcessorImpl::lookbehindHasToken(int	n) const
-{
-	const XalanDOMString& 	tok =
-		getTokenRelative(-(n + 1));
-
-	const XalanDOMChar 		c0 = length(tok) == 0 ? XalanUnicode::charVerticalLine : charAt(tok, 0);
-
-	return c0 == XalanUnicode::charVerticalLine ? false : true;
-}
-
-
-
-void
-XPathProcessorImpl::nextToken()
-{
-	assert(m_expression != 0);
-
-	const XObject* const	theNextToken =
-			m_expression->getNextToken();
-
-	if (theNextToken == 0)
-	{
-		clear(m_token);
-	}
-	else
-	{
-		m_token = theNextToken->str();
-	}
-
-	if(length(m_token) > 0)
-	{
-		m_tokenChar = charAt(m_token, 0);
-	}
-	else
-	{
-		m_tokenChar = 0;
-	}
-}
-
-
-
-void
-XPathProcessorImpl::prevToken()
-{
-	assert(m_expression != 0);
-
-	const XObject* const	thePreviousToken =
-			m_expression->getPreviousToken();
-
-	m_token = thePreviousToken == 0 ? XalanDOMString() : thePreviousToken->str();
-
-	if(length(m_token) > 0)
-	{
-		m_tokenChar = charAt(m_token, 0);
-	}
-	else
-	{
-		m_tokenChar = 0;
-	}
-}
-
-
-
-const XalanDOMString&
-XPathProcessorImpl::getTokenRelative(int	theOffset) const
-{
-	assert(m_expression != 0);
-
-	const XObject* const	theToken =
-		m_expression->getRelativeToken(theOffset);
-
-	return theToken == 0 ? s_emptyString : theToken->str();
-}
-
-
-
-void
-XPathProcessorImpl::resetTokenMark(int	mark)
-{
-	m_expression->setTokenPosition(mark);
-
-	nextToken();
-}
-
-
-
-void
-XPathProcessorImpl::consumeExpected(const char* 	expected)
-{
-	if(tokenIs(expected) == true)
-	{
-		nextToken();
-	}
-	else
-	{
-		error(TranscodeFromLocalCodePage("Expected ") +
-			  TranscodeFromLocalCodePage(expected) +
-			  TranscodeFromLocalCodePage(", but found: ") +
-			  m_token);
-	}
-}
-
-
-
-void
-XPathProcessorImpl::consumeExpected(char	expected)
-{
-	if(tokenIs(expected) == true)
-	{
-		nextToken();
-	}
-	else
-	{
-		XalanDOMString	theMsg(TranscodeFromLocalCodePage("Expected "));
-
-		append(theMsg, expected);
-		append(theMsg, ", but found: ");
-		append(theMsg, m_token);
-
-		error(theMsg);
-	}
-}
-
-
-
-void
-XPathProcessorImpl::error(
-			const XalanDOMString&	msg,
-			XalanNode*				/* sourceNode */) const
-{
-	XalanDOMString	emsg;
-
-	if (m_expression == 0)
-	{
-		emsg = msg;
-	}
-	else
-	{
-		const XalanDOMString&	theCurrentPattern =
-				m_expression->getCurrentPattern();
-
-		DOMStringPrintWriter	thePrintWriter(emsg);
-
-		thePrintWriter.print(msg);
-
-		thePrintWriter.println();
-
-		if (length(theCurrentPattern) != 0)
-		{
-			thePrintWriter.print(XALAN_STATIC_UCODE_STRING("pattern = '"));
-			thePrintWriter.print(theCurrentPattern);
-
-			thePrintWriter.print("'");
-
-			if (m_locator != 0)
-			{
-				const XalanDOMChar* const	theSystemID =
-					m_locator->getSystemId();
-
-				thePrintWriter.print("(");
-
-				if (theSystemID == 0)
-				{
-					thePrintWriter.print("Unknown URI");
-				}
-				else
-				{
-					thePrintWriter.print(theSystemID);
-				}
-
-				thePrintWriter.print(", ");
-				thePrintWriter.print(m_locator->getLineNumber());
-				thePrintWriter.print(", ");
-				thePrintWriter.print(m_locator->getColumnNumber());
-
-				thePrintWriter.print(")");
-			}
-
-			thePrintWriter.println();
-		}
-
-		// Back up one token, since we've consumed one...
-		m_expression->getPreviousToken();
-
-		// Ask the expression to dump the remaining tokens...
-		m_expression->dumpRemainingTokenQueue(thePrintWriter);
-	}
-
-	if (m_locator != 0)
-	{
-		const XalanDOMChar* const	theSystemID =
-					m_locator->getSystemId();
-
-		XalanDOMString	theURI;
-
-		if (theSystemID != 0)
-		{
-			theURI = theSystemID;
-		}
-
-		throw XPathParserException(
-					emsg,
-					theURI,
-					m_locator->getLineNumber(),
-					m_locator->getColumnNumber());
-	}
-	else
-	{
-		throw XPathParserException(emsg);
-	}
-}
-
-
-
-void
-XPathProcessorImpl::error(
-			const char*		msg,
-			XalanNode*		sourceNode) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode);
-}
-
-
-
-int
-XPathProcessorImpl::getKeywordToken(const XalanDOMString&	key) const
-{
-	KeywordsMapType::const_iterator 	i =
-		s_keywords.find(key);
-
-	if (i == s_keywords.end())
-	{
-		return 0;
-	}
-	else
-	{
-		return (*i).second;
-	}
-}
-
-
-
-int
-XPathProcessorImpl::getFunctionToken(const XalanDOMString&	key) const
-{
-	FunctionNameMapType::const_iterator 	i = s_functions.find(key);
-
-	if (i != s_functions.end())
-	{
-		return (*i).second;
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-void
-XPathProcessorImpl::Expr()
-{
-	OrExpr();
-}
-
-
-
-void
-XPathProcessorImpl::OrExpr()
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	AndExpr();
-
-	if(tokenIs(s_orString) == true)
-	{
-		nextToken();
-
-		m_expression->insertOpCode(XPathExpression::eOP_OR,
-								   opPos);
-
-		OrExpr();
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_OR,
-										 opPos);
-	}
-}
-
-
-
-void
-XPathProcessorImpl::AndExpr() 
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	EqualityExpr();
-
-	if(tokenIs(s_andString) == true)
-	{
-		nextToken();
-
-		m_expression->insertOpCode(XPathExpression::eOP_AND,
-								   opPos);
-
-		AndExpr();
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_AND,
-										 opPos);
-	}
-}
-
-
-
-int
-XPathProcessorImpl::EqualityExpr(int	opCodePos)
-{
-	int 		theOpDisplacement = 0;
-
-	const int	opPos = opCodePos != -1 ? opCodePos : m_expression->opCodeMapLength();
-
-	RelationalExpr();
-
-	XPathExpression::eOpCodes	theOpCode =
-			XPathExpression::eENDOP;
-
-	if(tokenIs(XalanUnicode::charExclamationMark) && lookahead(XalanUnicode::charEqualsSign, 1))
-	{
-		nextToken();
-		nextToken();
-
-		theOpCode = XPathExpression::eOP_NOTEQUALS;
-	}
-	else if(tokenIs(XalanUnicode::charEqualsSign))
-	{
-		nextToken();
-
-		theOpCode = XPathExpression::eOP_EQUALS;
-	}
-
-	if (theOpCode != XPathExpression::eENDOP)
-	{
-		// Save the number of bytes we inserted
-		// into the map.
-		const int	theLocalDisplacement =
-				m_expression->insertOpCode(theOpCode,
-										   opPos);
-
-		// Update the length
-		m_expression->updateOpCodeLength(theOpCode,
-										 opPos);
-
-		// Do the right term of the expression.
-		theOpDisplacement += EqualityExpr(opPos);
-
-		// If there's any displacement from the right
-		// term, update the length for a shift. Otherwise,
-		// just update the length.
-		if (theOpDisplacement > 0)
-		{
-			m_expression->updateShiftedOpCodeLength(theOpCode,
-													opPos,
-													opPos + theOpDisplacement);
-		}
-		else
-		{
-			m_expression->updateOpCodeLength(theOpCode,
-											 opPos);
-		}
-
-		// Accumulate the displacement.
-		theOpDisplacement += theLocalDisplacement;
-	}
-
-	return theOpDisplacement;
-}
-
-
-
-int
-XPathProcessorImpl::RelationalExpr(int	opCodePos)
-{
-	int 		theOpDisplacement = 0;
-
-	const int	opPos = opCodePos != -1 ? opCodePos : m_expression->opCodeMapLength();
-
-	AdditiveExpr();
-
-	if(0 != length(m_token))
-	{
-		XPathExpression::eOpCodes	theOpCode =
-			XPathExpression::eENDOP;
-
-		if(tokenIs(XalanUnicode::charLessThanSign) == true)
-		{
-			nextToken();
-
-			if(tokenIs(XalanUnicode::charEqualsSign) == true)
-			{
-				nextToken();
-
-				theOpCode = XPathExpression::eOP_LTE;
-			}
-			else
-			{
-				theOpCode = XPathExpression::eOP_LT;
-			}
-		}
-		else if(tokenIs(XalanUnicode::charGreaterThanSign) == true)
-		{
-			nextToken();
-
-			if(tokenIs(XalanUnicode::charEqualsSign) == true)
-			{
-				nextToken();
-
-				theOpCode = XPathExpression::eOP_GTE;
-			}
-			else
-			{
-				theOpCode = XPathExpression::eOP_GT;
-			}
-		}
-
-		if (theOpCode != XPathExpression::eENDOP)
-		{
-			// Save the number of bytes we inserted
-			// into the map.
-			const int	theLocalDisplacement =
-				m_expression->insertOpCode(theOpCode,
-										   opPos);
-
-			// Update the length
-			m_expression->updateOpCodeLength(theOpCode,
-											 opPos);
-
-			// Do the right term of the expression.
-			theOpDisplacement += RelationalExpr(opPos);
-
-			// If there's any displacement from the right
-			// term, update the length for a shift. Otherwise,
-			// just update the length.
-			if (theOpDisplacement > 0)
-			{
-				m_expression->updateShiftedOpCodeLength(theOpCode,
-														opPos,
-														opPos + theOpDisplacement);
-			}
-			else
-			{
-				m_expression->updateOpCodeLength(theOpCode,
-												 opPos);
-			}
-
-			// Accumulate the displacement.
-			theOpDisplacement += theLocalDisplacement;
-		}
-	}
-
-	return theOpDisplacement;
-}
-
-
-
-int
-XPathProcessorImpl::AdditiveExpr(int	opCodePos)
-{
-	int 		theOpDisplacement = 0;
-
-	const int	opPos = opCodePos != -1 ? opCodePos : m_expression->opCodeMapLength();
-
-	MultiplicativeExpr();
-
-	if(0 != length(m_token))
-	{
-		XPathExpression::eOpCodes	theOpCode =
-			XPathExpression::eENDOP;
-
-		if(tokenIs(XalanUnicode::charPlusSign) == true)
-		{
-			theOpCode = XPathExpression::eOP_PLUS;
-		}
-		else if(tokenIs(XalanUnicode::charHyphenMinus) == true)
-		{
-			theOpCode = XPathExpression::eOP_MINUS;
-		}
-
-		if (theOpCode != XPathExpression::eENDOP)
-		{
-			nextToken();
-
-			// Save the number of bytes we inserted
-			// into the map.
-			const int	theLocalDisplacement =
-				m_expression->insertOpCode(theOpCode,
-										   opPos);
-
-			// Update the length
-			m_expression->updateOpCodeLength(theOpCode,
-											 opPos);
-
-			// Do the right term of the expression.
-			theOpDisplacement += AdditiveExpr(opPos);
-
-			// If there's any displacement from the right
-			// term, update the length for a shift. Otherwise,
-			// just update the length.
-			if (theOpDisplacement > 0)
-			{
-				m_expression->updateShiftedOpCodeLength(theOpCode,
-														opPos,
-														opPos + theOpDisplacement);
-			}
-			else
-			{
-				m_expression->updateOpCodeLength(theOpCode,
-												 opPos);
-			}
-
-			// Accumulate the displacement.
-			theOpDisplacement += theLocalDisplacement;
-		}
-	}
-
-	return theOpDisplacement;
-}
-
-
-
-int
-XPathProcessorImpl::MultiplicativeExpr(int	opCodePos)
-{
-	int 		theOpDisplacement = 0;
-
-	const int	opPos = opCodePos != -1 ? opCodePos : m_expression->opCodeMapLength();
-
-	UnaryExpr();
-
-	if(0 != length(m_token))
-	{
-		XPathExpression::eOpCodes	theOpCode =
-			XPathExpression::eENDOP;
-
-		if(tokenIs(XalanUnicode::charAsterisk) == true)
-		{
-			theOpCode = XPathExpression::eOP_MULT;
-		}
-		else if(tokenIs(s_divString) == true)
-		{
-			theOpCode = XPathExpression::eOP_DIV;
-		}
-		else if(tokenIs(s_modString) == true)
-		{
-			theOpCode = XPathExpression::eOP_MOD;
-		}
-
-		if (theOpCode != XPathExpression::eENDOP)
-		{
-			nextToken();
-
-			// Save the number of bytes we inserted
-			// into the map.
-			const int	theLocalDisplacement =
-				m_expression->insertOpCode(theOpCode,
-										   opPos);
-
-			// Update the length
-			m_expression->updateOpCodeLength(theOpCode,
-											 opPos);
-
-			// Do the right term of the expression.
-			theOpDisplacement += MultiplicativeExpr(opPos);
-
-			// If there's any displacement from the right
-			// term, update the length for a shift. Otherwise,
-			// just update the length.
-			if (theOpDisplacement > 0)
-			{
-				m_expression->updateShiftedOpCodeLength(theOpCode,
-														opPos,
-														opPos + theOpDisplacement);
-			}
-			else
-			{
-				m_expression->updateOpCodeLength(theOpCode,
-												 opPos);
-			}
-
-			// Accumulate the displacement.
-			theOpDisplacement += theLocalDisplacement;
-		}
-	}
-
-	return theOpDisplacement;
-}
-
-
-
-void
-XPathProcessorImpl::UnaryExpr()
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	bool		isNeg = false;
-
-	if(tokenIs(XalanUnicode::charHyphenMinus) == true)
-	{
-		nextToken();
-
-		m_expression->insertOpCode(XPathExpression::eOP_NEG,
-								   opPos);
-
-		isNeg = true;
-	}
-
-	UnionExpr();
-
-	if(isNeg == true)
-	{
-		m_expression->updateOpCodeLength(XPathExpression::eOP_NEG,
-										 opPos);
-	}
-}
-  
-
-
-void
-XPathProcessorImpl::BooleanExpr()
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	m_expression->appendOpCode(XPathExpression::eOP_BOOL);
-
-	Expr();
-
-	const int	opLen = m_expression->opCodeMapLength() - opPos;
-
-	if(opLen == 2)
-	{
-		error("boolean(...) argument is no longer optional with 19990709 XPath draft.");
-	}
-
-	m_expression->updateOpCodeLength(XPathExpression::eOP_BOOL,
-									 opPos);
-}
-
-
-
-void
-XPathProcessorImpl::UnionExpr()
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	bool		continueOrLoop = true;
-	bool		foundUnion = false;
-
-	do 
-	{
-		PathExpr();
-
-		if(tokenIs(XalanUnicode::charVerticalLine) == true)
-		{
-			if(false == foundUnion)
-			{
-				foundUnion = true;
-
-				m_expression->insertOpCode(XPathExpression::eOP_UNION,
-										   opPos);
-			}
-
-			nextToken();
-		}
-		else
-		{
-			if (foundUnion == true)
-			{
-				// Terminate for safety.
-				m_expression->appendOpCode(XPathExpression::eENDOP);
-			}
-
-			break;
-		}
-	}
-	while(continueOrLoop == true);
-
-	m_expression->updateOpCodeLength(opPos);
-}
-
- 
-
-void
-XPathProcessorImpl::PathExpr()
-{
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	FilterExpr();
-
-	if(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		nextToken();
-
-		m_expression->insertOpCode(XPathExpression::eOP_LOCATIONPATH,
-								   opPos);
-
-		RelativeLocationPath();
-
-		m_expression->appendOpCode(XPathExpression::eENDOP);
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_LOCATIONPATH,
-										 opPos);
-	}
-}
-
-
-
-void
-XPathProcessorImpl::FilterExpr()
-{
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	//	const bool	isFunc = lookahead(XalanUnicode::charLeftParenthesis, 1);
-
-	PrimaryExpr();
-
-	if(tokenIs(XalanUnicode::charLeftSquareBracket) == true)
-	{
-		m_expression->insertOpCode(XPathExpression::eOP_LOCATIONPATH,
-								   opPos);
-	  
-		while(tokenIs(XalanUnicode::charLeftSquareBracket) == true)
-		{
-			Predicate();
-		}
-
-		if(tokenIs(XalanUnicode::charSolidus) == true)
-		{
-			nextToken();
-
-			RelativeLocationPath();
-		}
-
-		// Terminate for safety.
-		m_expression->appendOpCode(XPathExpression::eENDOP);
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_LOCATIONPATH,
-										 opPos);
-	}
-}
-  
-
-
-void
-XPathProcessorImpl::PrimaryExpr()
-{
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	if(tokenIs(XalanUnicode::charApostrophe) == true ||
-	   tokenIs(XalanUnicode::charQuoteMark) == true)
-	{
-		m_expression->appendOpCode(XPathExpression::eOP_LITERAL);
-
-		Literal();
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_LITERAL,
-										 opPos);
-	}
-	else if(tokenIs(XalanUnicode::charDollarSign) == true)
-	{
-		nextToken(); // consume '$'
-
-		m_expression->appendOpCode(XPathExpression::eOP_VARIABLE);
-
-		QName();
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_VARIABLE,
-											 opPos);
-	}
-	else if(tokenIs(XalanUnicode::charLeftParenthesis) == true)
-	{
-		nextToken();
-
-		m_expression->appendOpCode(XPathExpression::eOP_GROUP);
-
-		Expr();
-
-		consumeExpected(XalanUnicode::charRightParenthesis);
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_GROUP,
-										 opPos);
-	}
-	else if((tokenIs(XalanUnicode::charFullStop) == true &&
-				length(m_token) > 1 &&
-				XalanXMLChar::isDigit(charAt(m_token, 1)) == true) ||
-				XalanXMLChar::isDigit(m_tokenChar) == true)
-	{
-		m_expression->appendOpCode(XPathExpression::eOP_NUMBERLIT);
-
-		Number();
-
-		m_expression->updateOpCodeLength(XPathExpression::eOP_NUMBERLIT,
-										 opPos);
-	}
-	else if(lookahead(XalanUnicode::charLeftParenthesis, 1) == true ||
-			(lookahead(XalanUnicode::charColon, 1) == true && lookahead(XalanUnicode::charLeftParenthesis, 3) == true))
-	{
-		FunctionCall();
-	}
-	else
-	{
-		LocationPath();
-	}
-}
-
-
-
-void
-XPathProcessorImpl::Argument()
-{
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	m_expression->appendOpCode(XPathExpression::eOP_ARGUMENT);
-
-	if (m_requireLiterals == false ||
-		isCurrentLiteral() == true)
-	{
-		Expr();
-	}
-	else
-	{
-		error(TranscodeFromLocalCodePage("A literal argument is required!"));
-	}
-
-	m_expression->updateOpCodeLength(XPathExpression::eOP_ARGUMENT,
-									 opPos);
-}
-
-
-
-int
-XPathProcessorImpl::FunctionCallArguments()
-{
-	int		argCount = 0;
-
-	consumeExpected(XalanUnicode::charLeftParenthesis);
-
-	while(tokenIs(XalanUnicode::charRightParenthesis) == false && isEmpty(m_token) == false)
-	{
-		if(tokenIs(XalanUnicode::charComma) == true)
-		{
-			error("Found ',' but no preceding argument!");
-		}
-
-		Argument();
-
-		++argCount;
-
-		if(tokenIs(XalanUnicode::charRightParenthesis) == false)
-		{
-			consumeExpected(XalanUnicode::charComma);
-
-			if(tokenIs(XalanUnicode::charRightParenthesis) == true)
-			{
-				error("Found ',' but no following argument!");
-			}
-		}
-	}
-
-	consumeExpected(XalanUnicode::charRightParenthesis);
-
-	return argCount;
-}
-
-
-void
-XPathProcessorImpl::FunctionCall()
-{
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	if(lookahead(XalanUnicode::charColon, 1) == true)
-	{
-		m_expression->appendOpCode(XPathExpression::eOP_EXTFUNCTION);
-
-		XPathExpression::OpCodeMapValueVectorType	theArgs(2, 0);
-
-		theArgs[0] = m_expression->getTokenPosition() - 1;
-
-		nextToken();
-
-		consumeExpected(XalanUnicode::charColon);
-
-		theArgs[1] = m_expression->getTokenPosition() - 1;
-
-		m_expression->setOpCodeArgs(XPathExpression::eOP_EXTFUNCTION,
-									opPos,
-									theArgs);
-
-		nextToken();
-
-		FunctionCallArguments();
-	}
-	else
-	{
-		if (isValidFunction(m_token) == false)
-		{
-			error(TranscodeFromLocalCodePage("Could not find function: ") +
-				 m_token +
-				 TranscodeFromLocalCodePage("()"));
-		}
-
-		const int funcTok = getFunctionToken(m_token);
-
-		switch(funcTok)
-		{
-		case XPathExpression::eNODETYPE_PI:
-		case XPathExpression::eNODETYPE_COMMENT:
-		case XPathExpression::eNODETYPE_TEXT:
-		case XPathExpression::eNODETYPE_NODE:
-			LocationPath();
-			// ************** Nasty return here!!! *********************** //
-			return;
-			break;
-
-		default:
-			{
-				// The position must be at least zero, since
-				// we've looked at a token.
-				assert(m_expression->getTokenPosition() > 0);
-
-				int		theFunctionID =
-					XPath::getFunctionTable().nameToID(m_token);
-
-				// This code is disabled for the time being, as
-				// it needs more testing.
-#if 0
-				if (equals(m_token, s_positionString) == true &&
-					m_positionPredicateStack.empty() == false)
-				{
-					m_positionPredicateStack.back() = true;
-				}
-#endif
-
-				XPathExpression::OpCodeMapValueVectorType	theArgs(2, 0);
-		
-				theArgs[0] = theFunctionID;
-				theArgs[1] = 0;
-
-				m_expression->appendOpCode(XPathExpression::eOP_FUNCTION,
-										   theArgs);
-			}
-		}
-
-		nextToken();
-
-		// Get the arguments, and the argument count...
-		const int	argCount = FunctionCallArguments();
-
-		assert(m_expression->m_opMap[opPos + 3] == 0);
-
-		// update the arg count in the op map...
-		m_expression->m_opMap[opPos + 3] = argCount;
-	}
-
-	// Terminate for safety.
-	m_expression->appendOpCode(XPathExpression::eENDOP);
-
-	m_expression->updateOpCodeLength(opPos);
-}
-
-
-
-void
-XPathProcessorImpl::LocationPath()
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	m_expression->appendOpCode(XPathExpression::eOP_LOCATIONPATH);
-
-	if(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		const int	newOpPos = m_expression->opCodeMapLength();
-
-		// Tell how long the step is without the predicate
-		const XPathExpression::OpCodeMapValueVectorType		theArgs(1, 4);
-
-		m_expression->appendOpCode(XPathExpression::eFROM_ROOT,
-								   theArgs);
-
-		m_expression->appendOpCode(XPathExpression::eNODETYPE_ROOT);
-
-		// Tell how long the entire step is.
-		m_expression->updateOpCodeLength(newOpPos);
-
-		nextToken();
-	}
-
-	if(length(m_token) != 0)
-	{
-		RelativeLocationPath();
-	}
-
-	// Terminate for safety.
-	m_expression->appendOpCode(XPathExpression::eENDOP);
-
-	m_expression->updateOpCodeLength(XPathExpression::eOP_LOCATIONPATH,
-									 opPos);
-}
-
-
-  
-void
-XPathProcessorImpl::RelativeLocationPath()
-{
-	Step();
-
-	while(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		nextToken();
-
-		Step();
-	}
-}
-  
-
-
-void
-XPathProcessorImpl::Step()
-{
-	const int	opPos = m_expression->opCodeMapLength();
-
-	if(tokenIs(s_dotString) == true)
-	{
-		nextToken();
-
-		if(tokenIs(XalanUnicode::charLeftSquareBracket) == true)
-		{
-			error("'..[predicate]' or '.[predicate]' is illegal syntax.  Use 'self::node()[predicate]' instead.");
-		}
-
-		const XPathExpression::OpCodeMapValueVectorType		theArgs(1, 4);
-
-		m_expression->appendOpCode(XPathExpression::eFROM_SELF,
-								   theArgs);
-
-		m_expression->appendOpCode(XPathExpression::eNODETYPE_NODE);
-
-		// Tell how long the entire step is.
-		m_expression->updateOpCodeLength(opPos);
-	}
-	else if(tokenIs(s_dotDotString) == true)
-	{
-		nextToken();
-
-		// Tell how long the step is without the predicate
-		const XPathExpression::OpCodeMapValueVectorType		theArgs(1, 4);
-
-		m_expression->appendOpCode(XPathExpression::eFROM_PARENT,
-								   theArgs);
-
-		m_expression->appendOpCode(XPathExpression::eNODETYPE_NODE);
-
-		// Tell how long the entire step is.
-		m_expression->updateOpCodeLength(opPos);
-	}
-	else if (tokenIs(XalanUnicode::charAsterisk) ||
-			 tokenIs(XalanUnicode::charCommercialAt) ||
-			 tokenIs(XalanUnicode::charSolidus) ||
-			 (tokenIs(XalanUnicode::charLowLine) ||
-			  XalanXMLChar::isLetter(charAt(m_token, 0))))
-	{
-		Basis();
-
-		while(tokenIs(XalanUnicode::charLeftSquareBracket) == true)
-		{
-			Predicate();
-		}
-
-		// Tell how long the entire step is.
-		m_expression->updateOpCodeLength(opPos);
-	}
-	else if (tokenIs(XalanUnicode::charRightParenthesis) == false)
-	{
-		error("Unexpected token!");
-	}
-}
-
-
-
-void
-XPathProcessorImpl::Basis()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	int			axisType = 0;
-
-	// The next blocks guarantee that a FROM_XXX will be added.
-	if(lookahead(s_axisString, 1) == true)
-	{
-		axisType = AxisName();
-
-		nextToken();
-		nextToken();
-	}
-	else if(tokenIs(XalanUnicode::charCommercialAt) == true)
-	{
-		axisType = XPathExpression::eFROM_ATTRIBUTES;
-
-		m_expression->appendOpCode(XPathExpression::eFROM_ATTRIBUTES);
-
-		nextToken();
-	}
-	else if(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		// Check the current token in the expression.  It's
-		// actually the next token in this context.
-		//
-		const XalanDOMString&	theNextToken = getTokenRelative(0);
-
-		if (isAxis(theNextToken) == false && isNodeTest(theNextToken) == false)
-		{
-			nextToken();
-
-			error("Expected axis or node test!");
-		}
-		else
-		{
-			// Tell how long the step is without the predicate
-			const XPathExpression::OpCodeMapValueVectorType		theArgs(1, 4);
-
-			m_expression->appendOpCode(XPathExpression::eFROM_DESCENDANTS_OR_SELF,
-									   theArgs);
-
-			m_expression->appendOpCode(XPathExpression::eNODETYPE_NODE);
-
-			// Tell how long the step is without the predicate
-			m_expression->updateOpCodeLengthAfterNodeTest(opPos);
-
-			return; // make a quick exit...
-		}
-	}
-	else
-	{
-		axisType = XPathExpression::eFROM_CHILDREN;
-
-		m_expression->appendOpCode(XPathExpression::eFROM_CHILDREN);
-	}
-
-	NodeTest(axisType);
-
-	// Tell how long the step is without the predicate
-	m_expression->updateOpCodeLengthAfterNodeTest(opPos);
-}
-
-
-
-int
-XPathProcessorImpl::AxisName()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	const AxisNamesMapType::const_iterator	i =
-		s_axisNames.find(m_token);
-
-	if (i == s_axisNames.end())
-	{
-		error(TranscodeFromLocalCodePage("illegal axis name: ") +
-			  m_token);
-	}
-	else
-	{
-		m_expression->appendOpCode((*i).second);
-	}
-
-	return (*i).second;
-}
-
-
-
-void
-XPathProcessorImpl::NodeTest(int	axisType)
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	if(lookahead(XalanUnicode::charLeftParenthesis, 1) == true)
-	{
-		NodeTypesMapType::const_iterator	i =
-			s_nodeTypes.find(m_token);
-
-		if (i == s_nodeTypes.end())
-		{
-			error(TranscodeFromLocalCodePage("Unknown nodetype: ") +
-				  m_token);
-		}
-		else
-		{
-			nextToken();
-
-			m_expression->appendOpCode((*i).second);
-
-			consumeExpected(XalanUnicode::charLeftParenthesis);
-
-			if(XPathExpression::eNODETYPE_PI == (*i).second)
-			{
-				if(tokenIs(XalanUnicode::charRightParenthesis) == false)
-				{
-					Literal();
-				}
-			}
-
-			consumeExpected(XalanUnicode::charRightParenthesis);
-		}
-	}
-	else
-	{
-		// Assume name of attribute or element.
-		m_expression->appendOpCode(XPathExpression::eNODENAME);
-
-		if(lookahead(XalanUnicode::charColon, 1) == true)
-		{
-			if(tokenIs(XalanUnicode::charAsterisk) == true)
-			{
-				m_expression->appendOpCode(XPathExpression::eELEMWILDCARD);
-			}
-			else
-			{
-				m_expression->pushCurrentTokenOnOpCodeMap();
-			}
-
-			nextToken();
-
-			consumeExpected(XalanUnicode::charColon);
-		}
-		else
-		{
-			m_expression->appendOpCode(XPathExpression::eEMPTY);
-		}
-
-		if(tokenIs(XalanUnicode::charAsterisk) == true)
-		{
-			m_expression->appendOpCode(XPathExpression::eELEMWILDCARD);
-		}
-		else if (isNodeTest(m_token) == false)
-		{
-			error("Expected node test!");
-		}
-		else
-		{
-			if (axisType == XPathExpression::eFROM_NAMESPACE)
-			{
-				const XObject* const	theToken =
-						m_expression->getRelativeToken(-1);
-				assert(theToken != 0);
-
-				const XalanDOMString&			theString = theToken->str();
-
-				const XalanDOMString* const		theNamespace =
-						m_prefixResolver->getNamespaceForPrefix(theString);
-
-				if (theNamespace != 0)
-				{
-					m_expression->replaceRelativeToken(
-										-1,
-										*theNamespace);
-				}
-			}
-
-			m_expression->pushCurrentTokenOnOpCodeMap();
-		}
-
-		nextToken();
-	}
-}
-
-
-
-void
-XPathProcessorImpl::Predicate()
-{
-	if(tokenIs(XalanUnicode::charLeftSquareBracket) == true)
-	{
-		nextToken();
-
-		PredicateExpr();		
-
-		consumeExpected(XalanUnicode::charRightSquareBracket);
-	}
-}
-
-
-
-void
-XPathProcessorImpl::PredicateExpr()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	m_expression->appendOpCode(XPathExpression::eOP_PREDICATE);
-
-	m_positionPredicateStack.push_back(false);
-
-	Expr();
-
-	// Terminate for safety.
-	m_expression->appendOpCode(XPathExpression::eENDOP);
-
-	m_expression->updateOpCodeLength(XPathExpression::eOP_PREDICATE,
-									 opPos);
-
-	assert(m_positionPredicateStack.empty() == false);
-
-	if (m_positionPredicateStack.back() == true)
-	{
-		m_expression->replaceOpCode(
-			opPos,
-			XPathExpression::eOP_PREDICATE,
-			XPathExpression::eOP_PREDICATE_WITH_POSITION);
-	}
-
-	m_positionPredicateStack.pop_back();
-}
-
-
-
-void
-XPathProcessorImpl::QName()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	// If there is no prefix, we have to fake things out...
-	if (lookahead(XalanUnicode::charColon, 1) == false)
-	{
-		m_expression->insertToken(XalanDOMString());
-
-		m_expression->pushCurrentTokenOnOpCodeMap();
-
-		nextToken();
-	}
-	else
-	{
-		m_expression->pushCurrentTokenOnOpCodeMap();
-
-		nextToken();
-
-		consumeExpected(XalanUnicode::charColon);
-	}
-
-	m_expression->pushCurrentTokenOnOpCodeMap();
-
-	nextToken();
-}
-
-
-
-void
-XPathProcessorImpl::NCName()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	m_expression->pushCurrentTokenOnOpCodeMap();
-
-	nextToken();
-}
-
-
-
-void
-XPathProcessorImpl::Literal()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	if(isCurrentLiteral() == true)
-	{
-		const XalanDOMString	theArgument(m_token, 1, length(m_token) - 2);
-
-		m_expression->pushArgumentOnOpCodeMap(theArgument);
-
-		nextToken();
-	}
-	else
-	{
-		error(TranscodeFromLocalCodePage("Pattern literal (") +
-			  m_token +
-			  TranscodeFromLocalCodePage(") needs to be quoted!"));
-	}
-}
-
-
-
-void
-XPathProcessorImpl::Number()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	if(0 != length(m_token))
-	{
-		const double	num = DoubleSupport::toDouble(m_token);
-
-		m_expression->pushNumberLiteralOnOpCodeMap(num);
-
-		m_expression->pushArgumentOnOpCodeMap(num);
-
-		nextToken();
-	}
-}
-
-
-
-void
-XPathProcessorImpl::Pattern()
-{
-	while(true)
-	{
-		LocationPathPattern();
-
-		if(tokenIs(XalanUnicode::charVerticalLine) == true)
-		{
-			nextToken();
-		}
-		else
-		{
-			break;
-		}
-	}
-}
-
-
-
-void
-XPathProcessorImpl::LocationPathPattern()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	m_expression->appendOpCode(XPathExpression::eOP_LOCATIONPATHPATTERN);
-
-	if(lookahead(XalanUnicode::charLeftParenthesis, 1) == true &&
-				(tokenIs(s_functionIDString) == true ||
-				 tokenIs(s_functionKeyString) == true))
-	{
-		IdKeyPattern();
-
-		if(tokenIs(XalanUnicode::charSolidus) == true && lookahead(XalanUnicode::charSolidus, 1) == true)
-		{
-			const int	newOpPos = m_expression->opCodeMapLength();
-
-			// Tell how long the step is without the predicate
-			const XPathExpression::OpCodeMapValueVectorType		theArgs(1, 4);
-
-			m_expression->appendOpCode(XPathExpression::eMATCH_ANY_ANCESTOR_WITH_FUNCTION_CALL,
-									   theArgs);
-
-			m_expression->updateOpCodeLength(newOpPos);
-
-			nextToken();
-		}
-	}
-	else if(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		const int	newOpPos = m_expression->opCodeMapLength();
-
-		// Tell how long the step is without the predicate
-		const XPathExpression::OpCodeMapValueVectorType		theArgs(1, 4);
-
-		if(lookahead(XalanUnicode::charSolidus, 1) == true)
-		{
-			m_expression->appendOpCode(XPathExpression::eMATCH_ANY_ANCESTOR_WITH_PREDICATE,
-									   theArgs);
-		}
-		else
-		{
-			m_expression->appendOpCode(XPathExpression::eFROM_ROOT,
-									   theArgs);
-		}
-
-		m_expression->appendOpCode(XPathExpression::eNODETYPE_ROOT);
-
-		m_expression->updateOpCodeLength(newOpPos);
-
-		nextToken();
-	}
-
-	if(!tokenIs(XalanUnicode::charVerticalLine) == true && length(m_token) != 0)
-	{
-		RelativePathPattern();
-	}
-
-	// Terminate for safety.
-	m_expression->appendOpCode(XPathExpression::eENDOP);
-
-	m_expression->updateOpCodeLength(XPathExpression::eOP_LOCATIONPATHPATTERN,
-									 opPos);
-}
-
-
-
-void
-XPathProcessorImpl::IdKeyPattern()
-{
-	m_requireLiterals = true;
-
-	FunctionCall();
-
-	m_requireLiterals = false;
-}
-
-
-
-void
-XPathProcessorImpl::RelativePathPattern()
-{	 
-	StepPattern();
-
-	while(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		nextToken();
-
-		StepPattern();
-	}
-}
-
-
-
-void
-XPathProcessorImpl::StepPattern()
-{
-	AbbreviatedNodeTestStep();
-}
-
-
-
-void
-XPathProcessorImpl::AbbreviatedNodeTestStep()
-{
-	assert(m_xpath != 0);
-	assert(m_expression != 0);
-
-	const int	opPos = m_expression->opCodeMapLength();
-
-	int			axisType = 0;
-
-	int			matchTypePos = -1;
-
-	// The next blocks guarantee that a MATCH_XXX will be added.
-	if(tokenIs(XalanUnicode::charCommercialAt) == true)
-	{
-		axisType = XPathExpression::eMATCH_ATTRIBUTE;
-
-		m_expression->appendOpCode(XPathExpression::eMATCH_ATTRIBUTE);
-
-		nextToken();
-	}
-	else if(lookahead(s_axisString, 1) == true)
-	{
-		// $$$ To Do: Perhaps these strings should be in the
-		// axis table?
-		if(tokenIs(s_attributeString) == true)
-		{
-			axisType = XPathExpression::eMATCH_ATTRIBUTE;
-
-			m_expression->appendOpCode(XPathExpression::eMATCH_ATTRIBUTE);
-		}
-		else if(tokenIs(s_childString) == true)
-		{
-			axisType = XPathExpression::eMATCH_IMMEDIATE_ANCESTOR;
-
-			m_expression->appendOpCode(XPathExpression::eMATCH_IMMEDIATE_ANCESTOR);
-		}
-		else
-		{
-			error("Only child:: and attribute:: axes are allowed in match patterns!");
-		}
-
-		nextToken();
-		nextToken();
-	}
-	else if(tokenIs(XalanUnicode::charSolidus) == true)
-	{
-		axisType = XPathExpression::eMATCH_ANY_ANCESTOR;
-
-		m_expression->appendOpCode(XPathExpression::eMATCH_ANY_ANCESTOR);
-
-		nextToken();
-	}
-	else
-	{
-		if(tokenIs(XalanUnicode::charSolidus) == true)
-		{
-			nextToken();
-		}
-
-		matchTypePos = m_expression->opCodeMapLength();
-
-		axisType = XPathExpression::eMATCH_IMMEDIATE_ANCESTOR;
-
-		m_expression->appendOpCode(XPathExpression::eMATCH_IMMEDIATE_ANCESTOR);
-	}
-
-    // Make room for telling how long the step is without the predicate.
-	// This will be replaced by the right value.
-	m_expression->appendOpCode(XPathExpression::eENDOP);
-
-	NodeTest(axisType);
-
-	m_expression->updateOpCodeLengthAfterNodeTest(opPos);
-
-	while(tokenIs(XalanUnicode::charLeftSquareBracket) == true)
-	{
-		Predicate();
-	}
-
-	if(matchTypePos > -1 && tokenIs(XalanUnicode::charSolidus) == true && lookahead(XalanUnicode::charSolidus, 1) == true)
-	{
-		assert(m_expression->opCodeMapLength() > matchTypePos);
-
-		m_expression->m_opMap[matchTypePos] = XPathExpression::eMATCH_ANY_ANCESTOR;
-	}
-
-	m_expression->updateOpCodeLength(opPos);
-}
-
-
-
-bool
-XPathProcessorImpl::isValidFunction(const XalanDOMString&	key) const
-{
-	bool	fResult = true;
-
-	if(XPath::isInstalledFunction(key) == false)
-	{
-		if (getFunctionToken(key) == 0)
-		{
-			fResult = false;
-		}
-	}
-
-	return fResult;
-}
-
-
-
-bool
-XPathProcessorImpl::isCurrentLiteral() const
-{
-	const int last = length(m_token) - 1;
-
-	if (last <= 0)
-	{
-		return false;
-	}
-	else
-	{
-		assert(last > 0);
-
-		const XalanDOMChar 	c0 = m_tokenChar;
-		const XalanDOMChar 	cX = charAt(m_token, last);
-
-		if((c0 == XalanUnicode::charQuoteMark && cX == XalanUnicode::charQuoteMark) ||
-		   (c0 == XalanUnicode::charApostrophe && cX == XalanUnicode::charApostrophe))
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-}
-
-
-
-bool
-XPathProcessorImpl::isAxis(const XalanDOMString&	theToken)
-{
-	const XalanDOMString::size_type		theLength = length(theToken);
-
-	if (theLength == 0)
-	{
-		return false;
-	}
-	else if (theLength == 1 &&
-			 charAt(theToken, 0) == XalanUnicode::charCommercialAt)
-	{
-		return true;
-	}
-	else
-	{
-		const AxisNamesMapType::const_iterator	i =
-			s_axisNames.find(theToken);
-
-		if (i != s_axisNames.end())
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-}
-
-
-
-bool
-XPathProcessorImpl::isNodeTest(const XalanDOMString&	theToken)
-{
-	const XalanDOMString::size_type		theLength = length(theToken);
-
-	if (theLength == 0)
-	{
-		return false;
-	}
-	else if (theLength == 1 &&
-			 charAt(theToken, 0) == XalanUnicode::charAsterisk)
-	{
-		return true;
-	}
-	else if (charAt(theToken, 0) == XalanUnicode::charLowLine ||
-			 XalanXMLChar::isLetter(charAt(theToken, 0)) == true)
-	{
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-void
-XPathProcessorImpl::initializeKeywordsTable(KeywordsMapType&	/* theKeywords */)
-{
-	// $$$ ToDo: This is very confusing.  This table is only used
-	// by getKeywordToken().  But if you look at the switch
-	// statement there, none of these values are considered in the
-	// case statement.  So what's the point?
-
-	// theKeywords[FROM_SELF_ABBREVIATED_STRING] = XPathExpression::eFROM_SELF;
-	// theKeywords[FROM_ATTRIBUTE_STRING] = XPathExpression::eFROM_ATTRIBUTE;
-	// theKeywords[FROM_DOC_STRING] = XPathExpression::eFROM_DOC;
-	// theKeywords[FROM_DOCREF_STRING] = XPathExpression::eFROM_DOCREF;
-	// theKeywords[FROM_ID_STRING] = XPathExpression::eFROM_ID;
-	// theKeywords[FROM_IDREF_STRING] = XPathExpression::eFROM_IDREF;
-	// theKeywords[FUNC_ID_STRING] = XPathExpression::eFUNC_ID;
-	// theKeywords[FUNC_KEY_STRING] = XPathExpression::eFUNC_KEY;
-	// theKeywords[FUNC_DOCUMENT_STRING] = XPathExpression::eFUNC_DOC;
-}
-
-
-
-void
-XPathProcessorImpl::initializeFunctionTable(FunctionNameMapType&	theFunctions)
-{
-	theFunctions[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("processing-instruction"))] = XPathExpression::eNODETYPE_PI;
-	theFunctions[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("comment"))] = XPathExpression::eNODETYPE_COMMENT;
-	theFunctions[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("text"))] = XPathExpression::eNODETYPE_TEXT;
-	theFunctions[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("node"))] = XPathExpression::eNODETYPE_NODE;
-}
-
-
-
-void
-XPathProcessorImpl::initializeAxisNamesTable(AxisNamesMapType&		theAxisNames)
-{
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("ancestor"))] = XPathExpression::eFROM_ANCESTORS;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("ancestor-or-self"))] = XPathExpression::eFROM_ANCESTORS_OR_SELF;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("attribute"))] = XPathExpression::eFROM_ATTRIBUTES;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("child"))] = XPathExpression::eFROM_CHILDREN;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("descendant"))] = XPathExpression::eFROM_DESCENDANTS;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("descendant-or-self"))] = XPathExpression::eFROM_DESCENDANTS_OR_SELF;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("following"))] = XPathExpression::eFROM_FOLLOWING;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("following-sibling"))] = XPathExpression::eFROM_FOLLOWING_SIBLINGS;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("parent"))] = XPathExpression::eFROM_PARENT;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("preceding"))] = XPathExpression::eFROM_PRECEDING;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("preceding-sibling"))] = XPathExpression::eFROM_PRECEDING_SIBLINGS;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("self"))] = XPathExpression::eFROM_SELF;
-	theAxisNames[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("namespace"))] = XPathExpression::eFROM_NAMESPACE;
-}
-
-
-
-void
-XPathProcessorImpl::initializeNodeTypesTable(NodeTypesMapType&		theNodeTypes)
-{
-	theNodeTypes[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("comment"))] = XPathExpression::eNODETYPE_COMMENT;
-	theNodeTypes[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("text"))] = XPathExpression::eNODETYPE_TEXT;
-	theNodeTypes[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("processing-instruction"))] = XPathExpression::eNODETYPE_PI;
-	theNodeTypes[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("node"))] = XPathExpression::eNODETYPE_NODE;
-	theNodeTypes[StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("*"))] = XPathExpression::eNODETYPE_ANYELEMENT;
-}
-
-
-
-static XalanDOMString	s_functionIDString;
-
-static XalanDOMString	s_functionKeyString;
-
-static XalanDOMString	s_orString;
-
-static XalanDOMString	s_andString;
-
-static XalanDOMString	s_divString;
-
-static XalanDOMString	s_modString;
-
-static XalanDOMString	s_dotString;
-
-static XalanDOMString	s_dotDotString;
-
-static XalanDOMString	s_axisString;
-
-static XalanDOMString	s_attributeString;
-
-static XalanDOMString	s_childString;
-
-static XalanDOMString	s_positionString;
-
-
-
-const XalanDOMString	XPathProcessorImpl::s_emptyString;
-
-
-
-const XalanDOMString&	XPathProcessorImpl::s_functionIDString = ::s_functionIDString;
-
-
-	// This shouldn't really be here, since it's not part of the XPath standard,
-	// but rather a part ofthe XSLT standard.
-const XalanDOMString&	XPathProcessorImpl::s_functionKeyString = ::s_functionKeyString;
-
-const XalanDOMString&	XPathProcessorImpl::s_orString = ::s_orString;
-
-const XalanDOMString&	XPathProcessorImpl::s_andString = ::s_andString;
-
-const XalanDOMString&	XPathProcessorImpl::s_divString = ::s_divString;
-
-const XalanDOMString&	XPathProcessorImpl::s_modString = ::s_modString;
-
-const XalanDOMString&	XPathProcessorImpl::s_dotString = ::s_dotString;
-
-const XalanDOMString&	XPathProcessorImpl::s_dotDotString = ::s_dotDotString;
-
-const XalanDOMString&	XPathProcessorImpl::s_axisString = ::s_axisString;
-
-const XalanDOMString&	XPathProcessorImpl::s_attributeString = ::s_attributeString;
-
-const XalanDOMString&	XPathProcessorImpl::s_childString = ::s_childString;
-
-const XalanDOMString&	XPathProcessorImpl::s_positionString = ::s_positionString;
-
-
-
-static XPathProcessorImpl::KeywordsMapType 		s_keywords;
-static XPathProcessorImpl::FunctionNameMapType 	s_functions;
-static XPathProcessorImpl::AxisNamesMapType		s_axisNames;
-static XPathProcessorImpl::NodeTypesMapType		s_nodeTypes;
-
-
-
-const XPathProcessorImpl::KeywordsMapType& 		XPathProcessorImpl::s_keywords = ::s_keywords;
-const XPathProcessorImpl::FunctionNameMapType& 	XPathProcessorImpl::s_functions = ::s_functions;
-const XPathProcessorImpl::AxisNamesMapType&		XPathProcessorImpl::s_axisNames = ::s_axisNames;
-const XPathProcessorImpl::NodeTypesMapType&		XPathProcessorImpl::s_nodeTypes = ::s_nodeTypes;
-
-
-
-void
-XPathProcessorImpl::initialize()
-{
-	initializeKeywordsTable(::s_keywords);
-	initializeFunctionTable(::s_functions);
-	initializeAxisNamesTable(::s_axisNames);
-	initializeNodeTypesTable(::s_nodeTypes);
-
-	::s_functionIDString = XALAN_STATIC_UCODE_STRING("id");
-	::s_functionKeyString = XALAN_STATIC_UCODE_STRING("key");
-	::s_orString = XALAN_STATIC_UCODE_STRING("or");
-	::s_andString = XALAN_STATIC_UCODE_STRING("and");
-	::s_divString = XALAN_STATIC_UCODE_STRING("div");
-	::s_modString = XALAN_STATIC_UCODE_STRING("mod");
-	::s_dotString = XALAN_STATIC_UCODE_STRING(".");
-	::s_dotDotString = XALAN_STATIC_UCODE_STRING("..");
-	::s_axisString = XALAN_STATIC_UCODE_STRING("::");
-	::s_attributeString = XALAN_STATIC_UCODE_STRING("attribute");
-	::s_childString = XALAN_STATIC_UCODE_STRING("child");
-	::s_positionString = XALAN_STATIC_UCODE_STRING("position");
-}
-
-
-
-void
-XPathProcessorImpl::terminate()
-{
-	KeywordsMapType().swap(::s_keywords);
-	FunctionNameMapType().swap(::s_functions);
-	AxisNamesMapType().swap(::s_axisNames);
-	NodeTypesMapType().swap(::s_nodeTypes);
-
-	releaseMemory(::s_functionIDString);
-	releaseMemory(::s_functionKeyString);
-	releaseMemory(::s_orString);
-	releaseMemory(::s_andString);
-	releaseMemory(::s_divString);
-	releaseMemory(::s_modString);
-	releaseMemory(::s_dotString);
-	releaseMemory(::s_dotDotString);
-	releaseMemory(::s_axisString);
-	releaseMemory(::s_attributeString);
-	releaseMemory(::s_childString);
-	releaseMemory(::s_positionString);
-}
diff --git a/src/XPath/XPathProcessorImpl.hpp b/src/XPath/XPathProcessorImpl.hpp
deleted file mode 100644
index 5e583a1..0000000
--- a/src/XPath/XPathProcessorImpl.hpp
+++ /dev/null
@@ -1,879 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XPATHPROCESSORIMPL_HEADER_GUARD_1357924680)
-#define XPATHPROCESSORIMPL_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file...
-#include <XPath/XPathProcessor.hpp>
-
-
-
-#include <XPath/XPath.hpp>
-
-
-
-class XalanNode;
-
-
-
-/**
- * The XPathProcessorImpl class responsibilities include tokenizing and
- * parsing the XPath expression, and acting as a general interface to XPaths.
- */
-class XALAN_XPATH_EXPORT XPathProcessorImpl : public XPathProcessor
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				int,
-				less<XalanDOMString> >		KeywordsMapType;
-	typedef map<XalanDOMString,
-				XPathExpression::eOpCodes,
-				less<XalanDOMString> >		FunctionNameMapType;
-	typedef map<XalanDOMString,
-				XPathExpression::eOpCodes,
-				less<XalanDOMString> >		AxisNamesMapType;
-	typedef map<XalanDOMString,
-				XPathExpression::eOpCodes,
-				less<XalanDOMString> >		NodeTypesMapType;
-
-	typedef vector<XalanDOMString>			DOMStringVectorType;
-
-	typedef vector<bool>					BoolVectorType;
-#else
-	typedef std::map<XalanDOMString,
-					 int>							KeywordsMapType;
-	typedef std::map<XalanDOMString,
-					 XPathExpression::eOpCodes>		FunctionNameMapType;
-	typedef std::map<XalanDOMString,
-					 XPathExpression::eOpCodes>		AxisNamesMapType;
-	typedef std::map<XalanDOMString,
-					 XPathExpression::eOpCodes>		NodeTypesMapType;
-
-	typedef std::vector<XalanDOMString>				DOMStringVectorType;
-
-	typedef std::vector<bool>						BoolVectorType;
-#endif
-
-	/**
-	 * Perform static initialization.  See class XPathInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XPathInit.
-	 */
-	static void
-	terminate();
-
-	explicit
-	XPathProcessorImpl();
-
-	virtual
-	~XPathProcessorImpl();
-
-
-	// These are inherited from XPathProcessor...
-
-	virtual void
-	initXPath(
-			XPath&					pathObj,
-			const XalanDOMString&	expression,
-			const PrefixResolver&	prefixResolver,
-			const Locator*			locator = 0);
-
-	virtual void
-	initMatchPattern(
-			XPath&					pathObj,
-			const XalanDOMString&	expression,
-			const PrefixResolver&	prefixResolver,
-			const Locator*			locator = 0);
-
-private:
-
-	/**
-	 * Walk through the expression and build a token queue, and a map of the
-	 * top-level elements.
-	 *
-	 * @param pat XSLT Expression.
-	 * @param targetStrings Vector to hold Strings, may be null.
-	 */
-	void
-	tokenize(
-			const XalanDOMString&	pat,
-			DOMStringVectorType*	targetStrings = 0);
-  
-	/**
-	 * Record the current position on the token queue as long as this is a
-	 * top-level element.  Must be called before the next token is added to the
-	 * m_tokenQueue.
-	 */
-	bool
-	mapPatternElemPos(
-			int		nesting,
-			bool	isStart,
-			bool	isAttrName) const;
-
-	/**
-	 * Record the correct token string in the passed vector.
-	 */
-	void
-	recordTokenString(DOMStringVectorType&	targetStrings);
-
-	void
-	addToTokenQueue(const XalanDOMString&	s) const;
-
-	/**
-	 * When a separator token is found, see if there's a element name or the
-	 * like to map.
-	 */
-	int
-	mapNSTokens(
-			const XalanDOMString&	pat,
-			int						startSubstring,
-			int						posOfNSSep,
-			int						posOfScan) const;
-
-	/**
-	 * Given a map pos, return the corresponding token queue pos.
-	 */
-	int
-	getTokenQueuePosFromMap(int		i) const;
-
-	/**
-	 * This will return the index above the passed index that is the target
-	 * element, i.e. it holds a value >= TARGETEXTRA. If there is no next
-	 * target, it will return -1. Pass -1 in to start testing from zero.
-	 */
-	int
-	getNextTargetIndexInMap(int		i) const;
-  
-	/**
-	 * This will return the normalized index into the pattern 
-	 * map above the passed index, or -1 if it is the last pattern.
-	 */
-	int
-	getNextIndexInMap(int	i) const;
-  
-	/**
-	 * This will return the index above the passed index that 
-	 * is the start if the next subpattern, or -1 if there is none.
-	 * If there is no next target, it will return -1.
-	 * Pass -1 in to start testing from zero.
-	 */
-	int
-	getNextSubpatternStartIndexInMap(int	i) const;
-
-	/**
-	 * This will return the next index from the passed index,
-	 * or -1 if it the passed index is the last index of the 
-	 * subpattern.
-	 */
-	int
-	getNextPatternPos(int	i) const;
-
-	/**
-	 * This will return the previous index from the passed index,
-	 * or -1 if it the passed index is the first index of the 
-	 * subpattern.
-	 */
-	int
-	getPrevMapIndex(int		i) const;
-
-	/**
-	 * Check if m_token==s. If m_token is null, this won't throw
-	 * an exception, instead it just returns false (or true
-	 * if s is also null).
-	 */
-	bool
-	tokenIs(const XalanDOMString&	s) const;
-
-	/**
-	 * Check if m_token==s. If m_token is null, this won't throw
-	 * an exception, instead it just returns false (or true
-	 * if s is also null).
-	 */
-	bool
-	tokenIs(const XalanDOMChar*		s) const;
-
-	/**
-	 * Check if m_token==s. If m_token is null, this won't throw
-	 * an exception, instead it just returns false (or true
-	 * if s is also null).
-	 */
-	bool
-	tokenIs(const char*		s) const;
-
-	/**
-	 * Check if m_token==s. If m_token is null, this won't throw
-	 * an exception, instead it just returns false (or true
-	 * if s is also null).
-	 */
-	bool
-	tokenIs(char	c) const;
-
-	/**
-	 * Lookahead of the current token in order to 
-	 * make a branching decision.
-	 * @param s the string to compare it to.
-	 * @param n number of tokens to lookahead.  Must be 
-	 * greater than 1.
-	 */
-	bool
-	lookahead(
-			XalanDOMChar	c,
-			int				n) const;
-
-	/**
-	 * Lookahead of the current token in order to 
-	 * make a branching decision.
-	 * @param s the string to compare it to.
-	 * @param n number of tokens to lookahead.  Must be 
-	 * greater than 1.
-	 */
-	bool
-	lookahead(
-			const XalanDOMChar*		s,
-			int						n) const;
-
-	/**
-	 * Lookahead of the current token in order to 
-	 * make a branching decision.
-	 * @param s the string to compare it to.
-	 * @param n number of tokens to lookahead.  Must be 
-	 * greater than 1.
-	 */
-	bool
-	lookahead(
-			const XalanDOMString&	s,
-			int						n) const;
-
-	/**
-	 * Lookbehind the first character of the current token in order to 
-	 * make a branching decision.
-	 * @param c the character to compare it to.
-	 * @param n number of tokens to lookbehind.  Must be 
-	 * greater than 1.  Note that the lookbehind terminates 
-	 * at either the beginning of the string or on a '|' 
-	 * character.  Because of this, this method should only
-	 * be used for pattern matching.
-	 */
-	bool
-	lookbehind( 
-			char	c,
-			int		n) const;
- 
-	/**
-	 * look behind the current token in order to 
-	 * see if there is a useable token.
-	 * @param n number of tokens to lookahead.  Must be 
-	 * greater than 1.  Note that the lookbehind terminates 
-	 * at either the beginning of the string or on a '|' 
-	 * character.  Because of this, this method should only
-	 * be used for pattern matching.
-	 * @return true if lookbehind has a token, false otherwise.
-	 */
-	bool
-	lookbehindHasToken(int	n) const;
-
-	/**
-	 * Retrieve the next token from the command and
-	 * store it in m_token string.
-	 */
-	void
-	nextToken();
-
-	/**
-	 * Retrieve the next token from the command and
-	 * store it in m_token string.
-	 */
-	const XalanDOMString&
-	getTokenRelative(int	theOffset) const;
-
-	/**
-	 * Retrieve the previous token from the command and
-	 * store it in m_token string.
-	 */
-	void
-	prevToken();
-
-	/**
-	 * Reset token queue mark and m_token to a 
-	 * given position.
-	 */
-	void
-	resetTokenMark(int	mark);
-
-	/**
-	 * Consume an expected token, throwing an exception if it 
-	 * isn't there.
-	 */
-	void
-	consumeExpected(const char*		expected);
-
-	/**
-	 * Consume an expected token, throwing an exception if it 
-	 * isn't there.
-	 */
-	void
-	consumeExpected(char	expected);
-
-	bool
-	isCurrentLiteral() const;
-
-	/**
-	 * Determine if the token is an axis
-	 *
-	 * @param theToken The token to test
-	 * @return true if the token is a valid axis, false if not.
-	 */
-	static bool
-	isAxis(const XalanDOMString&	theToken);
-
-	/**
-	 * Determine if the token could be a node test
-	 *
-	 * @param theToken The token to test
-	 * @return true if the token is a valid node test, false if not.
-	 */
-	static bool
-	isNodeTest(const XalanDOMString&	theToken);
-
-	/**
-	 * Throw an exception using the provided message text.
-	 */
-	void
-	error(
-			const XalanDOMString&	msg,
-			XalanNode*				sourceNode = 0) const;
-
-	/**
-	 * Throw an exception using the provided message text.
-	 */
-	void
-	error(
-			const char*		msg,
-			XalanNode*		sourceNode = 0) const;
-
-	/**
-	 * Given a string, return the corresponding token.
-	 */
-	int
-	getKeywordToken(const XalanDOMString&	key) const;
-
-	/**
-	 * Given a string, return the corresponding token.
-	 */
-	int
-	getFunctionToken(const XalanDOMString&	key) const;
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	Expr  ::=  OrExpr   
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	Expr();
-
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	 OrExpr  ::=	AndExpr   
-	 | OrExpr 'or' AndExpr   
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	OrExpr();
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	 AndExpr	::=  EqualityExpr	
-	 | AndExpr 'and' EqualityExpr   
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	AndExpr() ;
-  
-	/**
-	 * XXXX.
-	 * @returns an Object which is either a String, a Number, a Boolean, or a vector 
-	 * of nodes.
-	 * --------------------------------------------------------------------------------
-	 EqualityExpr  ::=  RelationalExpr   
-	 | EqualityExpr '=' RelationalExpr   
-	 * --------------------------------------------------------------------------------
-	 */
-	int
-	EqualityExpr(int	opCodePos = -1);
-
-	/**
-	 * XXXX.
-	 * @returns an Object which is either a String, a Number, a Boolean, or a vector 
-	 * of nodes.
-	 * --------------------------------------------------------------------------------
-	 RelationalExpr  ::=	AdditiveExpr   
-	 | RelationalExpr '<' AdditiveExpr   
-	 | RelationalExpr '>' AdditiveExpr   
-	 | RelationalExpr '<=' AdditiveExpr	
-	 | RelationalExpr '>=' AdditiveExpr	
-	 * --------------------------------------------------------------------------------
-	 */
-	int
-	RelationalExpr(int	opCodePos = -1);
-
-	/**
-	 * XXXX.
-	 * @returns an Object which is either a String, a Number, a Boolean, or a vector 
-	 * of nodes.
-	 * --------------------------------------------------------------------------------
-	 AdditiveExpr  ::=  MultiplicativeExpr   
-	 | AdditiveExpr '+' MultiplicativeExpr   
-	 | AdditiveExpr '-' MultiplicativeExpr   
-	 * --------------------------------------------------------------------------------
-	 */
-	int
-	AdditiveExpr(int	opCodePos = -1);
-
-	/**
-	 * XXXX.
-	 * @returns an Object which is either a String, a Number, a Boolean, or a vector 
-	 * of nodes.
-	 * --------------------------------------------------------------------------------
-	 MultiplicativeExpr  ::=	UnaryExpr	
-	 | MultiplicativeExpr MultiplyOperator UnaryExpr	 
-	 | MultiplicativeExpr 'div' UnaryExpr   
-	 | MultiplicativeExpr 'mod' UnaryExpr   
-	 | MultiplicativeExpr 'quo' UnaryExpr   
-	 * --------------------------------------------------------------------------------
-	 */
-	int
-	MultiplicativeExpr(int	opCodePos = -1);
-
-	/**
-	 * XXXX.
-	 * @returns an Object which is either a String, a Number, a Boolean, or a vector 
-	 * of nodes.
-	 * --------------------------------------------------------------------------------
-	 UnaryExpr  ::=  UnionExpr   
-	 | '-' UnaryExpr	 
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	UnaryExpr();
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	 BooleanExpr  ::=	Expr   
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	BooleanExpr();
-
-	/**
-	 * The context of the right hand side expressions is the context of the 
-	 * left hand side expression. The results of the right hand side expressions 
-	 * are node sets. The result of the left hand side UnionExpr is the union 
-	 * of the results of the right hand side expressions.
-	 * 
-	 * --------------------------------------------------------------------------------
-	 UnionExpr	::=    PathExpr   
-	 | UnionExpr '|' PathExpr 	
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	UnionExpr();
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	 PathExpr  ::=  LocationPath	 
-	 | FilterExpr   
-	 | FilterExpr '/' RelativeLocationPath   
-	 | FilterExpr '//' RelativeLocationPath	
-	 * --------------------------------------------------------------------------------
-	 * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide 
-	 * the error condition is severe enough to halt processing.
-	 */
-	void
-	PathExpr();
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	 FilterExpr  ::=	PrimaryExpr   
-	 | FilterExpr Predicate	
-	 * --------------------------------------------------------------------------------
-	 * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide 
-	 * the error condition is severe enough to halt processing.
-	 */
-	void
-	FilterExpr();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 PrimaryExpr	::=  VariableReference	 
-	 | '(' Expr ')'	
-	 | Literal   
-	 | Number   
-	 | FunctionCall	
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	PrimaryExpr();
-
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 Argument    ::=	  Expr	   
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	Argument();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 FunctionCall    ::=	  FunctionName '(' ( Argument ( ',' Argument)*)? ')'	
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	FunctionCall();
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 LocationPath ::= RelativeLocationPath 
-	 | AbsoluteLocationPath 
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	LocationPath();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 RelativeLocationPath ::= Step 
-	 | RelativeLocationPath '/' Step 
-	 | AbbreviatedRelativeLocationPath 
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	RelativeLocationPath();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 Step    ::=	  Basis Predicate*	
-	 | AbbreviatedStep
-	 */
-	void
-	Step();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 Basis	::=    AxisName '::' NodeTest	
-	 | AbbreviatedBasis  
-	 */
-	void
-	Basis();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 Basis	::=    AxisName '::' NodeTest	
-	 | AbbreviatedBasis  
-	 */
-	int
-	AxisName();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 NodeTest    ::=	  WildcardName	 
-	 | NodeType '(' ')'  
-	 | 'processing-instruction' '(' Literal ')' 
-	 */
-	void
-	NodeTest(int	axisType);
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 Predicate ::= '[' PredicateExpr ']' 
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	Predicate();
-
-	/**
-	 *--------------------------------------------------------------------------------
-	 PredicateExpr ::= Expr 
-	 *--------------------------------------------------------------------------------
-	 */
-	void
-	PredicateExpr();
-  
-	/**
-	 * QName ::=	(Prefix ':')? LocalPart 
-	 * Prefix ::=  NCName 
-	 * LocalPart ::=	NCName 
-	 */
-	void
-	QName();
-
-	/**
-	 * NCName ::=  (Letter | '_') (NCNameChar)*
-	 * NCNameChar ::=  Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender 
-	 */
-	void
-	NCName();
-  
-	/**
-	 * The value of the Literal is the sequence of characters inside 
-	 * the " or ' characters>.
-	 * --------------------------------------------------------------------------------
-	 Literal	::=  '"' [^"]* '"'   
-	 | "'" [^']* "'"	 
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	Literal();
-  
-	/**
-	 * --------------------------------------------------------------------------------
-	 * Number ::= [0-9]+('.'[0-9]+)? | '.'[0-9]+
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	Number();
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 Pattern	::=  LocationPathPattern   
-	 | Pattern '|' LocationPathPattern   
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	Pattern();
-
-	/**
-	 * 
-	 * --------------------------------------------------------------------------------
-	 LocationPathPattern	::=  '/' RelativePathPattern?	
-	 | IdKeyPattern (('/' | '//') RelativePathPattern)?	
-	 | '//'? RelativePathPattern	 
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	LocationPathPattern();
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 IdKeyPattern  ::=  'id' '(' Literal ')'	 
-	 | 'key' '(' Literal ',' Literal ')'	 
-	 * (Also handle doc())
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	IdKeyPattern();
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 RelativePathPattern	::=  StepPattern   
-	 | RelativePathPattern '/' StepPattern   
-	 | RelativePathPattern '//' StepPattern	
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	RelativePathPattern();
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 StepPattern	::=  AbbreviatedNodeTestStep  
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	StepPattern();
-
-	/**
-	 * --------------------------------------------------------------------------------
-	 AbbreviatedNodeTestStep	  ::=	 '@'? NodeTest Predicate*	
-	 * --------------------------------------------------------------------------------
-	 */
-	void
-	AbbreviatedNodeTestStep();
-
-	bool
-	isValidFunction(const XalanDOMString&	key) const;
-
-private:
-
-	int
-	FunctionCallArguments();
-
-	static void
-	initializeKeywordsTable(KeywordsMapType&	theKeywords);
-
-	static void
-	initializeFunctionTable(FunctionNameMapType&	theFunctions);
-
-	static void
-	initializeAxisNamesTable(AxisNamesMapType&		theAxisNames);
-
-	static void
-	initializeNodeTypesTable(NodeTypesMapType&		theNodeTypes);
-
-	/**
-	 * The current input token.
-	 */
-	XalanDOMString					m_token;
-  
-	/**
-	 * The first char in m_token, the theory being that this 
-	 * is an optimization because we won't have to do charAt(0) as
-	 * often.
-	 */
-	XalanDOMChar					m_tokenChar;
-
-	/**
-	 * A pointer to the current XPath.
-	 */
-	XPath*							m_xpath;
-
-	/**
-	 * A pointer to the current XPath's expression.
-	 */
-	XPathExpression*				m_expression;
-
-	/**
-	 * A pointer to the current executionContext.
-	 */
-	const PrefixResolver*			m_prefixResolver;
-
-	bool							m_requireLiterals;
-
-	const Locator*					m_locator;
-
-	BoolVectorType					m_positionPredicateStack;
-
-	enum eDummy
-	{
-		TARGETEXTRA = 10000
-	};
-
-	static const XalanDOMString		s_emptyString;
-
-	// This shouldn't really be here, since it duplicates a string that is part
-	// of the information that is maintained by the class XPathFunctionTable,
-	// but this is a reasonable optimization.
-	static const XalanDOMString&	s_functionIDString;
-
-
-	// This shouldn't really be here, since it's not part of the XPath standard,
-	// but rather a part ofthe XSLT standard.
-	static const XalanDOMString&	s_functionKeyString;
-
-	static const XalanDOMString&	s_orString;
-
-	static const XalanDOMString&	s_andString;
-
-	static const XalanDOMString&	s_divString;
-
-	static const XalanDOMString&	s_modString;
-
-	static const XalanDOMString&	s_dotString;
-
-	static const XalanDOMString&	s_dotDotString;
-
-	static const XalanDOMString&	s_axisString;
-
-	static const XalanDOMString&	s_attributeString;
-
-	static const XalanDOMString&	s_childString;
-
-	static const XalanDOMString&	s_positionString;
-
-	/**
-	 * Map of keyword names to token values.
-	 */
-	static const KeywordsMapType&		s_keywords;
-
-	static const FunctionNameMapType&	s_functions;
-
-	static const AxisNamesMapType&		s_axisNames;
-
-	static const NodeTypesMapType&		s_nodeTypes;
-};
-
-
-
-#endif	// XPATHPROCESSORIMPL_HEADER_GUARD_1357924680
diff --git a/src/XPath/XSpan.cpp b/src/XPath/XSpan.cpp
deleted file mode 100644
index db8cfc1..0000000
--- a/src/XPath/XSpan.cpp
+++ /dev/null
@@ -1,135 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XSpan.hpp"
-
-
-
-XSpan::XSpan(BorrowReturnMutableNodeRefList&	value) :
-	XNodeSet(value),
-	m_start(-1),
-	m_end(-1)
-{
-}
-
-
-
-XSpan::XSpan(const XSpan&	source) :
-	XNodeSet(source),
-	m_start(source.m_start),
-	m_end(source.m_end)
-{
-}
-
-
-
-XSpan::~XSpan()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XSpan*
-#endif
-XSpan::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XSpan(*this) : new (theAddress) XSpan(*this);
-}
-
-
-
-int
-XSpan::getStart() const
-{
-	return m_start;
-}
-
-
-
-void
-XSpan::setStart(int 	start)
-{
-	m_start = start;
-}
-
-
-int
-XSpan::getEnd() const
-{
-	return m_end;
-}
-
-
-
-void
-XSpan::setEnd(int	end)
-{
-	m_end = end;
-}
-
-
-
-void
-XSpan::setSpan(
-			int 	firstNodeOffset,
-			int 	lastNodeOffset)
-{
-	m_start = firstNodeOffset;
-	m_end = lastNodeOffset;
-}
diff --git a/src/XPath/XSpan.hpp b/src/XPath/XSpan.hpp
deleted file mode 100644
index 186407d..0000000
--- a/src/XPath/XSpan.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSPAN_HEADER_GUARD_1357924680)
-#define XSPAN_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XNodeSet.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XSpan : public XNodeSet
-{
-public:
-
-	/**
-	 * Construct an XSpan object from a node list.
-	 * 
-	 * @param value      source node list.  The instance will adopt the value instance.
-	 */
-	XSpan(BorrowReturnMutableNodeRefList&	value);
-
-	XSpan(const XSpan&	source);
-
-	virtual
-	~XSpan();
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XSpan*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	/**
-	 * Get the start span offset from the first node, or -1 if offset isn't
-	 * set.
-	 *
-	 * @return starting offset
-	 */
-	virtual int
-	getStart() const;
-
-	/**
-	 * Set the start span offset from the first node, or pass -1 if offset
-	 * isn't set.
-	 *
-	 * @param start starting offset
-	 */
-	virtual void
-	setStart(int	start);
-
-	/**
-	 * Get the end span offset from start of the last node, or -1 if offset
-	 * isn't set.
-	 *
-	 * @return ending offset
-	 */
-	virtual int
-	getEnd() const;
-
-	/**
-	 * Set the end span offset from start of the last node, or -1 if offset
-	 * isn't set.
-	 *
-	 * @param end ending offset
-	 */
-	virtual void
-	setEnd(int	end);
-  
-	/**
-	 * Set the range of the span, based on offsets from the first node and
-	 * offsets from the last node.
-	 *
-	 * @param firstNodeOffset offset of first node
-	 * @param lastNodeOffset  offset of last node   
-	 */
-	virtual void
-	setSpan(
-			int		firstNodeOffset,
-			int		lastNodeOffset);
-
-private:
-
-	int		m_start;
-	int		m_end;
-};
-
-
-
-#endif	// XSPAN_HEADER_GUARD_1357924680
diff --git a/src/XPath/XString.cpp b/src/XPath/XString.cpp
deleted file mode 100644
index 3269f77..0000000
--- a/src/XPath/XString.cpp
+++ /dev/null
@@ -1,134 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XString.hpp"
-
-
-
-//#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-XString::XString(const XalanDOMString&	val) :
-	XStringBase(),
-	m_value(val)
-{
-}
-
-
-
-XString::XString(const XalanDOMChar*	val) :
-	XStringBase(),
-	m_value(val)
-{
-}
-
-
-
-XString::XString(
-			const XalanDOMChar*		val,
-			unsigned int			len) :
-	XStringBase(),
-	m_value(val, len)
-{
-}
-
-
-
-XString::XString(const XString&	source) :
-	XStringBase(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XString::~XString()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XString*
-#endif
-XString::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XString(*this) : new (theAddress) XString(*this);
-}
-
-
-
-const XalanDOMString&
-XString::str() const
-{
-	return m_value;
-}
-
-
-
-void
-XString::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	assert(length(m_value) == FormatterListener::size_type(length(m_value)));
-
-	(formatterListener.*function)(c_wstr(m_value), FormatterListener::size_type(length(m_value)));
-}
diff --git a/src/XPath/XString.hpp b/src/XPath/XString.hpp
deleted file mode 100644
index 1b80834..0000000
--- a/src/XPath/XString.hpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSTRING_HEADER_GUARD_1357924680)
-#define XSTRING_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XStringBase.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XString : public XStringBase
-{
-public:
-
-	/**
-	 * Construct an XString object from a string.
-	 * 
-	 * @param value      source string
-	 */
-	XString(const XalanDOMString&	val);
-
-	XString(const XalanDOMChar*		val);
-
-	XString(
-			const XalanDOMChar*		val,
-			unsigned int			len);
-
-	XString(const XString&	source);
-
-	virtual
-	~XString();
-
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XString*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual const XalanDOMString&
-	str() const;
-  
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-private:
-
-	const XalanDOMString	m_value;
-};
-
-
-
-#endif	// XSTRING_HEADER_GUARD_1357924680
diff --git a/src/XPath/XStringAdapter.cpp b/src/XPath/XStringAdapter.cpp
deleted file mode 100644
index 13ca54f..0000000
--- a/src/XPath/XStringAdapter.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XStringAdapter.hpp"
-
-
-
-XStringAdapter::XStringAdapter(const XObjectPtr&	val) :
-	XStringBase(),
-	m_value(val)
-{
-}
-
-
-
-XStringAdapter::XStringAdapter(const XStringAdapter&	source) :
-	XStringBase(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XStringAdapter::~XStringAdapter()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XStringAdapter*
-#endif
-XStringAdapter::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XStringAdapter(*this) : new (theAddress) XStringAdapter(*this);
-}
-
-
-
-const XalanDOMString&
-XStringAdapter::str() const
-{
-	return m_value->str();
-}
-
-
-
-void
-XStringAdapter::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	m_value->str(formatterListener, function);
-}
-
-
-
-XStringAdapter::eObjectType
-XStringAdapter::getRealType() const
-{
-	return eTypeStringAdapter;
-}
diff --git a/src/XPath/XStringAdapter.hpp b/src/XPath/XStringAdapter.hpp
deleted file mode 100644
index d596fcc..0000000
--- a/src/XPath/XStringAdapter.hpp
+++ /dev/null
@@ -1,120 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSTRINGADAPTER_HEADER_GUARD_1357924680)
-#define XSTRINGADAPTER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XStringBase.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringAdapter : public XStringBase
-{
-public:
-
-	/**
-	 * Create a string XObject that will adapt another XObject to
-	 * behave like a string.  The XObject holds a reference to the
-	 * other XObject.
-	 *
-	 * @param theValue	value used to create object  
-	 */
-	XStringAdapter(const XObjectPtr&	val);
-
-	XStringAdapter(const XStringAdapter&	source);
-
-	virtual
-	~XStringAdapter();
-
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XStringAdapter*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-protected:
-
-	virtual eObjectType
-	getRealType() const;
-
-private:
-
-	const XObjectPtr	m_value;
-};
-
-
-
-#endif	// XSTRINGADAPTER_HEADER_GUARD_1357924680
diff --git a/src/XPath/XStringAdapterAllocator.cpp b/src/XPath/XStringAdapterAllocator.cpp
deleted file mode 100644
index 77bb39f..0000000
--- a/src/XPath/XStringAdapterAllocator.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XStringAdapterAllocator.hpp"
-
-
-
-XStringAdapterAllocator::XStringAdapterAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XStringAdapterAllocator::~XStringAdapterAllocator()
-{
-}
-
-
-
-XStringAdapterAllocator::string_type*
-XStringAdapterAllocator::createString(const XObjectPtr&		theXObject) 
-{
-	string_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	string_type* const	theResult = new(theBlock) string_type(theXObject);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XStringAdapterAllocator::string_type*
-XStringAdapterAllocator::clone(const string_type&		value)
-{
-	string_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool 
-XStringAdapterAllocator::destroy(string_type*	theString)
-{
-	return m_allocator.destroyObject(theString);
-}
-
-
-
-void 
-XStringAdapterAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XStringAdapterAllocator.hpp b/src/XPath/XStringAdapterAllocator.hpp
deleted file mode 100644
index 9346cc3..0000000
--- a/src/XPath/XStringAdapterAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XSTRINGADAPTERALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XSTRINGADAPTERALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XStringAdapter.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringAdapterAllocator
-{
-public:
-
-	typedef XStringAdapter	string_type;
-
-	typedef ReusableArenaAllocator<string_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XStringAdapterAllocator(size_type	theBlockCount);
-
-	~XStringAdapterAllocator();
-
-	/**
-	 * Create an XString object from a string.
-	 * 
-	 * @param theXObject The source XObject
-	 *
-	 * @return a pointer to string
-	 */
-	string_type*
-	createString(const XObjectPtr&	theXObject);
-
-	/**
-	 * Clone an XStringAdapter object.
-	 * 
-	 * @param value source XStringAdapter
-	 *
-	 * @return pointer to an XStringAdapter
-	 */
-	string_type*
-	clone(const string_type&	value);
-
-	/**
-	 * Delete an XStringAdapter object from allocator.	 
-	 */
-	bool
-	destroy(string_type*	theString);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const string_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XStringAdapter objects from allocator.	 
-	 */
-	void 
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XStringAdapterAllocator(const XStringAdapterAllocator&);
-
-	XStringAdapterAllocator&
-	operator=(const XStringAdapterAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XSTRINGADAPTERALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/XPath/XStringAllocator.cpp b/src/XPath/XStringAllocator.cpp
deleted file mode 100644
index 418ca30..0000000
--- a/src/XPath/XStringAllocator.cpp
+++ /dev/null
@@ -1,150 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XStringAllocator.hpp"
-
-
-
-XStringAllocator::XStringAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XStringAllocator::~XStringAllocator()
-{
-}
-
-
-
-XStringAllocator::string_type*
-XStringAllocator::createString(const XalanDOMString&	theString) 
-{
-	string_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	string_type* const	theResult = new(theBlock) string_type(theString);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XStringAllocator::string_type*
-XStringAllocator::createString(const XalanDOMChar*	theString)
-{
-	string_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	string_type* const	theResult = new(theBlock) string_type(theString);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XStringAllocator::string_type*
-XStringAllocator::createString(
-			const XalanDOMChar*		theString,
-			unsigned int			theLength)
-{
-	string_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	string_type* const	theResult = new(theBlock) string_type(theString, theLength);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XStringAllocator::string_type*
-XStringAllocator::clone(const XString&	value)
-{
-	string_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool 
-XStringAllocator::destroy(string_type*	theString)
-{
-	return m_allocator.destroyObject(theString);
-}
-
-
-
-void 
-XStringAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XStringAllocator.hpp b/src/XPath/XStringAllocator.hpp
deleted file mode 100644
index 24dd0ec..0000000
--- a/src/XPath/XStringAllocator.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XSTRINGALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XSTRINGALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XString.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringAllocator
-{
-public:
-
-	typedef XString			string_type;
-
-	typedef ReusableArenaAllocator<string_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XStringAllocator(size_type	theBlockCount);
-
-	~XStringAllocator();
-
-	/**
-	 * Create an XString object from a string.
-	 * 
-	 * @param theString     source string
-	 *
-	 * @return a pointer to string
-	 */
-	string_type*
-	createString(const XalanDOMString&	theString);
-
-	/**
-	 * Create an XString object from a null-terminated array of characters.
-	 * 
-	 * @param theString     a pointer to the array
-	 *
-	 * @return a pointer to string
-	 */
-	string_type*
-	createString(const XalanDOMChar*	theString);
-
-	/**
-	 * Create an XString object from an array of characters.
-	 * 
-	 * @param theString     a pointer to the array
-	 * @param theLength     the length of the array.
-	 *
-	 * @return a pointer to string
-	 */
-	string_type*
-	createString(
-			const XalanDOMChar*		theString,
-			unsigned int			theLength);
-
-	/**
-	 * Clone an XString object.
-	 * 
-	 * @param value			source XString
-	 *
-	 * @return pointer to an XString
-	 */
-	string_type*
-	clone(const XString&	value);
-
-	/**
-	 * Delete an XString object from allocator.	 
-	 */
-	bool
-	destroy(string_type*	theString);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const string_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XString objects from allocator.	 
-	 */
-	void 
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XStringAllocator(const XStringAllocator&);
-
-	XStringAllocator&
-	operator=(const XStringAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XSTRINGALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/XPath/XStringBase.cpp b/src/XPath/XStringBase.cpp
deleted file mode 100644
index 234254d..0000000
--- a/src/XPath/XStringBase.cpp
+++ /dev/null
@@ -1,156 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XStringBase.hpp"
-
-
-
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-#include "XPathExecutionContext.hpp"
-
-
-
-XStringBase::XStringBase() :
-	XObject(eTypeString),
-	m_cachedNumberValue(0.0),
-	m_resultTreeFrag(*this)
-{
-}
-
-
-
-XStringBase::XStringBase(const XStringBase&		source) :
-	XObject(source),
-	m_cachedNumberValue(source.m_cachedNumberValue),
-	m_resultTreeFrag(*this)
-{
-}
-
-
-
-XStringBase::~XStringBase()
-{
-}
-
-
-
-XalanDOMString
-XStringBase::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#STRING"));
-}
-
-
-
-double
-XStringBase::num() const
-{
-	if (m_cachedNumberValue == 0.0)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XStringBase*)this)->m_cachedNumberValue = DoubleSupport::toDouble(str());
-#else
-		m_cachedNumberValue = DoubleSupport::toDouble(str());
-#endif
-	}
-
-	return m_cachedNumberValue;
-}
-
-
-
-bool
-XStringBase::boolean() const
-{
-	return length(str()) > 0 ? true : false;
-}
-
-
-
-const ResultTreeFragBase&
-XStringBase::rtree() const
-{
-	return m_resultTreeFrag;
-}
-
-
-
-void
-XStringBase::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.String(*this,
-							 str());
-}
-
-
-
-void
-XStringBase::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.String(*this,
-							 str());
-}
diff --git a/src/XPath/XStringBase.hpp b/src/XPath/XStringBase.hpp
deleted file mode 100644
index 2aaec23..0000000
--- a/src/XPath/XStringBase.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSTRINGBASE_HEADER_GUARD_1357924680)
-#define XSTRINGBASE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XObject.hpp>
-#include <XPath/XObjectResultTreeFragProxy.hpp>
-
-
-
-class XPathEnvSupport;
-
-
-
-class XALAN_XPATH_EXPORT XStringBase : public XObject
-{
-public:
-
-	/**
-	 * Construct an XStringBase object from a string.
-	 * 
-	 */
-	XStringBase();
-
-	XStringBase(const XStringBase&	source);
-
-	virtual
-	~XStringBase();
-
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XStringBase*
-#endif
-	clone(void*		theAddress = 0) const = 0;
-
-	virtual XalanDOMString
-	getTypeString() const;
-  
-	virtual double
-	num() const;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const = 0;
-  
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const = 0;
-
-	virtual const ResultTreeFragBase&
-	rtree() const;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-private:
-
-	mutable double						m_cachedNumberValue;
-
-	mutable XObjectResultTreeFragProxy	m_resultTreeFrag;
-};
-
-
-
-#endif	// XSTRINGBASE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XStringCached.cpp b/src/XPath/XStringCached.cpp
deleted file mode 100644
index e5952ac..0000000
--- a/src/XPath/XStringCached.cpp
+++ /dev/null
@@ -1,125 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XStringCached.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-XStringCached::XStringCached(GetAndReleaseCachedString&		val) :
-	XStringBase(),
-	m_value(val)
-{
-}
-
-
-
-XStringCached::XStringCached(const XStringCached&	source) :
-	XStringBase(source),
-	m_value(source.m_value.getExecutionContext())
-{
-	m_value.get() = source.m_value.get();
-}
-
-
-
-XStringCached::~XStringCached()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XStringCached*
-#endif
-XStringCached::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XStringCached(*this) : new (theAddress) XStringCached(*this);
-}
-
-
-
-const XalanDOMString&
-XStringCached::str() const
-{
-	return m_value.get();
-}
-
-
-
-void
-XStringCached::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	assert(length(m_value.get()) == FormatterListener::size_type(length(m_value.get())));
-
-	(formatterListener.*function)(c_wstr(m_value.get()), FormatterListener::size_type(length(m_value.get())));
-}
-
-
-
-XStringCached::eObjectType
-XStringCached::getRealType() const
-{
-	return eTypeStringCached;
-}
diff --git a/src/XPath/XStringCached.hpp b/src/XPath/XStringCached.hpp
deleted file mode 100644
index f411cf1..0000000
--- a/src/XPath/XStringCached.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSTRINGCACHED_HEADER_GUARD_1357924680)
-#define XSTRINGCACHED_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XStringBase.hpp>
-
-
-
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringCached : public XStringBase
-{
-public:
-
-	typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	/**
-	 * Create a string XObject from a cached string.
-	 *
-	 * @param theValue	value used to create object 
-	 */
-	XStringCached(GetAndReleaseCachedString&	val);
-
-	XStringCached(const XStringCached&	source);
-
-	virtual
-	~XStringCached();
-
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XStringCached*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-protected:
-
-	virtual eObjectType
-	getRealType() const;
-
-private:
-
-	const GetAndReleaseCachedString		m_value;
-};
-
-
-
-#endif	// XSTRINGCACHED_HEADER_GUARD_1357924680
diff --git a/src/XPath/XStringCachedAllocator.cpp b/src/XPath/XStringCachedAllocator.cpp
deleted file mode 100644
index 6233cc6..0000000
--- a/src/XPath/XStringCachedAllocator.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XStringCachedAllocator.hpp"
-
-
-
-XStringCachedAllocator::XStringCachedAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XStringCachedAllocator::~XStringCachedAllocator()
-{
-}
-
-
-
-XStringCachedAllocator::string_type*
-XStringCachedAllocator::createString(GetAndReleaseCachedString&		theValue) 
-{
-	string_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	string_type* const	theResult = new(theBlock) string_type(theValue);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XStringCachedAllocator::string_type*
-XStringCachedAllocator::clone(const string_type&		value)
-{
-	string_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool 
-XStringCachedAllocator::destroy(string_type*	theString)
-{
-	return m_allocator.destroyObject(theString);
-}
-
-
-
-void 
-XStringCachedAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XStringCachedAllocator.hpp b/src/XPath/XStringCachedAllocator.hpp
deleted file mode 100644
index 6df52f9..0000000
--- a/src/XPath/XStringCachedAllocator.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XSTRINGCACHEDALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XSTRINGCACHEDALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XStringCached.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringCachedAllocator
-{
-public:
-
-	typedef XStringCached	string_type;
-
-	typedef string_type::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	typedef ReusableArenaAllocator<string_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XStringCachedAllocator(size_type	theBlockCount);
-
-	~XStringCachedAllocator();
-
-	/**
-	 * Create an XString object from a cached string.
-	 * 
-	 * @param theXObject The source cached string
-	 *
-	 * @return a pointer to the new XStringCached instance.
-	 */
-	string_type*
-	createString(GetAndReleaseCachedString&		theValue);
-
-	/**
-	 * Clone an XStringCached object.
-	 * 
-	 * @param value source XStringCached
-	 *
-	 * @return pointer to an XStringCached
-	 */
-	string_type*
-	clone(const string_type&	value);
-
-	/**
-	 * Delete an XStringCached object from allocator.	 
-	 */
-	bool
-	destroy(string_type*	theString);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const string_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XStringCached objects from allocator.	 
-	 */
-	void 
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XStringCachedAllocator(const XStringCachedAllocator&);
-
-	XStringCachedAllocator&
-	operator=(const XStringCachedAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XSTRINGCACHEDALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/XPath/XStringReference.cpp b/src/XPath/XStringReference.cpp
deleted file mode 100644
index 3de36c6..0000000
--- a/src/XPath/XStringReference.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XStringReference.hpp"
-
-
-
-XStringReference::XStringReference(const XalanDOMString&	val) :
-	XStringBase(),
-	m_value(val)
-{
-}
-
-
-
-XStringReference::XStringReference(const XStringReference&	source) :
-	XStringBase(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XStringReference::~XStringReference()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XStringReference*
-#endif
-XStringReference::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XStringReference(*this) : new (theAddress) XStringReference(*this);
-}
-
-
-
-const XalanDOMString&
-XStringReference::str() const
-{
-	return m_value;
-}
-
-
-
-void
-XStringReference::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	assert(length(m_value) == FormatterListener::size_type(length(m_value)));
-
-	(formatterListener.*function)(c_wstr(m_value), FormatterListener::size_type(length(m_value)));
-}
-
-
-
-XStringReference::eObjectType
-XStringReference::getRealType() const
-{
-	return eTypeStringReference;
-}
diff --git a/src/XPath/XStringReference.hpp b/src/XPath/XStringReference.hpp
deleted file mode 100644
index 173b256..0000000
--- a/src/XPath/XStringReference.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSTRINGREFERENCE_HEADER_GUARD_1357924680)
-#define XSTRINGREFERENCE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XStringBase.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringReference : public XStringBase
-{
-public:
-
-	/**
-	 * Construct an XStringReference object from a string.
-	 * The XStringReference will hold a reference to the
-	 * supplied string, so the string must be in scope for
-	 * the lifetime of the instance
-	 * 
-	 * @param value      source string
-	 */
-	XStringReference(const XalanDOMString&	val);
-
-	XStringReference(const XStringReference&	source);
-
-	virtual
-	~XStringReference();
-
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XStringReference*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual const XalanDOMString&
-	str() const;
-  
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-protected:
-
-	virtual eObjectType
-	getRealType() const;
-
-private:
-
-	const XalanDOMString&	m_value;
-};
-
-
-
-#endif	// XSTRINGREFERENCE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XStringReferenceAllocator.cpp b/src/XPath/XStringReferenceAllocator.cpp
deleted file mode 100644
index 1f7993d..0000000
--- a/src/XPath/XStringReferenceAllocator.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XStringReferenceAllocator.hpp"
-
-
-
-XStringReferenceAllocator::XStringReferenceAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XStringReferenceAllocator::~XStringReferenceAllocator()
-{
-}
-
-
-
-XStringReferenceAllocator::string_type*
-XStringReferenceAllocator::createString(const XalanDOMString&	theString) 
-{
-	string_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	string_type* const	theResult = new(theBlock) string_type(theString);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XStringReferenceAllocator::string_type*
-XStringReferenceAllocator::clone(const string_type&		value)
-{
-	string_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool 
-XStringReferenceAllocator::destroy(string_type*	theString)
-{
-	return m_allocator.destroyObject(theString);
-}
-
-
-
-void 
-XStringReferenceAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XStringReferenceAllocator.hpp b/src/XPath/XStringReferenceAllocator.hpp
deleted file mode 100644
index 16af525..0000000
--- a/src/XPath/XStringReferenceAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XSTRINGREFERENCEALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XSTRINGREFERENCEALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XStringReference.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XStringReferenceAllocator
-{
-public:
-
-	typedef XStringReference	string_type;
-
-	typedef ReusableArenaAllocator<string_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XStringReferenceAllocator(size_type	theBlockCount);
-
-	~XStringReferenceAllocator();
-
-	/**
-	 * Create an XStringReference object from a string.
-	 * 
-	 * @param theString source string
-	 *
-	 * @return a pointer to string
-	 */
-	string_type*
-	createString(const XalanDOMString&	theString);
-
-	/**
-	 * Clone an XStringReference object.
-	 * 
-	 * @param value	source XStringReference
-	 *
-	 * @return pointer to an XStringReference
-	 */
-	string_type*
-	clone(const string_type&	value);
-
-	/**
-	 * Delete an XStringReference object from allocator.	 
-	 */
-	bool
-	destroy(string_type*	theString);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const string_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XStringReference objects from allocator.	 
-	 */
-	void 
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XStringReferenceAllocator(const XStringReferenceAllocator&);
-
-	XStringReferenceAllocator&
-	operator=(const XStringReferenceAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XSTRINGREFERENCEALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/XPath/XToken.cpp b/src/XPath/XToken.cpp
deleted file mode 100644
index 8aea0af..0000000
--- a/src/XPath/XToken.cpp
+++ /dev/null
@@ -1,220 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XToken.hpp"
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-
-
-
-XToken::XToken() :
-	XObject(eTypeString),
-	m_stringValue(),
-	m_numberValue(DoubleSupport::getNaN())
-{
-}
-
-
-
-XToken::XToken(const XalanDOMString&	theString) :
-	XObject(eTypeString),
-	m_stringValue(theString),
-	m_numberValue(DoubleSupport::toDouble(theString))
-{
-}
-
-
-
-XToken::XToken(double	theNumber) :
-	XObject(eTypeString),
-	m_stringValue(DoubleToDOMString(theNumber)),
-	m_numberValue(theNumber)
-{
-}
-
-
-
-XToken::XToken(const XToken&	theSource) :
-	XObject(theSource),
-	m_stringValue(theSource.m_stringValue),
-	m_numberValue(theSource.m_numberValue)
-{
-}
-
-
-
-XToken::~XToken()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XToken*
-#endif
-XToken::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XToken(*this) : new (theAddress) XToken(*this);
-}
-
-
-
-XalanDOMString
-XToken::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#TOKEN"));
-}
-
-
-
-double
-XToken::num() const
-{
-	return m_numberValue;
-}
-
-
-
-const XalanDOMString&
-XToken::str() const
-{
-	return m_stringValue;
-}
-
-
-
-void
-XToken::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	assert(length(m_stringValue) == FormatterListener::size_type(length(m_stringValue)));
-
-	(formatterListener.*function)(c_wstr(m_stringValue), FormatterListener::size_type(length(m_stringValue)));
-}
-
-
-
-void
-XToken::str(XalanDOMString&		theBuffer) const
-{
-	append(theBuffer, m_stringValue);
-}
-
-
-
-void
-XToken::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.String(*this, m_stringValue);
-}
-
-
-
-void
-XToken::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.String(*this, m_stringValue);
-}
-
-
-
-XToken&
-XToken::operator=(const XalanDOMString&	theString)
-{
-	m_stringValue = theString;
-
-	m_numberValue = DoubleSupport::toDouble(theString);
-
-	return *this;
-}
-
-
-
-XToken&
-XToken::operator=(double	theNumber)
-{
-	clear(m_stringValue);
-
-	DoubleToDOMString(theNumber, m_stringValue);
-
-	m_numberValue = theNumber;
-
-	return *this;
-}
-
-
-
-void 
-XToken::referenced()
-{
-}
-
-
-
-void 
-XToken::dereferenced()
-{
-}
diff --git a/src/XPath/XToken.hpp b/src/XPath/XToken.hpp
deleted file mode 100644
index 50228df..0000000
--- a/src/XPath/XToken.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XTOKEN_HEADER_GUARD_1357924680)
-#define XTOKEN_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class...
-#include <XPath/XObject.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XToken : public XObject
-{
-public:
-
-	explicit
-	XToken();
-
-	XToken(const XalanDOMString&	theString);
-
-	XToken(double	theNumber);
-
-	XToken(const XToken&	theSource);
-
-	virtual
-	~XToken();
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XToken*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual XalanDOMString
-	getTypeString() const;
-
-	virtual double
-	num() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-	XToken&
-	operator=(const XToken&		theRHS)
-	{
-		m_stringValue = theRHS.m_stringValue;
-
-		m_numberValue = theRHS.m_numberValue;
-
-		return *this;
-	}
-
-	XToken&
-	operator=(const XalanDOMString&		theString);
-
-	XToken&
-	operator=(double	theNumber);
-
-protected:
-
-	virtual void 
-	referenced();
-
-	virtual void 
-	dereferenced();
-
-private:
-
-	// Not defined...
-	bool
-	operator==(const XToken&) const;
-
-	// Data members...
-	XalanDOMString	m_stringValue;
-
-	double			m_numberValue;
-};
-
-
-
-#endif	// XTOKEN_HEADER_GUARD_1357924680
diff --git a/src/XPath/XTokenNumberAdapter.cpp b/src/XPath/XTokenNumberAdapter.cpp
deleted file mode 100644
index 0cbdd37..0000000
--- a/src/XPath/XTokenNumberAdapter.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XTokenNumberAdapter.hpp"
-
-
-
-#include "XToken.hpp"
-
-
-
-XTokenNumberAdapter::XTokenNumberAdapter(const XToken&	theToken) :
-	XNumberBase(),
-	m_value(theToken)
-{
-}
-
-
-
-XTokenNumberAdapter::XTokenNumberAdapter(const XTokenNumberAdapter&		source) :
-	XNumberBase(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XTokenNumberAdapter::~XTokenNumberAdapter()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XTokenNumberAdapter*
-#endif
-XTokenNumberAdapter::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XTokenNumberAdapter(*this) : new (theAddress) XTokenNumberAdapter(*this);
-}
-
-
-
-double
-XTokenNumberAdapter::num() const
-{
-	return m_value.num();
-}
-
-
-
-const XalanDOMString&
-XTokenNumberAdapter::str() const
-{
-	return m_value.str();
-}
-
-
-
-void
-XTokenNumberAdapter::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	m_value.str(formatterListener, function);
-}
-
-
-
-void
-XTokenNumberAdapter::str(XalanDOMString&	theBuffer) const
-{
-	m_value.str(theBuffer);
-}
-
-
-
-XTokenNumberAdapter::eObjectType
-XTokenNumberAdapter::getRealType() const
-{
-	return eTypeXTokenNumberAdapter;
-}
diff --git a/src/XPath/XTokenNumberAdapter.hpp b/src/XPath/XTokenNumberAdapter.hpp
deleted file mode 100644
index 1bfc46e..0000000
--- a/src/XPath/XTokenNumberAdapter.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XTOKENNUMBERADAPTER_HEADER_GUARD_1357924680)
-#define XTOKENNUMBERADAPTER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XNumberBase.hpp>
-
-
-
-class XToken;
-
-
-
-class XALAN_XPATH_EXPORT XTokenNumberAdapter : public XNumberBase
-{
-public:
-
-	/**
-	 * Create an XTokenNumberAdapter from an XToken.
-	 *
-	 * @param theXToken The XToken instance to adapt
-	 */
-	XTokenNumberAdapter(const XToken&	theToken);
-
-	XTokenNumberAdapter(const XTokenNumberAdapter&	source);
-
-	virtual
-	~XTokenNumberAdapter();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XTokenNumberAdapter*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual double
-	num() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-protected:
-
-	virtual eObjectType
-	getRealType() const;
-
-private:
-
-	// XToken instance that we're adapting...
-	const XToken&	m_value;
-};
-
-
-
-#endif	// XTOKENNUMBERADAPTER_HEADER_GUARD_1357924680
diff --git a/src/XPath/XTokenNumberAdapterAllocator.cpp b/src/XPath/XTokenNumberAdapterAllocator.cpp
deleted file mode 100644
index 0f7061e..0000000
--- a/src/XPath/XTokenNumberAdapterAllocator.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XTokenNumberAdapterAllocator.hpp"
-
-
-
-XTokenNumberAdapterAllocator::XTokenNumberAdapterAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XTokenNumberAdapterAllocator::~XTokenNumberAdapterAllocator()
-{
-}
-
-
-
-XTokenNumberAdapterAllocator::object_type*
-XTokenNumberAdapterAllocator::create(const XToken&	theXToken) 
-{
-	object_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	object_type* const	theResult = new(theBlock) object_type(theXToken);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XTokenNumberAdapterAllocator::object_type*
-XTokenNumberAdapterAllocator::clone(const object_type&	theObject)
-{
-	object_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	theObject.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool 
-XTokenNumberAdapterAllocator::destroy(object_type*	theObject)
-{
-	return m_allocator.destroyObject(theObject);
-}
-
-
-
-void 
-XTokenNumberAdapterAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XTokenNumberAdapterAllocator.hpp b/src/XPath/XTokenNumberAdapterAllocator.hpp
deleted file mode 100644
index 8b226f0..0000000
--- a/src/XPath/XTokenNumberAdapterAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XTOKENNUMBERADAPTERALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XTOKENNUMBERADAPTERALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XTokenNumberAdapter.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XTokenNumberAdapterAllocator
-{
-public:
-
-	typedef XTokenNumberAdapter						object_type;
-
-	typedef ReusableArenaAllocator<object_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XTokenNumberAdapterAllocator(size_type	theBlockCount);
-
-	~XTokenNumberAdapterAllocator();
-
-	/**
-	 * Create an instance from an XToken.
-	 * 
-	 * @param theXToken The source XToken
-	 *
-	 * @return A pointer to the new object
-	 */
-	object_type*
-	create(const XToken&	theXToken);
-
-	/**
-	 * Clone an object.
-	 * 
-	 * @param theObject The source object
-	 *
-	 * @return A pointer to the new object
-	 */
-	object_type*
-	clone(const object_type&	theObject);
-
-	/**
-	 * Delete an XStringAdapter object from allocator.	 
-	 */
-	bool
-	destroy(object_type*	theObject);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const object_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XStringAdapter objects from allocator.	 
-	 */
-	void 
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XTokenNumberAdapterAllocator(const XTokenNumberAdapterAllocator&);
-
-	XTokenNumberAdapterAllocator&
-	operator=(const XTokenNumberAdapterAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XTOKENNUMBERADAPTERALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/XPath/XTokenStringAdapter.cpp b/src/XPath/XTokenStringAdapter.cpp
deleted file mode 100644
index fd54f8d..0000000
--- a/src/XPath/XTokenStringAdapter.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XTokenStringAdapter.hpp"
-
-
-
-#include "XToken.hpp"
-
-
-
-XTokenStringAdapter::XTokenStringAdapter(const XToken&	theToken) :
-	XStringBase(),
-	m_value(theToken)
-{
-}
-
-
-
-XTokenStringAdapter::XTokenStringAdapter(const XTokenStringAdapter&		source) :
-	XStringBase(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XTokenStringAdapter::~XTokenStringAdapter()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XTokenStringAdapter*
-#endif
-XTokenStringAdapter::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XTokenStringAdapter(*this) : new (theAddress) XTokenStringAdapter(*this);
-}
-
-
-
-double
-XTokenStringAdapter::num() const
-{
-	return m_value.num();
-}
-
-
-
-const XalanDOMString&
-XTokenStringAdapter::str() const
-{
-	return m_value.str();
-}
-
-
-
-void
-XTokenStringAdapter::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	m_value.str(formatterListener, function);
-}
-
-
-
-void
-XTokenStringAdapter::str(XalanDOMString&	theBuffer) const
-{
-	m_value.str(theBuffer);
-}
-
-
-
-XTokenStringAdapter::eObjectType
-XTokenStringAdapter::getRealType() const
-{
-	return eTypeXTokenStringAdapter;
-}
diff --git a/src/XPath/XTokenStringAdapter.hpp b/src/XPath/XTokenStringAdapter.hpp
deleted file mode 100644
index 987b607..0000000
--- a/src/XPath/XTokenStringAdapter.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XTOKENSTRINGADAPTER_HEADER_GUARD_1357924680)
-#define XTOKENSTRINGADAPTER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XStringBase.hpp>
-
-
-
-class XToken;
-
-
-
-class XALAN_XPATH_EXPORT XTokenStringAdapter : public XStringBase
-{
-public:
-
-	/**
-	 * Create an XTokenStringAdapter from an XToken.
-	 *
-	 * @param theXToken The XToken instance to adapt
-	 */
-	XTokenStringAdapter(const XToken&	theToken);
-
-	XTokenStringAdapter(const XTokenStringAdapter&	source);
-
-	virtual
-	~XTokenStringAdapter();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XTokenStringAdapter*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual double
-	num() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-protected:
-
-	virtual eObjectType
-	getRealType() const;
-
-private:
-
-	// XToken instance that we're adapting...
-	const XToken&	m_value;
-};
-
-
-
-#endif	// XTOKENSTRINGADAPTER_HEADER_GUARD_1357924680
diff --git a/src/XPath/XTokenStringAdapterAllocator.cpp b/src/XPath/XTokenStringAdapterAllocator.cpp
deleted file mode 100644
index b1c18ba..0000000
--- a/src/XPath/XTokenStringAdapterAllocator.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XTokenStringAdapterAllocator.hpp"
-
-
-
-XTokenStringAdapterAllocator::XTokenStringAdapterAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XTokenStringAdapterAllocator::~XTokenStringAdapterAllocator()
-{
-}
-
-
-
-XTokenStringAdapterAllocator::object_type*
-XTokenStringAdapterAllocator::create(const XToken&	theXToken) 
-{
-	object_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	object_type* const	theResult = new(theBlock) object_type(theXToken);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XTokenStringAdapterAllocator::object_type*
-XTokenStringAdapterAllocator::clone(const object_type&	value)
-{
-	object_type* const		theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	value.clone(theBlock);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool 
-XTokenStringAdapterAllocator::destroy(object_type*	theString)
-{
-	return m_allocator.destroyObject(theString);
-}
-
-
-
-void 
-XTokenStringAdapterAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XPath/XTokenStringAdapterAllocator.hpp b/src/XPath/XTokenStringAdapterAllocator.hpp
deleted file mode 100644
index 68de059..0000000
--- a/src/XPath/XTokenStringAdapterAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XTOKENSTRINGADAPTERALLOCATOR_INCLUDE_GUARD_1357924680)
-#define XTOKENSTRINGADAPTERALLOCATOR_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XPath/XTokenStringAdapter.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XTokenStringAdapterAllocator
-{
-public:
-
-	typedef XTokenStringAdapter						object_type;
-
-	typedef ReusableArenaAllocator<object_type>		ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XTokenStringAdapterAllocator(size_type	theBlockCount);
-
-	~XTokenStringAdapterAllocator();
-
-	/**
-	 * Create an XTokenStringAdapter object from an XToken.
-	 * 
-	 * @param theXToken The source XToken
-	 *
-	 * @return a pointer to string
-	 */
-	object_type*
-	create(const XToken&	theXToken);
-
-	/**
-	 * Clone an XTokenStringAdapter object.
-	 * 
-	 * @param value source XTokenStringAdapter
-	 *
-	 * @return pointer to an XTokenStringAdapter
-	 */
-	object_type*
-	clone(const object_type&	value);
-
-	/**
-	 * Delete an XStringAdapter object from allocator.	 
-	 */
-	bool
-	destroy(object_type*	theString);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const object_type*	theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XStringAdapter objects from allocator.	 
-	 */
-	void 
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XTokenStringAdapterAllocator(const XTokenStringAdapterAllocator&);
-
-	XTokenStringAdapterAllocator&
-	operator=(const XTokenStringAdapterAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XTOKENSTRINGADAPTERALLOCATOR_INCLUDE_GUARD_1357924680
diff --git a/src/XPath/XUnknown.cpp b/src/XPath/XUnknown.cpp
deleted file mode 100644
index 901d92a..0000000
--- a/src/XPath/XUnknown.cpp
+++ /dev/null
@@ -1,184 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XUnknown.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XObjectTypeCallback.hpp"
-
-
-XalanDOMString	XUnknown::s_unknownVariableString;
-
-XalanDOMString	XUnknown::s_unknownString;
-
-
-XUnknown::XUnknown(const XalanDOMString&	name) :
-	XObject(eTypeUnknown),
-	m_value(s_unknownVariableString + name)
-{
-}
-
-
-
-XUnknown::XUnknown(const XUnknown&	source) :
-	XObject(source),
-	m_value(source.m_value)
-{
-}
-
-
-
-XUnknown::~XUnknown()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XUnknown*
-#endif
-XUnknown::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XUnknown(*this) : new (theAddress) XUnknown(*this);
-}
-
-
-
-XalanDOMString
-XUnknown::getTypeString() const
-{
-	return s_unknownString;
-}
-
-
-
-double
-XUnknown::num() const
-{
-	return 0.0;
-}
-
-
-
-bool
-XUnknown::boolean() const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XUnknown::str() const
-{
-	return m_value;
-}
-
-
-
-void
-XUnknown::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	assert(length(m_value) == FormatterListener::size_type(length(m_value)));
-
-	(formatterListener.*function)(c_wstr(m_value), FormatterListener::size_type(length(m_value)));
-}
-
-
-
-void
-XUnknown::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.Unknown(*this,
-							  m_value);
-}
-
-
-
-void
-XUnknown::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.Unknown(*this,
-							  m_value);
-}
-
-
-
-void
-XUnknown::initialize()
-{
-	s_unknownVariableString = XALAN_STATIC_UCODE_STRING("Unknown variable: ");
-	s_unknownString = XALAN_STATIC_UCODE_STRING("#UNKNOWN");
-}
-
-
-
-void
-XUnknown::terminate()
-{
-	releaseMemory(s_unknownVariableString);
-	releaseMemory(s_unknownString);
-}
diff --git a/src/XPath/XUnknown.hpp b/src/XPath/XUnknown.hpp
deleted file mode 100644
index 400be46..0000000
--- a/src/XPath/XUnknown.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XUKNOWN_HEADER_GUARD_1357924680)
-#define XUKNOWN_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include <XPath/XObject.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XUnknown : public XObject
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XPathInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XPathInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Construct an XUnknown object from a string.
-	 * 
-	 * @param name       source string
-	 */
-	XUnknown(const XalanDOMString&	name);
-
-	XUnknown(const XUnknown&	source);
-
-	virtual
-	~XUnknown();
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XUnknown*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual XalanDOMString
-	getTypeString() const;
-  
-	virtual double
-	num() const;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-private:
-
-	const XalanDOMString	m_value;
-
-	static XalanDOMString	s_unknownVariableString;
-
-	static XalanDOMString	s_unknownString;
-};
-
-
-
-#endif	// XUKNOWN_HEADER_GUARD_1357924680
diff --git a/src/XPath/XalanQName.cpp b/src/XPath/XalanQName.cpp
deleted file mode 100644
index 74c6bb9..0000000
--- a/src/XPath/XalanQName.cpp
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanQName.hpp"
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-const XalanDOMString	XalanQName::s_emptyString;
-
-
-
-const XalanDOMString*
-XalanQName::getNamespaceForPrefix(
-			const NamespaceVectorType&	namespaces,
-			const XalanDOMString&		prefix,
-			bool						reverse)
-{
-	const XalanDOMString*	nsURI = 0;
-
-	if(::equals(prefix, DOMServices::s_XMLString))
-	{
-		nsURI = &DOMServices::s_XMLNamespaceURI;
-	}
-	else if (::equals(prefix, DOMServices::s_XMLNamespace))
-	{
-		nsURI = &DOMServices::s_XMLNamespacePrefixURI;
-	}
-	else
-	{
-		const NamespaceVectorType::size_type	theSize = namespaces.size();
-
-		if (reverse)
-		{
-			for(NamespaceVectorType::size_type j = theSize; j > 0; --j)
-			{
-				const NameSpace&	ns = namespaces[j - 1];
-
-				const XalanDOMString&	thisPrefix = ns.getPrefix();
-
-				if(::equals(prefix, thisPrefix))
-				{
-					nsURI = &ns.getURI();
-
-					break;
-				}
-			}
-		}
-		else
-		{
-			for(NamespaceVectorType::size_type j = 0; j < theSize; j++)
-			{
-				const NameSpace&	ns = namespaces[j];
-
-				const XalanDOMString&	thisPrefix = ns.getPrefix();
-
-				if(::equals(prefix, thisPrefix))
-				{
-					nsURI = &ns.getURI();
-
-					break;
-				}
-			}
-		}
-	}
-
-	return nsURI;
-}
-
-
-
-const XalanDOMString*
-XalanQName::getNamespaceForPrefix(
-			const NamespacesStackType&	nsStack,
-			const XalanDOMString&		prefix,
-			bool						reverse)
-{
-	const XalanDOMString*	nsURI = 0;
-
-	for(NamespacesStackType::size_type i = nsStack.size(); i > 0; --i)
-	{
-		const NamespaceVectorType&	namespaces = nsStack[i - 1];
-
-		nsURI = getNamespaceForPrefix(namespaces, prefix, reverse);
-
-		if (nsURI != 0)
-			break;
-	}
-
-	return nsURI;
-}
-
-
-
-const XalanDOMString*
-XalanQName::getPrefixForNamespace(
-			const NamespaceVectorType&	namespaces,
-			const XalanDOMString&		uri,
-			bool						/* reverse */)
-{
-	const XalanDOMString*	thePrefix = 0;
-
-	for(NamespaceVectorType::size_type j = namespaces.size(); j > 0; --j)
-	{
-		const NameSpace&		ns = namespaces[j - 1];
-		const XalanDOMString&	thisURI = ns.getURI();
-
-		if(::equals(uri, thisURI))
-		{
-			thePrefix = &ns.getPrefix();
-
-			break;
-		}
-	}
-
-	return thePrefix;
-}		
-
-
-
-const XalanDOMString*
-XalanQName::getPrefixForNamespace(
-			const NamespacesStackType&	nsStack,
-			const XalanDOMString&		uri,
-			bool						reverse)
-{
-	const XalanDOMString*					thePrefix = 0;
-
-	const NamespacesStackType::size_type	depth = nsStack.size();
-
-	if (reverse)
-	{
-		for(NamespacesStackType::size_type i = depth; i > 0; --i)
-		{
-			const NamespaceVectorType&	namespaces = nsStack[i - 1];
-
-			thePrefix = getPrefixForNamespace(namespaces, uri, reverse);
-
-			if (thePrefix != 0)
-				break;
-		}
-	}
-	else
-	{
-		for(NamespacesStackType::size_type i = 0; i < depth; i++)
-		{
-			const NamespaceVectorType&	namespaces = nsStack[i];
-
-			thePrefix = getPrefixForNamespace(namespaces, uri, reverse);
-
-			if (thePrefix != 0)
-				break;
-		}
-	}
-
-	return thePrefix;
-}
-
-
-
-bool
-XalanQName::isValidNCName(const XalanDOMString&		theNCName)
-{
-	return isValidNCName(c_wstr(theNCName), length(theNCName));
-}
-
-
-
-bool
-XalanQName::isValidNCName(
-			const XalanDOMChar*			theNCName,
-			XalanDOMString::size_type	theLength)
-{
-	assert(theNCName != 0);
-
-	if (theLength == XalanDOMString::npos)
-	{
-		theLength = length(theNCName);
-	}
-
-	if (theLength == 0)
-	{
-		return false;
-	}
-	else
-	{
-		XalanDOMChar	c = theNCName[0];
-
-		if(!(XalanXMLChar::isLetter(c) || c == XalanUnicode::charLowLine))
-		  return false;
-
-		if(theLength > 1)
-		{
-			for(XalanDOMString::size_type i = 1; i < theLength; i++)
-			{
-				c = theNCName[i]; 
-
-				if(!(XalanXMLChar::isLetter(c) ||
-					 XalanXMLChar::isDigit(c) ||
-					 XalanXMLChar::isExtender(c) ||
-					 XalanXMLChar::isCombiningChar(c) ||
-					 c == XalanUnicode::charLowLine ||
-					 c == XalanUnicode::charHyphenMinus ||
-					 c == XalanUnicode::charFullStop))
-				{
-					return false;
-				}
-			}
-		}
-
-		return true;
-	}
-}
-
-
-
-bool
-XalanQName::isValidQName(const XalanDOMString&	theQName)
-{
-	return isValidQName(c_wstr(theQName), length(theQName));
-}
-
-
-
-bool
-XalanQName::isValidQName(
-			const XalanDOMChar*			theQName,
-			XalanDOMString::size_type	theLength)
-{
-	const XalanDOMString::size_type		theIndex =
-		indexOf(theQName, XalanUnicode::charColon);
-
-	if (theIndex == theLength)
-	{
-		return isValidNCName(theQName, theLength);
-	}
-	else
-	{
-		const XalanDOMChar* const	thePrefix = c_wstr(theQName);
-		const XalanDOMChar*	const	theLocalName = thePrefix + theIndex + 1;
-
-		return XalanQName::isValidNCName(thePrefix, theIndex) &&
-			   XalanQName::isValidNCName(theLocalName, theLength - theIndex - 1);
-	}
-}
diff --git a/src/XPath/XalanQName.hpp b/src/XPath/XalanQName.hpp
deleted file mode 100644
index 94b2d16..0000000
--- a/src/XPath/XalanQName.hpp
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANQNAME_HEADER_GUARD_1357924680)
-#define XALANQNAME_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <deque>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/NameSpace.hpp>
-
-
-
-class XalanElement;
-class PrefixResolver;
-class XPathEnvSupport;
-
-
-
-/**
- * Class to represent a qualified name: "The name of an internal XSLT object, 
- * specifically a named template (see [7 Named Templates]), a mode (see [6.7 Modes]), 
- * an attribute set (see [8.1.4 Named Attribute Sets]), a key (see [14.2 Keys]), 
- * a locale (see [14.3 Number Formatting]), a variable or a parameter (see 
- * [12 Variables and Parameters]) is specified as a QName. If it has a prefix, 
- * then the prefix is expanded into a URI reference using the namespace declarations 
- * in effect on the attribute in which the name occurs. The expanded name 
- * consisting of the local part of the name and the possibly null URI reference 
- * is used as the name of the object. The default namespace is not used for 
- * unprefixed names."
- */
-class XALAN_XPATH_EXPORT XalanQName
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef	deque<NameSpace>					NamespaceVectorType;
-	typedef	deque<NamespaceVectorType>			NamespacesStackType;
-#else
-	typedef	std::deque<NameSpace>				NamespaceVectorType;
-	typedef	std::deque<NamespaceVectorType>		NamespacesStackType;
-#endif
-
-	/**
-	 * Construct an empty XalanQName.
-	 *
-	 */
-	explicit
-	XalanQName()
-	{
-	}
-
-	virtual
-	~XalanQName()
-	{
-	}
-
-	/**
-	 * Retrieve the local part of qualified name.
-	 * 
-	 * @return local part string
-	 */
-	virtual const XalanDOMString&
-	getLocalPart() const = 0;
-
-	/**
-	 * Retrieve the namespace of qualified name.
-	 * 
-	 * @return namespace string
-	 */
-	virtual const XalanDOMString&
-	getNamespace() const = 0;
-
-	/**
-	 * Determine if the qualified name is valid.
-	 * 
-	 * @return true if the instance is a valid QName, false if not.
-	 */
-	bool
-	isValid() const
-	{
-		return isValidNCName(getLocalPart());
-	}
-
-	/**
-	 * Whether the qualified name is empty.
-	 * 
-	 * @return true if namespace and local part are both empty
-	 */
-	bool
-	isEmpty() const
-	{
-		return ::isEmpty(getNamespace()) && ::isEmpty(getLocalPart());
-	}
-
-	/**
-	 * Override equals and agree that we're equal if the passed object is a
-	 * string and it matches the name of the arg.
-	 * 
-	 * @param theRHS namespace to compare
-	 * @return true if namespace and local part are both empty
-	 */
-	bool
-	equals(const XalanQName&	theRHS) const
-	{
-		// Note that we do not use our member variables here.  See
-		// class QNameReference for details...
-		return ::equals(getLocalPart(), theRHS.getLocalPart()) &&
-			   ::equals(getNamespace(), theRHS.getNamespace());
-	}
-
-	/**
-	 * Get the namespace from a prefix by searching a vector of namespaces.
-	 *
-	 * @param namespaces vector of namespaces to search
-	 * @param prefix     namespace prefix to find
-	 * @param reverse    true to search vector from last to first, default true
-	 * @return pointer to the string value if found, otherwise null.
-	 */
-	static const XalanDOMString*
-	getNamespaceForPrefix(
-			const NamespaceVectorType&	namespaces,
-			const XalanDOMString&		prefix,
-			bool						reverse = true);
-
-	/**
-	 * Get the namespace from a prefix by searching a stack of namespace
-	 * vectors.
-	 *
-	 * @param nsStack stack of namespace vectors to search
-	 * @param prefix  namespace prefix to find
-	 * @param reverse true to search vector from last to first, default true
-	 * @return pointer to the string value if found, otherwise null.
-	 */
-	static const XalanDOMString*
-	getNamespaceForPrefix(
-			const NamespacesStackType&	nsStack,
-			const XalanDOMString&		prefix,
-			bool						reverse = true);
-
-	/**
-	 * Get the prefix for a namespace by searching a vector of namespaces.
-	 *
-	 * @param namespaces vector of namespaces to search
-	 * @param uri        URI string for namespace to find
-	 * @param reverse    true to search vector from last to first, default true
-	 * @return pointer to the string value if found, otherwise null.
-	 */
-	static const XalanDOMString*
-	getPrefixForNamespace(
-			const NamespaceVectorType&	namespaces,
-			const XalanDOMString&		uri,
-			bool						reverse = true);
-
-	/**
-	 * Get the prefix for a namespace by searching a stack of namespace
-	 * vectors.
-	 *
-	 * @param nsStack stack of namespace vectors to search
-	 * @param uri     URI string for namespace to find
-	 * @param reverse true to search vector from last to first, default true
-	 * @return pointer to the string value if found, otherwise null.
-	 */
-	static const XalanDOMString*
-	getPrefixForNamespace(
-			const NamespacesStackType&	nsStack,
-			const XalanDOMString&		uri,
-			bool						reverse = true);
-
-	/**
-	 * Determine if the string supplied satisfies the grammar for
-	 * an XML NCName.
-	 *
-	 * @param theNCName The string to check
-	 * @return bool true if the string is a valid NCName, false if not.
-	 */
-	static bool
-	isValidNCName(const XalanDOMString&		theNCName);
-
-	/**
-	 * Determine if the string supplied satisfies the grammar for
-	 * an XML NCName.
-	 *
-	 * @param theNCName The string to check
-	 * @param theLength The length of the string
-	 * @return bool true if the string is a valid NCName, false if not
-	 */
-	static bool
-	isValidNCName(
-			const XalanDOMChar*			theNCName,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-	/**
-	 * Determine if the string supplied satisfies the grammar for
-	 * an XML QName.  Note that this function does not determine
-	 * if any supplied prefix is bound to a namespace URI
-	 *
-	 * @param theQName The string to check
-	 * @return bool true if the string is a valid QName, false if not
-	 */
-	static bool
-	isValidQName(const XalanDOMString&	theQName);
-
-	/**
-	 * Determine if the string supplied satisfies the grammar for
-	 * an XML QName.  Note that this function does not determine
-	 * if any supplied prefix is bound to a namespace URI
-	 *
-	 * @param theQName The string to check
-	 * @param theLength The length of the string
-	 * @return bool true if the string is a valid QName, false if not
-	 */
-	static bool
-	isValidQName(
-			const XalanDOMChar*			theQName,
-			XalanDOMString::size_type	theLength = XalanDOMString::npos);
-
-protected:
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-inline bool
-operator==(
-			const XalanQName&	theLHS,
-			const XalanQName&	theRHS)
-{
-	return theLHS.equals(theRHS);
-}
-
-
-
-inline bool
-operator!=(
-			const XalanQName&	theLHS,
-			const XalanQName&	theRHS)
-{
-	return !(theLHS == theRHS);
-}
-
-
-
-inline bool
-operator<(
-			const XalanQName&	theLHS,
-			const XalanQName&	theRHS)
-{
-	if (theLHS.getNamespace() < theRHS.getNamespace())
-	{
-		return true;
-	}
-	else if (equals(theLHS.getNamespace(), theRHS.getNamespace()))
-	{
-		return theLHS.getLocalPart() < theRHS.getLocalPart();
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-#endif	// XALANQNAME_HEADER_GUARD_1357924680
diff --git a/src/XPath/XalanQNameByReference.cpp b/src/XPath/XalanQNameByReference.cpp
deleted file mode 100644
index 1645f4c..0000000
--- a/src/XPath/XalanQNameByReference.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanQNameByReference.hpp"
-
-
-
-XalanQNameByReference::XalanQNameByReference() :
-	XalanQName(),
-	m_namespace(&s_emptyString),
-	m_localpart(&s_emptyString)
-{
-}
-
-
-
-XalanQNameByReference::XalanQNameByReference(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	theLocalPart) :
-	XalanQName(),
-	m_namespace(&theNamespace),
-	m_localpart(&theLocalPart)
-{
-}
-
-
-
-XalanQNameByReference::XalanQNameByReference(const XalanQName&	theQName) :
-	XalanQName(),
-	m_namespace(&theQName.getNamespace()),
-	m_localpart(&theQName.getLocalPart())
-{
-}
-
-
-
-XalanQNameByReference::~XalanQNameByReference()
-{
-}
-
-
-
-const XalanDOMString&
-XalanQNameByReference::getLocalPart() const
-{
-	assert(m_localpart != 0);
-
-	return *m_localpart;
-}
-
-
-
-const XalanDOMString&
-XalanQNameByReference::getNamespace() const
-{
-	assert(m_namespace != 0);
-
-	return *m_namespace;
-}
diff --git a/src/XPath/XalanQNameByReference.hpp b/src/XPath/XalanQNameByReference.hpp
deleted file mode 100644
index 15311c4..0000000
--- a/src/XPath/XalanQNameByReference.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANQNAMEBYREFERENCE_HEADER_GUARD_1357924680)
-#define XALANQNAMEBYREFERENCE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/XalanQName.hpp>
-
-
-
-class XALAN_XPATH_EXPORT XalanQNameByReference : public XalanQName
-{
-public:
-
-	/**
-	 * Construct an empty XalanQNameByReference.
-	 */
-	explicit
-	XalanQNameByReference();
-
-	/**
-	 * Construct a XalanQNameByReference, with the supplied namespace and local part.
-	 * The instance keeps only a _reference_ to the string, to avoid making a
-	 * copy.
-	 *
-	 * @param theNamespace namespace string
-	 * @param theLocalPart local part string
-	 */
-	XalanQNameByReference(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	theLocalPart);
-
-	/**
-	 * Construct a XalanQNameByReference, from the supplied XalanQName.  The instance
-	 * keeps only a _reference_ to the string, to avoid making a copy.
-	 *
-	 * @param theQName The source QName
-	 */
-	XalanQNameByReference(const XalanQName&		theQName);
-
-	virtual
-	~XalanQNameByReference();
-
-	/**
-	 * Retrieve the local part of qualified name.
-	 * 
-	 * @return local part string
-	 */
-	virtual const XalanDOMString&
-	getLocalPart() const;
-
-	/**
-	 * Set the local part of qualified name.
-	 * 
-	 * @param theLocalPart local part string
-	 */
-	void
-	setLocalPart(const XalanDOMString&	theLocalPart)
-	{
-		m_localpart = &theLocalPart;
-	}
-
-	/**
-	 * Retrieve the namespace of qualified name.
-	 * 
-	 * @return namespace string
-	 */
-	virtual const XalanDOMString&
-	getNamespace() const;
-
-	/**
-	 * Set the Namespace URI of qualified name.
-	 * 
-	 * @param theLocalPart local part string
-	 */
-	void
-	setNamespace(const XalanDOMString&	theNamespace)
-	{
-		m_namespace = &theNamespace;
-	}
-
-	/**
-	 * Clear the instance.
-	 */
-	void
-	clear()
-	{
-		m_namespace = &s_emptyString;
-		m_localpart = &s_emptyString;
-	}
-
-private:
-
-	// OK, we said reference, but using pointers
-	// allows for copy and assignment semantics.
-	const XalanDOMString*	m_namespace;
-
-	const XalanDOMString*	m_localpart;
-};
-
-
-
-#endif	// XALANQNAMEBYREFERENCE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XalanQNameByValue.cpp b/src/XPath/XalanQNameByValue.cpp
deleted file mode 100644
index ab90990..0000000
--- a/src/XPath/XalanQNameByValue.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanQNameByValue.hpp"
-
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-#include "ElementPrefixResolverProxy.hpp"
-
-
-
-XalanQNameByValue::XalanQNameByValue() :
-	XalanQName(),
-	m_namespace(),
-	m_localpart()
-{
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(const XalanQNameByValue&	theSource) :
-	XalanQName(),
-	m_namespace(theSource.m_namespace),
-	m_localpart(theSource.m_localpart)
-{
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(const XalanQName&	theSource) :
-	XalanQName(),
-	m_namespace(theSource.getNamespace()),
-	m_localpart(theSource.getLocalPart())
-{
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	theLocalPart) :
-	XalanQName(),
-	m_namespace(theNamespace),
-	m_localpart(theLocalPart)
-{
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(
-			const XalanDOMString&		qname,
-			const NamespacesStackType&	namespaces,
-			const Locator*				locator,
-			bool						fUseDefault) :
-	m_namespace(),
-	m_localpart()
-{
-	initialize(c_wstr(qname), namespaces, locator, fUseDefault);
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(
-			const XalanDOMChar*			qname,
-			const NamespacesStackType&	namespaces,
-			const Locator*				locator,
-			bool						fUseDefault) :
-	m_namespace(),
-	m_localpart()
-{
-	assert(qname != 0);
-
-	initialize(qname, namespaces, locator, fUseDefault);
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(
-			const XalanDOMString&	qname,
-			const XalanElement*		namespaceContext,
-			const XPathEnvSupport&	envSupport,
-			const DOMSupport& 		domSupport,
-			const Locator*			locator) :
-	m_namespace(),
-	m_localpart()
-{
-	ElementPrefixResolverProxy	theProxy(namespaceContext, envSupport, domSupport);
-
-	resolvePrefix(qname, &theProxy, locator);
-}
-
-
-
-XalanQNameByValue::XalanQNameByValue(
-			const XalanDOMString&	qname,
-			const PrefixResolver*	theResolver,
-			const Locator*			locator) :
-	m_namespace(),
-	m_localpart()
-{
-	resolvePrefix(qname, theResolver, locator);
-}
-
-
-
-XalanQNameByValue::~XalanQNameByValue()
-{
-}
-
-
-
-const XalanDOMString&
-XalanQNameByValue::getLocalPart() const
-{
-	return m_localpart;
-}
-
-
-
-const XalanDOMString&
-XalanQNameByValue::getNamespace() const
-{
-	return m_namespace;
-}
-
-
-
-void
-throwException(
-			const XalanDOMString&	theMessage,
-			const Locator*			theLocator)
-{
-	if (theLocator == 0)
-	{
-		throw XSLException(theMessage);
-	}
-	else
-	{
-		throw XSLException(*theLocator, theMessage);
-	}
-}
-
-
-
-
-void
-XalanQNameByValue::initialize(
-			const XalanDOMChar*			qname,
-			const NamespacesStackType&	namespaces,
-			const Locator*				locator,
-			bool						fUseDefault)
-{
-	const XalanDOMString::size_type		indexOfNSSep = indexOf(qname, XalanUnicode::charColon);
-
-	if (indexOfNSSep == 0)
-	{
-		throwException(TranscodeFromLocalCodePage("A prefix of length 0 was detected"), locator);
-	}
-	else if(indexOfNSSep < length(qname))
-	{
-		const XalanDOMString	prefix(qname, indexOfNSSep);
-
-		if(::equals(prefix, DOMServices::s_XMLNamespace))
-			return;
-
-		const XalanDOMString* const		theNamespace = 
-				getNamespaceForPrefix(namespaces, prefix);
-
-		if(theNamespace == 0 || 0 == length(*theNamespace))
-		{
-			throwException(TranscodeFromLocalCodePage("Prefix must resolve to a namespace: ") + prefix, locator);
-		}
-		else
-		{
-			m_namespace = *theNamespace;
-		}
-
-		m_localpart.assign(qname + indexOfNSSep + 1);
-	}
-	else
-	{
-		if (fUseDefault == true)
-		{
-			const XalanDOMString* const		theNamespace = 
-					getNamespaceForPrefix(namespaces, s_emptyString);
-
-			if(theNamespace != 0 && 0 != length(*theNamespace))
-			{
-				m_namespace = *theNamespace;
-			}
-		}
-
-		m_localpart = qname;
-	}
-}
-
-
-
-void
-XalanQNameByValue::resolvePrefix(
-			const XalanDOMString&	qname,
-			const PrefixResolver*	theResolver,
-			const Locator*			locator)
-{
-	const XalanDOMString::size_type		indexOfNSSep = indexOf(qname, XalanUnicode::charColon);
-	const XalanDOMString::size_type		theLength = length(qname);
-
-	if(indexOfNSSep >= theLength)
-	{
-		m_localpart = qname;
-	}
-	else
-	{
-		const XalanDOMString	prefix(qname, 0, indexOfNSSep);
-
-		if(::equals(prefix, DOMServices::s_XMLString))
-		{
-			m_namespace = DOMServices::s_XMLNamespaceURI;
-		}
-		// The default namespace is not resolved.
-		else if(::equals(prefix, DOMServices::s_XMLNamespace))
-		{
-			return;
-		}
-		else if (theResolver == 0)
-		{
-			throwException(
-				TranscodeFromLocalCodePage("Unable to resolve prefix '") +
-					prefix +
-					TranscodeFromLocalCodePage("'"),
-				locator);
-		}
-		else
-		{
-			const XalanDOMString* const		theNamespace =
-				theResolver->getNamespaceForPrefix(prefix);
-
-			if (theNamespace != 0)
-			{
-				m_namespace = *theNamespace;
-			}
-		}  
-
-		if(0 == length(m_namespace))
-		{
-			throwException(
-				TranscodeFromLocalCodePage("The prefix '") +
-					prefix +
-					TranscodeFromLocalCodePage("' must resolve to a namespace."),
-				locator);
-		}
-
-		m_localpart.assign(qname, indexOfNSSep + 1, theLength - (indexOfNSSep + 1));
-	}
-}
diff --git a/src/XPath/XalanQNameByValue.hpp b/src/XPath/XalanQNameByValue.hpp
deleted file mode 100644
index bee5389..0000000
--- a/src/XPath/XalanQNameByValue.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANQNAMEBYVALUE_HEADER_GUARD_1357924680)
-#define XALANQNAMEBYVALUE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/XalanQName.hpp>
-
-
-
-class DOMSupport;
-class Locator;
-
-
-
-class XALAN_XPATH_EXPORT XalanQNameByValue : public XalanQName
-{
-public:
-
-	/**
-	 * Construct an empty XalanQNameByValue.
-	 */
-	explicit
-	XalanQNameByValue();
-
-	/**
-	 * Copy constructor.
-	 *
-	 * @param theSource The source of the copy.
-	 */
-	XalanQNameByValue(const XalanQNameByValue&	theSource);
-
-	/**
-	 * Construct an instance from another XalanQName.
-	 *
-	 * @param theSource The source of the copy.
-	 */
-	explicit
-	XalanQNameByValue(const XalanQName&	theSource);
-
-	/**
-	 * Construct a XalanQNameByValue, with the supplied namespace and local part.
-	 *
-	 * @param theNamespace namespace string
-	 * @param theLocalPart local part string
-	 */
-	XalanQNameByValue(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	theLocalPart);
-
-	/**
-	 * Construct a XalanQNameByValue from a string, resolving the prefix using the given
-	 * namespace vector stack. The default namespace is not resolved.
-	 *
-	 * @param qname       QName string
-	 * @param namespaces  namespace vector stack to use
-	 * @param locator     The Locator instance for error reporting, if any
-	 * @param fUseDefault If true, then elements with no prefix will have the default namespace URI, if there is one.
-	 */
-	XalanQNameByValue(
-			const XalanDOMString&		qname,
-			const NamespacesStackType&	namespaces,
-			const Locator*				locator = 0,
-			bool						fUseDefault = false);
-
-	/**
-	 * Construct a XalanQNameByValue from a string, resolving the prefix using the given
-	 * namespace vector stack. The default namespace is not resolved.
-	 *
-	 * @param qname       QName string
-	 * @param namespaces  namespace vector stack to use
-	 * @param locator     The Locator instance for error reporting, if any
-	 * @param fUseDefault If true, then elements with no prefix will have the default namespace URI, if there is one.
-	 */
-	XalanQNameByValue(
-			const XalanDOMChar*			qname,
-			const NamespacesStackType&	namespaces,
-			const Locator*				locator = 0,
-			bool						fUseDefault = false);
-
-	/**
-	 * Construct a XalanQNameByValue from a string, resolving the prefix using the given
-	 * namespace context. The default namespace is not resolved.
-	 *
-	 * @param qname            QName string
-	 * @param namespaceContext context object for namespace resolution
-	 * @param envSupport       XPathEnvSupport class instance
-	 * @param domSupport       DOMSupport class instance
-	 * @param locator          The Locator instance for error reporting, if any
-	 */
-	XalanQNameByValue(
-			const XalanDOMString&	qname,
-			const XalanElement*		namespaceContext,
-			const XPathEnvSupport&	envSupport,
-			const DOMSupport& 		domSupport,
-			const Locator*			locator = 0);
-
-	/**
-	 * Construct a XalanQNameByValue from a string, resolving the prefix using the given
-	 * prefix resolver. The default namespace is not resolved.
-	 *
-	 * @param qname       QName string
-	 * @param theResolver prefix resolver to use
-	 * @param locator     The Locator instance for error reporting, if any
-	 */
-	XalanQNameByValue(
-			const XalanDOMString&	qname,
-			const PrefixResolver*	theResolver = 0,
-			const Locator*			locator = 0);
-
-	virtual
-	~XalanQNameByValue();
-
-	/**
-	 * Retrieve the local part of qualified name.
-	 * 
-	 * @return local part string
-	 */
-	virtual const XalanDOMString&
-	getLocalPart() const;
-
-	/**
-	 * Set the local part of qualified name.
-	 * 
-	 * @param theLocalPart local part string
-	 */
-	void
-	setLocalPart(const XalanDOMString&	theLocalPart)
-	{
-		m_localpart = theLocalPart;
-	}
-
-	/**
-	 * Retrieve the namespace of qualified name.
-	 * 
-	 * @return namespace string
-	 */
-	virtual const XalanDOMString&
-	getNamespace() const;
-
-	/**
-	 * Set the Namespace URI of qualified name.
-	 * 
-	 * @param theLocalPart local part string
-	 */
-	void
-	setNamespace(const XalanDOMString&	theNamespace)
-	{
-		m_namespace = theNamespace;
-	}
-
-	/**
-	 * Clear the instance.
-	 */
-	void
-	clear()
-	{
-		::clear(m_namespace);
-		::clear(m_localpart);
-	}
-
-private:
-
-	void
-	initialize(
-			const XalanDOMChar*			qname,
-			const NamespacesStackType&	namespaces,
-			const Locator*				locator,
-			bool						fUseDefault);
-
-	void
-	resolvePrefix(
-			const XalanDOMString&	qname,
-			const PrefixResolver*	theResolver,
-			const Locator*			locator);
-
-
-	// Data members...
-	XalanDOMString	m_namespace;
-
-	XalanDOMString	m_localpart;
-};
-
-
-
-#endif	// XALANQNAMEBYVALUE_HEADER_GUARD_1357924680
diff --git a/src/XPath/XalanXPathException.cpp b/src/XPath/XalanXPathException.cpp
deleted file mode 100644
index 8bbe9fc..0000000
--- a/src/XPath/XalanXPathException.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XalanXPathException.hpp"
-
-
-
-const XalanDOMString	XalanXPathException::s_emptyString;
-
-
-
-XalanXPathException::XalanXPathException(
-			const XalanDOMString&	message,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	theType) :
-	XSLException(message, theURI, theLineNumber, theColumnNumber, theType),
-	m_styleNode(styleNode)
-{
-}
-
-
-
-XalanXPathException::XalanXPathException(
-			const XalanDOMString&	message,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	theType) :
-	XSLException(message, theType),
-	m_styleNode(styleNode)
-{
-}
-
-
-
-XalanXPathException::XalanXPathException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	theType) :
-	XSLException(theLocator, theMessage, theType),
-	m_styleNode(styleNode)
-{
-}
-
-
-
-XalanXPathException::XalanXPathException() :
-	XSLException(s_emptyString, s_emptyString)
-{
-}
-
-
-
-XalanXPathException::~XalanXPathException()
-{
-}
diff --git a/src/XPath/XalanXPathException.hpp b/src/XPath/XalanXPathException.hpp
deleted file mode 100644
index d746e94..0000000
--- a/src/XPath/XalanXPathException.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANXPATHEXCEPTION_HEADER_GUARD_1357924680)
-#define XALANXPATHEXCEPTION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XPath/XPathDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XalanNode;
-
-
-
-class XALAN_XPATH_EXPORT XalanXPathException : public XSLException
-{
-public:
-
-	/**
-	 * Construct an XPath exeption object.
-	 * 
-	 * @param message message explaining the problem. 
-	 * @param theURI the URI of the related document, if known
-	 * @param theLineNumber the line number of the related document, or -1 if not known
-	 * @param theColumnNumber the column number of the related document, or -1 if not known
-	 * @param styleNode the node in the stylesheet where the problem occurred
-	 * @param theType type of exception, default is "XalanXPathException"
-	 */
-	XalanXPathException(
-			const XalanDOMString&	message,
-			const XalanDOMString&	theURI,
-			int						theLineNumber,
-			int						theColumnNumber,
-			const XalanNode*		styleNode = 0,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XalanXPathException")));
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theLocator The locator instance for error reporting.
-	 * @param theMessage message to write when exception thrown
-	 * @param styleNode the node in the stylesheet where the problem occurred
-	 * @param theType type of exception, default is "XalanXPathException"
-	 */
-	XalanXPathException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanNode*		styleNode = 0,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XalanXPathException")));
-
-	/**
-	 * Construct an XPath exeption object.
-	 * 
-	 * @param message message explaining the problem. 
-	 * @param styleNode the node in the stylesheet where the problem occurred
-	 * @param theType type of exception, default is "XalanXPathException"
-	 */
-	XalanXPathException(
-			const XalanDOMString&	message,
-			const XalanNode*		styleNode = 0,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XalanXPathException")));
-
-	virtual
-	~XalanXPathException();
-
-	const XalanNode*
-	getStyleNode() const
-	{
-		return m_styleNode;
-	}
-
-protected:
-
-	/**
-	 * Construct an XPath exeption object.
-	 * 
-	 */
-	explicit
-	XalanXPathException();
-
-private:
-
-	const XalanNode*	m_styleNode;
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// XALANXPATHEXCEPTION_HEADER_GUARD_1357924680
diff --git a/src/XPathCAPI/XPathCAPI.cpp b/src/XPathCAPI/XPathCAPI.cpp
deleted file mode 100644
index 6e61ee2..0000000
--- a/src/XPathCAPI/XPathCAPI.cpp
+++ /dev/null
@@ -1,631 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XPathCAPI.h"
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/framework/MemBufInputSource.hpp>
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathEvaluator.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeInit.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-static bool	fInitialized = false;
-static bool	fTerminated = false;
-
-static XalanSourceTreeInit*		theSourceTreeInit = 0;
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanXPathAPIInitialize()
-{
-	if (fInitialized == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_CANNOT_REINITIALIZE;
-	}
-	else
-	{
-		int	theResult = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			XMLPlatformUtils::Initialize();
-
-			try
-			{
-				XPathEvaluator::initialize();
-
-				try
-				{
-					theSourceTreeInit = new XalanSourceTreeInit;
-				}
-				catch(...)
-				{
-					XPathEvaluator::terminate();
-
-					throw;
-				}
-			}
-			catch(...)
-			{
-				XMLPlatformUtils::Terminate();
-
-				throw;
-			}
-
-			fInitialized = true;
-		}
-		catch(...)
-		{
-			fTerminated = true;
-
-			theResult = XALAN_XPATH_API_ERROR_INITIALIZATION_FAILED;
-		}
-
-		return theResult;
-	}
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanXPathAPITerminate()
-{
-	if (fInitialized == false)
-	{
-		return XALAN_XPATH_API_ERROR_NOT_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_TERMINATED;
-	}
-	else
-	{
-		int	theResult = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			delete theSourceTreeInit;
-
-			theSourceTreeInit = 0;
-
-			XPathEvaluator::terminate();
-
-			XMLPlatformUtils::Terminate();
-
-			fTerminated = true;
-		}
-		catch(...)
-		{
-			theResult = XALAN_XPATH_API_ERROR_TERMINATION_FAILED;
-		}
-
-		return theResult;
-	}
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanCreateXPathEvaluator(XalanXPathEvaluatorHandle*	theHandle)
-{
-	if (fInitialized == false)
-	{
-		return XALAN_XPATH_API_ERROR_NOT_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_TERMINATED;
-	}
-	else if (theHandle == 0)
-	{
-		return XALAN_XPATH_API_ERROR_INVALID_PARAMETER;
-	}
-	else
-	{
-		int	theResult = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			*theHandle = new XPathEvaluator;
-		}
-		catch(...)
-		{
-			theResult = XALAN_XPATH_API_ERROR_UNKNOWN;
-		}
-
-		return theResult;
-	}
-}
-
-
-
-inline XPathEvaluator*
-getEvaluator(XalanXPathEvaluatorHandle	theHandle)
-{
-	assert(theHandle != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XPathEvaluator*)theHandle;
-#else
-	return static_cast<XPathEvaluator*>(theHandle);
-#endif
-}
-
-
-
-inline XPath*
-getXPath(XalanXPathHandle	theHandle)
-{
-	assert(theHandle != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XPath*)theHandle;
-#else
-	return static_cast<XPath*>(theHandle);
-#endif
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanDestroyXPathEvaluator(XalanXPathEvaluatorHandle	theXalanHandle)
-{
-	if (fInitialized == false)
-	{
-		return XALAN_XPATH_API_ERROR_NOT_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_TERMINATED;
-	}
-	else if (theXalanHandle == 0)
-	{
-		return XALAN_XPATH_API_ERROR_INVALID_PARAMETER;
-	}
-	else
-	{
-		int	theResult = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			delete getEvaluator(theXalanHandle);
-		}
-		catch(...)
-		{
-			theResult = XALAN_XPATH_API_ERROR_UNKNOWN;
-		}
-
-		return theResult;
-	}
-}
-
-
-
-inline int
-transcodeString(
-			XalanOutputTranscoder*	theTranscoder,
-			const char*				theString,
-			XalanDOMChar*			theChars,
-			unsigned char*			theCharsCount,
-			size_t					theLength,
-			XalanDOMString&			theResultString)
-{
-	assert(theTranscoder != 0);
-	assert(theString != 0);
-	assert(theChars != 0);
-	assert(theCharsCount != 0);
-
-	size_t	theSourceCharsTranscoded = 0;
-	size_t	theTargetBytesUsed = 0;
-
-	const XalanTranscodingServices::eCode	theCode = theTranscoder->transcode(
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(const XalanOutputTranscoder::XalanXMLByte*)theString,
-#else
-					reinterpret_cast<const XalanOutputTranscoder::XalanXMLByte*>(theString),
-#endif
-					theLength,
-					theChars,
-					theLength,
-					theSourceCharsTranscoded,
-					theTargetBytesUsed,
-					theCharsCount);
-
-	if (theCode != XalanTranscodingServices::OK)
-	{
-		return XALAN_XPATH_API_ERROR_TRANSCODING;
-	}
-	else
-	{
-		assign(theResultString, theChars, theTargetBytesUsed);
-
-		return XALAN_XPATH_API_SUCCESS;
-	}
-}
-
-
-
-inline int
-transcodeString(
-			const char*			theString,
-			const char*			theStringEncoding,
-			XalanDOMString&		theResultString)
-{
-	assert(theString != 0);
-
-	int		theResult = XALAN_XPATH_API_SUCCESS;
-
-	if (theStringEncoding == 0 || XalanDOMString::length(theStringEncoding) == 0)
-	{
-		theResultString = theString;
-	}
-	else
-	{
-		XalanTranscodingServices::eCode		theCode = XalanTranscodingServices::OK;
-
-		XalanOutputTranscoder* const	theTranscoder = 
-			XalanTranscodingServices::makeNewTranscoder(
-						XalanDOMString(theStringEncoding),
-						theCode,
-						1024);
-
-		if (theCode == XalanTranscodingServices::UnsupportedEncoding)
-		{
-			theResult = XALAN_XPATH_API_ERROR_UNSUPPORTED_ENCODING;
-		}
-		else if (theCode != XalanTranscodingServices::OK)
-		{
-			theResult = XALAN_XPATH_API_ERROR_UNKNOWN;
-		}
-		else
-		{
-			assert(theTranscoder != 0);
-
-			// Since UTF-16 can represent any Unicode value in
-			// one 16-bit value, we'll use the length of the
-			// string as the maximum length of the resulting
-			// transcoded string.  This doesn't account for
-			// surrogate pairs, but those are for private use
-			// only right now, so we don't really need to
-			// worry about them.
-			const XalanDOMString::size_type		theLength = XalanDOMString::length(theString);
-
-			// Only use a dynamically-allocated array for very long
-			// XPath expressions.
-			const XalanDOMString::size_type		maxStackArraySize = 100;
-
-			if (theLength >= maxStackArraySize)
-			{
-				XalanArrayAutoPtr<unsigned char>	theCharsCount(new unsigned char[theLength + 1]);
-				XalanArrayAutoPtr<XalanDOMChar>		theChars(new XalanDOMChar[theLength + 1]);
-
-				theResult = transcodeString(
-								theTranscoder,
-								theString,
-								theChars.get(),
-								theCharsCount.get(),
-								theLength,
-								theResultString);
-			}
-			else
-			{
-				unsigned char	theCharsCount[maxStackArraySize];
-				XalanDOMChar	theChars[maxStackArraySize];
-
-				theResult = transcodeString(
-								theTranscoder,
-								theString,
-								theChars,
-								theCharsCount,
-								theLength,
-								theResultString);
-			}
-
-			XalanTranscodingServices::destroyTranscoder(theTranscoder);
-		}
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanCreateXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			const char*					theXPathExpression,
-			const char*					theXPathExpressionEncoding,
-			XalanXPathHandle*			theXPathHandle)
-{
-	if (fInitialized == false)
-	{
-		return XALAN_XPATH_API_ERROR_NOT_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_TERMINATED;
-	}
-	else if (theXalanHandle == 0 || theXPathHandle == 0 || theXPathExpression == 0 || XalanDOMString::length(theXPathExpression) == 0)
-	{
-		return XALAN_XPATH_API_ERROR_INVALID_PARAMETER;
-	}
-	else
-	{
-		int		theResult = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			XPathEvaluator* const	theEvaluator = getEvaluator(theXalanHandle);
-			assert(theEvaluator != 0);
-
-			XalanDOMString	theExpressionString;
-
-			theResult = transcodeString(
-				theXPathExpression,
-				theXPathExpressionEncoding,
-				theExpressionString);
-
-			if (theResult == XALAN_XPATH_API_SUCCESS)
-			{
-				const XalanDOMChar* const	thePointer = theExpressionString.c_str();
-
-				if (length(thePointer) == 0)
-				{
-					theResult = XALAN_XPATH_API_ERROR_TRANSCODING;
-				}
-				else
-				{
-					*theXPathHandle = theEvaluator->createXPath(thePointer);
-				}
-			}
-		}
-		catch(...)
-		{
-			theResult = XALAN_XPATH_API_ERROR_INVALID_XPATH;
-		}
-
-		return theResult;
-	}
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanDestroyXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			XalanXPathHandle			theXPathHandle)
-{
-	if (fInitialized == false)
-	{
-		return XALAN_XPATH_API_ERROR_NOT_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_TERMINATED;
-	}
-	else if (theXalanHandle == 0 || theXPathHandle == 0)
-	{
-		return XALAN_XPATH_API_ERROR_INVALID_PARAMETER;
-	}
-	else
-	{
-		int	theResult = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			XPathEvaluator* const	theEvaluator = getEvaluator(theXalanHandle);
-			assert(theEvaluator != 0);
-
-			if (theEvaluator->destroyXPath(getXPath(theXPathHandle)) == false)
-			{
-				theResult = XALAN_XPATH_API_ERROR_INVALID_XPATH;
-			}
-		}
-		catch(...)
-		{
-			theResult = XALAN_XPATH_API_ERROR_UNKNOWN;
-		}
-
-		return theResult;
-	}
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanEvaluateXPathAsBoolean(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			XalanXPathHandle			theXPathHandle,
-			const char*					theXML,
-			int*						theResult)
-{
-	if (fInitialized == false)
-	{
-		return XALAN_XPATH_API_ERROR_NOT_INITIALIZED;
-	}
-	else if (fTerminated == true)
-	{
-		return XALAN_XPATH_API_ERROR_ALREADY_TERMINATED;
-	}
-	else if (theXalanHandle == 0 || theXPathHandle == 0 || theXML == 0)
-	{
-		return XALAN_XPATH_API_ERROR_INVALID_PARAMETER;
-	}
-	else
-	{
-		int	theError = XALAN_XPATH_API_SUCCESS;
-
-		try
-		{
-			XPathEvaluator* const	theEvaluator = getEvaluator(theXalanHandle);
-			assert(theEvaluator != 0);
-
-			XPath* const	theXPath = getXPath(theXPathHandle);
-			assert(theXPath != 0);
-
-			XalanSourceTreeDOMSupport		theDOMSupport;
-			XalanSourceTreeParserLiaison	theLiaison(theDOMSupport);
-
-			// Hook the two together...
-			theDOMSupport.setParserLiaison(&theLiaison);
-
-			// Create an input source...
-			const MemBufInputSource		theInputSource(
-#if defined(XALAN_OLD_STYLE_CASTS)
-											(const XMLByte*)theXML,
-#else
-											reinterpret_cast<const XMLByte*>(theXML),
-#endif
-											XalanDOMString::length(theXML),
-											"SourceXML",
-											false);
-
-			// Parse the document...
-			XalanDocument* const	theDocument =
-							theLiaison.parseXMLStream(theInputSource);
-			assert(theDocument != 0);
-
-			if (theEvaluator->evaluate(theDOMSupport, theDocument, *theXPath)->boolean() == true)
-			{
-				*theResult = 1;
-			}
-			else
-			{
-				*theResult = 0;
-			}
-		}
-		catch(const SAXException&)
-		{
-			theError = XALAN_XPATH_API_ERROR_BAD_XML;
-		}
-		catch(...)
-		{
-			theError = XALAN_XPATH_API_ERROR_UNKNOWN;
-		}
-
-		return theError;
-	}
-}
-
-
-
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanEvaluateXPathExpressionAsBoolean(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			const char*					theXPathExpression,
-			const char*					theXPathExpressionEncoding,
-			const char*					theXML,
-			int*						theResult)
-{
-	XalanXPathHandle	theXPathHandle = 0;
-
-	int		theError = XalanCreateXPath(
-					theXalanHandle,
-					theXPathExpression,
-					theXPathExpressionEncoding,
-					&theXPathHandle);
-
-	if (theError == XALAN_XPATH_API_SUCCESS)
-	{
-		assert(theXPathHandle != 0);
-
-		theError = XalanEvaluateXPathAsBoolean(theXalanHandle, theXPathHandle, theXML, theResult);
-
-		const int	theDestroyResult =
-			XalanDestroyXPath(theXalanHandle, theXPathHandle);
-
-		if (theDestroyResult != XALAN_XPATH_API_SUCCESS)
-		{
-			theError = theDestroyResult;
-		}
-	}
-
-	return theError;
-}
diff --git a/src/XPathCAPI/XPathCAPI.h b/src/XPathCAPI/XPathCAPI.h
deleted file mode 100644
index 6f85748..0000000
--- a/src/XPathCAPI/XPathCAPI.h
+++ /dev/null
@@ -1,244 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_XPATHCAPI_HEADER_GUARD_1357924680)
-#define XALAN_XPATHCAPI_HEADER_GUARD_1357924680
-
-
-
-#if defined(_MSC_VER)
-
-#if defined(XALAN_XPATHCAPI_BUILD_DLL)
-
-#define XALAN_XPATHCAPI_EXPORT __declspec(dllexport)
-#define XALAN_XPATHCAPI_EXPORT_FUNCTION(T) T __declspec(dllexport)
-
-#else
-
-#define XALAN_XPATHCAPI_EXPORT __declspec(dllimport)
-#define XALAN_XPATHCAPI_EXPORT_FUNCTION(T) T __declspec(dllimport)
-
-#endif
-
-#else
-
-#define XALAN_XPATHCAPI_EXPORT
-#define XALAN_XPATHCAPI_EXPORT_FUNCTION(T) T
-
-#endif
-
-
-
-/**
- * This is a simple C interface for the class XPathEvaluator. It's 
- * the user's responsibility to call XalanXPathAPIInitialize() before making
- * any other API calls, and to call XalanXPathAPITerminate() when finished
- * with the API.
- */
-#if defined(__cplusplus)
-extern "C"
-{
-#endif
-
-#define XALAN_XPATH_API_SUCCESS						0
-#define XALAN_XPATH_API_ERROR_ALREADY_INITIALIZED	1
-#define XALAN_XPATH_API_ERROR_ALREADY_TERMINATED	2
-#define XALAN_XPATH_API_ERROR_INITIALIZATION_FAILED	3
-#define XALAN_XPATH_API_ERROR_TERMINATION_FAILED	4
-#define XALAN_XPATH_API_ERROR_NOT_INITIALIZED		5
-#define XALAN_XPATH_API_ERROR_CANNOT_REINITIALIZE	6
-#define XALAN_XPATH_API_ERROR_INVALID_PARAMETER		7
-#define XALAN_XPATH_API_ERROR_INVALID_EXPRESSION	8
-#define XALAN_XPATH_API_ERROR_BAD_XML				9
-#define XALAN_XPATH_API_ERROR_UNSUPPORTED_ENCODING	10
-#define XALAN_XPATH_API_ERROR_TRANSCODING			11
-#define XALAN_XPATH_API_ERROR_INVALID_XPATH			12
-#define XALAN_XPATH_API_ERROR_UNKNOWN				13
-
-
-/**
- * Handle used to store the address of XalanTransformer instance.
- */
-typedef void*	XalanXPathEvaluatorHandle;
-
-/**
- * Handle used to store the address of compiled XPath instance.
- */
-typedef void*	XalanXPathHandle;
-
-
-#if defined(OS390)
-#pragma export(XalanXPathAPIInitialize)
-#pragma export(XalanXPathAPITerminate)
-#pragma export(XalanCreateXPathEvaluator)
-#pragma export(XalanDestroyXPathEvaluator)
-#pragma export(XalanCreateXPath)
-#pragma export(XalanDestroyXPath)
-#pragma export(XalanEvaluateXPathAsBoolean)
-#pragma export(XalanEvaluateXPathExpressionAsBoolean)
-#endif
-
-/**
- * Initialize Xerces and the XPath API.
- *
- * Should be called only once per process before making
- * any other API calls.
- *
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanXPathAPIInitialize();
-
-/**
- * Terminate Xerces and the XPath API.
- *
- * Should be called only once per process after deleting all
- * instances of XalanXPathEvaluator.  Once a process has called
- * this function, it cannot use the API for the remaining
- * lifetime of the process.
- *
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanXPathAPITerminate();
-
-/**
- * Create a XalanXPathEvaluator instance.
- *
- * @param theXalanHandle A pointer to the handle for the new instance.	 
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanCreateXPathEvaluator(XalanXPathEvaluatorHandle*	theHandle);
-
-/**
- * Destroy a XalanXPathEvaluator instance.
- * 
- * @param theXalanHandle The handle of the instance to destroy.
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanDestroyXPathEvaluator(XalanXPathEvaluatorHandle	theXalanHandle);
-
-/**
- * Creates a compiled XPath instance.
- *
- * @param theXalanHandle The handle of XalanXPathEvaluatorHandle instance.	 
- * @param theXPathExpression The expression to compile
- * @param theXPathExpressionEncoding The encoding of the expression.  If NULL or an empty string, the local code page is assumed.
- * @param theXPathHandle A pointer to the handle for the new instance
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanCreateXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			const char*					theXPathExpression,
-			const char*					theXPathExpressionEncoding,
-			XalanXPathHandle*			theXPathHandle);
-
-/**
- * Destroys a compiled XPath instance.
- *
- * @param theXalanHandle The handle of XalanXPathEvaluatorHandle instance.	 
- * @param theXPathHandle The handle of XPath instance
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanDestroyXPath(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			XalanXPathHandle			theXPathHandle);
-
-/**
- * Evaluates a compiled XPath instance.
- *
- * @param theXalanHandle The handle of XalanXPathEvaluatorHandle instance.	 
- * @param theXPathHandle The pointer to handle for instance
- * @param theXML The XML document to use for evaluating the XPath expression
- * @param theResult A pointer to an int to receive the result.
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanEvaluateXPathAsBoolean(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			XalanXPathHandle			theXPathHandle,
-			const char*					theXML,
-			int*						theResult);
-
-/**
- * Evaluates an XPath expression
- *
- * @param theXalanHandle The handle of XalanXPathEvaluatorHandle instance.	 
- * @param theXPathExpression The expression to evaluate
- * @param theXPathExpressionEncoding The encoding of the expression.  If NULL or an empty string, the local code page is assumed.
- * @param theXML The XML document to use for evaluating the XPath expression
- * @param theResult A pointer to an int to receive the result.
- * @return 0 for success, or a non-zero error code upon failure
- */
-XALAN_XPATHCAPI_EXPORT_FUNCTION(int)
-XalanEvaluateXPathExpressionAsBoolean(
-			XalanXPathEvaluatorHandle	theXalanHandle,
-			const char*					theXPathExpression,
-			const char*					theXPathExpressionEncoding,
-			const char*					theXML,
-			int*						theResult);
-
-#if defined(__cplusplus)
-}
-#endif
-
-
-
-#endif
diff --git a/src/XSLT/AVT.cpp b/src/XSLT/AVT.cpp
deleted file mode 100644
index a64ed52..0000000
--- a/src/XSLT/AVT.cpp
+++ /dev/null
@@ -1,412 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "AVT.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/StringTokenizer.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "AVTPartSimple.hpp"
-#include "AVTPartXPath.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-static const XalanDOMChar	theTokenDelimiterCharacters[] =
-{
-		XalanUnicode::charLeftCurlyBracket,
-		XalanUnicode::charRightCurlyBracket,
-		XalanUnicode::charApostrophe,
-		XalanUnicode::charQuoteMark,
-		0
-};
-
-
-
-static const XalanDOMChar	theLeftCurlyBracketString[] =
-{
-		XalanUnicode::charLeftCurlyBracket,
-		0
-};
-
-
-
-static const XalanDOMChar	theRightCurlyBracketString[] =
-{
-		XalanUnicode::charRightCurlyBracket,
-		0
-};
-
-
-
-/**
- * Construct an AVT by parsing the string, and either 
- * constructing a vector of AVTParts, or simply hold 
- * on to the string if the AVT is simple.
- */
-AVT::AVT(
-			const Locator*					locator,
-			const XalanDOMChar*				name,
-			const XalanDOMChar*				type,
-			const XalanDOMChar*				stringedValue,
-			const PrefixResolver&			resolver,
-			StylesheetConstructionContext&	constructionContext) :
-		m_parts(),
-		m_simpleString(),
-		// $$$ ToDo: Explicit XalanDOMString constructor
-		m_name(XalanDOMString(name)),
-		m_prefix(getPrefix(name)),
-		m_pcType(type)
-{
-	StringTokenizer		tokenizer(stringedValue, theTokenDelimiterCharacters, true);
-
-	const StringTokenizer::size_type	nTokens = tokenizer.countTokens();
-
-	if(nTokens < 2)
-	{
-		m_simpleString = stringedValue; // then do the simple thing
-	}
-	else
-	{
-		m_parts.reserve(nTokens + 1);
-
-		XalanDOMString	buffer;
-		XalanDOMString	exprBuffer;
-		XalanDOMString	t; // base token
-		XalanDOMString	lookahead; // next token
-		XalanDOMString	error; // if non-null, break from loop
-
-		while(tokenizer.hasMoreTokens())
-		{
-			if(length(lookahead))
-			{
-				t = lookahead;
-
-				clear(lookahead);
-			}
-			else
-			{
-				nextToken(constructionContext, locator, tokenizer, t);
-			}
-
-			if(length(t) == 1)
-			{
-				const XalanDOMChar	theChar = charAt(t, 0);
-
-				switch(theChar)
-				{
-					case(XalanUnicode::charLeftCurlyBracket):
-					{
-						// Attribute Value Template start
-						nextToken(constructionContext, locator, tokenizer, lookahead);
-
-						if(equals(lookahead, theLeftCurlyBracketString))
-						{
-							// Double curlys mean escape to show curly
-							append(buffer, lookahead);
-
-							clear(lookahead);
-
-							break; // from switch
-						}
-						else
-						{
-							if(length(buffer) > 0)
-							{
-								m_parts.push_back(new AVTPartSimple(buffer));
-
-								clear(buffer);
-							}
-									
-							clear(exprBuffer);
-
-							while(length(lookahead) > 0 && !equals(lookahead, theRightCurlyBracketString))
-							{
-								if(length(lookahead) == 1)
-								{
-									switch(charAt(lookahead, 0))
-									{
-										case XalanUnicode::charApostrophe:
-										case XalanUnicode::charQuoteMark:
-										{
-											// String start
-											append(exprBuffer, lookahead);
-
-											const XalanDOMString	quote = lookahead;
-
-											// Consume stuff 'till next quote
-											nextToken(constructionContext, locator, tokenizer, lookahead);
-
-											while(!equals(lookahead, quote))
-											{
-												append(exprBuffer, lookahead);
-
-												 nextToken(constructionContext, locator, tokenizer, lookahead);
-											}
-
-											append(exprBuffer,lookahead);
-
-											break;
-										}
-										case XalanUnicode::charLeftCurlyBracket:
-										{
-											// What's another curly doing here?
-											error = TranscodeFromLocalCodePage("Error: Can not have \"{\" within expression.");
-
-											break;
-										}
-										default:
-										{
-											// part of the template stuff, just add it.
-											append(exprBuffer, lookahead);
-										}
-									} // end inner switch
-								} // end if lookahead length == 1
-								else
-								{
-									// part of the template stuff, just add it.
-									append(exprBuffer,lookahead);
-								}
-
-								nextToken(constructionContext, locator, tokenizer, lookahead);
-							} // end while(!equals(lookahead, "}"))
-							assert(equals(lookahead, theRightCurlyBracketString));
-
-							// Proper close of attribute template. Evaluate the
-							// expression.
-							clear(buffer);
-
-							const XPath* const	xpath =
-								constructionContext.createXPath(
-											locator,
-											exprBuffer,
-											resolver);
-							assert(xpath != 0);
-
-							m_parts.push_back(new AVTPartXPath(xpath));
-
-							clear(lookahead); // breaks out of inner while loop
-
-							if(length(error) > 0)
-							{
-								break; // from inner while loop
-							}
-						}
-						break;
-					}
-					case(XalanUnicode::charRightCurlyBracket):
-					{
-						nextToken(constructionContext, locator, tokenizer, lookahead);
-
-						if(equals(lookahead, theRightCurlyBracketString))
-						{
-							// Double curlys mean escape to show curly
-							append(buffer, lookahead);
-
-							clear(lookahead); // swallow
-						}
-						else
-						{
-							// Illegal, I think...
-							constructionContext.warn("Found \"}\" but no attribute template open!");
-
-							append(buffer, theRightCurlyBracketString);
-							// leave the lookahead to be processed by the next round.
-						}
-						break;
-					}
-					default:
-					{
-						const XalanDOMString	s(&theChar, 1);
-
-						// Anything else just add to string.
-						append(buffer, s);
-					}
-				} // end switch t
-			} // end if length == 1
-			else
-			{
-				// Anything else just add to string.
-				append(buffer,t);
-			}
-
-			if(length(error) > 0)
-			{
-				constructionContext.warn("Attr Template, " + error);
-
-				break;
-			}
-		} // end while(tokenizer.hasMoreTokens())
-
-		if(length(buffer) > 0)
-		{
-			m_parts.push_back(new AVTPartSimple(buffer));
-
-			clear(buffer);
-		}
-
-	} // end else nTokens > 1
-
-	if(m_parts.empty() && length(m_simpleString) == 0)
-	{
-		// Error?
-		clear(m_simpleString);
-	}
-	else if (m_parts.size() < m_parts.capacity())
-	{
-		AVTPartPtrVectorType(m_parts).swap(m_parts);
-	}
-
-}
-
-
-
-AVT::~AVT()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Clean up all entries in the vector.
-	for_each(m_parts.begin(),
-			 m_parts.end(),
-			 DeleteFunctor<AVTPart>());
-}
-
-
-
-void
-AVT::evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const
-{
-	if(length(m_simpleString) > 0)
-	{
-		buf = m_simpleString;
-	}
-	else
-	{
-		clear(buf);
-
-		if(m_parts.empty() == false)
-		{
-			const AVTPartPtrVectorType::size_type	n = m_parts.size();
-
-			for(AVTPartPtrVectorType::size_type i = 0; i < n; i++)
-			{
-				assert(m_parts[i] != 0);
-
-				m_parts[i]->evaluate(buf, contextNode, prefixResolver, executionContext);
-			}
-		}
-	}
-}
-
-
-
-void
-AVT::nextToken(
-			StylesheetConstructionContext&	constructionContext,
-			const Locator*					locator,
-			StringTokenizer&				tokenizer,
-			XalanDOMString&					token)
-{
-	if (tokenizer.hasMoreTokens() == false)
-	{
-		constructionContext.error(
-			"The attribute value template has a missing a '}'",
-			0,
-			locator);
-	}
-	else
-	{
-		tokenizer.nextToken(token);
-	}
-}
-
-
-
-XalanDOMString
-AVT::getPrefix(const XalanDOMChar*	theName)
-{
-	if (startsWith(theName, DOMServices::s_XMLNamespaceWithSeparator) == true)
-	{
-		return XalanDOMString(theName, DOMServices::s_XMLNamespaceWithSeparatorLength);
-	}
-	else
-	{
-		return XalanDOMString();
-	}
-}
diff --git a/src/XSLT/AVT.hpp b/src/XSLT/AVT.hpp
deleted file mode 100644
index 179c5bc..0000000
--- a/src/XSLT/AVT.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_AVT_HEADER_GUARD)
-#define XALAN_AVT_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- */
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class AVTPart;
-class Locator;
-class PrefixResolver;
-class XPathExecutionContext;
-class XalanNode;
-class StringTokenizer;
-class StylesheetConstructionContext;
-
-
-
-/**
- * Class to hold an Attribute Value Template.
- */
-class AVT //: public AVTPart
-{
-public:
-
-	/**
-	 * Construct an Attribute Value Template(AVT) by parsing the string, and
-	 * either constructing a vector of AVTParts, or simply hold on to the
-	 * string if the AVT is simple.
-	 *
-	 * @param ownerElement		  the Locator for the AVT.  May be null.
-	 * @param name                name of AVT
-	 * @param type                type of AVT
-	 * @param stringedValue       string value to parse
-	 * @param resolver            resolver for namespace resolution
-	 * @param constructionContext context for construction of AVT
-	 */
-	AVT(
-			const Locator*					locator,
-			const XalanDOMChar*				name,
-			const XalanDOMChar*				type,
-			const XalanDOMChar*				stringedValue,
-			const PrefixResolver&			resolver,
-			StylesheetConstructionContext&	constructionContext);
-
-	virtual
-	~AVT();
-
-	/**
-	 * Retrieve the name of the Attribute Value Template
-	 * 
-	 * @return name of AVT
-	 */
-    const XalanDOMString&
-	getName() const
-	{
-		return m_name;
-	}
-
-	/**
-	 * Retrieve the prefix of the name of the Attribute Value Template,
-	 * if any.
-	 * 
-	 * @return The prefix part of the AVT's name
-	 */
-    const XalanDOMString&
-	getPrefix() const
-	{
-		return m_prefix;
-	}
-
-	/**
-	 * Retrieve the type of the Attribute Value Template
-	 * 
-	 * @return type of AVT
-	 */
-	const XalanDOMString&
-	getType() const
-	{
-		return m_pcType;
-	}
-
-	/**
-	 * Retrieve the "simple" value
-	 * 
-	 * @return The "simple" value of the AVT.
-	 */
-	const XalanDOMString&
-	getSimpleValue() const
-	{
-		return m_simpleString;
-	}
-
-	void
-	evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<const AVTPart*>		AVTPartPtrVectorType;
-#else
-	typedef std::vector<const AVTPart*>	AVTPartPtrVectorType;
-#endif
-
-private:
-
-	void
-	nextToken(
-			StylesheetConstructionContext&	constructionContext,
-			const Locator*					locator,
-			StringTokenizer&				tokenizer,
-			XalanDOMString&					token);
-
-	/**
-	 * Get the prefix from theName, if any.
-	 * 
-	 * @param theName name of AVT
-	 *
-	 * @return A string containing the prefix.
-	 */
-	XalanDOMString
-	getPrefix(const XalanDOMChar*	theName);
-
-	// not implemented
-	AVT(const AVT &);
-	AVT& operator=(const AVT &);	
-
-	AVTPartPtrVectorType	m_parts;
-
-	XalanDOMString			m_simpleString;
-
-	const XalanDOMString	m_name;	
-
-	const XalanDOMString	m_prefix;
-
-	const XalanDOMString	m_pcType;
-};
-
-
-
-#endif	// XALAN_AVT_HEADER_GUARD
diff --git a/src/XSLT/AVTPart.cpp b/src/XSLT/AVTPart.cpp
deleted file mode 100644
index 685eb35..0000000
--- a/src/XSLT/AVTPart.cpp
+++ /dev/null
@@ -1,69 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "AVTPart.hpp"
-
-
-
-AVTPart::AVTPart()
-{
-}
-
-
-
-AVTPart::~AVTPart()
-{
-}
diff --git a/src/XSLT/AVTPart.hpp b/src/XSLT/AVTPart.hpp
deleted file mode 100644
index 15ed9e7..0000000
--- a/src/XSLT/AVTPart.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_AVTPART_HEADER_GUARD)
-#define XALAN_AVTPART_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// $$$ ToDo: This is necessary while XalanDOMString is still a typedef...
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanNode;
-class PrefixResolver;
-class XPathExecutionContext;
-
-
-
-/**
- * Class to hold a part, either a string or XPath, 
- * of an Attribute Value Template.
- */
-class AVTPart
-{
-public:
-
-	AVTPart();
-
-	virtual
-	~AVTPart();
-
-	/**
-	 * Write the value into the buffer.
-	 *
-	 * @param buf              buffer to write into
-	 * @param contextNode      current context node
-	 * @param prefixResolver   prefix resolver to use
-	 * @param executionContext execution context
-	 */
-	virtual void
-	evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const = 0;
-};
-
-
-
-#endif //XALAN_AVTPART_HEADER_GUARD 
diff --git a/src/XSLT/AVTPartSimple.cpp b/src/XSLT/AVTPartSimple.cpp
deleted file mode 100644
index e936a4c..0000000
--- a/src/XSLT/AVTPartSimple.cpp
+++ /dev/null
@@ -1,85 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "AVTPartSimple.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-/**
- * Simple string part of a complex AVT.
- */
-AVTPartSimple::AVTPartSimple(const XalanDOMString&	val) :
-	AVTPart(),
-	m_val(val)
-{
-}
-
-
-
-void
-AVTPartSimple::evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				/* contextNode */,
-			const PrefixResolver&	/* prefixResolver */,
-			XPathExecutionContext&	/* executionContext */) const
-
-{
-	append(buf, m_val);
-}
diff --git a/src/XSLT/AVTPartSimple.hpp b/src/XSLT/AVTPartSimple.hpp
deleted file mode 100644
index de8429f..0000000
--- a/src/XSLT/AVTPartSimple.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_AVTPARTSIMPLE_HEADER_GUARD)
-#define XALAN_AVTPARTSIMPLE_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include "AVTPart.hpp"
-
-
-
-/**
- * Simple string part of a complex AVT.
- */
-class AVTPartSimple: public AVTPart
-{
-public:
-
-	/**
-	 * Construct a simple Attribute Value Template (AVT) part.
-	 *
-	 * @param val A pure string section of an AVT
-	 */
-	AVTPartSimple(const XalanDOMString&		val);
-
-
-	// These methods are inherited from AVTPart ...
-
-	virtual void
-	evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const;
-
-private:
-
-	/**
-	 * Simple string value;
-	 */
-	const XalanDOMString		m_val;
-};
-
-
-
-#endif	//XALAN_AVTPARTSIMPLE_HEADER_GUARD 
diff --git a/src/XSLT/AVTPartXPath.cpp b/src/XSLT/AVTPartXPath.cpp
deleted file mode 100644
index f48d582..0000000
--- a/src/XSLT/AVTPartXPath.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "AVTPartXPath.hpp"
-
-
-
-#include <XPath/XObject.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathFactory.hpp>
-#include <XPath/XPathProcessor.hpp>
-
-
-
-/**
- * Construct a simple AVT part.
- * @param val A pure string section of an AVT.
- */
-AVTPartXPath::AVTPartXPath(const XPath*		xpath) :
-	AVTPart(),
-	m_pXPath(xpath)
-{
-}
-
-
-
-XObjectPtr
-AVTPartXPath::evaluate(
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const
-{
-	return m_pXPath->execute(contextNode, prefixResolver, executionContext);
-}
-
-
-
-void
-AVTPartXPath::evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const
-{
-	const XObjectPtr	xobj(m_pXPath->execute(contextNode, prefixResolver, executionContext));
-
-	if(0 != xobj.get())
-	{
-		xobj->str(buf);
-	}
-}
diff --git a/src/XSLT/AVTPartXPath.hpp b/src/XSLT/AVTPartXPath.hpp
deleted file mode 100644
index 12547a2..0000000
--- a/src/XSLT/AVTPartXPath.hpp
+++ /dev/null
@@ -1,128 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_AVTPARTXPATH_HEADER_GUARD)
-#define XALAN_AVTPARTXPATH_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- */
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XPath/XObject.hpp>
-
-
-
-#include <XSLT/AVTPart.hpp>
-
-
-
-class PrefixResolver;
-class XPath;
-class XPathEnvSupport;
-class XPathFactory;
-class XPathProcessor;
-
-
-
-/**
- * Simple string part of a complex AVT.
- */
-class AVTPartXPath: public AVTPart
-{
-public:
-
-	/**
-	 * Construct an XPath Attribute Value Template (AVT) part from an XPath.
-	 *
-	 * @param xpath XPath to evaluate
-	 */
-	AVTPartXPath(const XPath*	xpath);
-
-
-	virtual XObjectPtr
-	evaluate(
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const;
-
-	// These methods are inherited from AVTPart ...
-	
-	virtual void
-	evaluate(
-			XalanDOMString&			buf,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext) const;
-
-private:
-
-	/**
-	 * XPath for evaluation;
-	 */
-	const XPath* const	m_pXPath;
-};
-
-
-
-#endif	//XALAN_AVTPARTXPATH_HEADER_GUARD 
diff --git a/src/XSLT/Constants.cpp b/src/XSLT/Constants.cpp
deleted file mode 100644
index 0163eed..0000000
--- a/src/XSLT/Constants.cpp
+++ /dev/null
@@ -1,918 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-#include "Constants.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-static XalanDOMString		ATTRNAME_AMOUNT;
-static XalanDOMString		ATTRNAME_ANCESTOR;
-static XalanDOMString		ATTRNAME_ARCHIVE;
-static XalanDOMString		ATTRNAME_ATTRIBUTE;
-static XalanDOMString		ATTRNAME_ATTRIBUTE_SET;
-static XalanDOMString		ATTRNAME_CASEORDER;
-static XalanDOMString		ATTRNAME_CLASS;
-static XalanDOMString		ATTRNAME_CLASSID;
-static XalanDOMString		ATTRNAME_CODEBASE;
-static XalanDOMString		ATTRNAME_CODETYPE;
-static XalanDOMString		ATTRNAME_COMPONENTS;
-static XalanDOMString		ATTRNAME_CONDITION;
-static XalanDOMString		ATTRNAME_COPYTYPE;
-static XalanDOMString		ATTRNAME_COUNT;
-static XalanDOMString		ATTRNAME_DATATYPE;
-static XalanDOMString		ATTRNAME_DECIMALSEPARATOR;
-static XalanDOMString		ATTRNAME_DEFAULT;
-static XalanDOMString		ATTRNAME_DEFAULTSPACE;
-static XalanDOMString		ATTRNAME_DEPTH;
-static XalanDOMString		ATTRNAME_DIGIT;
-static XalanDOMString		ATTRNAME_DIGITGROUPSEP;
-static XalanDOMString		ATTRNAME_DISABLE_OUTPUT_ESCAPING;
-static XalanDOMString		ATTRNAME_ELEMENT;
-static XalanDOMString		ATTRNAME_ELEMENTS;
-static XalanDOMString		ATTRNAME_EXCLUDE_RESULT_PREFIXES;
-static XalanDOMString		ATTRNAME_EXPR;
-static XalanDOMString		ATTRNAME_EXTENSIONELEMENTPREFIXES;
-static XalanDOMString		ATTRNAME_FORMAT;
-static XalanDOMString		ATTRNAME_FROM;
-static XalanDOMString		ATTRNAME_FUNCTIONS;
-static XalanDOMString		ATTRNAME_GROUPINGSEPARATOR;
-static XalanDOMString		ATTRNAME_GROUPINGSIZE;
-static XalanDOMString		ATTRNAME_HREF;
-static XalanDOMString		ATTRNAME_ID;
-static XalanDOMString		ATTRNAME_IMPORTANCE;
-static XalanDOMString		ATTRNAME_INDENTRESULT;
-static XalanDOMString		ATTRNAME_INFINITY;
-static XalanDOMString		ATTRNAME_LANG;
-static XalanDOMString		ATTRNAME_LETTERVALUE;
-static XalanDOMString		ATTRNAME_LEVEL;
-static XalanDOMString		ATTRNAME_MATCH;
-static XalanDOMString		ATTRNAME_METHOD;
-static XalanDOMString		ATTRNAME_MINUSSIGN;
-static XalanDOMString		ATTRNAME_MODE;
-static XalanDOMString		ATTRNAME_NAME;
-static XalanDOMString		ATTRNAME_NAMESPACE;
-static XalanDOMString		ATTRNAME_NAN;
-static XalanDOMString		ATTRNAME_NDIGITSPERGROUP;
-static XalanDOMString		ATTRNAME_NS;
-static XalanDOMString		ATTRNAME_ONLY;
-static XalanDOMString		ATTRNAME_ORDER;
-static XalanDOMString		ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS;
-static XalanDOMString		ATTRNAME_OUTPUT_DOCTYPE_PUBLIC;
-static XalanDOMString		ATTRNAME_OUTPUT_DOCTYPE_SYSTEM;
-static XalanDOMString		ATTRNAME_OUTPUT_ENCODING;
-static XalanDOMString		ATTRNAME_OUTPUT_INDENT;
-static XalanDOMString		ATTRNAME_OUTPUT_MEDIATYPE;
-static XalanDOMString		ATTRNAME_OUTPUT_METHOD;
-static XalanDOMString		ATTRNAME_OUTPUT_OMITXMLDECL;
-static XalanDOMString		ATTRNAME_OUTPUT_STANDALONE;
-static XalanDOMString		ATTRNAME_OUTPUT_VERSION;
-static XalanDOMString		ATTRNAME_PATTERNSEPARATOR;
-static XalanDOMString		ATTRNAME_PERCENT;
-static XalanDOMString		ATTRNAME_PERMILLE;
-static XalanDOMString		ATTRNAME_PREFIX;
-static XalanDOMString		ATTRNAME_PRIORITY;
-static XalanDOMString		ATTRNAME_REFID;
-static XalanDOMString		ATTRNAME_RESULTNS;
-static XalanDOMString		ATTRNAME_RESULT_PREFIX;
-static XalanDOMString		ATTRNAME_SCRIPT;
-static XalanDOMString		ATTRNAME_SELECT;
-static XalanDOMString		ATTRNAME_SEQUENCESRC;
-static XalanDOMString		ATTRNAME_SRC;
-static XalanDOMString		ATTRNAME_STYLE;
-static XalanDOMString		ATTRNAME_STYLESHEET_PREFIX;
-static XalanDOMString		ATTRNAME_TERMINATE;
-static XalanDOMString		ATTRNAME_TEST;
-static XalanDOMString		ATTRNAME_TOSTRING;
-static XalanDOMString		ATTRNAME_TYPE;
-static XalanDOMString		ATTRNAME_USE;
-static XalanDOMString		ATTRNAME_USEATTRIBUTESETS;
-static XalanDOMString		ATTRNAME_VALUE;
-static XalanDOMString		ATTRNAME_VERSION;
-static XalanDOMString		ATTRNAME_XMLNS;
-static XalanDOMString		ATTRNAME_XMLNSDEF;
-static XalanDOMString		ATTRNAME_XMLSPACE;
-static XalanDOMString		ATTRNAME_ZERODIGIT;
-
-static XalanDOMString		ATTRTYPE_CDATA;
-
-static XalanDOMString		ATTRVAL_ALPHABETIC;
-static XalanDOMString		ATTRVAL_ANCESTOR;
-static XalanDOMString		ATTRVAL_ANY;
-static XalanDOMString		ATTRVAL_CASEORDER_LOWER;
-static XalanDOMString		ATTRVAL_CASEORDER_UPPER;
-static XalanDOMString		ATTRVAL_DATATYPE_NUMBER;
-static XalanDOMString		ATTRVAL_DATATYPE_TEXT;
-static XalanDOMString		ATTRVAL_DEFAULT;
-static XalanDOMString		ATTRVAL_DEFAULT_PREFIX;
-static XalanDOMString		ATTRVAL_DEFAULT_TEXT_RULE;
-static XalanDOMString		ATTRVAL_ID;
-static XalanDOMString		ATTRVAL_INFINITY;
-static XalanDOMString		ATTRVAL_MULTI;
-static XalanDOMString		ATTRVAL_NAN;
-static XalanDOMString		ATTRVAL_NO;
-static XalanDOMString		ATTRVAL_ORDER_ASCENDING;
-static XalanDOMString		ATTRVAL_ORDER_DESCENDING;
-static XalanDOMString		ATTRVAL_OTHER;
-static XalanDOMString		ATTRVAL_OUTPUT_METHOD_HTML;
-static XalanDOMString		ATTRVAL_OUTPUT_METHOD_TEXT;
-static XalanDOMString		ATTRVAL_OUTPUT_METHOD_XML;
-static XalanDOMString		ATTRVAL_PARENT;
-static XalanDOMString		ATTRVAL_PRESERVE;
-static XalanDOMString		ATTRVAL_SIMPLE;
-static XalanDOMString		ATTRVAL_SINGLE;
-static XalanDOMString		ATTRVAL_STRIP;
-static XalanDOMString		ATTRVAL_THIS;
-static XalanDOMString		ATTRVAL_TRADITIONAL;
-static XalanDOMString		ATTRVAL_YES;
-
-static XalanDOMString		DEFAULT_WHITESPACE_SEPARATOR_STRING;
-
-static XalanDOMString		ELEMNAME_ANY_STRING;
-static XalanDOMString		ELEMNAME_APPLY_IMPORTS_STRING;
-static XalanDOMString		ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_APPLY_TEMPLATES_STRING;
-static XalanDOMString		ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_ATTRIBUTESET_STRING;
-static XalanDOMString		ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_ATTRIBUTE_STRING;
-static XalanDOMString		ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_CALLTEMPLATE_STRING;
-static XalanDOMString		ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_CALL_STRING;
-static XalanDOMString		ELEMNAME_CHILDREN_STRING;
-static XalanDOMString		ELEMNAME_CHOOSE_STRING;
-static XalanDOMString		ELEMNAME_CHOOSE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_COMMENT_STRING;
-static XalanDOMString		ELEMNAME_COMMENT_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_COMPONENT_STRING;
-static XalanDOMString		ELEMNAME_CONSTRUCT_STRING;
-static XalanDOMString		ELEMNAME_CONTENTS_STRING;
-static XalanDOMString		ELEMNAME_COPY_OF_STRING;
-static XalanDOMString		ELEMNAME_COPY_OF_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_COPY_STRING;
-static XalanDOMString		ELEMNAME_COPY_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_DECIMALFORMAT_STRING;
-static XalanDOMString		ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_DISPLAYIF_STRING;
-static XalanDOMString		ELEMNAME_ELEMENT_STRING;
-static XalanDOMString		ELEMNAME_ELEMENT_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_EMPTY_STRING;
-static XalanDOMString		ELEMNAME_EXTENSIONHANDLER_STRING;
-static XalanDOMString		ELEMNAME_EXTENSION_STRING;
-static XalanDOMString		ELEMNAME_FALLBACK_STRING;
-static XalanDOMString		ELEMNAME_FALLBACK_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_FOREACH_STRING;
-static XalanDOMString		ELEMNAME_FOREACH_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_HTML_STRING;
-static XalanDOMString		ELEMNAME_IF_STRING;
-static XalanDOMString		ELEMNAME_IF_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_IMPORT_STRING;
-static XalanDOMString		ELEMNAME_INCLUDE_STRING;
-static XalanDOMString		ELEMNAME_KEY_STRING;
-static XalanDOMString		ELEMNAME_LOCALE_STRING;
-static XalanDOMString		ELEMNAME_MESSAGE_STRING;
-static XalanDOMString		ELEMNAME_MESSAGE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_NSALIAS_STRING;
-static XalanDOMString		ELEMNAME_NUMBER_STRING;
-static XalanDOMString		ELEMNAME_NUMBER_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_OTHERWISE_STRING;
-static XalanDOMString		ELEMNAME_OTHERWISE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_OUTPUT_STRING;
-static XalanDOMString		ELEMNAME_PARAMVARIABLE_STRING;
-static XalanDOMString		ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_PI_OLD_STRING;
-static XalanDOMString		ELEMNAME_PI_STRING;
-static XalanDOMString		ELEMNAME_PI_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_PRESERVESPACE_STRING;
-static XalanDOMString		ELEMNAME_ROOT_STRING;
-static XalanDOMString		ELEMNAME_SCRIPT_STRING;
-static XalanDOMString		ELEMNAME_SORT_STRING;
-static XalanDOMString		ELEMNAME_SORT_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_STRIPSPACE_STRING;
-static XalanDOMString		ELEMNAME_STYLESHEET_STRING;
-static XalanDOMString		ELEMNAME_TEMPLATE_STRING;
-static XalanDOMString		ELEMNAME_TEMPLATE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_TEXT_STRING;
-static XalanDOMString		ELEMNAME_TEXT_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_TRANSFORM_STRING;
-static XalanDOMString		ELEMNAME_URL_STRING;
-static XalanDOMString		ELEMNAME_USE_STRING;
-static XalanDOMString		ELEMNAME_USE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_VALUEOF_STRING;
-static XalanDOMString		ELEMNAME_VALUEOF_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_VARIABLE_STRING;
-static XalanDOMString		ELEMNAME_VARIABLE_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_WHEN_STRING;
-static XalanDOMString		ELEMNAME_WHEN_WITH_PREFIX_STRING;
-static XalanDOMString		ELEMNAME_WITHPARAM_STRING;
-static XalanDOMString		ELEMNAME_WITHPARAM_WITH_PREFIX_STRING;
-
-static XalanDOMString		PSEUDONAME_ANY;
-static XalanDOMString		PSEUDONAME_COMMENT;
-static XalanDOMString		PSEUDONAME_NODE;
-static XalanDOMString		PSEUDONAME_OTHER;
-static XalanDOMString		PSEUDONAME_PI;
-static XalanDOMString		PSEUDONAME_ROOT;
-static XalanDOMString		PSEUDONAME_TEXT;
-
-
-
-const XalanDOMString&		Constants::ATTRNAME_AMOUNT = ::ATTRNAME_AMOUNT;
-const XalanDOMString&		Constants::ATTRNAME_ANCESTOR = ::ATTRNAME_ANCESTOR;
-const XalanDOMString&		Constants::ATTRNAME_ARCHIVE = ::ATTRNAME_ARCHIVE;
-const XalanDOMString&		Constants::ATTRNAME_ATTRIBUTE = ::ATTRNAME_ATTRIBUTE;
-const XalanDOMString&		Constants::ATTRNAME_ATTRIBUTE_SET = ::ATTRNAME_ATTRIBUTE_SET;
-const XalanDOMString&		Constants::ATTRNAME_CASEORDER = ::ATTRNAME_CASEORDER;
-const XalanDOMString&		Constants::ATTRNAME_CLASS = ::ATTRNAME_CLASS;
-const XalanDOMString&		Constants::ATTRNAME_CLASSID = ::ATTRNAME_CLASSID;
-const XalanDOMString&		Constants::ATTRNAME_CODEBASE = ::ATTRNAME_CODEBASE;
-const XalanDOMString&		Constants::ATTRNAME_CODETYPE = ::ATTRNAME_CODETYPE;
-const XalanDOMString&		Constants::ATTRNAME_COMPONENTS = ::ATTRNAME_COMPONENTS;
-const XalanDOMString&		Constants::ATTRNAME_CONDITION = ::ATTRNAME_CONDITION;
-const XalanDOMString&		Constants::ATTRNAME_COPYTYPE = ::ATTRNAME_COPYTYPE;
-const XalanDOMString&		Constants::ATTRNAME_COUNT = ::ATTRNAME_COUNT;
-const XalanDOMString&		Constants::ATTRNAME_DATATYPE = ::ATTRNAME_DATATYPE;
-const XalanDOMString&		Constants::ATTRNAME_DECIMALSEPARATOR = ::ATTRNAME_DECIMALSEPARATOR;
-const XalanDOMString&		Constants::ATTRNAME_DEFAULT = ::ATTRNAME_DEFAULT;
-const XalanDOMString&		Constants::ATTRNAME_DEFAULTSPACE = ::ATTRNAME_DEFAULTSPACE;
-const XalanDOMString&		Constants::ATTRNAME_DEPTH = ::ATTRNAME_DEPTH;
-const XalanDOMString&		Constants::ATTRNAME_DIGIT = ::ATTRNAME_DIGIT;
-const XalanDOMString&		Constants::ATTRNAME_DIGITGROUPSEP = ::ATTRNAME_DIGITGROUPSEP;
-const XalanDOMString&		Constants::ATTRNAME_DISABLE_OUTPUT_ESCAPING  = ::ATTRNAME_DISABLE_OUTPUT_ESCAPING;
-const XalanDOMString&		Constants::ATTRNAME_ELEMENT = ::ATTRNAME_ELEMENT;
-const XalanDOMString&		Constants::ATTRNAME_ELEMENTS = ::ATTRNAME_ELEMENTS;
-const XalanDOMString&		Constants::ATTRNAME_EXCLUDE_RESULT_PREFIXES = ::ATTRNAME_EXCLUDE_RESULT_PREFIXES;
-const XalanDOMString&		Constants::ATTRNAME_EXPR = ::ATTRNAME_EXPR;
-const XalanDOMString&		Constants::ATTRNAME_EXTENSIONELEMENTPREFIXES = ::ATTRNAME_EXTENSIONELEMENTPREFIXES;
-const XalanDOMString&		Constants::ATTRNAME_FORMAT = ::ATTRNAME_FORMAT;
-const XalanDOMString&		Constants::ATTRNAME_FROM = ::ATTRNAME_FROM;
-const XalanDOMString&		Constants::ATTRNAME_FUNCTIONS = ::ATTRNAME_FUNCTIONS;
-const XalanDOMString&		Constants::ATTRNAME_GROUPINGSEPARATOR = ::ATTRNAME_GROUPINGSEPARATOR;
-const XalanDOMString&		Constants::ATTRNAME_GROUPINGSIZE = ::ATTRNAME_GROUPINGSIZE;
-const XalanDOMString&		Constants::ATTRNAME_HREF = ::ATTRNAME_HREF;
-const XalanDOMString&		Constants::ATTRNAME_ID = ::ATTRNAME_ID;
-const XalanDOMString&		Constants::ATTRNAME_IMPORTANCE = ::ATTRNAME_IMPORTANCE;
-const XalanDOMString&		Constants::ATTRNAME_INDENTRESULT = ::ATTRNAME_INDENTRESULT;
-const XalanDOMString&		Constants::ATTRNAME_INFINITY = ::ATTRNAME_INFINITY;
-const XalanDOMString&		Constants::ATTRNAME_LANG = ::ATTRNAME_LANG;
-const XalanDOMString&		Constants::ATTRNAME_LETTERVALUE = ::ATTRNAME_LETTERVALUE;
-const XalanDOMString&		Constants::ATTRNAME_LEVEL = ::ATTRNAME_LEVEL;
-const XalanDOMString&		Constants::ATTRNAME_MATCH = ::ATTRNAME_MATCH;
-const XalanDOMString&		Constants::ATTRNAME_METHOD = ::ATTRNAME_METHOD;
-const XalanDOMString&		Constants::ATTRNAME_MINUSSIGN = ::ATTRNAME_MINUSSIGN;
-const XalanDOMString&		Constants::ATTRNAME_MODE = ::ATTRNAME_MODE;
-const XalanDOMString&		Constants::ATTRNAME_NAME = ::ATTRNAME_NAME;
-const XalanDOMString&		Constants::ATTRNAME_NAMESPACE = ::ATTRNAME_NAMESPACE;
-const XalanDOMString&		Constants::ATTRNAME_NAN = ::ATTRNAME_NAN;
-const XalanDOMString&		Constants::ATTRNAME_NDIGITSPERGROUP = ::ATTRNAME_NDIGITSPERGROUP;
-const XalanDOMString&		Constants::ATTRNAME_NS = ::ATTRNAME_NS;
-const XalanDOMString&		Constants::ATTRNAME_ONLY = ::ATTRNAME_ONLY;
-const XalanDOMString&		Constants::ATTRNAME_ORDER = ::ATTRNAME_ORDER;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS  = ::ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_DOCTYPE_PUBLIC = ::ATTRNAME_OUTPUT_DOCTYPE_PUBLIC;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_DOCTYPE_SYSTEM = ::ATTRNAME_OUTPUT_DOCTYPE_SYSTEM;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_ENCODING = ::ATTRNAME_OUTPUT_ENCODING;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_INDENT = ::ATTRNAME_OUTPUT_INDENT;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_MEDIATYPE = ::ATTRNAME_OUTPUT_MEDIATYPE;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_METHOD = ::ATTRNAME_OUTPUT_METHOD;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_OMITXMLDECL = ::ATTRNAME_OUTPUT_OMITXMLDECL;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_STANDALONE  = ::ATTRNAME_OUTPUT_STANDALONE;
-const XalanDOMString&		Constants::ATTRNAME_OUTPUT_VERSION = ::ATTRNAME_OUTPUT_VERSION;
-const XalanDOMString&		Constants::ATTRNAME_PATTERNSEPARATOR = ::ATTRNAME_PATTERNSEPARATOR;
-const XalanDOMString&		Constants::ATTRNAME_PERCENT = ::ATTRNAME_PERCENT;
-const XalanDOMString&		Constants::ATTRNAME_PERMILLE = ::ATTRNAME_PERMILLE;
-const XalanDOMString&		Constants::ATTRNAME_PREFIX = ::ATTRNAME_PREFIX;
-const XalanDOMString&		Constants::ATTRNAME_PRIORITY = ::ATTRNAME_PRIORITY;
-const XalanDOMString&		Constants::ATTRNAME_REFID = ::ATTRNAME_REFID;
-const XalanDOMString&		Constants::ATTRNAME_RESULTNS = ::ATTRNAME_RESULTNS;
-const XalanDOMString&		Constants::ATTRNAME_RESULT_PREFIX = ::ATTRNAME_RESULT_PREFIX;
-const XalanDOMString&		Constants::ATTRNAME_SCRIPT = ::ATTRNAME_SCRIPT;
-const XalanDOMString&		Constants::ATTRNAME_SELECT = ::ATTRNAME_SELECT;
-const XalanDOMString&		Constants::ATTRNAME_SEQUENCESRC = ::ATTRNAME_SEQUENCESRC;
-const XalanDOMString&		Constants::ATTRNAME_SRC = ::ATTRNAME_SRC;
-const XalanDOMString&		Constants::ATTRNAME_STYLE = ::ATTRNAME_STYLE;
-const XalanDOMString&		Constants::ATTRNAME_STYLESHEET_PREFIX = ::ATTRNAME_STYLESHEET_PREFIX;
-const XalanDOMString&		Constants::ATTRNAME_TERMINATE = ::ATTRNAME_TERMINATE;
-const XalanDOMString&		Constants::ATTRNAME_TEST = ::ATTRNAME_TEST;
-const XalanDOMString&		Constants::ATTRNAME_TOSTRING = ::ATTRNAME_TOSTRING;
-const XalanDOMString&		Constants::ATTRNAME_TYPE = ::ATTRNAME_TYPE;
-const XalanDOMString&		Constants::ATTRNAME_USE = ::ATTRNAME_USE;
-const XalanDOMString&		Constants::ATTRNAME_USEATTRIBUTESETS = ::ATTRNAME_USEATTRIBUTESETS;
-const XalanDOMString&		Constants::ATTRNAME_VALUE = ::ATTRNAME_VALUE;
-const XalanDOMString&		Constants::ATTRNAME_VERSION = ::ATTRNAME_VERSION;
-const XalanDOMString&		Constants::ATTRNAME_XMLNS = ::ATTRNAME_XMLNS;
-const XalanDOMString&		Constants::ATTRNAME_XMLNSDEF = ::ATTRNAME_XMLNSDEF;
-const XalanDOMString&		Constants::ATTRNAME_XMLSPACE = ::ATTRNAME_XMLSPACE;
-const XalanDOMString&		Constants::ATTRNAME_ZERODIGIT = ::ATTRNAME_ZERODIGIT;
-
-const XalanDOMString&		Constants::ATTRTYPE_CDATA = ::ATTRTYPE_CDATA;
-
-const XalanDOMString&		Constants::ATTRVAL_ALPHABETIC = ::ATTRVAL_ALPHABETIC;
-const XalanDOMString&		Constants::ATTRVAL_ANCESTOR = ::ATTRVAL_ANCESTOR;
-const XalanDOMString&		Constants::ATTRVAL_ANY = ::ATTRVAL_ANY;
-const XalanDOMString&		Constants::ATTRVAL_CASEORDER_LOWER = ::ATTRVAL_CASEORDER_LOWER;
-const XalanDOMString&		Constants::ATTRVAL_CASEORDER_UPPER = ::ATTRVAL_CASEORDER_UPPER;
-const XalanDOMString&		Constants::ATTRVAL_DATATYPE_NUMBER = ::ATTRVAL_DATATYPE_NUMBER;
-const XalanDOMString&		Constants::ATTRVAL_DATATYPE_TEXT = ::ATTRVAL_DATATYPE_TEXT;
-const XalanDOMString&		Constants::ATTRVAL_DEFAULT = ::ATTRVAL_DEFAULT;
-const XalanDOMString&		Constants::ATTRVAL_DEFAULT_PREFIX = ::ATTRVAL_DEFAULT_PREFIX;
-const XalanDOMString&		Constants::ATTRVAL_DEFAULT_TEXT_RULE = ::ATTRVAL_DEFAULT_TEXT_RULE;
-const XalanDOMString&		Constants::ATTRVAL_ID = ::ATTRVAL_ID;
-const XalanDOMString&		Constants::ATTRVAL_INFINITY = ::ATTRVAL_INFINITY;
-const XalanDOMString&		Constants::ATTRVAL_MULTI = ::ATTRVAL_MULTI;
-const XalanDOMString&		Constants::ATTRVAL_NAN = ::ATTRVAL_NAN;
-const XalanDOMString&		Constants::ATTRVAL_NO = ::ATTRVAL_NO;
-const XalanDOMString&		Constants::ATTRVAL_ORDER_ASCENDING = ::ATTRVAL_ORDER_ASCENDING;
-const XalanDOMString&		Constants::ATTRVAL_ORDER_DESCENDING = ::ATTRVAL_ORDER_DESCENDING;
-const XalanDOMString&		Constants::ATTRVAL_OTHER = ::ATTRVAL_OTHER;
-const XalanDOMString&		Constants::ATTRVAL_OUTPUT_METHOD_HTML = ::ATTRVAL_OUTPUT_METHOD_HTML;
-const XalanDOMString&		Constants::ATTRVAL_OUTPUT_METHOD_TEXT = ::ATTRVAL_OUTPUT_METHOD_TEXT;
-const XalanDOMString&		Constants::ATTRVAL_OUTPUT_METHOD_XML = ::ATTRVAL_OUTPUT_METHOD_XML;
-const XalanDOMString&		Constants::ATTRVAL_PARENT = ::ATTRVAL_PARENT;
-const XalanDOMString&		Constants::ATTRVAL_PRESERVE = ::ATTRVAL_PRESERVE;
-const XalanDOMString&		Constants::ATTRVAL_SIMPLE = ::ATTRVAL_SIMPLE;
-const XalanDOMString&		Constants::ATTRVAL_SINGLE = ::ATTRVAL_SINGLE;
-const XalanDOMString&		Constants::ATTRVAL_STRIP = ::ATTRVAL_STRIP;
-const XalanDOMString&		Constants::ATTRVAL_THIS = ::ATTRVAL_THIS;
-const XalanDOMString&		Constants::ATTRVAL_TRADITIONAL = ::ATTRVAL_TRADITIONAL;
-const XalanDOMString&		Constants::ATTRVAL_YES = ::ATTRVAL_YES;
-
-const XalanDOMString&		Constants::DEFAULT_WHITESPACE_SEPARATOR_STRING = ::DEFAULT_WHITESPACE_SEPARATOR_STRING;
-
-const XalanDOMString&		Constants::ELEMNAME_ANY_STRING = ::ELEMNAME_ANY_STRING;
-const XalanDOMString&		Constants::ELEMNAME_APPLY_IMPORTS_STRING = ::ELEMNAME_APPLY_IMPORTS_STRING;
-const XalanDOMString&		Constants::ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING = ::ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_APPLY_TEMPLATES_STRING = ::ELEMNAME_APPLY_TEMPLATES_STRING;
-const XalanDOMString&		Constants::ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING = ::ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ATTRIBUTESET_STRING = ::ELEMNAME_ATTRIBUTESET_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING = ::ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ATTRIBUTE_STRING = ::ELEMNAME_ATTRIBUTE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING = ::ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CALLTEMPLATE_STRING = ::ELEMNAME_CALLTEMPLATE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING = ::ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CALL_STRING = ::ELEMNAME_CALL_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CHILDREN_STRING = ::ELEMNAME_CHILDREN_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CHOOSE_STRING = ::ELEMNAME_CHOOSE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CHOOSE_WITH_PREFIX_STRING = ::ELEMNAME_CHOOSE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COMMENT_STRING = ::ELEMNAME_COMMENT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COMMENT_WITH_PREFIX_STRING = ::ELEMNAME_COMMENT_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COMPONENT_STRING = ::ELEMNAME_COMPONENT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CONSTRUCT_STRING = ::ELEMNAME_CONSTRUCT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_CONTENTS_STRING = ::ELEMNAME_CONTENTS_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COPY_OF_STRING = ::ELEMNAME_COPY_OF_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COPY_OF_WITH_PREFIX_STRING = ::ELEMNAME_COPY_OF_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COPY_STRING = ::ELEMNAME_COPY_STRING;
-const XalanDOMString&		Constants::ELEMNAME_COPY_WITH_PREFIX_STRING = ::ELEMNAME_COPY_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_DECIMALFORMAT_STRING = ::ELEMNAME_DECIMALFORMAT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING = ::ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_DISPLAYIF_STRING = ::ELEMNAME_DISPLAYIF_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ELEMENT_STRING = ::ELEMNAME_ELEMENT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ELEMENT_WITH_PREFIX_STRING = ::ELEMNAME_ELEMENT_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_EMPTY_STRING = ::ELEMNAME_EMPTY_STRING;
-const XalanDOMString&		Constants::ELEMNAME_EXTENSION_STRING = ::ELEMNAME_EXTENSION_STRING;
-const XalanDOMString&		Constants::ELEMNAME_FALLBACK_STRING = ::ELEMNAME_FALLBACK_STRING;
-const XalanDOMString&		Constants::ELEMNAME_FALLBACK_WITH_PREFIX_STRING = ::ELEMNAME_FALLBACK_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_FOREACH_STRING = ::ELEMNAME_FOREACH_STRING;
-const XalanDOMString&		Constants::ELEMNAME_FOREACH_WITH_PREFIX_STRING = ::ELEMNAME_FOREACH_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_HTML_STRING = ::ELEMNAME_HTML_STRING;
-const XalanDOMString&		Constants::ELEMNAME_IF_STRING = ::ELEMNAME_IF_STRING;
-const XalanDOMString&		Constants::ELEMNAME_IF_WITH_PREFIX_STRING = ::ELEMNAME_IF_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_IMPORT_STRING = ::ELEMNAME_IMPORT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_INCLUDE_STRING = ::ELEMNAME_INCLUDE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_KEY_STRING = ::ELEMNAME_KEY_STRING;
-const XalanDOMString&		Constants::ELEMNAME_LOCALE_STRING = ::ELEMNAME_LOCALE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_MESSAGE_STRING = ::ELEMNAME_MESSAGE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_MESSAGE_WITH_PREFIX_STRING = ::ELEMNAME_MESSAGE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_NSALIAS_STRING = ::ELEMNAME_NSALIAS_STRING;
-const XalanDOMString&		Constants::ELEMNAME_NUMBER_STRING = ::ELEMNAME_NUMBER_STRING;
-const XalanDOMString&		Constants::ELEMNAME_NUMBER_WITH_PREFIX_STRING = ::ELEMNAME_NUMBER_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_OTHERWISE_STRING = ::ELEMNAME_OTHERWISE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_OTHERWISE_WITH_PREFIX_STRING = ::ELEMNAME_OTHERWISE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_OUTPUT_STRING = ::ELEMNAME_OUTPUT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_PARAMVARIABLE_STRING = ::ELEMNAME_PARAMVARIABLE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING = ::ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_PI_OLD_STRING = ::ELEMNAME_PI_OLD_STRING;
-const XalanDOMString&		Constants::ELEMNAME_PI_STRING = ::ELEMNAME_PI_STRING;
-const XalanDOMString&		Constants::ELEMNAME_PI_WITH_PREFIX_STRING = ::ELEMNAME_PI_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_PRESERVESPACE_STRING = ::ELEMNAME_PRESERVESPACE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_ROOT_STRING = ::ELEMNAME_ROOT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_SCRIPT_STRING = ::ELEMNAME_SCRIPT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_SORT_STRING = ::ELEMNAME_SORT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_SORT_WITH_PREFIX_STRING = ::ELEMNAME_SORT_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_STRIPSPACE_STRING = ::ELEMNAME_STRIPSPACE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_STYLESHEET_STRING = ::ELEMNAME_STYLESHEET_STRING;
-const XalanDOMString&		Constants::ELEMNAME_TEMPLATE_STRING = ::ELEMNAME_TEMPLATE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_TEMPLATE_WITH_PREFIX_STRING = ::ELEMNAME_TEMPLATE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_TEXT_STRING = ::ELEMNAME_TEXT_STRING;
-const XalanDOMString&		Constants::ELEMNAME_TEXT_WITH_PREFIX_STRING = ::ELEMNAME_TEXT_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_TRANSFORM_STRING = ::ELEMNAME_TRANSFORM_STRING;
-const XalanDOMString&		Constants::ELEMNAME_URL_STRING = ::ELEMNAME_URL_STRING;
-const XalanDOMString&		Constants::ELEMNAME_USE_STRING = ::ELEMNAME_USE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_USE_WITH_PREFIX_STRING = ::ELEMNAME_USE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_VALUEOF_STRING = ::ELEMNAME_VALUEOF_STRING;
-const XalanDOMString&		Constants::ELEMNAME_VALUEOF_WITH_PREFIX_STRING = ::ELEMNAME_VALUEOF_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_VARIABLE_STRING = ::ELEMNAME_VARIABLE_STRING;
-const XalanDOMString&		Constants::ELEMNAME_VARIABLE_WITH_PREFIX_STRING = ::ELEMNAME_VARIABLE_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_WHEN_STRING = ::ELEMNAME_WHEN_STRING;
-const XalanDOMString&		Constants::ELEMNAME_WHEN_WITH_PREFIX_STRING = ::ELEMNAME_WHEN_WITH_PREFIX_STRING;
-const XalanDOMString&		Constants::ELEMNAME_WITHPARAM_STRING = ::ELEMNAME_WITHPARAM_STRING;
-const XalanDOMString&		Constants::ELEMNAME_WITHPARAM_WITH_PREFIX_STRING = ::ELEMNAME_WITHPARAM_WITH_PREFIX_STRING;
-
-const XalanDOMString&		Constants::PSEUDONAME_ANY = ::PSEUDONAME_ANY;
-const XalanDOMString&		Constants::PSEUDONAME_COMMENT = ::PSEUDONAME_COMMENT;
-const XalanDOMString&		Constants::PSEUDONAME_NODE = ::PSEUDONAME_NODE;
-const XalanDOMString&		Constants::PSEUDONAME_OTHER = ::PSEUDONAME_OTHER;
-const XalanDOMString&		Constants::PSEUDONAME_PI = ::PSEUDONAME_PI;
-const XalanDOMString&		Constants::PSEUDONAME_ROOT = ::PSEUDONAME_ROOT;
-const XalanDOMString&		Constants::PSEUDONAME_TEXT = ::PSEUDONAME_TEXT;
-
-
-
-void
-Constants::initialize()
-{
-	::ATTRNAME_AMOUNT = XALAN_STATIC_UCODE_STRING("amount");
-	::ATTRNAME_ANCESTOR = XALAN_STATIC_UCODE_STRING("ancestor");
-	::ATTRNAME_ARCHIVE = XALAN_STATIC_UCODE_STRING("archive");
-	::ATTRNAME_ATTRIBUTE = XALAN_STATIC_UCODE_STRING("attribute");
-	::ATTRNAME_ATTRIBUTE_SET = XALAN_STATIC_UCODE_STRING("attribute-set");
-	::ATTRNAME_CASEORDER = XALAN_STATIC_UCODE_STRING("case-order");
-	::ATTRNAME_CLASS = XALAN_STATIC_UCODE_STRING("class");
-	::ATTRNAME_CLASSID = XALAN_STATIC_UCODE_STRING("classid");
-	::ATTRNAME_CODEBASE = XALAN_STATIC_UCODE_STRING("codebase");
-	::ATTRNAME_CODETYPE = XALAN_STATIC_UCODE_STRING("type");
-	::ATTRNAME_COMPONENTS = XALAN_STATIC_UCODE_STRING("component");
-	::ATTRNAME_CONDITION = XALAN_STATIC_UCODE_STRING("condition");
-	::ATTRNAME_COPYTYPE = XALAN_STATIC_UCODE_STRING("copy-type");
-	::ATTRNAME_COUNT = XALAN_STATIC_UCODE_STRING("count");
-	::ATTRNAME_DATATYPE = XALAN_STATIC_UCODE_STRING("data-type");
-	::ATTRNAME_DECIMALSEPARATOR = XALAN_STATIC_UCODE_STRING("decimal-separator");
-	::ATTRNAME_DEFAULT = XALAN_STATIC_UCODE_STRING("default");
-	::ATTRNAME_DEFAULTSPACE = XALAN_STATIC_UCODE_STRING("default-space");
-	::ATTRNAME_DEPTH = XALAN_STATIC_UCODE_STRING("with-children");
-	::ATTRNAME_DIGIT = XALAN_STATIC_UCODE_STRING("digit");
-	::ATTRNAME_DIGITGROUPSEP = XALAN_STATIC_UCODE_STRING("digit-group-sep");
-	::ATTRNAME_DISABLE_OUTPUT_ESCAPING  = XALAN_STATIC_UCODE_STRING("disable-output-escaping");
-	::ATTRNAME_ELEMENT = XALAN_STATIC_UCODE_STRING("element");
-	::ATTRNAME_ELEMENTS = XALAN_STATIC_UCODE_STRING("elements");
-	::ATTRNAME_EXCLUDE_RESULT_PREFIXES = XALAN_STATIC_UCODE_STRING("exclude-result-prefixes");
-	::ATTRNAME_EXPR = XALAN_STATIC_UCODE_STRING("expr");
-	::ATTRNAME_EXTENSIONELEMENTPREFIXES = XALAN_STATIC_UCODE_STRING("extension-element-prefixes");
-	::ATTRNAME_FORMAT = XALAN_STATIC_UCODE_STRING("format");
-	::ATTRNAME_FROM = XALAN_STATIC_UCODE_STRING("from");
-	::ATTRNAME_FUNCTIONS = XALAN_STATIC_UCODE_STRING("functions");
-	::ATTRNAME_GROUPINGSEPARATOR = XALAN_STATIC_UCODE_STRING("grouping-separator");
-	::ATTRNAME_GROUPINGSIZE = XALAN_STATIC_UCODE_STRING("grouping-size");
-	::ATTRNAME_HREF = XALAN_STATIC_UCODE_STRING("href");
-	::ATTRNAME_ID = XALAN_STATIC_UCODE_STRING("id");
-	::ATTRNAME_IMPORTANCE = XALAN_STATIC_UCODE_STRING("importance");
-	::ATTRNAME_INDENTRESULT = XALAN_STATIC_UCODE_STRING("indent-result");
-	::ATTRNAME_INFINITY = XALAN_STATIC_UCODE_STRING("infinity");
-	::ATTRNAME_LANG = XALAN_STATIC_UCODE_STRING("lang");
-	::ATTRNAME_LETTERVALUE = XALAN_STATIC_UCODE_STRING("letter-value");
-	::ATTRNAME_LEVEL = XALAN_STATIC_UCODE_STRING("level");
-	::ATTRNAME_MATCH = XALAN_STATIC_UCODE_STRING("match");
-	::ATTRNAME_METHOD = XALAN_STATIC_UCODE_STRING("calls");
-	::ATTRNAME_MINUSSIGN = XALAN_STATIC_UCODE_STRING("minus-sign");
-	::ATTRNAME_MODE = XALAN_STATIC_UCODE_STRING("mode");
-	::ATTRNAME_NAME = XALAN_STATIC_UCODE_STRING("name");
-	::ATTRNAME_NAMESPACE = XALAN_STATIC_UCODE_STRING("namespace");
-	::ATTRNAME_NAN = XALAN_STATIC_UCODE_STRING("NaN");
-	::ATTRNAME_NDIGITSPERGROUP = XALAN_STATIC_UCODE_STRING("n-digits-per-group");
-	::ATTRNAME_NS = XALAN_STATIC_UCODE_STRING("ns");
-	::ATTRNAME_ONLY = XALAN_STATIC_UCODE_STRING("only");
-	::ATTRNAME_ORDER = XALAN_STATIC_UCODE_STRING("order");
-	::ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS  = XALAN_STATIC_UCODE_STRING("cdata-section-elements");
-	::ATTRNAME_OUTPUT_DOCTYPE_PUBLIC = XALAN_STATIC_UCODE_STRING("doctype-public");
-	::ATTRNAME_OUTPUT_DOCTYPE_SYSTEM = XALAN_STATIC_UCODE_STRING("doctype-system");
-	::ATTRNAME_OUTPUT_ENCODING = XALAN_STATIC_UCODE_STRING("encoding");
-	::ATTRNAME_OUTPUT_INDENT = XALAN_STATIC_UCODE_STRING("indent");
-	::ATTRNAME_OUTPUT_MEDIATYPE = XALAN_STATIC_UCODE_STRING("media-type");
-	::ATTRNAME_OUTPUT_METHOD = XALAN_STATIC_UCODE_STRING("method");
-	::ATTRNAME_OUTPUT_OMITXMLDECL = XALAN_STATIC_UCODE_STRING("omit-xml-declaration");
-	::ATTRNAME_OUTPUT_STANDALONE  = XALAN_STATIC_UCODE_STRING("standalone");
-	::ATTRNAME_OUTPUT_VERSION = XALAN_STATIC_UCODE_STRING("version");
-	::ATTRNAME_PATTERNSEPARATOR = XALAN_STATIC_UCODE_STRING("pattern-separator");
-	::ATTRNAME_PERCENT = XALAN_STATIC_UCODE_STRING("percent");
-	::ATTRNAME_PERMILLE = XALAN_STATIC_UCODE_STRING("per-mille");
-	::ATTRNAME_PREFIX = XALAN_STATIC_UCODE_STRING("prefix");
-	::ATTRNAME_PRIORITY = XALAN_STATIC_UCODE_STRING("priority");
-	::ATTRNAME_REFID = XALAN_STATIC_UCODE_STRING("refID");
-	::ATTRNAME_RESULTNS = XALAN_STATIC_UCODE_STRING("result-ns");
-	::ATTRNAME_RESULT_PREFIX = XALAN_STATIC_UCODE_STRING("result-prefix");
-	::ATTRNAME_SCRIPT = XALAN_STATIC_UCODE_STRING("script");
-	::ATTRNAME_SELECT = XALAN_STATIC_UCODE_STRING("select");
-	::ATTRNAME_SEQUENCESRC = XALAN_STATIC_UCODE_STRING("sequence-src");
-	::ATTRNAME_SRC = XALAN_STATIC_UCODE_STRING("src");
-	::ATTRNAME_STYLE = XALAN_STATIC_UCODE_STRING("style");
-	::ATTRNAME_STYLESHEET_PREFIX = XALAN_STATIC_UCODE_STRING("stylesheet-prefix");
-	::ATTRNAME_TERMINATE = XALAN_STATIC_UCODE_STRING("terminate");
-	::ATTRNAME_TEST = XALAN_STATIC_UCODE_STRING("test");
-	::ATTRNAME_TOSTRING = XALAN_STATIC_UCODE_STRING("to-string");
-	::ATTRNAME_TYPE = XALAN_STATIC_UCODE_STRING("type");
-	::ATTRNAME_USE = XALAN_STATIC_UCODE_STRING("use");
-	::ATTRNAME_USEATTRIBUTESETS = XALAN_STATIC_UCODE_STRING("use-attribute-sets");
-	::ATTRNAME_VALUE = XALAN_STATIC_UCODE_STRING("value");
-	::ATTRNAME_VERSION = XALAN_STATIC_UCODE_STRING("version");
-	::ATTRNAME_XMLNS = XALAN_STATIC_UCODE_STRING("xmlns:");
-	::ATTRNAME_XMLNSDEF = XALAN_STATIC_UCODE_STRING("xmlns");
-	::ATTRNAME_XMLSPACE = XALAN_STATIC_UCODE_STRING("xml:space");
-	::ATTRNAME_ZERODIGIT = XALAN_STATIC_UCODE_STRING("zero-digit");
-
-	::ATTRTYPE_CDATA = XALAN_STATIC_UCODE_STRING("CDATA");
-
-	::ATTRVAL_ALPHABETIC = XALAN_STATIC_UCODE_STRING("alphabetic");
-	::ATTRVAL_ANCESTOR = XALAN_STATIC_UCODE_STRING("ancestor");
-	::ATTRVAL_ANY = XALAN_STATIC_UCODE_STRING("any");
-	::ATTRVAL_CASEORDER_LOWER = XALAN_STATIC_UCODE_STRING("lower-first");
-	::ATTRVAL_CASEORDER_UPPER = XALAN_STATIC_UCODE_STRING("upper-first");
-	::ATTRVAL_DATATYPE_NUMBER = XALAN_STATIC_UCODE_STRING("number");
-	::ATTRVAL_DATATYPE_TEXT = XALAN_STATIC_UCODE_STRING("text");
-	::ATTRVAL_DEFAULT = XALAN_STATIC_UCODE_STRING("default");
-	::ATTRVAL_DEFAULT_PREFIX = XALAN_STATIC_UCODE_STRING("#default");
-	::ATTRVAL_DEFAULT_TEXT_RULE = XALAN_STATIC_UCODE_STRING("text() | @*");
-	::ATTRVAL_ID = XALAN_STATIC_UCODE_STRING("id");
-	::ATTRVAL_INFINITY = XALAN_STATIC_UCODE_STRING("Infinity");
-	::ATTRVAL_MULTI = XALAN_STATIC_UCODE_STRING("multiple");
-	::ATTRVAL_NAN = XALAN_STATIC_UCODE_STRING("NaN");
-	::ATTRVAL_NO = XALAN_STATIC_UCODE_STRING("no");
-	::ATTRVAL_ORDER_ASCENDING = XALAN_STATIC_UCODE_STRING("ascending");
-	::ATTRVAL_ORDER_DESCENDING = XALAN_STATIC_UCODE_STRING("descending");
-	::ATTRVAL_OTHER = XALAN_STATIC_UCODE_STRING("other");
-	::ATTRVAL_OUTPUT_METHOD_HTML = XALAN_STATIC_UCODE_STRING("html");
-	::ATTRVAL_OUTPUT_METHOD_TEXT = XALAN_STATIC_UCODE_STRING("text");
-	::ATTRVAL_OUTPUT_METHOD_XML = XALAN_STATIC_UCODE_STRING("xml");
-	::ATTRVAL_PARENT = XALAN_STATIC_UCODE_STRING("..");
-	::ATTRVAL_PRESERVE = XALAN_STATIC_UCODE_STRING("preserve");
-	::ATTRVAL_SIMPLE = XALAN_STATIC_UCODE_STRING("simple");
-	::ATTRVAL_SINGLE = XALAN_STATIC_UCODE_STRING("single");
-	::ATTRVAL_STRIP = XALAN_STATIC_UCODE_STRING("strip");
-	::ATTRVAL_THIS = XALAN_STATIC_UCODE_STRING(".");
-	::ATTRVAL_TRADITIONAL = XALAN_STATIC_UCODE_STRING("traditional");
-	::ATTRVAL_YES = XALAN_STATIC_UCODE_STRING("yes");
-
-	::DEFAULT_WHITESPACE_SEPARATOR_STRING = XALAN_STATIC_UCODE_STRING(" \t\n\r");
-
-	::ELEMNAME_ANY_STRING = XALAN_STATIC_UCODE_STRING("any");
-	::ELEMNAME_APPLY_IMPORTS_STRING = XALAN_STATIC_UCODE_STRING("apply-imports");
-	::ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:apply-imports");
-	::ELEMNAME_APPLY_TEMPLATES_STRING = XALAN_STATIC_UCODE_STRING("apply-templates");
-	::ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:apply-templates");
-	::ELEMNAME_ATTRIBUTESET_STRING = XALAN_STATIC_UCODE_STRING("attribute-set");
-	::ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:attribute-set");
-	::ELEMNAME_ATTRIBUTE_STRING = XALAN_STATIC_UCODE_STRING("attribute");
-	::ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:attribute");
-	::ELEMNAME_CALLTEMPLATE_STRING = XALAN_STATIC_UCODE_STRING("call-template");
-	::ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:call-template");
-	::ELEMNAME_CALL_STRING = XALAN_STATIC_UCODE_STRING("call");
-	::ELEMNAME_CHILDREN_STRING = XALAN_STATIC_UCODE_STRING("children");
-	::ELEMNAME_CHOOSE_STRING = XALAN_STATIC_UCODE_STRING("choose");
-	::ELEMNAME_CHOOSE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:choose");
-	::ELEMNAME_COMMENT_STRING = XALAN_STATIC_UCODE_STRING("comment");
-	::ELEMNAME_COMMENT_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:comment");
-	::ELEMNAME_COMPONENT_STRING = XALAN_STATIC_UCODE_STRING("component");
-	::ELEMNAME_CONSTRUCT_STRING = XALAN_STATIC_UCODE_STRING("construct");
-	::ELEMNAME_CONTENTS_STRING = XALAN_STATIC_UCODE_STRING("contents");
-	::ELEMNAME_COPY_OF_STRING = XALAN_STATIC_UCODE_STRING("copy-of");
-	::ELEMNAME_COPY_OF_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:copy-of");
-	::ELEMNAME_COPY_STRING = XALAN_STATIC_UCODE_STRING("copy");
-	::ELEMNAME_COPY_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:copy");
-	::ELEMNAME_DECIMALFORMAT_STRING = XALAN_STATIC_UCODE_STRING("decimal-format");
-	::ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:decimal-format");
-	::ELEMNAME_DISPLAYIF_STRING = XALAN_STATIC_UCODE_STRING("display-if");
-	::ELEMNAME_ELEMENT_STRING = XALAN_STATIC_UCODE_STRING("element");
-	::ELEMNAME_ELEMENT_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:element");
-	::ELEMNAME_EMPTY_STRING = XALAN_STATIC_UCODE_STRING("empty");
-	::ELEMNAME_EXTENSION_STRING = XALAN_STATIC_UCODE_STRING("functions");
-	::ELEMNAME_FALLBACK_STRING = XALAN_STATIC_UCODE_STRING("fallback");
-	::ELEMNAME_FALLBACK_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:fallback");
-	::ELEMNAME_FOREACH_STRING = XALAN_STATIC_UCODE_STRING("for-each");
-	::ELEMNAME_FOREACH_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:for-each");
-	::ELEMNAME_HTML_STRING = XALAN_STATIC_UCODE_STRING("HTML");
-	::ELEMNAME_IF_STRING = XALAN_STATIC_UCODE_STRING("if");
-	::ELEMNAME_IF_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:if");
-	::ELEMNAME_IMPORT_STRING = XALAN_STATIC_UCODE_STRING("import");
-	::ELEMNAME_INCLUDE_STRING = XALAN_STATIC_UCODE_STRING("include");
-	::ELEMNAME_KEY_STRING = XALAN_STATIC_UCODE_STRING("key");
-	::ELEMNAME_LOCALE_STRING = XALAN_STATIC_UCODE_STRING("locale");
-	::ELEMNAME_MESSAGE_STRING = XALAN_STATIC_UCODE_STRING("message");
-	::ELEMNAME_MESSAGE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:message");
-	::ELEMNAME_NSALIAS_STRING = XALAN_STATIC_UCODE_STRING("namespace-alias");
-	::ELEMNAME_NUMBER_STRING = XALAN_STATIC_UCODE_STRING("number");
-	::ELEMNAME_NUMBER_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:number");
-	::ELEMNAME_OTHERWISE_STRING = XALAN_STATIC_UCODE_STRING("otherwise");
-	::ELEMNAME_OTHERWISE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:otherwise");
-	::ELEMNAME_OUTPUT_STRING = XALAN_STATIC_UCODE_STRING("output");
-	::ELEMNAME_PARAMVARIABLE_STRING = XALAN_STATIC_UCODE_STRING("param");
-	::ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:param");
-	::ELEMNAME_PI_OLD_STRING = XALAN_STATIC_UCODE_STRING("pi");
-	::ELEMNAME_PI_STRING = XALAN_STATIC_UCODE_STRING("processing-instruction");
-	::ELEMNAME_PI_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:processing-instruction");
-	::ELEMNAME_PRESERVESPACE_STRING = XALAN_STATIC_UCODE_STRING("preserve-space");
-	::ELEMNAME_ROOT_STRING = XALAN_STATIC_UCODE_STRING("root");
-	::ELEMNAME_SCRIPT_STRING = XALAN_STATIC_UCODE_STRING("script");
-	::ELEMNAME_SORT_STRING = XALAN_STATIC_UCODE_STRING("sort");
-	::ELEMNAME_SORT_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:sort");
-	::ELEMNAME_STRIPSPACE_STRING = XALAN_STATIC_UCODE_STRING("strip-space");
-	::ELEMNAME_STYLESHEET_STRING = XALAN_STATIC_UCODE_STRING("stylesheet");
-	::ELEMNAME_TEMPLATE_STRING = XALAN_STATIC_UCODE_STRING("template");
-	::ELEMNAME_TEMPLATE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:template");
-	::ELEMNAME_TEXT_STRING = XALAN_STATIC_UCODE_STRING("text");
-	::ELEMNAME_TEXT_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:text");
-	::ELEMNAME_TRANSFORM_STRING = XALAN_STATIC_UCODE_STRING("transform");
-	::ELEMNAME_URL_STRING = XALAN_STATIC_UCODE_STRING("uri");
-	::ELEMNAME_USE_STRING = XALAN_STATIC_UCODE_STRING("use");
-	::ELEMNAME_USE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:use");
-	::ELEMNAME_VALUEOF_STRING = XALAN_STATIC_UCODE_STRING("value-of");
-	::ELEMNAME_VALUEOF_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:value-of");
-	::ELEMNAME_VARIABLE_STRING = XALAN_STATIC_UCODE_STRING("variable");
-	::ELEMNAME_VARIABLE_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:variable");
-	::ELEMNAME_WHEN_STRING = XALAN_STATIC_UCODE_STRING("when");
-	::ELEMNAME_WHEN_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:when");
-	::ELEMNAME_WITHPARAM_STRING = XALAN_STATIC_UCODE_STRING("with-param");
-	::ELEMNAME_WITHPARAM_WITH_PREFIX_STRING = XALAN_STATIC_UCODE_STRING("xsl:with-param");
-
-	::PSEUDONAME_ANY = XALAN_STATIC_UCODE_STRING("*");
-	::PSEUDONAME_COMMENT = XALAN_STATIC_UCODE_STRING("#comment");
-	::PSEUDONAME_NODE = XALAN_STATIC_UCODE_STRING("node()");
-	::PSEUDONAME_OTHER = XALAN_STATIC_UCODE_STRING("*");
-	::PSEUDONAME_PI = XALAN_STATIC_UCODE_STRING("#pi");
-	::PSEUDONAME_ROOT = XALAN_STATIC_UCODE_STRING("/");
-	::PSEUDONAME_TEXT = XALAN_STATIC_UCODE_STRING("#text");
-}
-
-
-
-void
-Constants::terminate()
-{
-	releaseMemory(::ATTRNAME_AMOUNT);
-	releaseMemory(::ATTRNAME_ANCESTOR);
-	releaseMemory(::ATTRNAME_ARCHIVE);
-	releaseMemory(::ATTRNAME_ATTRIBUTE);
-	releaseMemory(::ATTRNAME_ATTRIBUTE_SET);
-	releaseMemory(::ATTRNAME_CASEORDER);
-	releaseMemory(::ATTRNAME_CLASS);
-	releaseMemory(::ATTRNAME_CLASSID);
-	releaseMemory(::ATTRNAME_CODEBASE);
-	releaseMemory(::ATTRNAME_CODETYPE);
-	releaseMemory(::ATTRNAME_COMPONENTS);
-	releaseMemory(::ATTRNAME_CONDITION);
-	releaseMemory(::ATTRNAME_COPYTYPE);
-	releaseMemory(::ATTRNAME_COUNT);
-	releaseMemory(::ATTRNAME_DATATYPE);
-	releaseMemory(::ATTRNAME_DECIMALSEPARATOR);
-	releaseMemory(::ATTRNAME_DEFAULT);
-	releaseMemory(::ATTRNAME_DEFAULTSPACE);
-	releaseMemory(::ATTRNAME_DEPTH);
-	releaseMemory(::ATTRNAME_DIGIT);
-	releaseMemory(::ATTRNAME_DIGITGROUPSEP);
-	releaseMemory(::ATTRNAME_DISABLE_OUTPUT_ESCAPING);
-	releaseMemory(::ATTRNAME_ELEMENT);
-	releaseMemory(::ATTRNAME_ELEMENTS);
-	releaseMemory(::ATTRNAME_EXCLUDE_RESULT_PREFIXES);
-	releaseMemory(::ATTRNAME_EXPR);
-	releaseMemory(::ATTRNAME_EXTENSIONELEMENTPREFIXES);
-	releaseMemory(::ATTRNAME_FORMAT);
-	releaseMemory(::ATTRNAME_FROM);
-	releaseMemory(::ATTRNAME_FUNCTIONS);
-	releaseMemory(::ATTRNAME_GROUPINGSEPARATOR);
-	releaseMemory(::ATTRNAME_GROUPINGSIZE);
-	releaseMemory(::ATTRNAME_HREF);
-	releaseMemory(::ATTRNAME_ID);
-	releaseMemory(::ATTRNAME_IMPORTANCE);
-	releaseMemory(::ATTRNAME_INDENTRESULT);
-	releaseMemory(::ATTRNAME_INFINITY);
-	releaseMemory(::ATTRNAME_LANG);
-	releaseMemory(::ATTRNAME_LETTERVALUE);
-	releaseMemory(::ATTRNAME_LEVEL);
-	releaseMemory(::ATTRNAME_MATCH);
-	releaseMemory(::ATTRNAME_METHOD);
-	releaseMemory(::ATTRNAME_MINUSSIGN);
-	releaseMemory(::ATTRNAME_MODE);
-	releaseMemory(::ATTRNAME_NAME);
-	releaseMemory(::ATTRNAME_NAMESPACE);
-	releaseMemory(::ATTRNAME_NAN);
-	releaseMemory(::ATTRNAME_NDIGITSPERGROUP);
-	releaseMemory(::ATTRNAME_NS);
-	releaseMemory(::ATTRNAME_ONLY);
-	releaseMemory(::ATTRNAME_ORDER);
-	releaseMemory(::ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS);
-	releaseMemory(::ATTRNAME_OUTPUT_DOCTYPE_PUBLIC);
-	releaseMemory(::ATTRNAME_OUTPUT_DOCTYPE_SYSTEM);
-	releaseMemory(::ATTRNAME_OUTPUT_ENCODING);
-	releaseMemory(::ATTRNAME_OUTPUT_INDENT);
-	releaseMemory(::ATTRNAME_OUTPUT_MEDIATYPE);
-	releaseMemory(::ATTRNAME_OUTPUT_METHOD);
-	releaseMemory(::ATTRNAME_OUTPUT_OMITXMLDECL);
-	releaseMemory(::ATTRNAME_OUTPUT_STANDALONE);
-	releaseMemory(::ATTRNAME_OUTPUT_VERSION);
-	releaseMemory(::ATTRNAME_PATTERNSEPARATOR);
-	releaseMemory(::ATTRNAME_PERCENT);
-	releaseMemory(::ATTRNAME_PERMILLE);
-	releaseMemory(::ATTRNAME_PREFIX);
-	releaseMemory(::ATTRNAME_PRIORITY);
-	releaseMemory(::ATTRNAME_REFID);
-	releaseMemory(::ATTRNAME_RESULTNS);
-	releaseMemory(::ATTRNAME_RESULT_PREFIX);
-	releaseMemory(::ATTRNAME_SCRIPT);
-	releaseMemory(::ATTRNAME_SELECT);
-	releaseMemory(::ATTRNAME_SEQUENCESRC);
-	releaseMemory(::ATTRNAME_SRC);
-	releaseMemory(::ATTRNAME_STYLE);
-	releaseMemory(::ATTRNAME_STYLESHEET_PREFIX);
-	releaseMemory(::ATTRNAME_TERMINATE);
-	releaseMemory(::ATTRNAME_TEST);
-	releaseMemory(::ATTRNAME_TOSTRING);
-	releaseMemory(::ATTRNAME_TYPE);
-	releaseMemory(::ATTRNAME_USE);
-	releaseMemory(::ATTRNAME_USEATTRIBUTESETS);
-	releaseMemory(::ATTRNAME_VALUE);
-	releaseMemory(::ATTRNAME_VERSION);
-	releaseMemory(::ATTRNAME_XMLNS);
-	releaseMemory(::ATTRNAME_XMLNSDEF);
-	releaseMemory(::ATTRNAME_XMLSPACE);
-	releaseMemory(::ATTRNAME_ZERODIGIT);
-
-	releaseMemory(::ATTRTYPE_CDATA);
-
-	releaseMemory(::ATTRVAL_ALPHABETIC);
-	releaseMemory(::ATTRVAL_ANCESTOR);
-	releaseMemory(::ATTRVAL_ANY);
-	releaseMemory(::ATTRVAL_CASEORDER_LOWER);
-	releaseMemory(::ATTRVAL_CASEORDER_UPPER);
-	releaseMemory(::ATTRVAL_DATATYPE_NUMBER);
-	releaseMemory(::ATTRVAL_DATATYPE_TEXT);
-	releaseMemory(::ATTRVAL_DEFAULT);
-	releaseMemory(::ATTRVAL_DEFAULT_PREFIX);
-	releaseMemory(::ATTRVAL_DEFAULT_TEXT_RULE);
-	releaseMemory(::ATTRVAL_ID);
-	releaseMemory(::ATTRVAL_INFINITY);
-	releaseMemory(::ATTRVAL_MULTI);
-	releaseMemory(::ATTRVAL_NAN);
-	releaseMemory(::ATTRVAL_NO);
-	releaseMemory(::ATTRVAL_ORDER_ASCENDING);
-	releaseMemory(::ATTRVAL_ORDER_DESCENDING);
-	releaseMemory(::ATTRVAL_OTHER);
-	releaseMemory(::ATTRVAL_OUTPUT_METHOD_HTML);
-	releaseMemory(::ATTRVAL_OUTPUT_METHOD_TEXT);
-	releaseMemory(::ATTRVAL_OUTPUT_METHOD_XML);
-	releaseMemory(::ATTRVAL_PARENT);
-	releaseMemory(::ATTRVAL_PRESERVE);
-	releaseMemory(::ATTRVAL_SIMPLE);
-	releaseMemory(::ATTRVAL_SINGLE);
-	releaseMemory(::ATTRVAL_STRIP);
-	releaseMemory(::ATTRVAL_THIS);
-	releaseMemory(::ATTRVAL_TRADITIONAL);
-	releaseMemory(::ATTRVAL_YES);
-
-	releaseMemory(::DEFAULT_WHITESPACE_SEPARATOR_STRING);
-
-	releaseMemory(::ELEMNAME_ANY_STRING);
-	releaseMemory(::ELEMNAME_APPLY_IMPORTS_STRING);
-	releaseMemory(::ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_APPLY_TEMPLATES_STRING);
-	releaseMemory(::ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_ATTRIBUTESET_STRING);
-	releaseMemory(::ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_ATTRIBUTE_STRING);
-	releaseMemory(::ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_CALLTEMPLATE_STRING);
-	releaseMemory(::ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_CALL_STRING);
-	releaseMemory(::ELEMNAME_CHILDREN_STRING);
-	releaseMemory(::ELEMNAME_CHOOSE_STRING);
-	releaseMemory(::ELEMNAME_CHOOSE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_COMMENT_STRING);
-	releaseMemory(::ELEMNAME_COMMENT_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_COMPONENT_STRING);
-	releaseMemory(::ELEMNAME_CONSTRUCT_STRING);
-	releaseMemory(::ELEMNAME_CONTENTS_STRING);
-	releaseMemory(::ELEMNAME_COPY_OF_STRING);
-	releaseMemory(::ELEMNAME_COPY_OF_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_COPY_STRING);
-	releaseMemory(::ELEMNAME_COPY_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_DECIMALFORMAT_STRING);
-	releaseMemory(::ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_DISPLAYIF_STRING);
-	releaseMemory(::ELEMNAME_ELEMENT_STRING);
-	releaseMemory(::ELEMNAME_ELEMENT_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_EMPTY_STRING);
-	releaseMemory(::ELEMNAME_EXTENSIONHANDLER_STRING);
-	releaseMemory(::ELEMNAME_EXTENSION_STRING);
-	releaseMemory(::ELEMNAME_FALLBACK_STRING);
-	releaseMemory(::ELEMNAME_FALLBACK_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_FOREACH_STRING);
-	releaseMemory(::ELEMNAME_FOREACH_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_HTML_STRING);
-	releaseMemory(::ELEMNAME_IF_STRING);
-	releaseMemory(::ELEMNAME_IF_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_IMPORT_STRING);
-	releaseMemory(::ELEMNAME_INCLUDE_STRING);
-	releaseMemory(::ELEMNAME_KEY_STRING);
-	releaseMemory(::ELEMNAME_LOCALE_STRING);
-	releaseMemory(::ELEMNAME_MESSAGE_STRING);
-	releaseMemory(::ELEMNAME_MESSAGE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_NSALIAS_STRING);
-	releaseMemory(::ELEMNAME_NUMBER_STRING);
-	releaseMemory(::ELEMNAME_NUMBER_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_OTHERWISE_STRING);
-	releaseMemory(::ELEMNAME_OTHERWISE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_OUTPUT_STRING);
-	releaseMemory(::ELEMNAME_PARAMVARIABLE_STRING);
-	releaseMemory(::ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_PI_OLD_STRING);
-	releaseMemory(::ELEMNAME_PI_STRING);
-	releaseMemory(::ELEMNAME_PI_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_PRESERVESPACE_STRING);
-	releaseMemory(::ELEMNAME_ROOT_STRING);
-	releaseMemory(::ELEMNAME_SCRIPT_STRING);
-	releaseMemory(::ELEMNAME_SORT_STRING);
-	releaseMemory(::ELEMNAME_SORT_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_STRIPSPACE_STRING);
-	releaseMemory(::ELEMNAME_STYLESHEET_STRING);
-	releaseMemory(::ELEMNAME_TEMPLATE_STRING);
-	releaseMemory(::ELEMNAME_TEMPLATE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_TEXT_STRING);
-	releaseMemory(::ELEMNAME_TEXT_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_TRANSFORM_STRING);
-	releaseMemory(::ELEMNAME_URL_STRING);
-	releaseMemory(::ELEMNAME_USE_STRING);
-	releaseMemory(::ELEMNAME_USE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_VALUEOF_STRING);
-	releaseMemory(::ELEMNAME_VALUEOF_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_VARIABLE_STRING);
-	releaseMemory(::ELEMNAME_VARIABLE_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_WHEN_STRING);
-	releaseMemory(::ELEMNAME_WHEN_WITH_PREFIX_STRING);
-	releaseMemory(::ELEMNAME_WITHPARAM_STRING);
-	releaseMemory(::ELEMNAME_WITHPARAM_WITH_PREFIX_STRING);
-
-	releaseMemory(::PSEUDONAME_ANY);
-	releaseMemory(::PSEUDONAME_COMMENT);
-	releaseMemory(::PSEUDONAME_NODE);
-	releaseMemory(::PSEUDONAME_OTHER);
-	releaseMemory(::PSEUDONAME_PI);
-	releaseMemory(::PSEUDONAME_ROOT);
-	releaseMemory(::PSEUDONAME_TEXT);
-}
diff --git a/src/XSLT/Constants.hpp b/src/XSLT/Constants.hpp
deleted file mode 100644
index 044d168..0000000
--- a/src/XSLT/Constants.hpp
+++ /dev/null
@@ -1,508 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XALAN_CONSTANTS_HEADER_GUARD)
-#define XALAN_CONSTANTS_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-/**
- * Primary constants used in the XSLTProcessor classes.
- */
-class XALAN_XSLT_EXPORT Constants
-{
-public:
-
-	/**
-	 * Perform initialization of statics -- must be called before any
-	 * processing occurs.  See class XSLTInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform termination of statics.  See class XSLTInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * IDs for XSL element types. These are associated 
-	 * with the string literals in the XSLTProcessor class.
-	 * Don't change the numbers.
-	 */
-	enum eElementName
-	{
-		ELEMNAME_UNDEFINED = -1,
-		ELEMNAME_WITHPARAM = 2,
-		ELEMNAME_ADDATTRIBUTE = 4,
-		ELEMNAME_APPLY_TEMPLATES = 50,
-		ELEMNAME_USE = 34,
-		ELEMNAME_CHILDREN = 6,
-		ELEMNAME_CHOOSE = 37,
-		ELEMNAME_COMMENT = 59, // my own
-		ELEMNAME_CONSTRUCT = 7, // my own
-		ELEMNAME_CONTENTS = 8,
-		ELEMNAME_COPY = 9,
-		ELEMNAME_COPY_OF = 74,
-		ELEMNAME_DEFINEATTRIBUTESET = 40,
-		// ELEMNAME_DEFINECONSTANT = 29,
-		// ELEMNAME_DEFINEMACRO = 10,
-		ELEMNAME_DEFINESCRIPT = 11,
-		ELEMNAME_DISPLAYIF = 12, // my own
-		ELEMNAME_EMPTY = 14,
-		ELEMNAME_EVAL = 15,
-		ELEMNAME_EXPECTEDCHILDREN = 16,
-		ELEMNAME_EXTENSION = 54,
-		ELEMNAME_EXTENSIONHANDLER = 63,
-		ELEMNAME_FOREACH = 28,
-		ELEMNAME_KEY = 31,
-		ELEMNAME_IF = 36,
-		ELEMNAME_IMPORT = 26,
-		ELEMNAME_INCLUDE = 27,
-		ELEMNAME_CALLTEMPLATE = 17,
-		ELEMNAME_PARAMVARIABLE = 41,
-		ELEMNAME_NUMBER = 35,
-		ELEMNAME_OTHERWISE = 39,
-		ELEMNAME_PI = 58,
-		ELEMNAME_PRESERVESPACE = 33,
-		ELEMNAME_REMOVEATTRIBUTE = 5,
-		ELEMNAME_TEMPLATE = 19,
-		ELEMNAME_SORT = 64,
-		ELEMNAME_STRIPSPACE = 32,
-		ELEMNAME_STYLESHEET = 25,
-		ELEMNAME_TEXT = 42,
-		ELEMNAME_VALUEOF = 30,
-		ELEMNAME_WHEN = 38,
-  
-		// Pattern by example support
-		ELEMNAME_ROOT = 44,
-		ELEMNAME_ANY = 45,
-		ELEMNAME_ELEMENT = 46,
-		ELEMNAME_ATTRIBUTE = 48,
-		ELEMNAME_URL = 52, // my own
-
-		ELEMNAME_CALL = 55, // my own
-		ELEMNAME_PARAM = 56,
-		ELEMNAME_FALLBACK = 57, // my own
-
-		ELEMNAME_APPLY_IMPORTS = 72,
-
-		ELEMNAME_VARIABLE = 73,
-		ELEMNAME_MESSAGE = 75,
-		ELEMNAME_LOCALE = 76,
-
-		ELEMNAME_LITERALRESULT = 77,
-		ELEMNAME_TEXTLITERALRESULT = 78,
-
-		ELEMNAME_EXTENSIONCALL = 79,
-
-		ELEMNAME_OUTPUT = 80,
-		ELEMNAME_COMPONENT = 81,
-		ELEMNAME_SCRIPT = 82,
-		ELEMNAME_DECIMALFORMAT = 83,
-		ELEMNAME_NSALIAS = 84
-
-	  // Next free number: 85
-	};
-
-	/**
-	 * Literals for XSL element names.  Note that there are more
-	 * names than IDs, because some names map to the same ID.
-	 */
-
-	// Result tree counting
-	static const XalanDOMString&	ELEMNAME_ANY_STRING;
-	static const XalanDOMString&	ELEMNAME_APPLY_IMPORTS_STRING;
-	static const XalanDOMString&	ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_APPLY_TEMPLATES_STRING;
-	static const XalanDOMString&	ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_ATTRIBUTESET_STRING;
-	static const XalanDOMString&	ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_ATTRIBUTE_STRING;
-	static const XalanDOMString&	ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_CALLTEMPLATE_STRING;
-	static const XalanDOMString&	ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_CALL_STRING;
-	static const XalanDOMString&	ELEMNAME_CHILDREN_STRING;
-	static const XalanDOMString&	ELEMNAME_CHOOSE_STRING;
-	static const XalanDOMString&	ELEMNAME_CHOOSE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_COMMENT_STRING;
-	static const XalanDOMString&	ELEMNAME_COMMENT_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_CONSTRUCT_STRING;
-	static const XalanDOMString&	ELEMNAME_CONTENTS_STRING;
-	static const XalanDOMString&	ELEMNAME_COPY_OF_STRING;
-	static const XalanDOMString&	ELEMNAME_COPY_OF_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_COPY_STRING;
-	static const XalanDOMString&	ELEMNAME_COPY_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_DECIMALFORMAT_STRING;
-	static const XalanDOMString&	ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_DISPLAYIF_STRING;
-	static const XalanDOMString&	ELEMNAME_ELEMENT_STRING;
-	static const XalanDOMString&	ELEMNAME_ELEMENT_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_EMPTY_STRING;
-	static const XalanDOMString&	ELEMNAME_EXTENSIONHANDLER_STRING;
-	static const XalanDOMString&	ELEMNAME_EXTENSION_STRING;
-	static const XalanDOMString&	ELEMNAME_FALLBACK_STRING;
-	static const XalanDOMString&	ELEMNAME_FALLBACK_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_FOREACH_STRING;
-	static const XalanDOMString&	ELEMNAME_FOREACH_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_HTML_STRING;
-	static const XalanDOMString&	ELEMNAME_IF_STRING;
-	static const XalanDOMString&	ELEMNAME_IF_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_IMPORT_STRING;
-	static const XalanDOMString&	ELEMNAME_INCLUDE_STRING;
-	static const XalanDOMString&	ELEMNAME_KEY_STRING;
-	static const XalanDOMString&	ELEMNAME_LOCALE_STRING;
-	static const XalanDOMString&	ELEMNAME_MESSAGE_STRING;
-	static const XalanDOMString&	ELEMNAME_MESSAGE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_NSALIAS_STRING;
-	static const XalanDOMString&	ELEMNAME_NUMBER_STRING;
-	static const XalanDOMString&	ELEMNAME_NUMBER_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_OTHERWISE_STRING;
-	static const XalanDOMString&	ELEMNAME_OTHERWISE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_PRESERVESPACE_STRING;
-	static const XalanDOMString&	ELEMNAME_ROOT_STRING;
-	static const XalanDOMString&	ELEMNAME_SORT_STRING;
-	static const XalanDOMString&	ELEMNAME_SORT_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_STRIPSPACE_STRING;
-	static const XalanDOMString&	ELEMNAME_STYLESHEET_STRING;
-	static const XalanDOMString&	ELEMNAME_TEMPLATE_STRING;
-	static const XalanDOMString&	ELEMNAME_TEMPLATE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_TEXT_STRING;
-	static const XalanDOMString&	ELEMNAME_TEXT_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_TRANSFORM_STRING;
-	static const XalanDOMString&	ELEMNAME_URL_STRING;
-	static const XalanDOMString&	ELEMNAME_USE_STRING;
-	static const XalanDOMString&	ELEMNAME_USE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_VALUEOF_STRING;
-	static const XalanDOMString&	ELEMNAME_VALUEOF_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_VARIABLE_STRING;
-	static const XalanDOMString&	ELEMNAME_VARIABLE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_WHEN_STRING;
-	static const XalanDOMString&	ELEMNAME_WHEN_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_COMPONENT_STRING;
-	static const XalanDOMString&	ELEMNAME_OUTPUT_STRING;
-	static const XalanDOMString&	ELEMNAME_PARAMVARIABLE_STRING;
-	static const XalanDOMString&	ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_PI_OLD_STRING;
-	static const XalanDOMString&	ELEMNAME_PI_STRING;
-	static const XalanDOMString&	ELEMNAME_PI_WITH_PREFIX_STRING;
-	static const XalanDOMString&	ELEMNAME_SCRIPT_STRING;
-	static const XalanDOMString&	ELEMNAME_WITHPARAM_STRING;
-	static const XalanDOMString&	ELEMNAME_WITHPARAM_WITH_PREFIX_STRING;
-  
-	/*---------------------------------------------
-	 * Literals for XSL attribute names.
-	 */
-	static const XalanDOMString&	ATTRNAME_AMOUNT;
-	static const XalanDOMString&	ATTRNAME_ANCESTOR;
-	static const XalanDOMString&	ATTRNAME_ATTRIBUTE;
-	static const XalanDOMString&	ATTRNAME_ATTRIBUTE_SET;
-	static const XalanDOMString&	ATTRNAME_CASEORDER;
-	static const XalanDOMString&	ATTRNAME_CLASS;
-	static const XalanDOMString&	ATTRNAME_COMPONENTS;
-	static const XalanDOMString&	ATTRNAME_CONDITION;
-	static const XalanDOMString&	ATTRNAME_COPYTYPE;
-	static const XalanDOMString&	ATTRNAME_COUNT;
-	static const XalanDOMString&	ATTRNAME_DATATYPE;
-	static const XalanDOMString&	ATTRNAME_DECIMALSEPARATOR;
-	static const XalanDOMString&	ATTRNAME_DEFAULT;
-	static const XalanDOMString&	ATTRNAME_DEFAULTSPACE;
-	static const XalanDOMString&	ATTRNAME_DEPTH;
-	static const XalanDOMString&	ATTRNAME_DIGIT;
-	static const XalanDOMString&	ATTRNAME_DIGITGROUPSEP;
-	static const XalanDOMString&	ATTRNAME_ELEMENT;
-	static const XalanDOMString&	ATTRNAME_ELEMENTS;
-	static const XalanDOMString&	ATTRNAME_EXCLUDE_RESULT_PREFIXES;
-	static const XalanDOMString&	ATTRNAME_EXPR;
-	static const XalanDOMString&	ATTRNAME_EXTENSIONELEMENTPREFIXES;
-	static const XalanDOMString&	ATTRNAME_FORMAT;
-	static const XalanDOMString&	ATTRNAME_FROM;
-	static const XalanDOMString&	ATTRNAME_FUNCTIONS;
-	static const XalanDOMString&	ATTRNAME_GROUPINGSEPARATOR;
-	static const XalanDOMString&	ATTRNAME_GROUPINGSIZE;
-	static const XalanDOMString&	ATTRNAME_HREF;
-	static const XalanDOMString&	ATTRNAME_ID;
-	static const XalanDOMString&	ATTRNAME_IMPORTANCE;
-	static const XalanDOMString&	ATTRNAME_INDENTRESULT;
-	static const XalanDOMString&	ATTRNAME_INFINITY;
-	static const XalanDOMString&	ATTRNAME_LANG;
-	static const XalanDOMString&	ATTRNAME_LETTERVALUE;
-	static const XalanDOMString&	ATTRNAME_LEVEL;
-	static const XalanDOMString&	ATTRNAME_MATCH;
-	static const XalanDOMString&	ATTRNAME_MINUSSIGN;
-	static const XalanDOMString&	ATTRNAME_MODE;
-	static const XalanDOMString&	ATTRNAME_NAME;
-	static const XalanDOMString&	ATTRNAME_NAMESPACE;
-	static const XalanDOMString&	ATTRNAME_NAN;
-	static const XalanDOMString&	ATTRNAME_NDIGITSPERGROUP;
-	static const XalanDOMString&	ATTRNAME_ONLY;
-	static const XalanDOMString&	ATTRNAME_ORDER;
-	static const XalanDOMString&	ATTRNAME_PATTERNSEPARATOR;
-	static const XalanDOMString&	ATTRNAME_PERCENT;
-	static const XalanDOMString&	ATTRNAME_PERMILLE;
-	static const XalanDOMString&	ATTRNAME_PREFIX;
-	static const XalanDOMString&	ATTRNAME_PRIORITY;
-	static const XalanDOMString&	ATTRNAME_REFID;
-	static const XalanDOMString&	ATTRNAME_RESULTNS;
-	static const XalanDOMString&	ATTRNAME_RESULT_PREFIX;
-	static const XalanDOMString&	ATTRNAME_SCRIPT;
-	static const XalanDOMString&	ATTRNAME_SELECT;
-	static const XalanDOMString&	ATTRNAME_SEQUENCESRC;
-	static const XalanDOMString&	ATTRNAME_SRC;
-	static const XalanDOMString&	ATTRNAME_STYLE;
-	static const XalanDOMString&	ATTRNAME_TERMINATE;
-	static const XalanDOMString&	ATTRNAME_TEST;
-	static const XalanDOMString&	ATTRNAME_TOSTRING;
-	static const XalanDOMString&	ATTRNAME_TYPE;
-	static const XalanDOMString&	ATTRNAME_USE;
-	static const XalanDOMString&	ATTRNAME_USEATTRIBUTESETS;
-	static const XalanDOMString&	ATTRNAME_VALUE;
-	static const XalanDOMString&	ATTRNAME_VERSION;
-	static const XalanDOMString&	ATTRNAME_XMLNS;
-	static const XalanDOMString&	ATTRNAME_XMLNSDEF;
-	static const XalanDOMString&	ATTRNAME_XMLSPACE;
-	static const XalanDOMString&	ATTRNAME_ZERODIGIT;
-	static const XalanDOMString&	ATTRNAME_STYLESHEET_PREFIX;
- 
-	  // Atributes on the functions element
-	static const XalanDOMString&	ATTRNAME_NS;
-	static const XalanDOMString&	ATTRNAME_CLASSID;
-	static const XalanDOMString&	ATTRNAME_ARCHIVE;
-	static const XalanDOMString&	ATTRNAME_CODETYPE;
-	static const XalanDOMString&	ATTRNAME_CODEBASE;
-	static const XalanDOMString&	ATTRNAME_METHOD;
-  
-	static const XalanDOMString&	ATTRTYPE_CDATA;
-
-	  // For space-att
-	static const XalanDOMString&	ATTRVAL_PRESERVE;
-	static const XalanDOMString&	ATTRVAL_STRIP;
-  
-	  // For indent-result
-	static const XalanDOMString&	ATTRVAL_YES;
-	static const XalanDOMString&	ATTRVAL_NO;
-  
-	  // For letter-value attribute (part of conversion attributes).
-	static const XalanDOMString&	ATTRVAL_ALPHABETIC;
-	static const XalanDOMString&	ATTRVAL_OTHER;
-    static const XalanDOMString&	ATTRVAL_TRADITIONAL;
-
-	  // For level attribute in xsl:number.
-	static const XalanDOMString&	ATTRVAL_SINGLE;
-	static const XalanDOMString&	ATTRVAL_MULTI;
-	static const XalanDOMString&	ATTRVAL_ANY;
-
-	// Output stuff
-	static const XalanDOMString&	ATTRNAME_OUTPUT_METHOD;
-	static const XalanDOMString&	ATTRNAME_DISABLE_OUTPUT_ESCAPING;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_DOCTYPE_PUBLIC;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_DOCTYPE_SYSTEM;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_ENCODING;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_INDENT;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_MEDIATYPE;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_STANDALONE;
-	static const XalanDOMString&	ATTRNAME_OUTPUT_VERSION;
-//	static const XalanDOMString&	ATTRNAME_OUTPUT_XMLDECL;
-   static const XalanDOMString&	ATTRNAME_OUTPUT_OMITXMLDECL;
-
-	static const XalanDOMString&	ATTRVAL_OUTPUT_METHOD_HTML;
-	static const XalanDOMString&	ATTRVAL_OUTPUT_METHOD_XML;
-	static const XalanDOMString&	ATTRVAL_OUTPUT_METHOD_TEXT;
-
-	// some stuff for my patterns-by-example
-	static const XalanDOMString&	ATTRVAL_THIS;
-	static const XalanDOMString&	ATTRVAL_PARENT;
-	static const XalanDOMString&	ATTRVAL_ANCESTOR;
-	static const XalanDOMString&	ATTRVAL_ID;
-
-  // Stuff for sorting
-	static const XalanDOMString&	ATTRVAL_DATATYPE_TEXT;
-	static const XalanDOMString&	ATTRVAL_DATATYPE_NUMBER;
-	static const XalanDOMString&	ATTRVAL_ORDER_ASCENDING;
-	static const XalanDOMString&	ATTRVAL_ORDER_DESCENDING;
-	static const XalanDOMString&	ATTRVAL_CASEORDER_UPPER;
-	static const XalanDOMString&	ATTRVAL_CASEORDER_LOWER;
-
-	// Stuff for xsl:decimal-format...
-	static const XalanDOMString&	ATTRVAL_INFINITY;
-	static const XalanDOMString&	ATTRVAL_NAN;
-
-	static const XalanDOMString&	ATTRVAL_SIMPLE;
-
-	// Default whitespace separator string for StringTokenizer.
-	static const XalanDOMString&	DEFAULT_WHITESPACE_SEPARATOR_STRING;
-
-	// Value for default text rule
-	static const XalanDOMString&	ATTRVAL_DEFAULT_TEXT_RULE;
-	enum eNumberLevel
-	{
-		/*
-		 * Integer equivalents for above
-		 */
-		NUMBERLEVEL_SINGLE = 1,
-		NUMBERLEVEL_MULTI = 2,
-		NUMBERLEVEL_ANY = 3,
-
-		MAX_MULTI_COUNTING_DEPTH = 32
-	};
-
-	static const XalanDOMString&	ATTRVAL_DEFAULT;
-
-	// For Stylesheet-prefix and result-prefix in xsl:namespace-alias 
-	static const XalanDOMString&	ATTRVAL_DEFAULT_PREFIX;
-
-	enum eAttributeName
-	{
-		TATTRNAME_OUTPUT_METHOD = 1,
-		TATTRNAME_AMOUNT = 2,
-		TATTRNAME_ANCESTOR = 3,
-		TATTRNAME_ARCHIVE = 4,
-		TATTRNAME_ATTRIBUTE = 5,
-		TATTRNAME_ATTRIBUTE_SET = 6,
-		TATTRNAME_CASEORDER = 7,
-		TATTRNAME_CLASS = 8,
-		TATTRNAME_CLASSID = 9,
-		TATTRNAME_CODEBASE = 10,
-		TATTRNAME_CODETYPE = 11,
-		TATTRNAME_CONDITION = 12,
-		TATTRNAME_COPYTYPE = 13,
-		TATTRNAME_COUNT = 14,
-		TATTRNAME_DATATYPE = 15,
-		TATTRNAME_DEFAULT = 16,
-		TATTRNAME_DEFAULTSPACE = 17,
-		TATTRNAME_DEPTH = 18,
-		TATTRNAME_DIGITGROUPSEP = 19,
-		TATTRNAME_DISABLE_OUTPUT_ESCAPING= 20,
-		TATTRNAME_ELEMENT = 21,
-		TATTRNAME_ELEMENTS = 22,
-		TATTRNAME_EXPR = 23,
-		TATTRNAME_EXTENSIONELEMENTPREFIXES = 24,
-		TATTRNAME_FORMAT = 25,
-		TATTRNAME_FROM = 26,
-		TATTRNAME_GROUPINGSEPARATOR = 27,
-		TATTRNAME_GROUPINGSIZE = 28,
-		TATTRNAME_HREF = 29,
-		TATTRNAME_ID = 30,
-		TATTRNAME_IMPORTANCE = 31,
-		TATTRNAME_INDENTRESULT = 32,
-		TATTRNAME_LANG = 33,
-		TATTRNAME_LETTERVALUE = 34,
-		TATTRNAME_LEVEL = 35,
-		TATTRNAME_MATCH = 36,
-		TATTRNAME_METHOD = 37,
-		TATTRNAME_MODE = 38,
-		TATTRNAME_NAME = 39,
-		TATTRNAME_NAMESPACE = 40,
-		TATTRNAME_NDIGITSPERGROUP = 41,
-		TATTRNAME_NS = 42,
-		TATTRNAME_ONLY = 43,
-		TATTRNAME_ORDER = 44,
-		TATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS= 45,
-		TATTRNAME_OUTPUT_DOCTYPE_PUBLIC = 46,
-		TATTRNAME_OUTPUT_DOCTYPE_SYSTEM = 47,
-		TATTRNAME_OUTPUT_ENCODING = 48,
-		TATTRNAME_OUTPUT_INDENT = 49,
-		TATTRNAME_OUTPUT_MEDIATYPE = 50,
-		TATTRNAME_OUTPUT_STANDALONE= 51,
-		TATTRNAME_OUTPUT_VERSION = 52,
-		TATTRNAME_OUTPUT_OMITXMLDECL = 53,
-		// TATTRNAME_OUTPUT_XMLDECL = 53,
-		TATTRNAME_PRIORITY = 54,
-		TATTRNAME_REFID = 55,
-		TATTRNAME_RESULTNS = 56,
-		TATTRNAME_SELECT = 57,
-		TATTRNAME_SEQUENCESRC = 58,
-		TATTRNAME_STYLE = 59,
-		TATTRNAME_TEST = 60,
-		TATTRNAME_TOSTRING = 61,
-		TATTRNAME_TYPE = 62,
-		TATTRNAME_USE = 63,
-		TATTRNAME_USEATTRIBUTESETS = 64,
-		TATTRNAME_VALUE = 65,
-		TATTRNAME_XMLNSDEF = 66,
-		TATTRNAME_XMLNS = 67,
-		TATTRNAME_XMLSPACE = 68,
-		TATTRNAME_EXCLUDE_RESULT_PREFIXES = 69
-	};
-
-	// These are used mainly for keys in the pattern lookup table,
-	// for those nodes that don't have unique lookup values
-	static const XalanDOMString&	PSEUDONAME_ANY;
-	static const XalanDOMString&	PSEUDONAME_COMMENT;
-	static const XalanDOMString&	PSEUDONAME_NODE;
-	static const XalanDOMString&	PSEUDONAME_OTHER;
-	static const XalanDOMString&	PSEUDONAME_PI;
-	static const XalanDOMString&	PSEUDONAME_ROOT;
-	static const XalanDOMString&	PSEUDONAME_TEXT;
-
-};
-
-
-#endif	// XALAN_CONSTANTS_HEADER_GUARD
diff --git a/src/XSLT/CountersTable.cpp b/src/XSLT/CountersTable.cpp
deleted file mode 100644
index b725ea6..0000000
--- a/src/XSLT/CountersTable.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "CountersTable.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include "ElemNumber.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-inline void
-appendBtoFList(
-			CountersTable::NodeVectorType&			flist,
-			const CountersTable::NodeVectorType&	blist)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::back_inserter;
-	using std::copy;
-#endif
-
-	flist.reserve(flist.size() + blist.size());
-
-	copy(
-		blist.rbegin(),
-		blist.rend(),
-		back_inserter(flist));
-}
-
-
-
-int
-CountersTable::countNode(
-			StylesheetExecutionContext&		support,
-			const ElemNumber*				numberElem,
-			XalanNode*						node)
-{
-	int		count = 0;
-
-	CounterVectorType&	counters = m_counterMap[numberElem];
-
-	const CounterVectorType::size_type	nCounters = counters.size();
-
-	XalanNode*	target = numberElem->getTargetNode(support, node);
-
-	if(0 != target)
-	{
-		for(CounterVectorType::size_type i = 0; i < nCounters; i++)
-		{    
-			const Counter&	counter = counters[i];
-
-			count = counter.getPreviouslyCounted(support, target);
-
-			if(count > 0)
-				return count;
-		}
-
-		// In the loop below, we collect the nodes in backwards doc order, so 
-		// we don't have to do inserts, but then we store the nodes in forwards 
-		// document order, so we don't have to insert nodes into that list, 
-		// so that's what the appendBtoFList stuff is all about.  In cases 
-		// of forward counting by one, this will mean a single node copy from 
-		// the backwards list (m_newFound) to the forwards list
-		// (counter.m_countNodes).
-		count = 0;
-		for(; 0 != target; target = numberElem->getPreviousNode(support, target))
-		{   
-			// First time in, we should not have to check for previous counts, 
-			// since the original target node was already checked in the 
-			// block above.
-			if(0 != count)  
-			{
-				for(CounterVectorType::size_type i = 0; i < nCounters; ++i)
-				{
-					Counter&	counter = counters[i];
-
-					const Counter::NodeVectorType::size_type	cacheLen = counter.m_countNodes.size();
-
-					if(cacheLen > 0 && counter.m_countNodes[cacheLen - 1] == target)
-					{
-						count += cacheLen + counter.m_countNodesStartCount;
-
-						if(cacheLen > 0)
-						{
-							appendBtoFList(counter.m_countNodes, m_newFound);
-						}
-
-						m_newFound.clear();
-
-						return count;
-					}
-				}
-			}
-
-			m_newFound.push_back(target);
-
-			++count;
-		}
-
-		// If we got to this point, then we didn't find a counter, so make 
-		// one and add it to the list.
-		counters.push_back(Counter(numberElem));
-
-		Counter&	counter = counters.back();
-
-		appendBtoFList(counter.m_countNodes, m_newFound);
-
-		m_newFound.clear();
-	}
-
-	return count;
-}
-
-
-
-int
-Counter::getPreviouslyCounted(
-		StylesheetExecutionContext&		executionContext,
-		const XalanNode*				node) const
-{
-	const NodeVectorType::size_type		n = m_countNodes.size();
-
-	int			result = 0;
-
-	for(NodeVectorType::size_type i = n; i > 0; --i)
-	{
-		const XalanNode* const	countedNode = m_countNodes[i - 1];
-
-		if(node == countedNode)
-		{
-			// Since the list is in backwards order, the count is 
-			// how many are in the rest of the list.
-			result = i + m_countNodesStartCount;
-			break;
-		}
-
-		// Try to see if the given node falls after the counted node...
-		// if it does, don't keep searching backwards.
-		if(executionContext.isNodeAfter(*countedNode, *node))
-			break;
-	}
-
-	return result;
-}
diff --git a/src/XSLT/CountersTable.hpp b/src/XSLT/CountersTable.hpp
deleted file mode 100644
index eb13011..0000000
--- a/src/XSLT/CountersTable.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_COUNTERSTABLE_HEADER_GUARD_1357924680)
-#define XALAN_ELEMNUMBER_HEADER_GUARD_1357924680 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- */
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <map>
-#include <vector>
-
-
-
-#include "XPath/MutableNodeRefList.hpp"
-
-
-
-class ElemNumber;
-class StylesheetExecutionContext;
-
-
-
-/**
- * <meta name="usage" content="internal"/>
- * A class that 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 
- */
-struct Counter
-{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanNode*>			NodeVectorType;
-#else
-	typedef std::vector<XalanNode*>		NodeVectorType;
-#endif
-	/**
-	 * The start count from where m_countNodes counts 
-	 * from.  In other words, the count of a given node 
-	 * in the m_countNodes vector is node position + 
-	 * m_countNodesStartCount.
-	 */
-	int					m_countNodesStartCount;
-
-	/**
-	 * A vector of all nodes counted so far.
-	 */
-	NodeVectorType		m_countNodes;
-
-	/**
-	 * The node from where the counting starts.  This is needed to 
-	 * find a counter if the node being counted is not immediatly
-	 * found in the m_countNodes vector.
-	 */
-	const XalanNode*	m_fromNode;
-
-	/**
-	 * The owning xsl:number element.
-	 */
-	const ElemNumber*	m_numberElem;
-
-	/**
-	 * Construct a counter object.
-	 */
-	Counter(
-			const ElemNumber*	numberElem,
-			NodeVectorType&		countNodes) :
-		m_countNodesStartCount(0),
-		m_countNodes(countNodes),
-		m_fromNode(0),
-		m_numberElem(numberElem)
-	{
-	}
-
-	/**
-	 * Construct a counter object.
-	 */
-	Counter(const ElemNumber*	numberElem = 0) :
-		m_countNodesStartCount(0),
-		m_countNodes(),
-		m_fromNode(0),
-		m_numberElem(numberElem)
-	{
-	}
-
-	/**
-	 * Try to find a node that was previously counted. If found, return a
-	 * positive integer that corresponds to the count.
-	 * @param node The node to be counted.
-	 * @returns The count of the node, or -1 if not found.
-	 */
-	int
-	getPreviouslyCounted(
-			StylesheetExecutionContext&		support,
-			const XalanNode*				node) const;
-
-	/**
-	 * Get the last node in the list.
-	 */
-	XalanNode*
-	getLast() const
-	{
-		return m_countNodes.size() == 0 ? 0 : m_countNodes.back();
-	}
-};
-
-
-
-/**
- * <meta name="usage" content="internal"/>
- * This is a table of counters, keyed by ElemNumber objects, each 
- * of which has a list of Counter objects.  This really isn't a true 
- * table, it is more like a list of lists (there must be a technical 
- * term for that...).
- */
-class CountersTable
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<Counter>					CounterVectorType;
-	typedef map<const ElemNumber*,
-				CounterVectorType,
-				less<const ElemNumber*> >	ElemToCounterVectorMapType;
-#else
-	typedef std::vector<Counter>			CounterVectorType;
-	typedef std::map<const ElemNumber*,
-					 CounterVectorType>		ElemToCounterVectorMapType;
-#endif
-
-	typedef Counter::NodeVectorType			NodeVectorType;
-
-	/**
-	 * Construct a CountersTable.
-	 */
-	CountersTable() :
-		m_counterMap(),
-		m_newFound()
-	{
-	};
-
-
-	/**
-	 * Count forward until the given node is found, or until 
-	 * we have looked to the given amount.
-	 *
-	 * @executionContext The current execution context;
-	 * @numberElem The executing ElemNumber
-	 * @node The node to count.
-	 * @return The node count, or 0 if not found.
-	 */
-	int
-	countNode(
-			StylesheetExecutionContext&		executionContext,
-			const ElemNumber*				numberElem,
-			XalanNode*						node);
-
-	/**
-	 * Clear all cached data from the table.
-	 */
-	void
-	reset()
-	{
-		m_newFound.clear();
-
-		m_counterMap.clear();
-	}
-
-private:
-
-	/**
-	 * A map which holds counters for ElemNumber instances.
-	 */
-	ElemToCounterVectorMapType	m_counterMap;
-
-
-	/**
-	 * A vector to use as a temporary buffer.
-	 */
-	NodeVectorType				m_newFound;
-};
-
-
-#endif	// !defined(XALAN_COUNTERSTABLE_HEADER_GUARD_1357924680)
diff --git a/src/XSLT/DecimalToRoman.cpp b/src/XSLT/DecimalToRoman.cpp
deleted file mode 100644
index 2c1b722..0000000
--- a/src/XSLT/DecimalToRoman.cpp
+++ /dev/null
@@ -1,78 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "DecimalToRoman.hpp"
-
-
-
-DecimalToRoman::DecimalToRoman(
-			long					postValue,
-			const XalanDOMString&	postLetter, 
-			long					preValue,
-			const XalanDOMString&	preLetter) :
-	m_postValue(postValue),
-	m_postLetter(postLetter),
-	m_preValue(preValue),
-	m_preLetter(preLetter)
-{
-}
-
-
-
-DecimalToRoman::~DecimalToRoman()
-{
-}
diff --git a/src/XSLT/DecimalToRoman.hpp b/src/XSLT/DecimalToRoman.hpp
deleted file mode 100644
index 1f16080..0000000
--- a/src/XSLT/DecimalToRoman.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_DECIMALTOROMAN_HEADER_GUARD)
-#define XALAN_DECIMALTOROMAN_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-/**
- * Structure to help in converting integers to roman numerals
- */
-class XALAN_XSLT_EXPORT DecimalToRoman 
-{
-public:
-
-	/**
-	 *  Construct a decimal to roman conversion object
-	 *
-	 * @param postValue  quantity corresponding to postLetter
-	 * @param postLetter letter for quantity, for example, "C" represents 100
-	 * @param preValue   quantity corresponding to preLetter                
-	 * @param preLetter  prefix for quantity, for example, "XC" represents 90
-	 */
-	DecimalToRoman(
-			long					postValue = 0L,
-			const XalanDOMString&	postLetter = XalanDOMString(), 
-			long					preValue = 0L,
-			const XalanDOMString&	preLetter = XalanDOMString());
-
-	~DecimalToRoman();
-
-	long			m_postValue;      
-
-	XalanDOMString	m_postLetter;
-
-	long			m_preValue;      
-
-	XalanDOMString	m_preLetter;
-};
-
-
-
-#endif	// XALAN_DECIMALTOROMAN_HEADER_GUARD
diff --git a/src/XSLT/ElemApplyImport.cpp b/src/XSLT/ElemApplyImport.cpp
deleted file mode 100644
index 22c6443..0000000
--- a/src/XSLT/ElemApplyImport.cpp
+++ /dev/null
@@ -1,149 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemApplyImport.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemApplyImport::ElemApplyImport(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber, 
-			int								columnNumber) :
-		ElemTemplateElement(constructionContext,
-							stylesheetTree,
-							lineNumber,
-							columnNumber,
-							Constants::ELEMNAME_APPLY_IMPORTS)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-    for(unsigned int i = 0; i < nAttrs; i++)
-    {
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(isAttrOK(aname, atts, i, constructionContext) == false)
-		{
-			constructionContext.error(
-				"xsl:apply-imports has an illegal attribute",
-				0,
-				this);
-		}
-    }
-}
-
-
-
-const XalanDOMString&
-ElemApplyImport::getElementName() const
-{
-	return Constants::ELEMNAME_APPLY_IMPORTS_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemApplyImport::execute(StylesheetExecutionContext&	executionContext) const
-{
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-	assert(sourceNode != 0);
-
-	if (executionContext.getCurrentTemplate() == 0)
-	{
-		executionContext.error("There is no current template", sourceNode, this);
-	}
-
-	ElemTemplateElement::execute(executionContext);
-
-	transformChild(
-			executionContext,
-			*this,
-			0,
-			sourceNode);   
-}
-
-
-
-ElemTemplateElement*
-ElemApplyImport::appendChildElem(ElemTemplateElement*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
diff --git a/src/XSLT/ElemApplyImport.hpp b/src/XSLT/ElemApplyImport.hpp
deleted file mode 100644
index c30a2ef..0000000
--- a/src/XSLT/ElemApplyImport.hpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMAPPLYIMPORT_HEADER_GUARD)
-#define XALAN_ELEMAPPLYIMPORT_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-
-class ElemApplyImport: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:apply-imports" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemApplyImport(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber, 
-			int								columnNumber);
-
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	virtual ElemTemplateElement*
-	appendChildElem(ElemTemplateElement*	newChild);
-
-
-private:
-};
-
-
-
-#endif	// XALAN_ELEMAPPLYIMPORT_HEADER_GUARD
diff --git a/src/XSLT/ElemApplyTemplates.cpp b/src/XSLT/ElemApplyTemplates.cpp
deleted file mode 100644
index 5562f01..0000000
--- a/src/XSLT/ElemApplyTemplates.cpp
+++ /dev/null
@@ -1,226 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemApplyTemplates.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetRoot.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "TracerEvent.hpp"
-
-
-
-ElemApplyTemplates::ElemApplyTemplates(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemForEach(constructionContext,
-				stylesheetTree,
-				lineNumber,
-				columnNumber,
-				Constants::ELEMNAME_APPLY_TEMPLATES),
-	m_isDefaultTemplate(false),
-	m_mode()
-{
-	const unsigned	int nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_SELECT:
-			m_selectPattern = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-			break;
-
-		case Constants::TATTRNAME_MODE:
-			m_mode = XalanQNameByValue(atts.getValue(i), getStylesheet().getNamespaces());
-			break;
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:apply-templates has an illegal attribute",
-					0,
-					this);
-			}
-			break;
-		}
-	}
-
-	if(0 == m_selectPattern)
-	{
-		m_selectPattern = constructionContext.createXPath(
-			getLocator(),
-			Constants::PSEUDONAME_NODE,
-			*this);
-	}
-
-	assert(m_selectPattern != 0);
-}
-
-
-
-ElemApplyTemplates::~ElemApplyTemplates()
-{
-}
-
-
-
-const XalanDOMString&
-ElemApplyTemplates::getElementName() const
-{
-	return Constants::ELEMNAME_APPLY_TEMPLATES_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemApplyTemplates::execute(StylesheetExecutionContext&		executionContext) const
-{
-	assert(m_selectPattern != 0);
-
-	if(0 != executionContext.getTraceListeners())
-	{
-		executionContext.fireTraceEvent(TracerEvent(
-		  executionContext, *this));
-	}
-
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-
-	if (0 != sourceNode)
-	{
-		// Dragons here.  Push the params & stack frame, but then execute the
-		// select statement inside transformSelectedChildren, which must be
-		// executed in the stack frame before the new stack frame.  Because of
-		// depth-first searching, this gets worse.
-		StylesheetExecutionContext::ParamsPushPop	thePushPop(
-			executionContext,
-			*this,
-			sourceNode,
-			this);
-
-		assert(executionContext.getCurrentMode() != 0);
-
-		const XalanQName* const		currentMode = executionContext.getCurrentMode();
-
-		if (m_isDefaultTemplate == false &&
-			!m_mode.equals(*currentMode))
-		{
-			executionContext.setCurrentMode(&m_mode);
-
-			transformSelectedChildren(
-				executionContext,
-				0,
-				sourceNode,
-				thePushPop.getStackFrameIndex());
-
-			executionContext.setCurrentMode(currentMode);
-		}
-		else
-		{
-			transformSelectedChildren(
-				executionContext,
-				0,
-				sourceNode,
-				thePushPop.getStackFrameIndex());
-		}
-	}
-    else
-	{
-		executionContext.error(
-			"There is no current node in ElemApplyTemplates::execute()",
-			sourceNode,
-			this);
-	}
-}
-
-
-
-bool
-ElemApplyTemplates::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-
-	switch(xslToken)
-	{
-	// char-instructions 
-	case Constants::ELEMNAME_SORT:
-	case Constants::ELEMNAME_WITHPARAM:
-		fResult = true;
-		break;
-
-	default:
-		break;
-	}
-
-	return fResult;
-}
diff --git a/src/XSLT/ElemApplyTemplates.hpp b/src/XSLT/ElemApplyTemplates.hpp
deleted file mode 100644
index e0cf257..0000000
--- a/src/XSLT/ElemApplyTemplates.hpp
+++ /dev/null
@@ -1,149 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMAPPLYTEMPLATES_HEADER_GUARD)
-#define XALAN_ELEMAPPLYTEMPLATES_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemForEach.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-class ElemApplyTemplates : public ElemForEach
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:apply-template" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemApplyTemplates(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber, 
-			int								columnNumber);
-
-    virtual
-    ~ElemApplyTemplates();
-
-	/**
-	 * Determines whether this is the default template
-	 *
-	 * @return true if the template is the default
-	 */
-	bool
-	isDefaultTemplate() const
-	{
-		return m_isDefaultTemplate;
-	}
-
-	/**
-	 * Sets a flag indicating this is the default template
-	 *
-	 * @param def value of flag to set
-	 */
-	void
-	setDefaultTemplate(bool def)
-	{
-		m_isDefaultTemplate = def;
-	}
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	bool				m_isDefaultTemplate;
-
-	XalanQNameByValue	m_mode;
-};
-
-
-
-#endif	// XALAN_ELEMAPPLYTEMPLATES_HEADER_GUARD
diff --git a/src/XSLT/ElemAttribute.cpp b/src/XSLT/ElemAttribute.cpp
deleted file mode 100644
index 63d17bd..0000000
--- a/src/XSLT/ElemAttribute.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemAttribute.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "AVT.hpp"
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemAttribute::ElemAttribute(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_ATTRIBUTE),
-	m_pNameAVT(0),	
-	m_pNamespaceAVT(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_NAME))
-		{
-			m_pNameAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(equals(aname,Constants::ATTRNAME_NAMESPACE))
-		{
-			m_pNamespaceAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(!(isAttrOK(aname, atts, i, constructionContext) || 
-				 processSpaceAttr(aname, atts, i, constructionContext)))
-		{
-			constructionContext.error(
-				"xsl:attribute has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(0 == m_pNameAVT)
-	{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (AVT*)m_pNamespaceAVT;
-#else
-		delete m_pNamespaceAVT;
-#endif
-
-		constructionContext.error(
-			"xsl:attribute must have a 'name' attribute",
-			0,
-			this);
-	} 
-	
-}
-
-
-
-ElemAttribute::~ElemAttribute()
-{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete (AVT*)m_pNameAVT;
-
-	delete (AVT*)m_pNamespaceAVT;
-#else
-	delete m_pNameAVT;
-
-	delete m_pNamespaceAVT;
-#endif
-}
-
-
-
-const XalanDOMString&
-ElemAttribute::getElementName() const
-{
-	return Constants::ELEMNAME_ATTRIBUTE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemAttribute::execute(StylesheetExecutionContext&		executionContext) const
-{
-	assert(m_pNameAVT != 0);
-
-	ElemTemplateElement::execute(executionContext);
-
-	StylesheetExecutionContext::GetAndReleaseCachedString	attrNameGuard(executionContext);
-
-	XalanDOMString&		attrName = attrNameGuard.get();
-
-	XalanNode* sourceNode = executionContext.getCurrentNode();
-
-	m_pNameAVT->evaluate(attrName, sourceNode, *this, executionContext);
-
-	if(XalanQName::isValidQName(attrName) == false)
-	{
-		executionContext.warn(
-			"The attribute name is invalid",
-			sourceNode,
-			getLocator());
-	}
-	else
-	{
-		// save original attribute name
-		StylesheetExecutionContext::GetAndReleaseCachedString	origAttrNameGuard(executionContext);
-
-		XalanDOMString&		origAttrName = origAttrNameGuard.get();
-
-		assign(origAttrName, attrName);
-
-		const XalanDOMString::size_type		origAttrNameLength = length(origAttrName);
-
-		XalanDOMString::size_type			indexOfNSSep = 0;
-
-		StylesheetExecutionContext::GetAndReleaseCachedString	attrNameSpaceGuard(executionContext);
-
-		XalanDOMString&		attrNameSpace = attrNameSpaceGuard.get();
-
-		if(0 != m_pNamespaceAVT)
-		{
-			m_pNamespaceAVT->evaluate(attrNameSpace, sourceNode, *this, executionContext);
-
-			indexOfNSSep = indexOf(origAttrName, XalanUnicode::charColon);
-
-			if(isEmpty(attrNameSpace))
-			{
-				// If there's no namespace, but the attribute has a
-				// prefix, then we must strip the prefix off.
-				if (indexOfNSSep < origAttrNameLength)
-				{
-					substring(origAttrName, attrName, indexOfNSSep + 1);
-				}
-
-				// We set this to indicate that there is no prefix any
-				// longer.
-				indexOfNSSep = origAttrNameLength;
-			}
-			else
-			{
-				// See if the namespace already exists.  If it does, we'll get the
-				// prefix that was used when it was declared.
-				const XalanDOMString*  const	prefix =
-					executionContext.getResultPrefixForNamespace(attrNameSpace);
-
-				// If there is already a prefix for the namespace, and it's length
-				// is not 0, and there is no prefix on the attribute name, or
-				// it's equal to the prefix on the attribute, then go ahead
-				// and use that prefix.
-				if(prefix != 0 &&
-				   length(*prefix) != 0 &&
-				   (indexOfNSSep == origAttrNameLength ||
-				    equals(c_wstr(*prefix), c_wstr(attrName), indexOfNSSep) == true))
-				{
-					if(indexOfNSSep < origAttrNameLength)
-					{
-						reserve(
-							attrName,
-							length(attrName) - (indexOfNSSep + 1) + DOMServices::s_XMLNamespaceSeparatorStringLength + length(*prefix) + 1);
-
-						attrName.erase(0, indexOfNSSep + 1);
-					}
-					else
-					{
-						reserve(
-							attrName,
-							length(attrName) + DOMServices::s_XMLNamespaceSeparatorStringLength + length(*prefix) + 1);
-					}
-
-					insert(attrName, 0, DOMServices::s_XMLNamespaceSeparatorString);
-					insert(attrName, 0, *prefix);
-				}
-				else
-				{
-					StylesheetExecutionContext::GetAndReleaseCachedString	newPrefixGuard(executionContext);
-
-					XalanDOMString&		newPrefix = newPrefixGuard.get();
-
-					// If the prefix on the QName is xmlns, we cannot use it.
-					const bool			fPrefixIsXMLNS =
-						startsWith(origAttrName, DOMServices::s_XMLNamespaceWithSeparator);
-
-					// If there's a prefix, and it's not xmlns, then use
-					// the prefix that's provided.
-					if(indexOfNSSep < origAttrNameLength &&
-					    fPrefixIsXMLNS == false)
-					{
-						substring(origAttrName, newPrefix, 0, indexOfNSSep);
-
-						// OK, make sure that the prefix provided maps to
-						// the same namespace as the one the user requested,
-						// and see if it's in use...
-						const XalanDOMString* const	theNamespace =
-							executionContext.getResultNamespaceForPrefix(newPrefix);
-
-						if (theNamespace != 0 &&
-							equals(*theNamespace, attrNameSpace) == false &&
-							executionContext.isPendingResultPrefix(newPrefix) == true)
-						{
-							// It doesn't, so we'll need to manufacture a
-							// prefix.
-							clear(newPrefix);
-
-							// Strip the user-supplied prefix from the name...
-							substring(origAttrName, attrName, indexOfNSSep + 1);
-						}
-					}
-
-					if (length(newPrefix) == 0)
-					{
-						// If there's a prefix, and it's xmlns, then strip it
-						// off...
-						if (fPrefixIsXMLNS == true)
-						{
-							attrName.erase(0, indexOfNSSep + 1);
-						}
-
-						// Get a new, unique namespace prefix...
-						executionContext.getUniqueNamespaceValue(newPrefix);
-
-						// Reserve some space in the string.
-						reserve(
-							attrName,
-							length(attrName) + DOMServices::s_XMLNamespaceSeparatorStringLength + length(newPrefix) + 1);
-
-						insert(attrName, 0, DOMServices::s_XMLNamespaceSeparatorString);
-						insert(attrName, 0, newPrefix);
-					}
-
-					// OK, now we have to generate a namespace declaration...
-					StylesheetExecutionContext::GetAndReleaseCachedString	nsDeclGuard(executionContext);
-
-					XalanDOMString&		nsDecl = nsDeclGuard.get();
-
-					reserve(nsDecl, DOMServices::s_XMLNamespaceWithSeparatorLength + length(newPrefix) + 1);
-
-					assign(nsDecl, DOMServices::s_XMLNamespaceWithSeparator);
-
-					append(nsDecl, newPrefix);
-
-					// Add the namespace declaration...
-					executionContext.addResultAttribute(nsDecl, attrNameSpace);
-				}
-			}
-		}
-      // Note we are using original attribute name for these tests. 
-		else if(executionContext.isElementPending() == true &&
-				!equals(origAttrName, DOMServices::s_XMLNamespace))
-		{
-			// Don't try to create a namespace declaration for anything that
-			// starts with xml:
-			if (startsWith(origAttrName, DOMServices::s_XMLString) == true)
-			{
-				// This just fakes out the test below.  It would be better if
-				// we had a better way of testing this...
-				indexOfNSSep = origAttrNameLength;
-			}
-			else
-			{
-				// make sure that if a prefix is specified on the attribute name, it is valid
-				indexOfNSSep = indexOf(origAttrName, XalanUnicode::charColon);
-
-				if(indexOfNSSep < origAttrNameLength)
-				{
-					StylesheetExecutionContext::GetAndReleaseCachedString	nsprefixGuard(executionContext);
-
-					XalanDOMString&		nsprefix = nsprefixGuard.get();
-
-					substring(origAttrName, nsprefix, 0, indexOfNSSep);
-
-					const XalanDOMString* const		theNamespace =
-						getNamespaceForPrefix(nsprefix);
-
-					if (theNamespace != 0)
-					{
-						assign(attrNameSpace, *theNamespace);
-					}
-
-					if (isEmpty(attrNameSpace))
-					{
-						// Could not resolve prefix
-						executionContext.warn(
-							"Warning: Could not resolve prefix",
-							sourceNode,
-							getLocator());
-					}
-					else
-					{
-						// Check to see if there's already a namespace declaration in scope...
-						const XalanDOMString* const		prefix =
-							executionContext.getResultPrefixForNamespace(attrNameSpace);
-
-						if (prefix == 0)
-						{
-							// We need to generate a namespace declaration...
-							StylesheetExecutionContext::GetAndReleaseCachedString	nsDeclGuard(executionContext);
-
-							XalanDOMString&		nsDecl = nsDeclGuard.get();
-
-							reserve(nsDecl, DOMServices::s_XMLNamespaceWithSeparatorLength + length(nsprefix) + 1);
-
-							assign(nsDecl, DOMServices::s_XMLNamespaceWithSeparator);
-
-							append(nsDecl, nsprefix);
-
-							// Add the namespace declaration...
-							executionContext.addResultAttribute(nsDecl, attrNameSpace);
-						}
-					}
-				}
-			}
-		}
-		else
-		{
-			executionContext.warn(
-				"Attributes cannot be added after a child has been added.  The attribute(s) will not be added",
-				sourceNode,
-				getLocator());
-		}
-
-		// If there was no namespace, or the namespace was resolved, process
-		// the result attribute.
-		if (indexOfNSSep == origAttrNameLength || !isEmpty(attrNameSpace))
-		{
-			childrenToResultAttribute(
-				executionContext,
-				attrName);
-		}
-	}
-}
-
-
-
-bool
-ElemAttribute::childTypeAllowed(int		xslToken) const
-{
-	bool	fResult = false;
-
-	switch(xslToken)
-	{
-		// char-instructions 
-	case Constants::ELEMNAME_TEXTLITERALRESULT:
-	case Constants::ELEMNAME_APPLY_TEMPLATES:
-	case Constants::ELEMNAME_APPLY_IMPORTS:
-	case Constants::ELEMNAME_CALLTEMPLATE:
-	case Constants::ELEMNAME_FOREACH:
-	case Constants::ELEMNAME_VALUEOF:
-	case Constants::ELEMNAME_COPY_OF:
-	case Constants::ELEMNAME_NUMBER:
-	case Constants::ELEMNAME_CHOOSE:
-	case Constants::ELEMNAME_IF:
-	case Constants::ELEMNAME_TEXT:
-	case Constants::ELEMNAME_COPY:
-	case Constants::ELEMNAME_VARIABLE:
-	case Constants::ELEMNAME_MESSAGE:		
-		// instructions 
-		// case Constants.ELEMNAME_PI:
-		// case Constants.ELEMNAME_COMMENT:
-		// case Constants.ELEMNAME_ELEMENT:
-		// case Constants.ELEMNAME_ATTRIBUTE:
-		fResult = true;
-		break;
-
-	default:
-		break;
-	}
-
-	return fResult;
-}
diff --git a/src/XSLT/ElemAttribute.hpp b/src/XSLT/ElemAttribute.hpp
deleted file mode 100644
index f4ad96a..0000000
--- a/src/XSLT/ElemAttribute.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMATTRIBUTE_HEADER_GUARD)
-#define XALAN_ELEMATTRIBUTE_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class AVT;
-class ElemTextLiteral;
-
-
-
-class ElemAttribute : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:attribute" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemAttribute (
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemAttribute();
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	// not implemented
-	ElemAttribute(const ElemAttribute &);
-	ElemAttribute& operator=(const ElemAttribute &);
-
-	const AVT*					m_pNameAVT;
-	const AVT*					m_pNamespaceAVT;
-};
-
-
-
-#endif	// XALAN_ELEMATTRIBUTE_HEADER_GUARD
diff --git a/src/XSLT/ElemAttributeSet.cpp b/src/XSLT/ElemAttributeSet.cpp
deleted file mode 100644
index 1502f68..0000000
--- a/src/XSLT/ElemAttributeSet.cpp
+++ /dev/null
@@ -1,177 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemAttributeSet.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemAttributeSet::ElemAttributeSet(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemUse(constructionContext,
-			stylesheetTree,
-			lineNumber,
-			columnNumber,
-			Constants::ELEMNAME_DEFINEATTRIBUTESET),
-	m_QName()
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname,Constants::ATTRNAME_NAME))
-		{
-			m_QName = XalanQNameByValue(atts.getValue(i), stylesheetTree.getNamespaces());
-
-			stylesheetTree.addAttributeSet(this);
-		}
-		else if(!(processUseAttributeSets(constructionContext, aname, atts, i) ||
-					isAttrOK(aname, atts, i, constructionContext)))
-		{
-			constructionContext.error(
-				"xsl:attribute-set has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(isEmpty(m_QName.getLocalPart()))
-	{
-		constructionContext.error(
-			"xsl:attribute-set must have a 'name' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemAttributeSet::~ElemAttributeSet()
-{
-}
-
-
-
-const XalanDOMString&
-ElemAttributeSet::getElementName() const
-{
-	return Constants::ELEMNAME_ATTRIBUTESET_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemAttributeSet::execute(StylesheetExecutionContext&	executionContext) const
-{
-	typedef StylesheetExecutionContext::SetAndRestoreCurrentStackFrameIndex		SetAndRestoreCurrentStackFrameIndex;
-	typedef StylesheetExecutionContext::ElementRecursionStackPusher				ElementRecursionStackPusher;
-
-	// This will push and pop the stack automatically...
-	ElementRecursionStackPusher		thePusher(executionContext, this);
-
-	// Make sure only global variables are visible during execution...
-	SetAndRestoreCurrentStackFrameIndex		theSetAndRestore(
-					executionContext, 
-					executionContext.getGlobalStackFrameIndex());
-
-	ElemUse::execute(executionContext);
-
-	const ElemTemplateElement*	attr = getFirstChildElem();
-
-	while(0 != attr)
-	{
-		attr->execute(executionContext);
-
-		attr = attr->getNextSiblingElem();
-	}
-}
-
-
-
-bool
-ElemAttributeSet::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-
-	switch(xslToken)
-	{
-	case Constants::ELEMNAME_ATTRIBUTE:
-		fResult = true;
-		break;
-		
-	default:
-		break;
-	}
-
-	return fResult;
-}
diff --git a/src/XSLT/ElemAttributeSet.hpp b/src/XSLT/ElemAttributeSet.hpp
deleted file mode 100644
index 76e8c99..0000000
--- a/src/XSLT/ElemAttributeSet.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMATTRIBUTESET_HEADER_GUARD)
-#define XALAN_ELEMATTRIBUTESET_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemUse.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-class ElemAttributeSet : public ElemUse
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:attribute-set" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemAttributeSet (
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemAttributeSet();
-
-	/**
-	 * Retrieves qualified name of object
-	 *
-	 * @return qualified name
-	 */
-	const XalanQName&
-	getQName() const
-	{
-		return m_QName;
-	}
-
-
-	// These methods are inherited from ElemUse ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual	void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	XalanQNameByValue	m_QName;
-};
-
-
-
-inline bool
-operator==(
-			const ElemAttributeSet&		theLHS,
-			const ElemAttributeSet&		theRHS)
-{
-	return theLHS.getQName() == theRHS.getQName();
-}
-
-
-
-inline bool
-operator<(
-			const ElemAttributeSet&		theLHS,
-			const ElemAttributeSet&		theRHS)
-{
-	return theLHS.getQName() < theRHS.getQName();
-}
-
-
-
-#endif	// XALAN_ELEMATTRIBUTESET_HEADER_GUARD
diff --git a/src/XSLT/ElemCallTemplate.cpp b/src/XSLT/ElemCallTemplate.cpp
deleted file mode 100644
index f5a2479..0000000
--- a/src/XSLT/ElemCallTemplate.cpp
+++ /dev/null
@@ -1,206 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemCallTemplate.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "AVT.hpp"
-#include "Constants.hpp"
-#include "ElemTemplate.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-
-
-
-ElemCallTemplate::ElemCallTemplate(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_CALLTEMPLATE),
-	m_templateName(),
-	m_template(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_NAME))
-		{
-			m_templateName = XalanQNameByValue(atts.getValue(i), getStylesheet().getNamespaces());        
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:call-template has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if (m_templateName.isEmpty() == true)
-	{
-		constructionContext.error(
-			"xsl:call-template must have a 'name' attribute",
-			0,
-			this);
-	}
-	else if (isValidNCName(m_templateName.getLocalPart()) == false)
-	{
-		constructionContext.error(
-			"xsl:call-template has an invalid 'name' attribute",
-			0,
-			this);
-	}
-}
-
-
-	
-ElemCallTemplate::~ElemCallTemplate()
-{
-}
-
-
-
-const XalanDOMString&
-ElemCallTemplate::getElementName() const
-{
-	return Constants::ELEMNAME_CALLTEMPLATE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemCallTemplate::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-	assert(sourceNode != 0);
-
-	assert(m_template != 0);
-
-	StylesheetExecutionContext::ParamsPushPop	thePushPop(
-				executionContext,
-				*this,			
-				sourceNode,
-				m_template);
-
-	m_template->execute(executionContext);
-}
-
-
-
-void
-ElemCallTemplate::postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler)
-{
-	assert(m_templateName.isEmpty() == false);
-
-	m_template =
-		getStylesheet().getStylesheetRoot().findNamedTemplate(m_templateName);
-
-	if(m_template == 0)
-	{
-		constructionContext.error(
-			"Could not find named template.",
-			0,
-			this);
-	}
-
-	// OK, now we can chain-up...
-	ElemTemplateElement::postConstruction(constructionContext, theParentHandler);
-}
-
-
-
-bool
-ElemCallTemplate::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-	
-	switch(xslToken)
-	{
-	// char-instructions 
-	case Constants::ELEMNAME_WITHPARAM:
-		fResult = true;
-		break;
-		
-	default:
-		break;
-	}
-	
-	return fResult;
-}
diff --git a/src/XSLT/ElemCallTemplate.hpp b/src/XSLT/ElemCallTemplate.hpp
deleted file mode 100644
index fac503a..0000000
--- a/src/XSLT/ElemCallTemplate.hpp
+++ /dev/null
@@ -1,143 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMCALLTEMPLATE_HEADER_GUARD)
-#define XALAN_ELEMCALLTEMPLATE_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class ElemTemplate;
-
-
-
-class ElemCallTemplate: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:call-template" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemCallTemplate (
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemCallTemplate();
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	virtual void
-	postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler);
-
-	const ElemTemplate*
-	getTemplate() const
-	{
-		return m_template;
-	}
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	// not implemented
-	ElemCallTemplate(const ElemCallTemplate&);
-
-	ElemCallTemplate&
-	operator=(const ElemCallTemplate&);
-
-	// Data members...
-	XalanQNameByValue		m_templateName;
-
-	const ElemTemplate*		m_template;
-};
-
-
-
-#endif	// XALAN_ELEMCALLTEMPLATE_HEADER_GUARD
diff --git a/src/XSLT/ElemChoose.cpp b/src/XSLT/ElemChoose.cpp
deleted file mode 100644
index e0e756c..0000000
--- a/src/XSLT/ElemChoose.cpp
+++ /dev/null
@@ -1,193 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemChoose.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemWhen.hpp"
-#include "SelectionEvent.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-
-
-
-ElemChoose::ElemChoose(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_CHOOSE)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(isAttrOK(aname, atts, i, constructionContext) == false ||
-		   processSpaceAttr(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:choose has an illegal attribute",
-				0,
-				this);
-		}
-	}	
-}
-
-
-
-const XalanDOMString&
-ElemChoose::getElementName() const
-{
-	return Constants::ELEMNAME_CHOOSE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemChoose::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	XalanNode* sourceNode = executionContext.getCurrentNode();
-
-    for (const ElemTemplateElement* node = getFirstChildElem();
-			node != 0;
-				node = node->getNextSiblingElem()) 
-    {
-		const int	type = node->getXSLToken();
-
-		if(Constants::ELEMNAME_WHEN == type)
-		{
-			const ElemWhen* when = 
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const ElemWhen*)node;
-#else
-				static_cast<const ElemWhen*>(node);
-#endif
-
-			const XPath* const		theXPath = when->getXPath();
-			assert(theXPath != 0);
-
-			const XObjectPtr	test(theXPath->execute(sourceNode, *this, executionContext));
-			assert(test.null() == false);
-
-			if(0 != executionContext.getTraceListeners())
-			{
-				executionContext.fireSelectEvent(
-					SelectionEvent(executionContext,
-					sourceNode,
-					*when,
-					Constants::ATTRNAME_TEST,
-					*theXPath,
-					test));
-			}
-
-			if(test->boolean() == true)
-			{
-				node->execute(executionContext);
-
-				break;
-			}
-		}
-		else
-		{
-			// xsl:otherwise
-			node->execute(executionContext);
-		}
-    }
-}
-
-
-
-bool
-ElemChoose::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-	
-	switch(xslToken)
-	{
-	// char-instructions 
-    case Constants::ELEMNAME_WHEN:
-    case Constants::ELEMNAME_OTHERWISE:
-		fResult = true;
-		break;
-		
-	default:
-		break;
-	}
-	
-	return fResult;
-}
diff --git a/src/XSLT/ElemChoose.hpp b/src/XSLT/ElemChoose.hpp
deleted file mode 100644
index 0d0ad76..0000000
--- a/src/XSLT/ElemChoose.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMCHOOSE_HEADER_GUARD)
-#define XALAN_ELEMCHOOSE_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-class ElemChoose: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:choose" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemChoose(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-};
-
-
-
-#endif	// XALAN_ELEMCHOOSE_HEADER_GUARD
diff --git a/src/XSLT/ElemComment.cpp b/src/XSLT/ElemComment.cpp
deleted file mode 100644
index b2f5390..0000000
--- a/src/XSLT/ElemComment.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemComment.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemComment::ElemComment(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_COMMENT)
-{
-	const unsigned int nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(isAttrOK(aname, atts, i, constructionContext) == false ||
-		   processSpaceAttr(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:comment has an illegal attribute",
-				0,
-				this);
-		}
-	}	
-}
-
-
-
-ElemComment::~ElemComment()
-{
-}
-
-
-
-const XalanDOMString&
-ElemComment::getElementName() const
-{
-	return Constants::ELEMNAME_COMMENT_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemComment::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-    childrenToResultComment(executionContext);
-}
-
-
-
-bool
-ElemComment::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-	
-	switch(xslToken)
-	{
-	// char-instructions 
-	case Constants::ELEMNAME_TEXTLITERALRESULT:
-	case Constants::ELEMNAME_APPLY_TEMPLATES:
-	case Constants::ELEMNAME_APPLY_IMPORTS:
-	case Constants::ELEMNAME_CALLTEMPLATE:
-	case Constants::ELEMNAME_FOREACH:
-	case Constants::ELEMNAME_VALUEOF:
-	case Constants::ELEMNAME_COPY_OF:
-	case Constants::ELEMNAME_NUMBER:
-	case Constants::ELEMNAME_CHOOSE:
-	case Constants::ELEMNAME_IF:
-	case Constants::ELEMNAME_TEXT:
-	case Constants::ELEMNAME_COPY:
-	case Constants::ELEMNAME_VARIABLE:
-	case Constants::ELEMNAME_MESSAGE:
-		fResult = true;
-		break;
-		
-	default:
-		break;
-	}
-	
-	return fResult;
-}
diff --git a/src/XSLT/ElemComment.hpp b/src/XSLT/ElemComment.hpp
deleted file mode 100644
index 7eeaadf..0000000
--- a/src/XSLT/ElemComment.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMCOMMENT_HEADER_GUARD)
-#define XALAN_ELEMCOMMENT_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class ElemComment: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:comment" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemComment(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemComment();
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-};
-
-
-
-#endif	// XALAN_ELEMCOMMENT_HEADER_GUARD
diff --git a/src/XSLT/ElemCopy.cpp b/src/XSLT/ElemCopy.cpp
deleted file mode 100644
index d85be0f..0000000
--- a/src/XSLT/ElemCopy.cpp
+++ /dev/null
@@ -1,168 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemCopy.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-#include "TracerEvent.hpp"
-
-
-
-ElemCopy::ElemCopy(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemUse(constructionContext,
-			stylesheetTree,
-			lineNumber,
-			columnNumber,
-			Constants::ELEMNAME_COPY)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(!(processUseAttributeSets(constructionContext, aname, atts, i) ||
-				processSpaceAttr(aname, atts, i, constructionContext) ||
-				isAttrOK(aname, atts, i, constructionContext)))
-		{
-			constructionContext.error(
-				"xsl:copy has an illegal attribute",
-				0,
-				this);
-		}
-	}
-}
-
-
-
-const XalanDOMString&
-ElemCopy::getElementName() const
-{
-	return Constants::ELEMNAME_COPY_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemCopy::execute(StylesheetExecutionContext&	executionContext) const
-{
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-
-	assert(sourceNode != 0);
-
-	const XalanNode::NodeType	nodeType = sourceNode->getNodeType();
-
-	if(XalanNode::DOCUMENT_NODE != nodeType)
-	{
-		executionContext.cloneToResultTree(
-			*sourceNode,
-			nodeType,
-			false,
-			false,
-			false,
-			this);
-
-		if(XalanNode::ELEMENT_NODE == nodeType)
-		{
-			ElemUse::execute(executionContext);
-
-			executionContext.copyNamespaceAttributes(*sourceNode);
-
-			executeChildren(executionContext);
-
-			executionContext.endElement(c_wstr(sourceNode->getNodeName()));
-		}
-		else
-		{
-			if(0 != executionContext.getTraceListeners())
-			{
-				executionContext.fireTraceEvent(TracerEvent(executionContext,
-					*this));
-			}
-		}
-	}
-	else
-	{
-		if(0 != executionContext.getTraceListeners())
-		{
-			executionContext.fireTraceEvent(TracerEvent(executionContext, 				
-				*this));
-		}
-
-		ElemUse::execute(executionContext);
-
-		executeChildren(executionContext);
-	}  
-}
diff --git a/src/XSLT/ElemCopy.hpp b/src/XSLT/ElemCopy.hpp
deleted file mode 100644
index b0d0b7d..0000000
--- a/src/XSLT/ElemCopy.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMCOPY_HEADER_GUARD)
-#define XALAN_ELEMCOPY_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemUse.hpp"
-
-
-
-class ElemCopy: public ElemUse
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:copy" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemCopy(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-	
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-};
-
-
-
-#endif	// XALAN_ELEMAPPLYIMPORT_HEADER_GUARD
diff --git a/src/XSLT/ElemCopyOf.cpp b/src/XSLT/ElemCopyOf.cpp
deleted file mode 100644
index 4f2ff41..0000000
--- a/src/XSLT/ElemCopyOf.cpp
+++ /dev/null
@@ -1,292 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemCopyOf.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XPath/XObject.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemWhen.hpp"
-#include "SelectionEvent.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-
-
-
-ElemCopyOf::ElemCopyOf(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_COPY_OF),
-	m_selectPattern(0),
-	m_isDot(false)
-{
-	const unsigned int	nAttrs = atts.getLength();
-	
-	for(unsigned int i = 0; i < nAttrs; ++i)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_SELECT))
-		{
-			const XalanDOMChar* const	avalue = atts.getValue(i);
-			assert(avalue != 0);
-
-			if (avalue[0] == XalanUnicode::charFullStop && avalue[1] == 0)
-			{
-				m_isDot = true;
-			}
-
-			m_selectPattern = constructionContext.createXPath(getLocator(), avalue, *this);
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:copy-of has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if (m_selectPattern == 0)
-	{
-		constructionContext.error(
-			"xsl:copy-of must have a 'select' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-const XalanDOMString&
-ElemCopyOf::getElementName() const
-{
-	return Constants::ELEMNAME_COPY_OF_WITH_PREFIX_STRING;
-}
-
-
-
-inline void
-ElemCopyOf::doCloneNode(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode&						theNode) const
-{
-	XalanNode*				pos = &theNode;
-	XalanNode::NodeType		posNodeType = pos->getNodeType();
-
-	while(pos != 0)
-	{
-		if(posNodeType != XalanNode::ATTRIBUTE_NODE)
-		{
-			executionContext.flushPending();
-		}
-
-		executionContext.cloneToResultTree(
-						*pos,
-						posNodeType,
-						false,
-						false,
-						true,
-						this);
-
-		XalanNode*	nextNode = pos->getFirstChild();
-
-		while(nextNode == 0)
-		{
-			if(XalanNode::ELEMENT_NODE == posNodeType)
-			{
-				executionContext.endElement(c_wstr(pos->getNodeName()));
-			}
-
-			if(&theNode == pos)
-				break;
-
-			nextNode = pos->getNextSibling();
-
-			if(nextNode == 0)
-			{
-				pos = pos->getParentNode();
-				assert(pos != 0);
-
-				posNodeType = pos->getNodeType();
-
-				if(&theNode == pos)
-				{
-					if(XalanNode::ELEMENT_NODE == posNodeType)
-					{
-						executionContext.endElement(c_wstr(pos->getNodeName()));
-					}
-
-					nextNode = 0;
-					break;
-				}
-			}
-		}
-
-		pos = nextNode;
-
-		if (pos != 0)
-		{
-			posNodeType = pos->getNodeType();
-		}
-	}
-}
-
-
-
-inline void
-ElemCopyOf::doCloneNodeSet(
-			StylesheetExecutionContext&		executionContext,
-			const NodeRefListBase&			theNodeList) const
-{
-	const NodeRefListBase::size_type	nChildren = theNodeList.getLength();
-
-	for(NodeRefListBase::size_type i = 0; i < nChildren; i++)
-	{
-		assert(theNodeList.item(i) != 0);
-
-		doCloneNode(executionContext, *theNodeList.item(i));
-	}
-}
-
-
-
-void
-ElemCopyOf::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	assert(m_selectPattern != 0);
-
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-	assert(sourceNode != 0);
-
-	if (m_isDot == true)
-	{
-		if(0 != executionContext.getTraceListeners())
-		{
-			executionContext.fireSelectEvent(
-				SelectionEvent(
-					executionContext,
-					sourceNode,
-					*this,
-					StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("select")),
-					*m_selectPattern,
-					XObjectPtr()));
-		}
-
-		doCloneNode(executionContext, *sourceNode);
-	}
-	else
-	{
-		const XObjectPtr	value(m_selectPattern->execute(sourceNode, *this, executionContext));
-		assert(value.null() == false);
-
-		if(0 != executionContext.getTraceListeners())
-		{
-			executionContext.fireSelectEvent(
-				SelectionEvent(
-					executionContext,
-					sourceNode,
-					*this,
-					StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("select")),
-					*m_selectPattern,
-					value));
-		}
-
-		const XObject::eObjectType	type = value->getType();
-
-		switch(type)
-		{
-		case XObject::eTypeBoolean:
-		case XObject::eTypeNumber:
-		case XObject::eTypeString:
-			executionContext.characters(value);
-			break;
-
-		case XObject::eTypeNodeSet:
-			doCloneNodeSet(executionContext, value->nodeset());
-			break;
-
-		case XObject::eTypeResultTreeFrag:
-			executionContext.outputResultTreeFragment(*value.get());
-			break;
-
-		default:
-			executionContext.characters(value);
-			break;
-		}
-	}
-}
diff --git a/src/XSLT/ElemCopyOf.hpp b/src/XSLT/ElemCopyOf.hpp
deleted file mode 100644
index 7626d11..0000000
--- a/src/XSLT/ElemCopyOf.hpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMCOPYOF_HEADER_GUARD)
-#define XALAN_ELEMCOPYOF_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class NodeRefListBase;
-class XPath;
-
-
-
-class ElemCopyOf: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:copy-of" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemCopyOf(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-	
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-private:
-
-	void
-	doCloneNode(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode&						theNode) const;
-
-	void
-	doCloneNodeSet(
-			StylesheetExecutionContext&		executionContext,
-			const NodeRefListBase&			theNodeList) const;
-
-	const XPath*	m_selectPattern;
-
-	bool			m_isDot;
-};
-
-
-
-#endif	// XALAN_ELEMCOPYOF_HEADER_GUARD
diff --git a/src/XSLT/ElemDecimalFormat.cpp b/src/XSLT/ElemDecimalFormat.cpp
deleted file mode 100644
index 8693a6e..0000000
--- a/src/XSLT/ElemDecimalFormat.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemDecimalFormat.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemDecimalFormat::ElemDecimalFormat(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet& 					stylesheetTree,
-			const AttributeList&			atts,
-			int 							lineNumber,
-			int 							columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_DECIMALFORMAT),
-	m_countMatchPattern(0),
-	m_fromMatchPattern(0),
-	m_valueExpr(0),
-	m_qname(),
-	m_decimalFormatSymbols()
-{
-	m_decimalFormatSymbols.setInfinity(XalanDOMString());
-	m_decimalFormatSymbols.setNaN(XalanDOMString());
-
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const		aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_NAME))
-		{
-			assert(atts.getValue(i) != 0);
-
-			m_qname = XalanQNameByValue(atts.getValue(i), getStylesheet().getNamespaces());;
-		}
-		else if(equals(aname, Constants::ATTRNAME_DECIMALSEPARATOR))
-		{
-			const XalanDOMChar* const	decimalSepValue = atts.getValue(i);
-			assert(decimalSepValue != 0);
-
-			if (length(decimalSepValue) == 1)
-			{
-				m_decimalFormatSymbols.setDecimalSeparator(decimalSepValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal decimal-separator attribute value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_GROUPINGSEPARATOR))
-		{
-			const XalanDOMChar* const	sepValue = atts.getValue(i);
-			assert(sepValue!= 0);
-
-			if (length(sepValue) == 1)
-			{
-				m_decimalFormatSymbols.setGroupingSeparator(sepValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'grouping-separator' value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_INFINITY))
-		{
-			assert(atts.getValue(i) != 0);
-
-			m_decimalFormatSymbols.setInfinity(atts.getValue(i));
-		}
-		else if(equals(aname, Constants::ATTRNAME_MINUSSIGN))
-		{
-			const XalanDOMChar* const	minusValue = atts.getValue(i);
-			assert(minusValue != 0);
-
-			if (length(minusValue) == 1)
-			{
-				m_decimalFormatSymbols.setMinusSign(minusValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'minus-sign' value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_NAN))
-		{
-			assert(atts.getValue(i) != 0);
-
-			m_decimalFormatSymbols.setNaN(atts.getValue(i));
-		}
-		else if(equals(aname, Constants::ATTRNAME_PERCENT))
-		{
-			const XalanDOMChar* const	percentValue = atts.getValue(i);
-			assert(percentValue != 0);
-
-			if (length(percentValue) == 1)
-			{
-				m_decimalFormatSymbols.setPercent(percentValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'percent' value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_PERMILLE))
-		{
-			const XalanDOMChar* const	permilleValue = atts.getValue(i);
-			assert(permilleValue != 0);
-
-			if (length(permilleValue) == 1)
-			{
-				m_decimalFormatSymbols.setPerMill(permilleValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'per-mille' value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_ZERODIGIT))
-		{
-			const XalanDOMChar* const	zeroDigitValue = atts.getValue(i);
-			assert(zeroDigitValue != 0);
-
-			if (length(zeroDigitValue) == 1)
-			{
-				m_decimalFormatSymbols.setZeroDigit(zeroDigitValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'zero-digit' value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_DIGIT))
-		{
-			const XalanDOMChar* const	digitValue = atts.getValue(i);
-			assert(digitValue != 0);
-
-			if (length(digitValue) == 1)
-			{
-				m_decimalFormatSymbols.setDigit(digitValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'digit' value",
-					0,
-					this);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_PATTERNSEPARATOR))
-		{
-			const XalanDOMChar* const	patternSepValue = atts.getValue(i);
-			assert(patternSepValue != 0);
-
-			if (length(patternSepValue) == 1)
-			{
-				m_decimalFormatSymbols.setPatternSeparator(patternSepValue[0]);
-			}
-			else
-			{
-				constructionContext.warn(
-					"xsl:decimal-format has an illegal 'pattern-separator' value",
-					0,
-					this);
-			}
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:decimal-format has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if (length(m_decimalFormatSymbols.getInfinity()) == 0)
-	{
-		m_decimalFormatSymbols.setInfinity(Constants::ATTRVAL_INFINITY);
-	}
-
-	if (length(m_decimalFormatSymbols.getNaN()) == 0)
-	{
-		m_decimalFormatSymbols.setNaN(Constants::ATTRVAL_NAN);
-	}
-
-	// Look for duplicate decimal-format names
-	const XalanDecimalFormatSymbols* const	theOther =
-			stylesheetTree.getDecimalFormatSymbols(m_qname);
-
-	if (theOther != 0 && *theOther != m_decimalFormatSymbols)
-	{
-		constructionContext.error(
-			"Duplicate definition of xsl:decimal-format element",
-			0,
-			this);
-	}
-}
-
-
-
-ElemDecimalFormat::~ElemDecimalFormat()
-{
-}
-
-
-
-const XalanDOMString&
-ElemDecimalFormat::getElementName() const
-{
-	return Constants::ELEMNAME_DECIMALFORMAT_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemDecimalFormat::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-}
diff --git a/src/XSLT/ElemDecimalFormat.hpp b/src/XSLT/ElemDecimalFormat.hpp
deleted file mode 100644
index 72e804b..0000000
--- a/src/XSLT/ElemDecimalFormat.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMDECIMALFORMAT_HEADER_GUARD)
-#define XALAN_ELEMDECIMALFORMAT_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <PlatformSupport/XalanDecimalFormatSymbols.hpp>
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-class XPath;
-
-
-
-class ElemDecimalFormat : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to a decimal-format element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemDecimalFormat(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	~ElemDecimalFormat();
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	const XalanDecimalFormatSymbols&
-	getDecimalFormatSymbols() const
-	{
-		return m_decimalFormatSymbols;
-	}
-
-	const XalanQName&
-	getQName() const
-	{
-		return m_qname;
-	}
-
-private:
-
-	const XPath*				m_countMatchPattern;
-	const XPath*				m_fromMatchPattern;
-	const XPath*				m_valueExpr;
-
-	XalanQNameByValue			m_qname;
-
-	XalanDecimalFormatSymbols	m_decimalFormatSymbols;
-};
-
-
-
-#endif	// XALAN_ELEMEMPTY_HEADER_GUARD
-
-
diff --git a/src/XSLT/ElemElement.cpp b/src/XSLT/ElemElement.cpp
deleted file mode 100644
index d05e85d..0000000
--- a/src/XSLT/ElemElement.cpp
+++ /dev/null
@@ -1,433 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemElement.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "AVT.hpp"
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemElement::ElemElement(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemUse(constructionContext,
-			stylesheetTree,
-			lineNumber,
-			columnNumber,
-			Constants::ELEMNAME_ELEMENT),
-	m_nameAVT(0),
-	m_namespaceAVT(0)
-{
-	// Namespace aliases are not used for xsl:element, so
-	// turn them off...
-	m_namespacesHandler.setProcessNamespaceAliaises(false);
-
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_NAME))
-		{
-			m_nameAVT = new AVT(getLocator(), aname,	atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_NAMESPACE))
-		{
-			m_namespaceAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext); 
-		}
-		else if(!(processUseAttributeSets(constructionContext, aname, atts, i) ||
-			    processSpaceAttr(aname, atts, i, constructionContext) ||
-				isAttrOK(aname, atts, i, constructionContext)))
-		{
-			constructionContext.error(
-				"xsl:element has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(0 == m_nameAVT)
-	{
-		constructionContext.error(
-			"xsl:element must have a 'name' attribute",
-			0,
-			this);
-	}
-	
-}
-
-
-
-ElemElement::~ElemElement()
-{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete (AVT*)m_nameAVT;
-
-	delete (AVT*)m_namespaceAVT;
-#else
-	delete m_nameAVT;
-
-	delete m_namespaceAVT;
-#endif
-}
-
-
-
-const XalanDOMString&
-ElemElement::getElementName() const
-{
-	return Constants::ELEMNAME_ELEMENT_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemElement::execute(StylesheetExecutionContext&		executionContext) const
-{
-	StylesheetExecutionContext::GetAndReleaseCachedString	elemNameGuard(executionContext);
-
-	XalanDOMString&		elemName = elemNameGuard.get();
-
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-
-	m_nameAVT->evaluate(elemName, sourceNode, *this, executionContext);
-
-	bool	isIllegalElement = !XalanQName::isValidQName(elemName);
-
-	if (isIllegalElement == true)
-	{
-		executionContext.warn(
-			"Illegal element name",
-			sourceNode,
-			getLocator());
-
-		ElemUse::doExecute(executionContext, false);
-
-		doExecuteChildren(executionContext, true);
-	}
-	else
-	{
-		StylesheetExecutionContext::GetAndReleaseCachedString	elemNameSpaceGuard(executionContext);
-
-		XalanDOMString&		elemNameSpace = elemNameSpaceGuard.get();
-
-		if (m_namespaceAVT != 0)
-		{
-			m_namespaceAVT->evaluate(elemNameSpace, sourceNode, *this, executionContext);
-		}
-
-		XalanDOMString::size_type	namespaceLen = length(elemNameSpace);
-
-		bool	hasUnresolvedPrefix = false;
-
-		bool	foundResultNamespaceForPrefix = false;
-
-		XalanDOMString::size_type			len = length(elemName);
-
-		const XalanDOMString::size_type		indexOfNSSep = indexOf(elemName, XalanUnicode::charColon);
-
-		const bool	haveNamespace = indexOfNSSep == len ? false : true;
-
-		StylesheetExecutionContext::GetAndReleaseCachedString	prefixGuard(executionContext);
-
-		XalanDOMString&		prefix = prefixGuard.get();
-
-		if (haveNamespace == true)
-		{
-			substring(elemName, prefix, 0, indexOfNSSep);
-
-			const XalanDOMString* const		theNamespace =
-				executionContext.getResultNamespaceForPrefix(prefix);
-
-			if (theNamespace != 0)
-			{
-				foundResultNamespaceForPrefix = true;
-			}
-			else
-			{
-				const XalanDOMString* const		theNamespace =
-					m_namespacesHandler.getNamespace(prefix);
-
-				if(theNamespace == 0 && namespaceLen == 0)
-				{
-					executionContext.warn(
-						"Could not resolve prefix",
-						sourceNode,
-						getLocator());
-
-					if (m_namespaceAVT != 0)
-					{
-						hasUnresolvedPrefix = true;
-
-						elemName.erase(0, indexOfNSSep + 1);
-					}
-					else
-					{
-						isIllegalElement = true;
-
-						executionContext.warn(
-							"Illegal element name",
-							sourceNode,
-							getLocator());
-					}
-				}
-				else if (theNamespace != 0 &&
-						 namespaceLen == 0 &&
-						 equals(prefix, DOMServices::s_XMLNamespace) == false)
-				{
-					elemNameSpace = *theNamespace;
-				}
-			}
-		}
-
-		if (isIllegalElement == false)
-		{
-			executionContext.startElement(c_wstr(elemName));   
-
-			if(0 == m_namespaceAVT &&
-			   (haveNamespace == false || foundResultNamespaceForPrefix == true))
-			{
-				outputResultNamespaces(executionContext, hasUnresolvedPrefix);
-			}
-			else
-			{
-				if(namespaceLen == 0 && hasUnresolvedPrefix == true)
-				{
-					outputResultNamespaces(
-						executionContext,
-						hasUnresolvedPrefix,
-						length(getParentDefaultNamespace()) == 0 ? true : false);
-				}
-				else
-				{
-					if(haveNamespace == false)
-					{
-						if (namespaceLen > 0)
-						{
-							outputResultNamespaces(executionContext, hasUnresolvedPrefix);
-
-							executionContext.addResultAttribute(DOMServices::s_XMLNamespace, elemNameSpace);
-						}
-						else
-						{
-							// OK, the namespace we're generating is the default namespace,
-							// so let's make sure that we really need it.  If we don't,
-							// we end up with another xmlns="" on the element we're
-							// generating.  Although this isn't really an error, it's
-							// a bit unsightly, so let's suppress it...
-							const XalanDOMString&	theParentDefaultNamespace =
-								getParentDefaultNamespace();
-
-							if (length(theParentDefaultNamespace) == 0)
-							{
-								// There's not default namespace in effect, so suppress any
-								// default namespace in the statically-generated namespaces,
-								// and don't put out the one we've dynamically generated...
-								outputResultNamespaces(executionContext, hasUnresolvedPrefix, true);
-							}
-							else
-							{
-								outputResultNamespaces(executionContext, hasUnresolvedPrefix, false);
-
-								executionContext.addResultAttribute(DOMServices::s_XMLNamespace, elemNameSpace);
-							}
-						}
-					}
-					else
-					{
-						outputResultNamespaces(executionContext, hasUnresolvedPrefix);
-
-						const XalanDOMString* const		theNamespace =
-							executionContext.getResultNamespaceForPrefix(prefix);
-
-						if (theNamespace == 0 ||
-							equals(*theNamespace, elemNameSpace) == false)
-						{
-							insert(prefix, 0, DOMServices::s_XMLNamespaceWithSeparator);
-
-							executionContext.addResultAttribute(prefix, elemNameSpace);
-						}
-					}
-				}
-			}
-		}
-
-		if (isIllegalElement == true)
-		{
-			ElemUse::doExecute(executionContext, false);
-
-			doExecuteChildren(executionContext, true);
-		}
-		else
-		{
-			ElemUse::doExecute(executionContext, true);
-
-			doExecuteChildren(executionContext, false);
-
-			executionContext.endElement(c_wstr(elemName));
-		}
-	}
-}
-
-
-
-void
-ElemElement::doExecuteChildren(
-			StylesheetExecutionContext&		executionContext,			
-			bool							skipAttributeChildren) const
-{
-	if (skipAttributeChildren == false)
-	{
-		// If we should execute all children, then just call
-		// executeChildren()...
-		executeChildren(executionContext);
-	}
-	else
-	{
-		StylesheetExecutionContext::PushAndPopElementFrame	thePushAndPop(executionContext, this);
-
-		for (ElemTemplateElement* node = getFirstChildElem(); node != 0; node = node->getNextSiblingElem()) 
-		{
-			if (node->getXSLToken() != Constants::ELEMNAME_ATTRIBUTE)
-			{
-				node->execute(executionContext);
-			}
-		}
-	}
-}
-
-
-
-void
-ElemElement::outputResultNamespaces(
-			StylesheetExecutionContext&		executionContext,			
-			bool							hasUnresolvedPrefix,
-			bool							supressDefault) const
-{
-	m_namespacesHandler.outputResultNamespaces(executionContext, supressDefault);
-
-	if (supressDefault == false)
-	{
-		// OK, now let's check to make sure we don't have to change the default namespace...
-		const XalanDOMString* const		theCurrentDefaultNamespace =
-					executionContext.getResultNamespaceForPrefix(s_emptyString);
-
-		if (theCurrentDefaultNamespace != 0)
-		{
-			const XalanDOMString* const		theElementDefaultNamespace =
-						m_namespacesHandler.getNamespace(s_emptyString);
-
-			if (hasUnresolvedPrefix == true || theElementDefaultNamespace == 0)
-			{
-				// There was no default namespace, so we have to turn the
-				// current one off.
-				executionContext.addResultAttribute(DOMServices::s_XMLNamespace, s_emptyString);
-			}
-			else if (equals(*theCurrentDefaultNamespace, *theElementDefaultNamespace) == false)
-			{
-				executionContext.addResultAttribute(DOMServices::s_XMLNamespace, *theElementDefaultNamespace);
-			}
-		}
-	}
-}
-
-
-
-const XalanDOMString&
-ElemElement::getParentDefaultNamespace() const
-{
-	const ElemTemplateElement* const	theParent =
-		getParentNodeElem();
-
-	if (theParent == 0)
-	{
-		return s_emptyString;
-	}
-	else
-	{
-		const XalanDOMString* const		theParentDefaultNamespace =
-						theParent->getNamespacesHandler().getNamespace(s_emptyString);
-
-		if (theParentDefaultNamespace == 0)
-		{
-			return s_emptyString;
-		}
-		else
-		{
-			return *theParentDefaultNamespace;
-		}
-	}
-}
diff --git a/src/XSLT/ElemElement.hpp b/src/XSLT/ElemElement.hpp
deleted file mode 100644
index 3694044..0000000
--- a/src/XSLT/ElemElement.hpp
+++ /dev/null
@@ -1,166 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMELEMENT_HEADER_GUARD)
-#define XALAN_ELEMELEMENT_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemUse.hpp"
-
-
-
-class AVT;
-
-
-
-class ElemElement: public ElemUse
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:element" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemElement(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemElement();
-
-	// These methods are inherited from ElemUse ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void 
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	/** 
-	 * Process the children of a template.
-	 * 
-	 * @param executionContext The current execution context
-	 * @param skipAttributeChildren If true, attribute children will not be executed.
-	 */
-	virtual void
-	doExecuteChildren(
-			StylesheetExecutionContext&		executionContext,
-			bool							skipAttributeChildren) const;
-
-private:
-
-	/** 
-	 * Output the static namespace definitions.
-	 * 
-	 * @param executionContext The current execution context
-	 * @param true if the element being generated has an unresolved prefix.
-	 * @param supressDefault If true, any default namespace declaration will not be output.
-	 */
-	void
-	outputResultNamespaces(
-			StylesheetExecutionContext&		executionContext,
-			bool							hasUnresolvedPrefix,
-			bool							supressDefault = false) const;
-
-	/** 
-	 * Get the default namespace from the parent of this element.  Returns
-	 * an empty string if there's no default namespace.
-	 *
-	 * @return The default namespace of the parent, if any.
-	 */
-	const XalanDOMString&
-	getParentDefaultNamespace() const;
-
-
-	// not implemented
-	ElemElement(const ElemElement &);
-
-	ElemElement&
-	operator=(const ElemElement &);
-
-	// Data members...
-	const AVT*				m_nameAVT;
-
-	const AVT*				m_namespaceAVT;
-};
-
-
-
-#endif	// XALAN_ELEMELEMENT_HEADER_GUARD
diff --git a/src/XSLT/ElemEmpty.cpp b/src/XSLT/ElemEmpty.cpp
deleted file mode 100644
index d862431..0000000
--- a/src/XSLT/ElemEmpty.cpp
+++ /dev/null
@@ -1,113 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemEmpty.hpp"
-
-
-
-#include <cassert>
-
-
-#include "Constants.hpp"
-
-
-
-ElemEmpty::ElemEmpty(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			const XalanDOMString*			elementName) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_UNDEFINED),
-	m_elementName(elementName)
-{
-}
-
-
-
-ElemEmpty::~ElemEmpty()
-{
-}
-
-
-
-const XalanDOMString&
-ElemEmpty::getElementName() const
-{
-	return m_elementName != 0 ? *m_elementName : s_emptyString;
-}
-
-
-
-void
-ElemEmpty::execute(StylesheetExecutionContext&		executionContext) const
-{
-	assert(false);	// really shouldn't be executing empty nodes
-
-	ElemTemplateElement::execute(executionContext);
-}
-
-
-
-bool
-ElemEmpty::childTypeAllowed(int		/* xslToken */) const
-{
-	return false;
-}
diff --git a/src/XSLT/ElemEmpty.hpp b/src/XSLT/ElemEmpty.hpp
deleted file mode 100644
index a962d13..0000000
--- a/src/XSLT/ElemEmpty.hpp
+++ /dev/null
@@ -1,120 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMEMPTY_HEADER_GUARD)
-#define XALAN_ELEMEMPTY_HEADER_GUARD 
-
-/**
- * Simple empty elem to push on the stack when nothing 
- * else got pushed, so that pop() works correctly.
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class ElemEmpty : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an empty element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 * @param elementName The element name for which this instance is representing
-	 */
-	ElemEmpty(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			const XalanDOMString*			elementName = 0);
-
-	virtual
-	~ElemEmpty();
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	const XalanDOMString* const		m_elementName;
-};
-
-
-#endif	// XALAN_ELEMEMPTY_HEADER_GUARD
-
-
diff --git a/src/XSLT/ElemExtensionCall.cpp b/src/XSLT/ElemExtensionCall.cpp
deleted file mode 100644
index 2bc2ab4..0000000
--- a/src/XSLT/ElemExtensionCall.cpp
+++ /dev/null
@@ -1,118 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemExtensionCall.hpp"
-
-
-
-#include "Constants.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemExtensionCall::ElemExtensionCall(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const XalanDOMChar*				name,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber,
-			ExtensionNSHandler&				ns,
-			const XalanDOMString&			localpart) :
-	ElemLiteralResult(constructionContext,
-					  stylesheetTree,
-					  name,
-					  atts,
-					  lineNumber,
-					  columnNumber,
-					  Constants::ELEMNAME_EXTENSIONCALL),
-	m_name(name),
-	m_nsh(ns),
-	m_localPart(localpart)	
-{
-}
-
-
-
-const XalanDOMString&
-ElemExtensionCall::getElementName() const
-{
-	return m_name;
-}
-
-
-
-void
-ElemExtensionCall::execute(StylesheetExecutionContext&		executionContext) const
-{
-	executionContext.warn("Xalan C++ does not yet handle extensions!");
-
-	for (const ElemTemplateElement*	child = getFirstChildElem(); child != 0; child = child->getNextSiblingElem())
-	{
-		if(child->getXSLToken() == Constants::ELEMNAME_FALLBACK)
-		{
-			child->execute(executionContext);
-		}
-	}
-}
-
-
-
-bool
-ElemExtensionCall::elementAvailable(StylesheetExecutionContext&		executionContext) const
-{
-	return executionContext.elementAvailable(XalanDOMString(), m_localPart);
-}
diff --git a/src/XSLT/ElemExtensionCall.hpp b/src/XSLT/ElemExtensionCall.hpp
deleted file mode 100644
index 7e6378a..0000000
--- a/src/XSLT/ElemExtensionCall.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMEXTENSIONCALL_HEADER_GUARD)
-#define XALAN_ELEMEXTENSIONCALL_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemLiteralResult.hpp"
-
-
-
-class ExtensionNSHandler;
-
-
-
-class ElemExtensionCall: public ElemLiteralResult
-{
-public:
-
-	/**
-	 * Construct an object corresponding to calling an XSL extension
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param name                name of element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 * @param ns                  handler for the extension
-	 * @param localPart			   element name's local part
-	 */
-	ElemExtensionCall(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const XalanDOMChar*				name,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber,
-			ExtensionNSHandler&				ns,
-			const XalanDOMString&			localpart);
-	
-	// These methods are inherited from ElemLiteralResult ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	bool
-	elementAvailable(StylesheetExecutionContext&	executionContext) const;
-
-private:
-
-	const XalanDOMString	m_name;
-
-	ExtensionNSHandler&		m_nsh;
-
-	const XalanDOMString	m_localPart;
-};
-
-
-
-#endif	// XALAN_ELEMEXTENSIONCALL_HEADER_GUARD
diff --git a/src/XSLT/ElemFallback.cpp b/src/XSLT/ElemFallback.cpp
deleted file mode 100644
index a53c255..0000000
--- a/src/XSLT/ElemFallback.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemFallback.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemFallback::ElemFallback(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet& 					stylesheetTree,
-			const AttributeList&			atts,
-			int 							lineNumber,
-			int 							columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_FALLBACK)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_XMLSPACE:
-			processSpaceAttr(atts, i, constructionContext);
-			break;
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:fallback has an illegal attribute",
-					0,
-					this);
-			}
-		}
-	}
-}
-
-
-
-const XalanDOMString&
-ElemFallback::getElementName() const
-{
-	return Constants::ELEMNAME_FALLBACK_WITH_PREFIX_STRING;
-}
-
-
-
-ElemFallback::~ElemFallback()
-{
-}
-
-
-
-void
-ElemFallback::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	executeChildren(executionContext);
-}
diff --git a/src/XSLT/ElemFallback.hpp b/src/XSLT/ElemFallback.hpp
deleted file mode 100644
index 3628e00..0000000
--- a/src/XSLT/ElemFallback.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMTEXTLITERAL_HEADER_GUARD)
-#define XALAN_FALLBACK_HEADER_GUARD
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class ElemFallback : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an xsl:fallback element
-	 * 
-	 * @param constructionContext   context for construction of object
-	 * @param stylesheetTree        stylesheet containing element
-	 * @param atts					the attribute list
-	 * @param lineNumber            line number in document
-	 * @param columnNumber          column number in document
-	 */
-	ElemFallback(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemFallback();
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-private:
-
-	// not implemented
-	ElemFallback(const ElemFallback&);
-
-	ElemFallback&
-	operator=(const ElemFallback&);
-};
-
-
-
-#endif	// XALAN_FALLBACK_HEADER_GUARD 
diff --git a/src/XSLT/ElemForEach.cpp b/src/XSLT/ElemForEach.cpp
deleted file mode 100644
index 9d95338..0000000
--- a/src/XSLT/ElemForEach.cpp
+++ /dev/null
@@ -1,342 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemForEach.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "ElemSort.hpp"
-#include "NodeSorter.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemForEach::ElemForEach(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_FOREACH),
-	m_selectPattern(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-		
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_SELECT))
-		{
-			m_selectPattern = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-		}
-		else if(!(isAttrOK(aname, atts, i, constructionContext) ||
-				processSpaceAttr(aname, atts, i, constructionContext)))
-		{
-			constructionContext.error(
-				"xsl:for-each has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(0 == m_selectPattern)
-	{
-		constructionContext.error(
-			"xsl:for-each must have a 'select' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemForEach::ElemForEach(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						xslToken),
-	m_selectPattern(0)
-{
-}
-
-
-
-ElemForEach::~ElemForEach()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_sortElems.begin(),
-			 m_sortElems.end(),
-			 DeleteFunctor<ElemSort>());
-}
-
-
-
-const XalanDOMString&
-ElemForEach::getElementName() const
-{
-	return Constants::ELEMNAME_FOREACH_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemForEach::execute(StylesheetExecutionContext&	executionContext) const
-{
-	assert(m_selectPattern != 0);
-
-	StylesheetExecutionContext::SetAndRestoreCurrentTemplate	theSetAndRestore(executionContext, 0);
-
-	if (hasChildren() == true)
-	{
-		XalanNode* const	sourceNode = executionContext.getCurrentNode();
-
-		if (sourceNode != 0)
-		{
-			transformSelectedChildren(
-				executionContext,
-				this,
-				sourceNode,
-				executionContext.getCurrentStackFrameIndex());
-		}
-		else
-		{
-			executionContext.error(
-				"There is no current node in ElemForEach::execute()!",
-				sourceNode, 
-				this);
-		}
-	}
-}
-
-
-
-void
-ElemForEach::transformSelectedChildren(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement*		theTemplate,
-			XalanNode*						sourceNodeContext,
-			int								selectStackFrameIndex) const
-{
-	const SortElemsVectorType&				sortElements = getSortElems();
-	const SortElemsVectorType::size_type	nChildren = sortElements.size();
-
-	if (nChildren == 0)
-	{
-		ElemTemplateElement::transformSelectedChildren(
-					executionContext,
-					*this,
-					theTemplate,
-					sourceNodeContext,
-					*m_selectPattern,
-					0,
-					selectStackFrameIndex);
-	}
-	else
-	{
-		typedef NodeSorter::NodeSortKeyVectorType					NodeSortKeyVectorType;
-		typedef StylesheetExecutionContext::BorrowReturnNodeSorter	BorrowReturnNodeSorter;
-
-		BorrowReturnNodeSorter	sorter(executionContext);
-
-		NodeSortKeyVectorType&	keys = sorter->getSortKeys();
-		assert(keys.size() == 0);
-
-		CollectionClearGuard<NodeSortKeyVectorType>		guard(keys);
-
-		// Reserve the space now...
-		keys.reserve(nChildren);
-
-		// Get some temporary strings to use for evaluting the AVTs...
-		XPathExecutionContext::GetAndReleaseCachedString	theTemp1(executionContext);
-
-		XalanDOMString&		langString = theTemp1.get();
-
-		XPathExecutionContext::GetAndReleaseCachedString	theTemp2(executionContext);
-
-		XalanDOMString&		scratchString = theTemp2.get();
-
-		// March backwards, performing a sort on each xsl:sort child.
-		// Probably not the most efficient method.
-		for(SortElemsVectorType::size_type	i = 0; i < nChildren; i++)
-		{
-			const ElemSort* const	sort = sortElements[i];
-			assert(sort != 0);
-
-			const AVT* avt = sort->getLangAVT();
-
-			if(0 != avt)
-			{
-				avt->evaluate(langString, sourceNodeContext, *this, executionContext);
-			}
-
-			avt = sort->getDataTypeAVT();
-
-			if(0 != avt)
-			{
-				avt->evaluate(scratchString, sourceNodeContext, *this, executionContext);
-			}			
-
-			bool	treatAsNumbers = false;
-
-			if (isEmpty(scratchString) == false)
-			{
-				if (equals(scratchString, Constants::ATTRVAL_DATATYPE_NUMBER) == true)
-				{
-					treatAsNumbers = true;
-				}
-				else if (equals(scratchString, Constants::ATTRVAL_DATATYPE_TEXT) == false)
-				{
-					const XalanQNameByValue		theQName(scratchString, this);
-
-					if (theQName.getNamespace().length() == 0)
-					{
-						executionContext.error(
-							"xsl:sort data-type must be 'text', 'number' or a prefixed name",
-							sourceNodeContext,
-							sort->getLocator());
-					}
-					else
-					{
-						executionContext.warn(
-							"xsl:sort has an unknown data-type.  The data-type will be 'text'",
-							sourceNodeContext,
-							sort->getLocator());
-					}
-				}
-			}
-
-			clear(scratchString);
-
-			avt = sort->getOrderAVT();
-
-			if(0 != avt)
-			{
-				avt->evaluate(scratchString, sourceNodeContext, *this, executionContext);
-			}			
-
-			bool	descending = false;
-			
-			if (isEmpty(scratchString) == false)
-			{
-				if (equals(scratchString, Constants::ATTRVAL_ORDER_DESCENDING) == true)
-				{
-					descending = true;
-				}
-				else if (equals(scratchString, Constants::ATTRVAL_ORDER_ASCENDING) == false)
-				{
-					executionContext.error(
-						"xsl:sort order must be 'ascending' or 'descending'",
-						sourceNodeContext,
-						sort->getLocator());
-				}
-			}
-
-			clear(scratchString);
-
-			assert(sort->getSelectPattern() != 0);
-
-			keys.push_back(
-					NodeSortKey(
-						executionContext, 
-						*sort->getSelectPattern(), 
-						treatAsNumbers, 
-						descending, 
-						langString, 
-						*this));
-		}
-
-		ElemTemplateElement::transformSelectedChildren(
-					executionContext,
-					*this,
-					theTemplate,
-					sourceNodeContext,
-					*m_selectPattern,
-					sorter.get(),
-					selectStackFrameIndex);
-	}
-}
diff --git a/src/XSLT/ElemForEach.hpp b/src/XSLT/ElemForEach.hpp
deleted file mode 100644
index 3b26bfb..0000000
--- a/src/XSLT/ElemForEach.hpp
+++ /dev/null
@@ -1,175 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMFOREACH_HEADER_GUARD)
-#define XALAN_ELEMFOREACH_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <vector>
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-#include "Constants.hpp"
-
-
-
-class ElemSort;
-class XPath;
-
-
-
-class ElemForEach: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:for-each" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber			line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemForEach(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemForEach();
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<ElemSort*>		SortElemsVectorType;
-#else
-	typedef std::vector<ElemSort*>	SortElemsVectorType;
-#endif
-
-
-	const SortElemsVectorType&
-	getSortElems() const
-	{
-		return m_sortElems;
-	}
-
-	SortElemsVectorType&
-	getSortElems()
-	{
-		return m_sortElems;
-	}
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	/**
-	 * Construct an object derived from ElemForEach
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param lineNumber			line number in document
-	 * @param columnNumber			column number in document
-	 * @param xslToken             an integer representing the type of instance.
-	 */
-	ElemForEach(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken);
-
-	/**
-	 * Perform a query if needed, and call transformChild for each child.
-	 * 
-	 * @param executionContext  The current execution context
-	 * @param template The owning template context.
-	 * @param sourceNodeContext The current source node context.
-	 * @param selectStackFrameIndex stack frame context for executing the
-	 *                              select statement
-	 */
-	void
-	transformSelectedChildren(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement*		theTemplate,
-			XalanNode*						sourceNodeContext,
-			int								selectStackFrameIndex) const;
-
-	const XPath*			m_selectPattern;
-
-private:
-
-	SortElemsVectorType		m_sortElems;
-};
-
-
-
-#endif	// XALAN_ELEMFOREACH_HEADER_GUARD
diff --git a/src/XSLT/ElemIf.cpp b/src/XSLT/ElemIf.cpp
deleted file mode 100644
index 226b417..0000000
--- a/src/XSLT/ElemIf.cpp
+++ /dev/null
@@ -1,172 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemIf.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "SelectionEvent.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-
-
-
-ElemIf::ElemIf(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_IF),
-	m_test(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-		
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_TEST:
-			m_test = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-			break;
-
-		case Constants::TATTRNAME_XMLSPACE:
-			processSpaceAttr(atts, i, constructionContext);
-			break;
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:if has an illegal attribute",
-					0,
-					this);
-			}
-		}
-	}
-
-	if(0 == m_test)
-	{
-		constructionContext.error(
-				"xsl:if must have a 'test' attribute",
-				0,
-				this);
-	}
-}
-
-
-
-const XalanDOMString&
-ElemIf::getElementName() const
-{
-	return Constants::ELEMNAME_IF_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemIf::execute(StylesheetExecutionContext&		executionContext) const
-{
-	assert(m_test != 0);
-
-	ElemTemplateElement::execute(executionContext);
-
-	XalanNode* sourceNode = executionContext.getCurrentNode();
-
-	const XObjectPtr	test(m_test->execute(sourceNode, *this, executionContext));
-	assert(test.null() == false);
-
-	if(0 != executionContext.getTraceListeners())
-	{
-		executionContext.fireSelectEvent(
-			SelectionEvent(executionContext,
-			sourceNode,
-			*this,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("test")),
-			*m_test,
-			test));
-	}
-
-	if(test->boolean())
-	{
-		executeChildren(executionContext);
-	}
-}
diff --git a/src/XSLT/ElemIf.hpp b/src/XSLT/ElemIf.hpp
deleted file mode 100644
index a327056..0000000
--- a/src/XSLT/ElemIf.hpp
+++ /dev/null
@@ -1,117 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMIF_HEADER_GUARD)
-#define XALAN_ELEMIF_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class XPath;
-
-
-
-class ElemIf: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:if" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemIf(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-private:
-
-	const XPath*	m_test;
-};
-
-
-
-#endif	// XALAN_ELEMIF_HEADER_GUARD
diff --git a/src/XSLT/ElemLiteralResult.cpp b/src/XSLT/ElemLiteralResult.cpp
deleted file mode 100644
index 6c2f017..0000000
--- a/src/XSLT/ElemLiteralResult.cpp
+++ /dev/null
@@ -1,440 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemLiteralResult.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "AVT.hpp"
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemLiteralResult::ElemLiteralResult(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const XalanDOMChar*				name,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken) :
-	ElemUse(constructionContext,
-			stylesheetTree,
-			lineNumber,
-			columnNumber,
-			xslToken),
-	m_elementName(name),
-	m_avts()
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	m_avts.reserve(nAttrs);
-
-	XalanDOMString	theBuffer;
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		bool								needToProcess = true;
-		const XalanDOMString::size_type		indexOfNSSep = indexOf(aname, XalanUnicode::charColon);
-		const XalanDOMString::size_type		len = length(aname);
-
-		if(indexOfNSSep < len)
-		{
-			substring(aname, theBuffer, 0, indexOfNSSep);
-
-			if(!equals(theBuffer, DOMServices::s_XMLNamespace))
-			{
-				const XalanDOMString* const		ns =
-						getNamespaceForPrefixInternal(theBuffer);
-
-				if(ns == 0)
-				{
-					constructionContext.error(
-						"Cannot resolve namespace prefix",
-						0,
-						this);
-				}
-				else if(equals(*ns, stylesheetTree.getXSLTNamespaceURI()))
-				{
-					theBuffer.assign(aname + indexOfNSSep + 1, len - (indexOfNSSep + 1));
-
-					if(processPrefixControl(constructionContext, stylesheetTree, theBuffer, atts.getValue(i)) == true)
-					{
-						needToProcess = false;
-					}
-					else if (equals(theBuffer, Constants::ATTRNAME_VERSION) == true)
-					{
-						const XalanDOMChar*	const	value = atts.getValue(i);
-
-						stylesheetTree.setXSLTVerDeclared(DoubleSupport::toDouble(value));
-					}
-				}
-			}
-			else
-			{
-				// don't process namespace decls
-				needToProcess = false;
-			}
-		}
-
-		if(needToProcess == true)
-		{
-			processSpaceAttr(aname, atts, i, constructionContext);
-
-			// Add xmlns attribute(except xmlns:xsl), xml:space, etc... 
-			// Ignore anything with xsl:xxx 
-			if(! processUseAttributeSets(constructionContext, aname, atts, i) &&
-					isAttrOK(aname, atts, i, constructionContext))
-			{
-				m_avts.push_back(new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i), 	
-							*this, constructionContext));
-			}
-		}
-	}
-
-	// Shrink the vector of AVTS, if necessary...
-	if (m_avts.capacity() > m_avts.size())
-	{
-		// Make a copy that's the exact size, and
-		// swap the two...
-		AVTVectorType(m_avts).swap(m_avts);
-	}
-}
-
-
-
-ElemLiteralResult::~ElemLiteralResult()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Clean up all entries in the vector.
-	for_each(m_avts.begin(),
-			 m_avts.end(),
-			 DeleteFunctor<AVT>());
-}
-
-
-
-const XalanDOMString&
-ElemLiteralResult::getElementName() const
-{
-	return m_elementName;
-}
-
-
-
-void
-ElemLiteralResult::postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler)
-{
-	// OK, now check all attribute AVTs to make sure
-	// our NamespacesHandler knows about any prefixes
-	// that will need namespace declarations...
-	const AVTVectorType::size_type	nAttrs = m_avts.size();
-
-	for(AVTVectorType::size_type i = 0; i < nAttrs; ++i)
-	{
-		const AVT* const	avt = m_avts[i];
-
-		const XalanDOMString&	theName = avt->getName();
-
-		const XalanDOMString::size_type		theColonIndex = indexOf(theName, XalanUnicode::charColon);
-
-		if (theColonIndex != length(theName))
-		{
-			m_namespacesHandler.addActivePrefix(XalanDOMString(theName, 0, theColonIndex));
-		}
-	}
-
-	if (nAttrs != 0 ||
-		m_namespacesHandler.getNamespaceDeclarationsCount() != 0)
-	{
-		canGenerateAttributes(true);
-	}
-	else
-	{
-		// OK, let's turn this off and see what our
-		// base classes say about it when we chain up...
-		canGenerateAttributes(false);
-	}
-
-	// OK, now we can chain-up...
-	ElemUse::postConstruction(constructionContext, theParentHandler);
-
-	// OK, now let's do some more checking to see if we'll
-	// generate attributes...
-	if (canGenerateAttributes() == false)
-	{
-		// If there are no children, we can't generate any attributes...
-		if (hasChildren() == true)
-		{
-			assert(getFirstChildElem() != 0);
-
-			// If there's a single text child, or the first child
-			// is another LRE, then we won't generate any attributes.
-			// Otherwise, we might...
-			if (hasSingleTextChild() == false &&
-				getFirstChildElem()->getXSLToken() != Constants::ELEMNAME_LITERALRESULT)
-			{
-				canGenerateAttributes(true);
-			}
-		}
-	}
-}
-
-
-
-inline void
-ElemLiteralResult::doAddResultAttribute(
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			thePrefix,
-			const XalanDOMString&			theName,
-			const XalanDOMString&			theValue) const
-{
-	if (isEmpty(thePrefix) == true ||
-	    shouldExcludeResultNamespaceNode(
-			theValue) == false)
-	{
-		executionContext.addResultAttribute(
-				theName, 
-				theValue);
-	}
-}
-
-
-
-void
-ElemLiteralResult::execute(StylesheetExecutionContext&	executionContext) const
-{
-	const XalanDOMString&	theElementName = getElementName();
-
-	executionContext.startElement(c_wstr(theElementName));
-
-	ElemUse::execute(executionContext);
-
-	m_namespacesHandler.outputResultNamespaces(executionContext);
-
-	// OK, let's check to make sure we don't have to change the default namespace...
-	const XalanDOMString* const		theCurrentDefaultNamespace =
-				executionContext.getResultNamespaceForPrefix(s_emptyString);
-
-	if (theCurrentDefaultNamespace != 0)
-	{
-		const XalanDOMString* const		theElementDefaultNamespace =
-						m_namespacesHandler.getNamespace(s_emptyString);
-
-		if (theElementDefaultNamespace == 0)
-		{
-			// There was no default namespace, so we have to turn the
-			// current one off.
-			executionContext.addResultAttribute(DOMServices::s_XMLNamespace, s_emptyString);
-		}
-		else if (equals(*theCurrentDefaultNamespace, *theElementDefaultNamespace) == false)
-		{
-			executionContext.addResultAttribute(DOMServices::s_XMLNamespace, *theElementDefaultNamespace);
-		}
-	}
-
-	if(0 != m_avts.size())
-	{
-		const AVTVectorType::size_type	nAttrs = m_avts.size();
-
-		StylesheetExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		theStringedValue = theGuard.get();
-
-		for(AVTVectorType::size_type i = 0; i < nAttrs; ++i)
-		{
-			const AVT* const	avt = m_avts[i];
-
-			const XalanDOMString&	theName = avt->getName();
-
-			const XalanDOMString&	thePrefix = avt->getPrefix();
-
-			const XalanDOMString&	theSimpleValue = avt->getSimpleValue();
-
-			if (isEmpty(theSimpleValue) == false)
-			{
-				doAddResultAttribute(executionContext, thePrefix, theName, theSimpleValue);
-			}
-			else
-			{
-				avt->evaluate(theStringedValue, executionContext.getCurrentNode(), *this, executionContext);
-
-				doAddResultAttribute(executionContext, thePrefix, theName, theStringedValue);
-			}
-		}
-	}
-
-	executeChildren(executionContext);
-
-	executionContext.endElement(c_wstr(theElementName));
-}
-
-
-
-bool
-ElemLiteralResult::isAttrOK(
-			int						tok,
-			const XalanDOMChar*		attrName,
-			const AttributeList&	atts,
-			int						which) const
-{
-    return ElemUse::isAttrOK(tok, attrName, atts, which);
-}
-
-
-
-bool
-ElemLiteralResult::isAttrOK(
-			const XalanDOMChar*				attrName,
-			const AttributeList&			/* atts */,
-			int								/* which */,
-			StylesheetConstructionContext&	constructionContext) const
-{
-    bool	isAttrOK = equals(attrName, DOMServices::s_XMLNamespace) ||
-					   startsWith(attrName, DOMServices::s_XMLNamespaceWithSeparator);
-
-    if(isAttrOK == false)
-    {
-		const XalanDOMString::size_type		indexOfNSSep = indexOf(attrName, XalanUnicode::charColon);
-
-		if(indexOfNSSep < length(attrName))
-		{
-			const XalanDOMString	prefix(attrName, indexOfNSSep);
-
-			const XalanDOMString* const		ns = getStylesheet().getNamespaceForPrefixFromStack(prefix);
-
-			if (ns != 0 && equals(*ns, constructionContext.getXSLTNamespaceURI()) == false)
-			{
-				isAttrOK = true;
-			}
-		}
-		else
-		{
-			// An empty namespace is OK.
-			isAttrOK = true;
-		}
-    }
-
-    return isAttrOK;
-}
-
-
-
-bool
-ElemLiteralResult::processPrefixControl(
-			StylesheetConstructionContext&	constructionContext,
-			const Stylesheet&				stylesheetTree,
-			const XalanDOMString&			localName,
-			const XalanDOMChar*				attrValue)
-{
-	if(equals(localName, Constants::ATTRNAME_EXTENSIONELEMENTPREFIXES))
-	{
-		m_namespacesHandler.processExtensionElementPrefixes(attrValue, stylesheetTree.getNamespaces(), constructionContext);
-
-		return true;
-	}
-	else if (equals(localName, Constants::ATTRNAME_EXCLUDE_RESULT_PREFIXES))
-	{
-		m_namespacesHandler.processExcludeResultPrefixes(attrValue, stylesheetTree.getNamespaces(), constructionContext);
-
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-bool
-ElemLiteralResult::shouldExcludeResultNamespaceNode(const XalanDOMString&	theURI) const
-{
-	return m_namespacesHandler.shouldExcludeResultNamespaceNode(
-				getStylesheet().getXSLTNamespaceURI(),
-				theURI);
-}
diff --git a/src/XSLT/ElemLiteralResult.hpp b/src/XSLT/ElemLiteralResult.hpp
deleted file mode 100644
index 81778c2..0000000
--- a/src/XSLT/ElemLiteralResult.hpp
+++ /dev/null
@@ -1,195 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMLITERALRESULT_HEADER_GUARD)
-#define XALAN_ELEMLITERALRESULT_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XSLT/ElemUse.hpp>
-
-
-
-class AVT;
-
-
-
-class ElemLiteralResult: public ElemUse
-{
-public:
-
-	/**
-	 * Construct an object corresponding to a literal result element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param name                name of element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemLiteralResult(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const XalanDOMChar*				name,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken = Constants::ELEMNAME_LITERALRESULT);
-
-	virtual
-	~ElemLiteralResult();
-
-	// These methods are inherited from ElemUse ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler);
-
-	virtual bool
-	isAttrOK(
-			int						tok,
-			const XalanDOMChar*		attrName,
-			const AttributeList&	atts,
-			int						which) const;
-
-	virtual bool
-	isAttrOK(
-			const XalanDOMChar*				attrName,
-			const AttributeList&			atts,
-			int								which,
-			StylesheetConstructionContext&	constructionContext) const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<const AVT*>				AVTVectorType;
-#else
-	typedef std::vector<const AVT*>			AVTVectorType;
-#endif
-
-private:
-
-	// not implemented
-	ElemLiteralResult(const ElemLiteralResult &);
-
-	ElemLiteralResult&
-	operator=(const ElemLiteralResult&);
-
-	/**
-	 * Process the exclude-result-prefixes or the extension-element-prefixes
-	 * attributes, for the purpose of prefix exclusion.
-	 *
-	 * @param constructionContext  context when object consructed
-	 * @param stylesheetTree The current Stylesheet object.
-	 * @param localName The local name of the attribute.
-	 * @param attrValue The value of the attribute.
-	 */
-	bool
-	processPrefixControl(
-			StylesheetConstructionContext&	constructionContext,
-			const Stylesheet&				stylesheetTree,
-			const XalanDOMString&			localName,
-			const XalanDOMChar*				attrValue);
-
-	/**
-	 * Determine if the namespace node should be excluded.
-	 *
-	 * @param theURI The namespace URI.
-	 */
-	bool
-	shouldExcludeResultNamespaceNode(const XalanDOMString&	theURI) const;
-
-	/**
-	 * Add a result attribute, if necessary.
-	 *
-	 * @param executionContext  The current execution context
-	 * @param thePrefix The prefix of the attribute
-	 * @param theName The name of the attribute.
-	 * @param theValue The value of the attribute.
-	 */
-	void
-	doAddResultAttribute(
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			thePrefix,
-			const XalanDOMString&			theName,
-			const XalanDOMString&			theValue) const;
-
-	/**
-	 * The name of the literal result element.
-	 */
-	const XalanDOMString	m_elementName;
-
-	/**
-	 * A vector to keep track of the attribute elements.
-	 */
-	AVTVectorType			m_avts;
-};
-
-
-
-#endif	// XALAN_ELEMLITERALRESULT_HEADER_GUARD
diff --git a/src/XSLT/ElemMessage.cpp b/src/XSLT/ElemMessage.cpp
deleted file mode 100644
index 7abbd1d..0000000
--- a/src/XSLT/ElemMessage.cpp
+++ /dev/null
@@ -1,161 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemMessage.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemMessage::ElemMessage(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_MESSAGE),
-	m_terminate(false)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if (equals(aname, Constants::ATTRNAME_TERMINATE) == true)
-		{
-			const XalanDOMChar*	const	avalue = atts.getValue(i);
-
-			if (equals(avalue, Constants::ATTRVAL_YES) == true)
-			{
-				m_terminate = true;
-			}
-			else if (equals(avalue, Constants::ATTRVAL_NO) == false)
-			{
-				constructionContext.error(
-					"The attribute 'terminate' has an illegal value",
-					0,
-					this);
-			}
-		}
-		else if(isAttrOK(aname, atts, i, constructionContext) == false ||
-				processSpaceAttr(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:message has an illegal attribute",
-				0,
-				this);
-		}
-	}
-}
-
-
-
-const XalanDOMString&
-ElemMessage::getElementName() const
-{
-	return Constants::ELEMNAME_MESSAGE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemMessage::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	StylesheetExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-    executionContext.message(
-		childrenToString(executionContext,theResult.get()),
-		executionContext.getCurrentNode(),
-		getLocator());
-
-	if (m_terminate == true)
-	{
-		throw ElemMessageTerminateException(theResult.get());
-	}
-}
-
-
-
-ElemMessage::ElemMessageTerminateException::ElemMessageTerminateException(const XalanDOMString&		theMessage) :
-	XSLTProcessorException(theMessage,
-						   TranscodeFromLocalCodePage("ElemMessageTerminateException"))
-{
-}
-
-
-
-ElemMessage::ElemMessageTerminateException::~ElemMessageTerminateException()
-{
-}
diff --git a/src/XSLT/ElemMessage.hpp b/src/XSLT/ElemMessage.hpp
deleted file mode 100644
index df640de..0000000
--- a/src/XSLT/ElemMessage.hpp
+++ /dev/null
@@ -1,125 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMMESSAGE_HEADER_GUARD)
-#define XALAN_ELEMMESSAGE_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-#include "XSLTProcessorException.hpp"
-
-
-
-class ElemMessage: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:message" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param name                name of element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemMessage(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual	void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	class ElemMessageTerminateException : public XSLTProcessorException
-	{
-	public:
-
-		/**
-		 * Construct an ElemMessageTerminateException object
-		 * 
-		 * @param theMessage message to print when exception thrown
-		 */
-		ElemMessageTerminateException(const XalanDOMString&		theMessage);
-		
-
-		virtual
-		~ElemMessageTerminateException();
-	};
-
-private:
-
-	bool	m_terminate;
-};
-
-
-
-#endif	// XALAN_ELEMMESSAGE_HEADER_GUARD
diff --git a/src/XSLT/ElemNumber.cpp b/src/XSLT/ElemNumber.cpp
deleted file mode 100644
index 5d077f5..0000000
--- a/src/XSLT/ElemNumber.cpp
+++ /dev/null
@@ -1,2068 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemNumber.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/XalanNumberFormat.hpp>
-#include <PlatformSupport/XalanSimplePrefixResolver.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <XPath/ElementPrefixResolverProxy.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-#include "AVT.hpp"
-#include "Constants.hpp"
-#include "CountersTable.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::vector;
-#endif
-
-
-
-ElemNumber::ElemNumber(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_NUMBER),	
-	m_countMatchPattern(0),
-	m_fromMatchPattern(0),
-	m_valueExpr(0),
-	m_level(Constants::NUMBERLEVEL_SINGLE),
-	m_format_avt(0),
-	m_lang_avt(0),
-	m_lettervalue_avt(0),
-	m_groupingSeparator_avt(0),
-	m_groupingSize_avt(0)
-	
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_LEVEL))
-		{
-			const XalanDOMChar*	const	levelValue = atts.getValue(i);
-
-			if(equals(Constants::ATTRVAL_MULTI, levelValue))
-				m_level = Constants::NUMBERLEVEL_MULTI;
-			else if(equals(levelValue,Constants::ATTRVAL_ANY))
-				m_level = Constants::NUMBERLEVEL_ANY;
-			else if(equals(levelValue,Constants::ATTRVAL_SINGLE))
-				m_level = Constants::NUMBERLEVEL_SINGLE;
-			else
-				constructionContext.error(
-					"The attribute 'level' has an illegal value",
-					0,
-					this);
-		}
-		else if(equals(aname, Constants::ATTRNAME_COUNT))
-		{
-			m_countMatchPattern = constructionContext.createMatchPattern(getLocator(), atts.getValue(i), *this);
-		}
-		else if(equals(aname, Constants::ATTRNAME_FROM))
-		{
-			m_fromMatchPattern = constructionContext.createMatchPattern(getLocator(), atts.getValue(i), *this);
-		}
-		else if(equals(aname, Constants::ATTRNAME_VALUE))
-		{
-			m_valueExpr = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-		}
-		else if(equals(aname, Constants::ATTRNAME_FORMAT))
-		{
-			m_format_avt = new AVT(getLocator(), aname, atts.getType(i),
-						atts.getValue(i), *this, constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_LANG))
-		{
-			m_lang_avt = new AVT(getLocator(), aname, atts.getType(i),
-						atts.getValue(i), *this, constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_LETTERVALUE))
-		{
-			m_lettervalue_avt = new AVT(getLocator(), aname, atts.getType(i),
-						atts.getValue(i), *this, constructionContext);
-		}
-		else if(equals(aname,Constants::ATTRNAME_GROUPINGSEPARATOR))
-		{
-			m_groupingSeparator_avt = new AVT(getLocator(), aname, atts.getType(i),
-						atts.getValue(i), *this, constructionContext);
-		}
-		else if(equals(aname,Constants::ATTRNAME_GROUPINGSIZE))
-		{
-			m_groupingSize_avt = new AVT(getLocator(), aname, atts.getType(i),
-						atts.getValue(i), *this, constructionContext);
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:number has an illegal attribute",
-				0,
-				this);
-		}
-	}
-}
-
-	
-ElemNumber::~ElemNumber()
-{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete	(AVT*)m_format_avt;
-	delete	(AVT*)m_lang_avt;
-	delete	(AVT*)m_lettervalue_avt;
-	delete	(AVT*)m_groupingSeparator_avt;
-	delete	(AVT*)m_groupingSize_avt;
-#else
-	delete	m_format_avt;
-	delete	m_lang_avt;
-	delete	m_lettervalue_avt;
-	delete	m_groupingSeparator_avt;
-	delete	m_groupingSize_avt;
-#endif
-}
-
-
-const XalanDOMString&
-ElemNumber::getElementName() const
-{
-	return Constants::ELEMNAME_NUMBER_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemNumber::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	GetAndReleaseCachedString	theGuard(executionContext);
-
-	XalanDOMString&				countString = theGuard.get();
-
-	getCountString(executionContext, countString);
-
-	if (!isEmpty(countString))
-	{
-		executionContext.characters(toCharArray(countString), 0, length(countString));
-	}
-}
-
-
-
-XalanNode*
-ElemNumber::findAncestor(
-			StylesheetExecutionContext&		executionContext,
-			const XPath*					fromMatchPattern,
-			const XPath*					countMatchPattern,
-			XalanNode*						context,
-			const XalanElement*				/* namespaceContext */) const
-{
-	XalanNode*	contextCopy = context;
-
-	while(contextCopy != 0)
-	{
-		if(0 != fromMatchPattern)
-		{
-			if(fromMatchPattern->getMatchScore(contextCopy, *this,
-						executionContext) !=
-							XPath::eMatchScoreNone)
-			{
-				break;
-			}
-		}
-		
-		if(0 != countMatchPattern)
-		{
-			if(countMatchPattern->getMatchScore(contextCopy, *this,
-						executionContext) !=
-							XPath::eMatchScoreNone)
-			{
-				break;
-			}
-		}
-		
-		contextCopy = DOMServices::getParentOfNode(*contextCopy);
-	}
-
-	return contextCopy;
-}					
-
-
-
-XalanNode*
-ElemNumber::findPrecedingOrAncestorOrSelf(
-			StylesheetExecutionContext&		executionContext,
-			const XPath*					fromMatchPattern,
-			const XPath*					countMatchPattern,
-			XalanNode*						context,
-			const XalanElement*				/* namespaceContext */) const
-{  
-	XalanNode*	contextCopy = context;
-
-	while(contextCopy != 0)
-	{
-		if(0 != fromMatchPattern)
-		{
-			if(fromMatchPattern->getMatchScore(contextCopy, *this,
-						executionContext) !=
-							XPath::eMatchScoreNone)
-			{
-				contextCopy = 0;
-				break;
-			}
-		}
-		
-		if(0 != countMatchPattern)
-		{
-			if(countMatchPattern->getMatchScore(contextCopy, *this,
-						executionContext) !=
-							XPath::eMatchScoreNone)
-			{
-				break;
-			}
-		}
-
-		XalanNode* const	prevSibling = contextCopy->getPreviousSibling();
-
-		if(prevSibling == 0)
-		{
-			contextCopy = DOMServices::getParentOfNode(*contextCopy);
-		}
-		else
-		{
-			// Now go down the chain of children of this sibling 
-			contextCopy = prevSibling->getLastChild();
-			if (contextCopy == 0)
-				contextCopy = prevSibling;
-		}
-	}
-
-	return contextCopy;
-}
-
-
-
-const XPath*
-ElemNumber::getCountMatchPattern(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode) const
-{
-	const XPath*	countMatchPattern = 0;
-
-	switch(contextNode->getNodeType())
-	{
-	case XalanNode::ELEMENT_NODE:
-		{
-			// Check to see if we have any fiddling to do with the match pattern
-			// we create...
-			const XalanDOMString&	theNamespaceURI = contextNode->getNamespaceURI();
-			const XalanDOMString&	theNodeName = contextNode->getNodeName();
-
-			if (isEmpty(theNamespaceURI) == true)
-			{
-				// No namespace URI means no prefix, so this is easy...
-				assert(isEmpty(contextNode->getLocalName()) == true);
-
-				// We can pass any PrefixResolver instance, so just
-				// pass ourself...
-				countMatchPattern =
-						executionContext.createMatchPattern(theNodeName, *this);
-			}
-			else if (length(theNodeName) != length(contextNode->getLocalName()))
-			{
-				// OK, there's a prefix, so create a prefix resolver so the
-				// prefix can be properly resolved...
-				const XalanElement* const	theElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(const XalanElement*)contextNode;
-#else
-					static_cast<const XalanElement*>(contextNode);
-#endif
-					const ElementPrefixResolverProxy	theProxy(theElement);
-
-				countMatchPattern =
-						executionContext.createMatchPattern(theNodeName, theProxy);
-			}
-			else
-			{
-				// OK, this is ugly.  We have to get a unique prefix and
-				// construct a match pattern with that prefix...
-				StylesheetExecutionContext::GetAndReleaseCachedString	thePrefix(executionContext);
-
-				executionContext.getUniqueNamespaceValue(thePrefix.get());
-
-				StylesheetExecutionContext::GetAndReleaseCachedString	theMatchPatternString(executionContext);
-
-				assign(theMatchPatternString.get(), thePrefix.get());
-				append(theMatchPatternString.get(), XalanDOMChar(XalanUnicode::charColon));
-				append(theMatchPatternString.get(), theNodeName);
-
-				// Use this class to resolve the synthesized prefix to the
-				// appropriate namespace URI.  We could see if a prefix is
-				// already in scope for the namespace URI, but it would take
-				// more effort to find that out than it would to just
-				// create this simple resolver.
-				const XalanSimplePrefixResolver		theResolver(
-														thePrefix.get(),
-														theNamespaceURI,
-														getURI());
-
-				countMatchPattern =
-						executionContext.createMatchPattern(
-							theMatchPatternString.get(),
-							theResolver);
-			}
-		}
-		break;
-
-	case XalanNode::ATTRIBUTE_NODE:
-		{
-			const XalanAttr* const	theAttribute =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanAttr*)contextNode;
-#else
-				static_cast<const XalanAttr*>(contextNode);
-#endif
-			assert(theAttribute->getOwnerElement() != 0);
-
-			const XalanDOMString&	theNodeName = theAttribute->getNodeName();
-
-			const ElementPrefixResolverProxy	theProxy(theAttribute->getOwnerElement());
-
-			StylesheetExecutionContext::GetAndReleaseCachedString	theMatchPatternString(executionContext);
-
-			assign(theMatchPatternString.get(), s_atString);
-			append(theMatchPatternString.get(), theNodeName);
-
-			countMatchPattern = executionContext.createMatchPattern(
-							theMatchPatternString.get(),
-							theProxy);
-		}
-		break;
-
-	case XalanNode::CDATA_SECTION_NODE:
-	case XalanNode::TEXT_NODE:
-		countMatchPattern = executionContext.createMatchPattern(
-					s_textString, *this);
-		break;
-
-	case XalanNode::COMMENT_NODE:
-		countMatchPattern = executionContext.createMatchPattern(
-					s_commentString, *this);
-		break;
-
-	case XalanNode::DOCUMENT_NODE:
-		countMatchPattern = executionContext.createMatchPattern(
-					s_slashString, *this);
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		{
-			StylesheetExecutionContext::GetAndReleaseCachedString	theMatchPatternString(executionContext);
-
-			assign(theMatchPatternString.get(), s_piString);
-			append(theMatchPatternString.get(), contextNode->getNodeName());
-			append(theMatchPatternString.get(), s_leftParenString);
-
-			countMatchPattern = executionContext.createMatchPattern(
-					theMatchPatternString.get(),
-					*this);
-		}
-		break;
-
-	default:
-		break;
-	}
-
-	return countMatchPattern;
-}
-
-
-
-inline void
-ElemNumber::getCountString(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode,
-			const MutableNodeRefList&		ancestors,
-			CountersTable&					ctable,
-			int								numberList[],
-			NodeRefListBase::size_type		numberListLength,
-			XalanDOMString&					theResult) const
-{
-	for(NodeRefListBase::size_type i = 0; i < numberListLength; i++)
-	{
-		XalanNode* const target = ancestors.item(numberListLength - i - 1);
-
-		numberList[i] = ctable.countNode(
-							executionContext,
-							this,
-							target);
-	}
-
-	formatNumberList(
-			executionContext,
-			numberList,
-			numberListLength,
-			sourceNode,
-			theResult);
-}
-
-
-
-void
-ElemNumber::getCountString(
-			StylesheetExecutionContext&		executionContext,
-			XalanDOMString&					theResult) const
-{
-	XalanNode* sourceNode = executionContext.getCurrentNode();
-
-	assert(sourceNode != 0);
-
-	if(0 != m_valueExpr)
-	{
-		const XObjectPtr	countObj(m_valueExpr->execute(sourceNode, *this, executionContext));
-		assert(countObj.null() == false);
-
-		const double	theValue = countObj->num();
-
-		int	theNumber = 0;
-
-		if (DoubleSupport::isNaN(theValue) == false)
-		{
-			theNumber = int(DoubleSupport::round(theValue));
-		}
-
-		formatNumberList(
-				executionContext,
-				&theNumber,
-				1,
-				sourceNode,
-				theResult);
-	}
-	else
-	{
-		CountersTable&	ctable = executionContext.getCountersTable();
-
-		if(Constants::NUMBERLEVEL_ANY == m_level)
-		{
-			const int	theNumber =
-				ctable.countNode(executionContext, this, sourceNode);
-
-			formatNumberList(
-				executionContext,
-				&theNumber,
-				1,
-				sourceNode,
-				theResult);
-		}
-		else
-		{
-			typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-			BorrowReturnMutableNodeRefList	ancestors(executionContext);
-
-			getMatchingAncestors(
-				executionContext,
-				sourceNode,
-				Constants::NUMBERLEVEL_SINGLE == m_level,
-				*ancestors.get());
-
-			const NodeRefListBase::size_type	lastIndex = ancestors->getLength();
-
-			if(lastIndex > 0)
-			{
-				const NodeRefListBase::size_type	theStackArrayThreshold = 100;
-
-				if (lastIndex < theStackArrayThreshold)
-				{
-					int		numberList[theStackArrayThreshold];
-
-					getCountString(
-						executionContext,
-						sourceNode,
-						*ancestors.get(),
-						ctable,
-						numberList,
-						lastIndex,
-						theResult);
-				}
-				else
-				{
-					IntArrayType	numberList;
-
-					numberList.resize(lastIndex);
-
-					getCountString(
-						executionContext,
-						sourceNode,
-						*ancestors.get(),
-						ctable,
-						&*numberList.begin(),
-						lastIndex,
-						theResult);
-				}
-			}
-		}
-	}
-}
-
-
-
-XalanNode*
-ElemNumber::getPreviousNode(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						pos) const
-{
-	// Create an XPathGuard, since we may need to
-	// create a new XPath...
-	StylesheetExecutionContext::XPathGuard	xpathGuard(
-			executionContext);
-
-	const XPath*	countMatchPattern = m_countMatchPattern;
-
-	if (countMatchPattern == 0)
-	{
-		// Get the XPath...
-		xpathGuard.reset(getCountMatchPattern(executionContext, pos));
-
-		countMatchPattern = xpathGuard.get();
-	}
-
-	if(Constants::NUMBERLEVEL_ANY == m_level)
-	{
-		const XPath* const	fromMatchPattern = m_fromMatchPattern;
-
-		// Do a backwards document-order walk 'till a node is found that matches 
-		// the 'from' pattern, or a node is found that matches the 'count' pattern, 
-		// or the top of the tree is found.
-		while(0 != pos)
-		{            
-			// Get the previous sibling, if there is no previous sibling, 
-			// then count the parent, but if there is a previous sibling, 
-			// dive down to the lowest right-hand (last) child of that sibling.
-			XalanNode* next = pos->getPreviousSibling();
-
-			if(0 == next)
-			{
-				next = pos->getParentNode();
-
-				if(0 != next &&
-				   next->getNodeType() == XalanNode::DOCUMENT_NODE ||
-				   (0 != fromMatchPattern &&
-						fromMatchPattern->getMatchScore(
-							next,
-							*this,
-							executionContext) != XPath::eMatchScoreNone))
-				{
-					pos = 0; // return 0 from function.
-
-					break; // from while loop
-				}
-			}
-			else
-			{
-				// dive down to the lowest right child.
-				XalanNode* child = next;
-
-				while(0 != child)
-				{
-					child = next->getLastChild();
-
-					if(0 != child)
-						next = child;
-				}
-			}
-
-			pos = next;
-
-			if(0 != pos &&
-			   (0 == countMatchPattern ||
-				countMatchPattern->getMatchScore(
-						pos,
-						*this,
-						executionContext) != XPath::eMatchScoreNone))
-			{
-				break;
-			}
-		}
-	}
-	else // NUMBERLEVEL_MULTI or NUMBERLEVEL_SINGLE
-	{
-		while(0 != pos)
-		{            
-			pos = pos->getPreviousSibling();
-
-			if(0 != pos &&
-			   (0 == countMatchPattern ||
-				countMatchPattern->getMatchScore(
-						pos,
-						*this,
-						executionContext) != XPath::eMatchScoreNone))
-			{
-				break;
-			}
-		}
-	}
-
-	return pos;
-}
-
-
-
-XalanNode*
-ElemNumber::getTargetNode(
-		StylesheetExecutionContext&		executionContext,
-		XalanNode*						sourceNode) const
-{
-	XalanNode* target = 0;
-
-	// Create an XPathGuard, since we may need to
-	// create a new XPath...
-	StylesheetExecutionContext::XPathGuard	xpathGuard(
-			executionContext);
-
-	const XPath*	countMatchPattern = m_countMatchPattern;
-
-	if (countMatchPattern == 0)
-	{
-		// Get the XPath...
-		xpathGuard.reset(getCountMatchPattern(executionContext, sourceNode));
-
-		countMatchPattern = xpathGuard.get();
-	}
-
-	if(Constants::NUMBERLEVEL_ANY == m_level)
-	{
-		target = findPrecedingOrAncestorOrSelf(
-				executionContext,
-				m_fromMatchPattern,
-				countMatchPattern,
-				sourceNode,
-				this);
-	}
-	else
-	{
-		target = findAncestor(
-				executionContext,
-				m_fromMatchPattern,
-				countMatchPattern,
-				sourceNode,
-				this);
-	}
-
-	return target;
-}
-
-
-
-void
-ElemNumber::getMatchingAncestors(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						node, 
-			bool							stopAtFirstFound,
-			MutableNodeRefList&				ancestors) const
-{
-	// Create an XPathGuard, since we may need to
-	// create a new XPath...
-	StylesheetExecutionContext::XPathGuard	xpathGuard(
-			executionContext);
-
-	const XPath*	countMatchPattern = m_countMatchPattern;
-
-	if (countMatchPattern == 0)
-	{
-		// Get the XPath...
-		xpathGuard.reset(getCountMatchPattern(executionContext, node));
-
-		countMatchPattern = xpathGuard.get();
-	}
-
-	while(0 != node)
-	{
-		if((0 != m_fromMatchPattern) &&
-				(m_fromMatchPattern->getMatchScore(node, *this, executionContext) !=
-				 XPath::eMatchScoreNone))
-		{
-			// The following if statement gives level="single" different 
-			// behavior from level="multiple", which seems incorrect according 
-			// to the XSLT spec.  For now we are leaving this in to replicate 
-			// the same behavior in XT, but, for all intents and purposes we 
-			// think this is a bug, or there is something about level="single" 
-			// that we still don't understand.
-			if(!stopAtFirstFound)
-				break;
-		}
-
-		if(0 == countMatchPattern)
-			executionContext.error(
-				"Programmer error! countMatchPattern should never be 0!",
-				node,
-				getLocator());
-
-		if(countMatchPattern->getMatchScore(node, *this, executionContext) !=
-				XPath::eMatchScoreNone)
-		{
-			ancestors.addNode(node);
-
-			if(stopAtFirstFound)
-				break;
-		}
-
-		node = DOMServices::getParentOfNode(*node);
-	}
-}
-
-
-
-XalanNumberFormat*
-ElemNumber::getNumberFormatter(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode) const
-{
-    // Helper to format local specific numbers to strings.
-	XalanAutoPtr<XalanNumberFormat>		formatter(executionContext.createXalanNumberFormat());
-
-	typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	GetAndReleaseCachedString	theGuard1(executionContext);
-
-	XalanDOMString&				digitGroupSepValue = theGuard1.get();
-
-	if (0 != m_groupingSeparator_avt)
-		m_groupingSeparator_avt->evaluate(digitGroupSepValue, contextNode,
-				 *this, executionContext);
-									 
-	if (length(digitGroupSepValue) > 1)
-	{
-		executionContext.error(
-			"The grouping-separator value must be one character in length",
-			contextNode,
-			getLocator());
-	}
-
-	GetAndReleaseCachedString	theGuard2(executionContext);
-
-	XalanDOMString&				nDigitsPerGroupValue = theGuard2.get();
-
-	if (0 != m_groupingSize_avt)
-		m_groupingSize_avt->evaluate(nDigitsPerGroupValue, contextNode, *this,
-				executionContext);
-
-    // TODO: Handle digit-group attributes
-	// 7.7.1 If one is empty, it is ignored	(numb81 conf test)
-	if(!isEmpty(digitGroupSepValue) && !isEmpty(nDigitsPerGroupValue))
-	{
-		formatter->setGroupingUsed(true);
-		formatter->setGroupingSeparator(digitGroupSepValue);
-		formatter->setGroupingSize(DOMStringToUnsignedLong(nDigitsPerGroupValue));
-	}
-
-	return formatter.release();
-}
-
-
-
-void
-ElemNumber::formatNumberList(
-			StylesheetExecutionContext&		executionContext,
-			const int						theList[],
-			NodeRefListBase::size_type		theListLength,
-			XalanNode*						contextNode,
-			XalanDOMString&					theResult) const
-{
-	assert(theListLength > 0);
-
-	// Pathological cases
-	if (contextNode == 0) return;
-
-	XalanDOMChar	numberType = XalanUnicode::charDigit_1;
-
-	XalanDOMString::size_type	numberWidth = 1;
-
-	typedef vector<XalanDOMString>		StringVectorType;
-	typedef StringVectorType::iterator	StringVectorTypeIterator;
-
-	// Construct an array of tokens.  We need to be able to check if the last
-	// token in non-alphabetic, in which case the penultimate non-alphabetic is
-	// the repeating separator.
-	//
-	// We should be able to replace this with a vector of the indexes in
-	// the evaluated string where the tokens start.  But for now, this will
-	// have to do...
-	StringVectorType	tokenVector;
-
-	{
-		typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-		GetAndReleaseCachedString	theGuard1(executionContext);
-
-		XalanDOMString&				formatValue = theGuard1.get();
-
-		if (m_format_avt != 0)
-		{
-			 m_format_avt->evaluate(formatValue, contextNode, *this, executionContext);
-		}
-
-		if(isEmpty(formatValue) == true)
-		{
-			formatValue = XalanUnicode::charDigit_1;
-		}
-
-		NumberFormatStringTokenizer						formatTokenizer(formatValue);
-
-		const NumberFormatStringTokenizer::size_type	theTokenCount = formatTokenizer.countTokens();
-
-		tokenVector.resize(theTokenCount);
-
-		// Tokenize directly into the vector...
-		for(NumberFormatStringTokenizer::size_type i = 0; i < theTokenCount; ++i)
-		{
-			formatTokenizer.nextToken(tokenVector[i]);
-		}
-
-		assert(theTokenCount == tokenVector.size());
-	}
-
-	// These are iterators which will either point to tokenVector.end(),
-	// or the appropriate string in the vector...
-	StringVectorTypeIterator		leaderStrIt = tokenVector.end();
-	StringVectorTypeIterator		trailerStrIt = leaderStrIt;
-	StringVectorTypeIterator		sepStringIt = leaderStrIt;
-	const StringVectorTypeIterator	endIt = leaderStrIt;
-
-	StringVectorTypeIterator	it = tokenVector.begin();
-
-	const StringVectorType::size_type	theVectorSize =
-		tokenVector.size();
-
-	if (theVectorSize > 0)
-	{
-		if(!isXMLLetterOrDigit(charAt(*it, 0)))
-		{
-			leaderStrIt = it;
-
-			// Move the iterator up one, so it
-			// points at the first numbering token...
-			++it;
-		}
-
-		if (theVectorSize > 1)
-		{
-			if(!isXMLLetterOrDigit(charAt(tokenVector.back(), 0)))
-			{
-				// Move the iterator back one, so it's pointing
-				// at the trailing string...
-				--trailerStrIt;
-			}
-		}
-	}
-
-	// Now we're left with a sequence of alpha,non-alpha tokens, format them
-	// with the corresponding entry in the format string, or the last one if no
-	// more matching ones
-
-	if (leaderStrIt != endIt)
-	{
-		theResult += *leaderStrIt;
-	}
-
-	typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	GetAndReleaseCachedString	theGuard2(executionContext);
-
-	XalanDOMString&				theIntermediateResult = theGuard2.get();
-
-	for(unsigned int i = 0; i < theListLength; i++)
-	{
-		if (it != trailerStrIt)
-		{
-			assert(isXMLLetterOrDigit(charAt(*it, 0)));
-
-			numberWidth = length(*it);
-
-			numberType = charAt(*it, numberWidth - 1);
-
-			++it;
-		}
-
-		if (it != trailerStrIt)
-		{
-			assert(!isXMLLetterOrDigit(charAt(*it, 0)));
-
-			sepStringIt = it;
-
-			++it;
-		}
-
-		getFormattedNumber(
-				executionContext,
-				contextNode,
-				numberType,
-				numberWidth,
-				theList[i],
-				theIntermediateResult);
-
-		theResult += theIntermediateResult;
-
-		// All but the last one
-		if (i < theListLength - 1)
-		{
-			if (sepStringIt != endIt)
-			{
-				theResult += *sepStringIt;
-			}
-			else
-			{
-				theResult += s_defaultSeparatorString;
-			}
-
-			clear(theIntermediateResult);
-		}
-	}
-
-	if (trailerStrIt != endIt)
-	{
-		theResult += *trailerStrIt;
-	}
-}
-
-
-
-void
-ElemNumber::evaluateLetterValueAVT(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode* 						contextNode,
-			XalanDOMString&					value) const
-{
-	if (m_lettervalue_avt == 0)
-	{
-		clear(value);
-	}
-	else
-	{
-		m_lettervalue_avt->evaluate(
-				value,
-				contextNode,
-				*this,
-				executionContext);
-	}
-}
-
-
-
-void
-ElemNumber::traditionalAlphaCount(
-			int										theValue,
-			const XalanNumberingResourceBundle&		theResourceBundle,
-			XalanDOMString&							theResult) const
-{
-	typedef XalanNumberingResourceBundle::IntVectorType			IntVectorType;
-	typedef XalanNumberingResourceBundle::DigitsTableVectorType	DigitsTableVectorType;
-	typedef XalanNumberingResourceBundle::eNumberingMethod		eNumberingMethod;
-	typedef XalanNumberingResourceBundle::eMultiplierOrder		eMultiplierOrder;
-
-	bool	fError = false;
-
-	// if this number is larger than the largest number we can represent, error!
-	//if (val > theResourceBundle.getMaxNumericalValue())
-	//return XSLTErrorResources.ERROR_STRING;
-	XalanDOMCharVectorType	table;
-
-	// index in table of the last character that we stored
-	IntVectorType::size_type	lookupIndex = 1;  // start off with anything other than zero to make correction work
-
-	// Create a buffer to hold the result
-	// TODO:  size of the table can be determined by computing
-	// logs of the radix.  For now, we fake it.
-	XalanDOMChar	buf[100];
-
-	//some languages go left to right(ie. english), right to left (ie. Hebrew),
-	//top to bottom (ie.Japanese), etc... Handle them differently
-	//String orientation = thisBundle.getString(Constants.LANG_ORIENTATION);
-
-	// next character to set in the buffer
-	int charPos = 0;
-
-	// array of number groups: ie.1000, 100, 10, 1
-	const IntVectorType&	groups = theResourceBundle.getNumberGroups();
-
-	const IntVectorType::size_type	groupsSize = groups.size();
-
-	// array of tables of hundreds, tens, digits. Indexes into the vectors
-	// in the digits table.
-	const IntVectorType&	tables = theResourceBundle.getDigitsTableTable();
-
-	const DigitsTableVectorType&	digitsTable = theResourceBundle.getDigitsTable();
-
-	assert(tables.size() == digitsTable.size());
-
-	// some languages have additive alphabetical notation,
-	// some multiplicative-additive, etc... Handle them differently.
-	const eNumberingMethod	numbering = theResourceBundle.getNumberingMethod();
-
-	// do multiplicative part first
-	if (numbering == XalanNumberingResourceBundle::eMultiplicativeAdditive)
-	{
-		const eMultiplierOrder	mult_order = theResourceBundle.getMultiplierOrder();
-
-		const IntVectorType&	multiplier = theResourceBundle.getMultipliers();
-
-		const IntVectorType::size_type	multiplierSize = multiplier.size();
-
-		const XalanDOMCharVectorType&	zeroChar = theResourceBundle.getZeroChar();
-
-		const XalanDOMCharVectorType::size_type		zeroCharSize = zeroChar.size();
-
-		const XalanDOMCharVectorType&	multiplierChars = theResourceBundle.getMultiplierChars();
-
-		IntVectorType::size_type	i = 0;
-
-		// skip to correct multiplier
-		while (i < multiplierSize && theValue < multiplier[i])
-		{
-			i++;
-		}
-
-		do
-		{
-			if (i >= multiplierSize)
-				break;			  //number is smaller than multipliers
-
-			// some languages (ie chinese) put a zero character (and only one) when
-			// the multiplier is multiplied by zero. (ie, 1001 is 1X1000 + 0X100 + 0X10 + 1)
-			// 0X100 is replaced by the zero character, we don't need one for 0X10
-			if (theValue < multiplier[i])
-			{
-				if (zeroCharSize == 0)
-				{
-					i++;
-				} 
-				else
-				{
-					if (buf[charPos - 1] != zeroChar[0])
-					{
-						buf[charPos++] = zeroChar[0];
-					}
-
-					i++;
-				}
-			}
-			else if (theValue >= multiplier[i])
-			{
-
-				int mult = theValue / multiplier[i];
-
-				theValue = theValue % multiplier[i];		 // save this.
-
-				IntVectorType::size_type	k = 0;
-
-				while (k < groupsSize)
-				{
-					lookupIndex = 1;				 // initialize for each table
-			
-					if (mult / groups[k] <= 0) 		 // look for right table
-					{
-						k++;
-					}
-					else
-					{
-						assert(digitsTable.size() > DigitsTableVectorType::size_type(tables[k]));
-
-						// get the table
-						const XalanDOMCharVectorType&	THEletters =
-								digitsTable[tables[k]];
-
-						const XalanDOMCharVectorType::size_type		THElettersSize =
-							THEletters.size();
-
-						table.resize(THElettersSize + 1);					
-
-						const IntVectorType::size_type	tableSize = table.size();
-
-						XalanDOMCharVectorType::size_type	j = 0;
-
-						for (; j < THElettersSize; j++)
-						{
-							table[j + 1] = THEletters[j];
-						}
-
-						table[0] = THEletters[j - 1];	 // don't need this
-
-						// index in "table" of the next char to emit
-						lookupIndex  = mult / groups[k];
-
-						//this should not happen
-						if (lookupIndex == 0 && mult == 0)
-						{
-							break;
-						}
-
-						assert(i < multiplierChars.size());
-
-						const XalanDOMChar	multiplierChar = multiplierChars[i];
-
-						// put out the next character of output	
-						if (lookupIndex < tableSize)
-						{
-							if(mult_order == XalanNumberingResourceBundle::ePrecedes)
-							{
-								buf[charPos++] = multiplierChar;
-								buf[charPos++] = table[lookupIndex];
-							}
-							else
-							{
-								// don't put out 1 (ie 1X10 is just 10)
-								if (lookupIndex == 1 && i == multiplierSize - 1)
-								{
-								}
-								else
-								{
-									buf[charPos++] = table[lookupIndex];
-								}
-
-								buf[charPos++] = multiplierChar;
-							}
-
-							break;		 // all done!
-						}
-						else
-						{
-							fError = true;
-
-							break;
-						}
-					} //end else
-				} // end while	
-
-				i++;
-
-			} // end else if
-		} // end do while
-		while (i < multiplierSize && fError == false);		
-	}
-
-	// Now do additive part...
-	IntVectorType::size_type	count = 0;
-
-	// do this for each table of hundreds, tens, digits...
-	while (count < groupsSize)
-	{
-		if (theValue / groups[count] <= 0)
-		{
-			// look for correct table
-			count++;
-		}
-		else
-		{
-			const XalanDOMCharVectorType&	theletters =
-								digitsTable[tables[count]];
-
-			const XalanDOMCharVectorType::size_type		thelettersSize =
-							theletters.size();
-
-			table.resize(thelettersSize + 1);
-		
-			const IntVectorType::size_type	tableSize = table.size();
-
-			XalanDOMCharVectorType::size_type	j = 0;
-
-			// need to start filling the table up at index 1
-			for (; j < thelettersSize; j++)
-			{
-				table[j + 1] = theletters[j];
-			}
-
-			table[0] = theletters[j - 1];  // don't need this
-
-			// index in "table" of the next char to emit
-			lookupIndex  = theValue / groups[count];
-
-			// shift input by one "column"
-			theValue = theValue % groups[count];
-
-			// this should not happen
-			if (lookupIndex == 0 && theValue == 0)
-				break;					
-
-			if (lookupIndex < tableSize)
-			{
-				// put out the next character of output	
-				buf[charPos++] = table[lookupIndex];	// left to right or top to bottom					
-			}
-			else
-			{
-				fError = true;
-
-				break;
-			}
-
-			count++;
-		}
-	} // end while
-
-	if (fError == true)
-	{
-		theResult = XALAN_STATIC_UCODE_STRING("#error");
-	}
-	else
-	{
-		assign(theResult, buf, charPos);
-	}
-}
-
-
-
-const XalanDOMChar	elalphaNumberType = 0x03B1;
-
-
-
-void
-ElemNumber::getFormattedNumber(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode,
-			XalanDOMChar					numberType,
-			XalanDOMString::size_type		numberWidth,
-			int								listElement,
-			XalanDOMString&					theResult) const
-{
-	switch(numberType)
-	{
-		case XalanUnicode::charLetter_A:
-			int2alphaCount(listElement, s_alphaCountTable, theResult);
-			break;
-
-		case XalanUnicode::charLetter_a:
-			int2alphaCount(listElement, s_alphaCountTable, theResult);
-
-			theResult = toLowerCaseASCII(theResult);
-			break;
-
-		case XalanUnicode::charLetter_I:
-			long2roman(executionContext, contextNode, listElement, true, theResult);
-			break;
-
-		case XalanUnicode::charLetter_i:
-			long2roman(executionContext, contextNode, listElement, true, theResult);
-
-			theResult = toLowerCaseASCII(theResult);
-			break;
-
-		case 0x3042:
-		case 0x3044:
-		case 0x30A2:
-		case 0x30A4:
-		case 0x4E00:
-		case 0x58F9:
-		case 0x0E51:
-		case 0x05D0:
-		case 0x10D0:
-		case 0x0430:
-			executionContext.error(
-				"Numbering format not supported yet",
-				contextNode,
-				getLocator());
-			break;
-
-		// Handle the special case of Greek letters for now
-		case elalphaNumberType:
-			{
-				// A string to hold the result.
-				StylesheetExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-				XalanDOMString&		letterVal = theGuard.get();
-
-				evaluateLetterValueAVT(executionContext, contextNode, letterVal);
-
-				if (equals(letterVal, Constants::ATTRVAL_TRADITIONAL) == true)
-				{
-					NumberingResourceBundleMapType::const_iterator	i = s_resourceBundles.find(0x03B1);
-
-					if (i != s_resourceBundles.end())
-					{
-						traditionalAlphaCount(listElement, (*i).second, theResult);
-					}
-				}
-				else if (equals(letterVal, Constants::ATTRVAL_ALPHABETIC) == true)
-				{
-					int2alphaCount(listElement, s_elalphaCountTable, theResult);
-				}
-				else
-				{
-					executionContext.error(
-						"The legal values for letter-value are 'alphabetic' and 'traditional'",
-						contextNode,
-						getLocator());
-				}
-			}
-			break;
-
-		default: // "1"
-			{
-				StylesheetExecutionContext::XalanNumberFormatAutoPtr	formatter(
-						getNumberFormatter(executionContext, contextNode));
-
-				formatter->format(listElement, theResult);
-
-				const XalanDOMString::size_type		lengthNumString = length(theResult);
-
-				if (numberWidth > lengthNumString)
-				{
-					const XalanDOMString::size_type	nPadding = numberWidth - lengthNumString;
-
-					const XalanDOMString	padString = formatter->format(0);
-
-					reserve(theResult, nPadding * length(padString) + lengthNumString + 1);
-
-					for(XalanDOMString::size_type i = 0; i < nPadding; i++)
-					{
-						insert(theResult, 0, padString);
-					}
-				}
-			}
-			break;
-	}
-}
-
-
-
-void
-ElemNumber::int2singlealphaCount(
-		int						val, 
-		const XalanDOMString&	table,
-		XalanDOMString&			theResult)
-{
-	assert(int(length(table)) == length(table));
-
-	const int	radix = int(length(table));
-
-	// TODO:  throw error on out of range input
-	if (val > radix)
-	{
-		theResult = XalanDOMString(XALAN_STATIC_UCODE_STRING("#E(") +
-				LongToDOMString(val) +
-				XALAN_STATIC_UCODE_STRING(")"));
-	}
-	else
-	{
-		const XalanDOMChar	theChar = charAt(table, val - 1);
-
-		assign(theResult, &theChar, 1);
-	}
-}
-
-
-
-void
-ElemNumber::int2alphaCount(
-			int						val,
-			const XalanDOMString&	table,
-			XalanDOMString&			theResult)
-{
-	assert(int(length(table)) == length(table));
-
-	const int	radix = int(length(table));
-
-	// Create a buffer to hold the result
-	// TODO:  size of the table can be determined by computing
-	// logs of the radix.  For now, we fake it.  
-	const int		buflen = 100;
-
-	XalanDOMChar	buf[buflen + 1];
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	std::memset(buf, 0, (buflen + 1) * sizeof(XalanDOMChar));
-#else
-	memset(buf, 0, (buflen + 1) * sizeof(XalanDOMChar));
-#endif
-
-	// next character to set in the buffer
-	int charPos = buflen - 1 ;    // work backward through buf[]
-
-	// index in table of the last character that we stored
-	int lookupIndex = 1;  // start off with anything other than zero to make correction work
-	
-	//						Correction number
-	//
-	//	Correction can take on exactly two values:
-	//
-	//		0	if the next character is to be emitted is usual
-	//
-	//      radix - 1 
-	//			if the next char to be emitted should be one less than
-	//			you would expect 
-	//			
-	// For example, consider radix 10, where 1="A" and 10="J"
-	//
-	// In this scheme, we count: A, B, C ...   H, I, J (not A0 and certainly
-	// not AJ), A1
-	//
-	// So, how do we keep from emitting AJ for 10?  After correctly emitting the
-	// J, lookupIndex is zero.  We now compute a correction number of 9 (radix-1).
-	// In the following line, we'll compute (val+correction) % radix, which is,
-	// (val+9)/10.  By this time, val is 1, so we compute (1+9) % 10, which 
-	// is 10 % 10 or zero.  So, we'll prepare to emit "JJ", but then we'll
-	// later suppress the leading J as representing zero (in the mod system, 
-	// it can represent either 10 or zero).  In summary, the correction value of
-	// "radix-1" acts like "-1" when run through the mod operator, but with the 
-	// desireable characteristic that it never produces a negative number.
-
-	int correction = 0;
-
-	// TODO:  throw error on out of range input
-
-	do
-	{
-		// most of the correction calculation is explained above,  the reason for the
-		// term after the "|| " is that it correctly propagates carries across
-		// multiple columns.  
-		correction = ((lookupIndex == 0) || 
-			(correction != 0 && lookupIndex == radix - 1 )) ? (radix - 1) : 0;
-
-		// index in "table" of the next char to emit
-		lookupIndex  = (val + correction) % radix;  
-
-		// shift input by one "column"
-		val = (val / radix);
-
-		// if the next value we'd put out would be a leading zero, we're done.
-		if (lookupIndex == 0 && val == 0)
-			break;
-
-		// put out the next character of output
-		buf[charPos--] = charAt(table, lookupIndex);
-	}
-	while (val > 0);
-
-	assign(theResult, buf + charPos + 1, buflen - charPos - 1);
-}
-
-
-
-void
-ElemNumber::tradAlphaCount(
-			int					/* val */,
-			XalanDOMString&		/* theResult */)
-{
-//	@@ JMD: We don't do languages yet, so this is just a placeholder
-	assert(false);
-}
-
-
-
-void
-ElemNumber::long2roman(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode,
-			long							val,
-			bool							prefixesAreOK,
-			XalanDOMString&					theResult) const
-{
-	if(val < 0)
-	{
-		executionContext.error(
-			"I and i can only format positive numbers",
-			contextNode,
-			getLocator());
-
-	}
-	else
-	{
-		long2roman(val, prefixesAreOK, theResult);
-	}
-}
-
-
-
-void
-ElemNumber::long2roman(
-			long				val,
-			bool				prefixesAreOK,
-			XalanDOMString&		theResult)
-{
-	if(val < 0)
-	{
-		theResult = XalanDOMString(XALAN_STATIC_UCODE_STRING("#E(") +
-								LongToDOMString(val) +
-								XALAN_STATIC_UCODE_STRING(")"));
-	}
-	else if(val == 0)
-	{
-		theResult = XALAN_STATIC_UCODE_STRING("0");
-	}
-	else if (val <= 3999L)
-	{
-		clear(theResult);
-
-		int	place = 0;
-
-		do      
-		{
-			while (val >= s_romanConvertTable[place].m_postValue)
-			{
-				theResult += s_romanConvertTable[place].m_postLetter;
-				val -= s_romanConvertTable[place].m_postValue;
-			}
-
-			if (prefixesAreOK)
-			{
-				if (val >= s_romanConvertTable[place].m_preValue)
-				{
-					theResult += s_romanConvertTable[place].m_preLetter;
-					val -= s_romanConvertTable[place].m_preValue;
-				}
-			} 
-
-			++place;      
-		}
-		while (val > 0);
-	}
-	else
-	{
-		theResult = XALAN_STATIC_UCODE_STRING("#error");
-	}
-}
-
-
-
-ElemNumber::NumberFormatStringTokenizer::NumberFormatStringTokenizer(
-			const XalanDOMString&	theString) :
-	m_currentPosition(0),
-	m_maxPosition(length(theString)),
-	m_string(&theString)
-{
-}
-
-
-
-void
-ElemNumber::NumberFormatStringTokenizer::setString(const XalanDOMString&	theString)
-{
-	m_string = &theString;
-
-	m_currentPosition = 0;
-	m_maxPosition = length(theString);
-}
-
-
-
-XalanDOMString
-ElemNumber::NumberFormatStringTokenizer::nextToken() 
-{
-	if (m_currentPosition >= m_maxPosition) 
-	{
-		return XalanDOMString();
-	}
-
-	const size_type		start = m_currentPosition;
-
-	if (isXMLLetterOrDigit(charAt(*m_string, m_currentPosition)))
-	{
-		while (m_currentPosition < m_maxPosition &&
-			   isXMLLetterOrDigit(charAt(*m_string, m_currentPosition)))
-		{
-			m_currentPosition++;
-		}
-	}
-	else
-	{
-		while (m_currentPosition < m_maxPosition &&
-			   !isXMLLetterOrDigit(charAt(*m_string, m_currentPosition)))
-		{
-			m_currentPosition++;
-		}
-	}
-
-	return XalanDOMString(*m_string, start, m_currentPosition);
-}
-
-
-
-void
-ElemNumber::NumberFormatStringTokenizer::nextToken(XalanDOMString&	theToken)
-{
-	if (m_currentPosition >= m_maxPosition) 
-	{
-		clear(theToken);
-	}
-
-	const size_type		start = m_currentPosition;
-
-	if (isXMLLetterOrDigit(charAt(*m_string, m_currentPosition)))
-	{
-		while (m_currentPosition < m_maxPosition &&
-			   isXMLLetterOrDigit(charAt(*m_string, m_currentPosition)))
-		{
-			m_currentPosition++;
-		}
-	}
-	else
-	{
-		while (m_currentPosition < m_maxPosition &&
-			   !isXMLLetterOrDigit(charAt(*m_string, m_currentPosition)))
-		{
-			m_currentPosition++;
-		}
-	}
-
-	substring(*m_string, theToken, start, m_currentPosition);
-}
-
-
-
-ElemNumber::NumberFormatStringTokenizer::size_type
-ElemNumber::NumberFormatStringTokenizer::countTokens() const
-{
-	size_type 	count = 0;
-	size_type 	currpos = m_currentPosition;
-
-	// Tokens consist of sequences of alphabetic characters and sequences of
-	// non-alphabetic characters
-	while (currpos < m_maxPosition) 
-	{
-		if (isXMLLetterOrDigit(charAt(*m_string, currpos)))
-		{
-			while (currpos < m_maxPosition &&
-				   isXMLLetterOrDigit(charAt(*m_string, currpos)))
-			{
-				currpos++;
-			}
-		}
-		else
-		{
-			while (currpos < m_maxPosition &&
-				   !isXMLLetterOrDigit(charAt(*m_string, currpos)))
-			{
-				currpos++;
-			}
-		}
-
-		count++;
-	}
-
-	return count;
-}
-
-
-
-static const XalanDOMChar	alphaCountTable[] =
-{
-	XalanUnicode::charLetter_Z,
-	XalanUnicode::charLetter_A,
-	XalanUnicode::charLetter_B,
-	XalanUnicode::charLetter_C,
-	XalanUnicode::charLetter_D,
-	XalanUnicode::charLetter_E,
-	XalanUnicode::charLetter_F,
-	XalanUnicode::charLetter_G,
-	XalanUnicode::charLetter_H,
-	XalanUnicode::charLetter_I,
-	XalanUnicode::charLetter_J,
-	XalanUnicode::charLetter_K,
-	XalanUnicode::charLetter_L,
-	XalanUnicode::charLetter_M,
-	XalanUnicode::charLetter_N,
-	XalanUnicode::charLetter_O,
-	XalanUnicode::charLetter_P,
-	XalanUnicode::charLetter_Q,
-	XalanUnicode::charLetter_R,
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charLetter_U,
-	XalanUnicode::charLetter_V,
-	XalanUnicode::charLetter_W,
-	XalanUnicode::charLetter_X,
-	XalanUnicode::charLetter_Y,
-	0
-};
-
-
-
-static const XalanDOMChar	elalphaCountTable[] =
-{
-	0x03c9,
-	0x03b1,
-	0x03b2,
-	0x03b3,
-	0x03b4,
-	0x03b5,
-	0x03b6,
-	0x03b7,
-	0x03b8,
-	0x03b9,
-	0x03ba,
-	0x03bb,
-	0x03bc,
-	0x03bd,
-	0x03be,
-	0x03bf,
-	0x03c0,
-	0x03c1,
-	0x03c2,
-	0x03c3,
-	0x03c4,
-	0x03c5,
-	0x03c6,
-	0x03c7,
-	0x03c8,
-	0
-};
-
-
-
-static XalanDOMString								s_atString;
-
-static XalanDOMString								s_textString;
-
-static XalanDOMString								s_commentString;
-
-static XalanDOMString								s_slashString;
-
-static XalanDOMString								s_piString;
-
-static XalanDOMString								s_leftParenString;
-
-static XalanDOMString								s_dotString;
-
-static XalanDOMString								s_oneString;
-
-static XalanDOMString								s_defaultSeparatorString;
-
-static XalanDOMString								s_alphaCountTable;
-
-static XalanDOMString								s_elalphaCountTable;
-
-
-
-static ElemNumber::DecimalToRomanVectorType			s_romanConvertTable;
-
-static ElemNumber::NumberingResourceBundleMapType	s_resourceBundles;
-
-
-const XalanDOMString&	ElemNumber::s_atString = ::s_atString;
-
-const XalanDOMString&	ElemNumber::s_textString = ::s_textString;
-
-const XalanDOMString&	ElemNumber::s_commentString = ::s_commentString;
-
-const XalanDOMString&	ElemNumber::s_slashString = ::s_slashString;
-
-const XalanDOMString&	ElemNumber::s_piString = ::s_piString;
-
-const XalanDOMString&	ElemNumber::s_leftParenString = ::s_leftParenString;
-
-const XalanDOMString&	ElemNumber::s_dotString = ::s_dotString;
-
-const XalanDOMString&	ElemNumber::s_oneString = ::s_oneString;
-
-const XalanDOMString&	ElemNumber::s_defaultSeparatorString = ::s_defaultSeparatorString;
-
-const XalanDOMString&	ElemNumber::s_alphaCountTable = ::s_alphaCountTable;
-
-const XalanDOMString&	ElemNumber::s_elalphaCountTable = ::s_elalphaCountTable;
-
-const ElemNumber::DecimalToRomanVectorType&		ElemNumber::s_romanConvertTable =
-				::s_romanConvertTable;
-
-const ElemNumber::NumberingResourceBundleMapType&	ElemNumber::s_resourceBundles =
-				::s_resourceBundles;
-
-
-
-static void
-addTraditionalElalphaBundle(ElemNumber::NumberingResourceBundleMapType&		theBundleMap)
-{
-
-	// The following are a bunch of static data the comprise the contents of the bundle.
-	static const XalanDOMChar	elalphaAlphabet[] =
-	{
-		0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,  0x03b8,
-		0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0,
-		0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
-		0x03c9, 0
-	};
-
-	static const XalanDOMChar	elalphaTraditionalAlphabet[] =
-	{
-		XalanUnicode::charLetter_A, XalanUnicode::charLetter_B, XalanUnicode::charLetter_C,
-		XalanUnicode::charLetter_D, XalanUnicode::charLetter_E, XalanUnicode::charLetter_F,
-		XalanUnicode::charLetter_G, XalanUnicode::charLetter_H, XalanUnicode::charLetter_I,
-		XalanUnicode::charLetter_J, XalanUnicode::charLetter_K, XalanUnicode::charLetter_L,
-		XalanUnicode::charLetter_M, XalanUnicode::charLetter_N, XalanUnicode::charLetter_O,
-		XalanUnicode::charLetter_P, XalanUnicode::charLetter_Q, XalanUnicode::charLetter_R,
-		XalanUnicode::charLetter_S, XalanUnicode::charLetter_T, XalanUnicode::charLetter_U,
-		XalanUnicode::charLetter_V, XalanUnicode::charLetter_W, XalanUnicode::charLetter_X,
-		XalanUnicode::charLetter_Y, XalanUnicode::charLetter_Z, 0
-	};
-
-	static const int	elalphaNumberGroups[] =
-	{
-		100, 10, 1
-	};
-
-	const size_t	elalphaNumberGroupsCount = sizeof(elalphaNumberGroups) / sizeof(int);
-
-	static const int	elalphaMultipliers[] = { 1000 };
-
-	const size_t	elalphaMultipliersCount = sizeof(elalphaMultipliers) / sizeof(int);
-
-	static const XalanDOMChar	elalphaMultiplierChars[] = { 0x03d9, 0 };
-
-	static const XalanDOMChar	elalphaDigits[] =
-	{
-		0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03db, 0x03b6, 0x03b7, 0x03b8, 0
-	};
-
-	static const XalanDOMChar	elalphaTens[] =
-	{
-		0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03df, 0
-	};
-
-	static const XalanDOMChar	elalphaHundreds[] =
-	{
-		0x03c1, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x03e1, 0
-	};
-
-	typedef XalanNumberingResourceBundle::DigitsTableVectorType		DigitsTableVectorType;
-	typedef XalanNumberingResourceBundle::IntVectorType				IntVectorType;
-
-	// Create the table of characters for the various digit positions...
-	DigitsTableVectorType			theElalphaDigitsTable;
-
-	// Since we know the size, create the empty vectors in the table...
-	theElalphaDigitsTable.resize(3);
-
-	// Swap the empty tables with temporary ones...
-	XalanDOMCharVectorType(elalphaDigits, elalphaDigits + length(elalphaDigits)).swap(theElalphaDigitsTable[0]);
-	XalanDOMCharVectorType(elalphaTens, elalphaTens + length(elalphaTens)).swap(theElalphaDigitsTable[1]);
-	XalanDOMCharVectorType(elalphaHundreds, elalphaHundreds + length(elalphaHundreds)).swap(theElalphaDigitsTable[2]);
-
-	// This table will indicate which positions the vectors of digits are in
-	// the table...
-	IntVectorType	theDigitsTableTable;
-
-	theDigitsTableTable.reserve(3);
-
-	// Push the positions on in reverse order, since that's how things work...
-	theDigitsTableTable.push_back(2);
-	theDigitsTableTable.push_back(1);
-	theDigitsTableTable.push_back(0);
-
-	const XalanDOMString	theLanguageString("el");
-
-	const XalanNumberingResourceBundle	theElaphaBundle(
-		theLanguageString,
-		theLanguageString,
-		theLanguageString,
-		XalanDOMCharVectorType(elalphaAlphabet, elalphaAlphabet + length(elalphaAlphabet)),
-		XalanDOMCharVectorType(elalphaTraditionalAlphabet, elalphaTraditionalAlphabet + length(elalphaTraditionalAlphabet)),
-		XalanNumberingResourceBundle::eLeftToRight,
-		XalanNumberingResourceBundle::eMultiplicativeAdditive,
-		XalanNumberingResourceBundle::ePrecedes,
-		~0,
-		IntVectorType(elalphaNumberGroups, elalphaNumberGroups + elalphaNumberGroupsCount),
-		IntVectorType(elalphaMultipliers, elalphaMultipliers + elalphaMultipliersCount),
-		XalanDOMCharVectorType(),
-		XalanDOMCharVectorType(elalphaMultiplierChars, elalphaMultiplierChars + length(elalphaMultiplierChars)),
-		theElalphaDigitsTable,
-		theDigitsTableTable);
-
-	typedef ElemNumber::NumberingResourceBundleMapType::value_type	value_type;
-
-	theBundleMap[elalphaNumberType] = theElaphaBundle;
-}
-
-
-
-void
-ElemNumber::initialize()
-{
-	::s_atString = XALAN_STATIC_UCODE_STRING("@");
-
-	::s_textString = XALAN_STATIC_UCODE_STRING("text()");
-
-	::s_commentString = XALAN_STATIC_UCODE_STRING("comment()");
-
-	::s_slashString = XALAN_STATIC_UCODE_STRING("/");
-
-	::s_piString = XALAN_STATIC_UCODE_STRING("pi(");
-
-	::s_leftParenString = XALAN_STATIC_UCODE_STRING(")");
-
-	::s_dotString = XALAN_STATIC_UCODE_STRING(".");
-
-	::s_oneString = XALAN_STATIC_UCODE_STRING("1");
-
-	::s_defaultSeparatorString = XALAN_STATIC_UCODE_STRING(".");
-
-	::s_alphaCountTable = alphaCountTable;
-
-	::s_elalphaCountTable = elalphaCountTable;
-
-	::s_romanConvertTable.reserve(7);
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			1000L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("M")),
-			900L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("CM"))));
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			500L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("D")),
-			400,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("CD"))));
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			100L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("C")),
-			90L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("XC"))));
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			50L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("L")),
-			40L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("XL"))));
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			10L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("X")),
-			9L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("IX"))));
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			5L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("V")),
-			4L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("IV"))));
-
-	::s_romanConvertTable.push_back(
-		DecimalToRoman(
-			1L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("I")),
-			1L,
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("I"))));
-
-	addTraditionalElalphaBundle(::s_resourceBundles);
-}
-
-
-
-void
-ElemNumber::terminate()
-{
-	releaseMemory(::s_atString);
-	releaseMemory(::s_textString);
-	releaseMemory(::s_commentString);
-	releaseMemory(::s_slashString);
-	releaseMemory(::s_piString);
-	releaseMemory(::s_leftParenString);
-	releaseMemory(::s_dotString);
-	releaseMemory(::s_oneString);
-	releaseMemory(::s_defaultSeparatorString);
-
-	releaseMemory(::s_alphaCountTable);
-	releaseMemory(::s_elalphaCountTable);
-
-	DecimalToRomanVectorType().swap(::s_romanConvertTable);
-
-	NumberingResourceBundleMapType().swap(::s_resourceBundles);
-}
diff --git a/src/XSLT/ElemNumber.hpp b/src/XSLT/ElemNumber.hpp
deleted file mode 100644
index 354fbb8..0000000
--- a/src/XSLT/ElemNumber.hpp
+++ /dev/null
@@ -1,541 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMNUMBER_HEADER_GUARD)
-#define XALAN_ELEMNUMBER_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <XSLT/ElemTemplateElement.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-
-
-
-#include <XSLT/DecimalToRoman.hpp>
-#include <XSLT/XalanNumberingResourceBundle.hpp>
-
-
-
-class AVT;
-class CountersTable;
-class XalanNumberFormat;
-class XPath;
-class XPathExecutionContext;
-
-
-
-class ElemNumber: public ElemTemplateElement
-{
-private:
-
-	struct Counter;
-
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<DecimalToRoman>					DecimalToRomanVectorType;
-	typedef vector<int>								IntArrayType;
-	typedef map<XalanDOMChar,
-				XalanNumberingResourceBundle,
-				less<XalanDOMChar> >				NumberingResourceBundleMapType;
-#else
-	typedef std::vector<DecimalToRoman>				DecimalToRomanVectorType;
-	typedef std::vector<int>						IntArrayType;
-	typedef std::map<XalanDOMChar,
-					 XalanNumberingResourceBundle>	NumberingResourceBundleMapType;
-#endif
-
-	/**
-	 * Perform static initialization.  See class XSLTInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XSLTInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Construct an object corresponding to an "xsl:number" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemNumber(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemNumber();
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	/**
-	 * Get the previous node to be counted.
-	 */
-	XalanNode* getPreviousNode(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						pos) const;
-
-	/**
-	 * Get the target node that will be counted..
-	 */
-	XalanNode* getTargetNode(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode) const;
-
-protected:
-
-	/**
-	 * Given a 'from' pattern (ala xsl:number), a match pattern 
-	 * and a context, find the first ancestor that matches the 
-	 * pattern (including the context handed in).
-	 * @param matchPatternString The match pattern.
-	 * @param node The node that "." expresses.
-	 * @param namespaceContext The context in which namespaces in the 
-	 * queries are supposed to be expanded.
-	 */
-	XalanNode*
-	findAncestor(
-			StylesheetExecutionContext&		executionContext,
-			const XPath*					fromMatchPattern,
-			const XPath*					countMatchPattern,
-			XalanNode*						context,
-			const XalanElement*				namespaceContext) const;
-
-	/**
-	* Given a 'from' pattern (ala xsl:number), a match pattern 
-	* and a context, find the first ancestor that matches the 
-	* pattern (including the context handed in).
-	* @param matchPatternString The match pattern.
-	* @param node The node that "." expresses.
-	* @param namespaceContext The context in which namespaces in the 
-	* queries are supposed to be expanded.
-	*/
-	XalanNode*
-	findPrecedingOrAncestorOrSelf(
-			StylesheetExecutionContext&		executionContext,
-			const XPath*					fromMatchPattern,
-			const XPath*					countMatchPattern,
-			XalanNode*						context,
-			const XalanElement*				namespaceContext) const;
-
-	/**
-	 * Get the count match pattern, or a default value.
-	 */
-	const XPath*
-	getCountMatchPattern(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode) const;
-
-	/**
-	 * Given an XML source node, get the count according to the 
-	 * parameters set up by the xsl:number attributes.
-	 */
-	void
-	getCountString(
-			StylesheetExecutionContext&		executionContext,
-			XalanDOMString&					theResult) const;
-
-	void
-	getCountString(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode,
-			const MutableNodeRefList&		ancestors,
-			CountersTable&					ctable,
-			int								numberList[],
-			NodeRefListBase::size_type		numberListLength,
-			XalanDOMString&					theResult) const;
-
-	/**
-	 * Get the ancestors, up to the root, that match the
-	 * pattern.
-	 * @param patterns if non-0, count only nodes
-	 * that match this pattern, if 0 count all ancestors.
-	 * @param executionContext The current execution context.
-	 * @param node Count this node and it's ancestors.
-	 * @param stopAtFirstFound If true, only get the first matching ancestor
-	 * @param ancestors The ancestors that match the pattern.
-	 */
-	void
-	getMatchingAncestors(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						node, 
-			bool							stopAtFirstFound,
-			MutableNodeRefList&				ancestors) const;
-
-	/**
-	 * Get a formatter.
-	 * @param executionContext The current execution context.
-	 * @param contextNode The current context node.
-	 * @return A new XalanNumberFormat instance.  The caller owns the memory.
-	 */
-	XalanNumberFormat*
-	getNumberFormatter(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode) const;
-
-	/**
-	 * Format an array of integers into a formatted string.
-	 *
-	 * @param executionContext The current execution context.
-	 * @param theList Array of one or more integer numbers.
-	 * @param theListLength The length of the array.
-	 * @param contextNode The context node.
-	 * @param formattedNumber The formatted number result.
-	 */
-	void
-	formatNumberList(	
-			StylesheetExecutionContext&		executionContext,
-			const int						theList[],
-			NodeRefListBase::size_type		theListLength,
-			XalanNode*						contextNode,
-			XalanDOMString&					formattedNumber) const;
-
-	/**
-	 * Convert a long integer into alphabetic counting, in other words
-	 * count using the sequence A B C ... Z.
-	 * @param val Value to convert -- must be greater than zero.
-	 * @param table a table containing one character for each digit in the radix
-	 * @param theResult A string representing alpha count of number.
-	 * @see XSLTEngineImpl#DecimalToRoman
-	 *
-	 * Note that the radix of the conversion is inferred from the size
-	 * of the table.
-	 */
-	static void
-	int2singlealphaCount(
-			int						val,
-			const XalanDOMString&	table,
-			XalanDOMString&			theResult);
-		
-	/**
-	 * Convert a long integer into alphabetic counting, in other words 
-	 * count using the sequence A B C ... Z AA AB AC.... etc.
-	 * @param val Value to convert -- must be greater than zero.
-	 * @param table a table containing one character for each digit in the radix
-	 * @param result returns the stringrepresenting alpha count of number.
-	 * @see XSLTEngineImpl#DecimalToRoman
-	 * 
-	 * Note that the radix of the conversion is inferred from the size
-	 * of the table.
-	 */
-	static void
-	int2alphaCount(
-			int						val,
-			const XalanDOMString&	table,
-			XalanDOMString&			theResult);
-
-	/**
-	 * Convert a long integer into traditional alphabetic counting, in other words
-	 * count using the traditional numbering.
-	 * @param val Value to convert -- must be greater than zero.
-	 * @param table a table containing one character for each digit in the radix
-	 * @return String representing alpha count of number.
-	 * @see XSLProcessor#DecimalToRoman
-	 *
-	 * Note that the radix of the conversion is inferred from the size
-	 * of the table.
-	 */
-	static void
-	tradAlphaCount(
-			int					val,
-			XalanDOMString&		theResult);
-
-	/**
-	 * Convert a long integer into roman numerals.
-	 * @param val Value to convert.
-	 * @param prefixesAreOK true to enable prefix notation (e.g. 4 = "IV"), false to disable prefix notation (e.g. 4 = "IIII").
-	 * @param theResult The formatted Roman numeral string.
-	 * @see DecimalToRoman
-	 * @see m_romanConvertTable
-	 */
-	static void
-	long2roman(
-			long				val,
-			bool				prefixesAreOK,
-			XalanDOMString&		theResult);
-
-private:
-
-	/**
-	 * Convert a long integer into roman numerals.
-	 * @param executionContext The current execution context.
-	 * @param contextNode The current context node.
-	 * @param val Value to convert.
-	 * @param prefixesAreOK true to enable prefix notation (e.g. 4 = "IV"), false to disable prefix notation (e.g. 4 = "IIII").
-	 * @param theResult The formatted Roman numeral string.
-	 */
-	void
-	long2roman(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode,
-			long							val,
-			bool							prefixesAreOK,
-			XalanDOMString&					theResult) const;
-
-	void
-	evaluateLetterValueAVT(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode* 						contextNode,
-			XalanDOMString&					value) const;
-
-	void
-	traditionalAlphaCount(
-			int										theValue,
-			const XalanNumberingResourceBundle&		theResourceBundle,
-			XalanDOMString&							theResult) const;
-
-	/*
-	 * Get Formatted number
-	 */
-	void
-	getFormattedNumber(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						contextNode,
-			XalanDOMChar					numberType,
-			XalanDOMString::size_type		numberWidth,
-			int								listElement,
-			XalanDOMString&					theResult) const;
-
-	const XPath*	m_countMatchPattern;
-	const XPath*	m_fromMatchPattern;
-	const XPath*	m_valueExpr;
-
-	int				m_level; // = Constants.NUMBERLEVEL_SINGLE;
-
-	const AVT*		m_format_avt;
-	const AVT*		m_lang_avt;
-	const AVT*		m_lettervalue_avt;
-	const AVT*		m_groupingSeparator_avt;
-	const AVT*		m_groupingSize_avt;
-
-	/**
- 	 * The string "@".
- 	 */
- 	static const XalanDOMString&			s_atString;
-
-		/**
- 	 * The string "text()".
- 	 */
- 	static const XalanDOMString&			s_textString;
-
-	/**
- 	 * The string "comment()".
- 	 */
- 	static const XalanDOMString&			s_commentString;
-
-	/**
- 	 * The string "/".
- 	 */
- 	static const XalanDOMString&			s_slashString;
-
-	/**
- 	 * The string "pi(".
- 	 */
- 	static const XalanDOMString&			s_piString;
-
-	/**
- 	 * The string ")".
- 	 */
- 	static const XalanDOMString&			s_leftParenString;
-
-	/**
- 	 * The string ".".
- 	 */
- 	static const XalanDOMString&			s_dotString;
-
-	/**
- 	 * The string "1".
- 	 */
- 	static const XalanDOMString&			s_oneString;
-
-	/**
- 	 * The string ".".
- 	 */
- 	static const XalanDOMString&			s_defaultSeparatorString;
-
-	/**
-	* Chars for converting integers into alpha counts.
-	* @see XSLTEngineImpl#int2alphaCount
-	*/
-	static const XalanDOMString&			s_alphaCountTable;
-
-	static const XalanDOMString&			s_elalphaCountTable;
-
-	/**
-	 * Table to help in converting decimals to roman numerals.
-	 * @see XSLTEngineImpl#DecimalToRoman
-	 * @see XSLTEngineImpl#long2roman
-	 */
-	static const DecimalToRomanVectorType&	s_romanConvertTable;
-
-	/**
-	 * A map of supported numbering resource bundles.
-	 */
-	static const NumberingResourceBundleMapType&	s_resourceBundles;
-
-
-public:
-
-	/**
-	 * This class returns tokens using non-alphanumberic characters as
-	 * delimiters. 
-	 */
-	class NumberFormatStringTokenizer
-	{
-	public:
-
-		typedef XalanDOMString::size_type	size_type;
-
-		/**
-		 * Construct a NumberFormatStringTokenizer.
-		 *
-		 * @param theString string to tokenize
-		 */
-		NumberFormatStringTokenizer(const XalanDOMString&	theString);
-
-		/**
-		 * Sets the string to tokenize.
-		 *
-		 * @param theString  new string to tokenize
-		 */
-		void
-		setString(const XalanDOMString&	theString);
-
-		/**
-		 * Reset tokenizer so that nextToken() starts from the beginning.
-		 */
-		void
-		reset()
-		{
-			m_currentPosition = 0;
-		}
-
-		/**
-		 * Retrieve the next token to be parsed; behavior is undefined if there
-		 * are no more tokens
-		 * 
-		 * @return next token string
-		 */
-		XalanDOMString
-		nextToken();
-
-		/**
-		 * Retrieve the next token to be parsed.
-		 * 
-		 * @param theToken The next token string
-		 */
-		void
-		nextToken(XalanDOMString&	theToken);
-
-		/**
-		 * Determine if there are tokens remaining
-		 * 
-		 * @return true if there are more tokens
-		 */
-		bool
-		hasMoreTokens() const
-		{
-			return m_currentPosition >= m_maxPosition ? false : true;
-		}
-
-		/**
-		 * Count the number of tokens yet to be parsed
-		 * 
-		 * @return number of remaining tokens
-		 */
-		size_type
-		countTokens() const;
-
-	private:
-
-		size_type				m_currentPosition;
-
-		size_type				m_maxPosition;
-
-		const XalanDOMString*	m_string;
-	};
-	
-private:
-};
-
-
-
-#endif	// XALAN_ELEMNUMBER_HEADER_GUARD
diff --git a/src/XSLT/ElemOtherwise.cpp b/src/XSLT/ElemOtherwise.cpp
deleted file mode 100644
index 23c1727..0000000
--- a/src/XSLT/ElemOtherwise.cpp
+++ /dev/null
@@ -1,119 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemOtherwise.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemOtherwise::ElemOtherwise(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_OTHERWISE)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(isAttrOK(aname, atts, i, constructionContext) == false ||
-		   processSpaceAttr(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:otherwise has an illegal attribute",
-				0,
-				this);
-		}
-	}
-}
-
-
-
-const XalanDOMString&
-ElemOtherwise::getElementName() const
-{
-	return Constants::ELEMNAME_OTHERWISE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemOtherwise::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	executeChildren(executionContext);
-}
diff --git a/src/XSLT/ElemOtherwise.hpp b/src/XSLT/ElemOtherwise.hpp
deleted file mode 100644
index 4e22de2..0000000
--- a/src/XSLT/ElemOtherwise.hpp
+++ /dev/null
@@ -1,101 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMOTHERWISE_HEADER_GUARD)
-#define XALAN_ELEMOTHERWISE_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class ElemOtherwise: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:otherwise" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemOtherwise(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext& 	executionContext) const;
-};
-
-
-
-#endif	// XALAN_ELEMOTHERWISE_HEADER_GUARD
diff --git a/src/XSLT/ElemPI.cpp b/src/XSLT/ElemPI.cpp
deleted file mode 100644
index db9ff74..0000000
--- a/src/XSLT/ElemPI.cpp
+++ /dev/null
@@ -1,195 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemPI.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-#include "AVT.hpp"
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemPI::ElemPI(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_PI),
-	m_nameAVT(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_NAME))
-		{			
-			m_nameAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(isAttrOK(aname, atts, i, constructionContext) == false ||
-				processSpaceAttr(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:processing-instruction has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(0 == m_nameAVT)
-	{
-		constructionContext.error(
-			"xsl:processing-instruction must have a 'name' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemPI::~ElemPI()
-{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete (AVT*)m_nameAVT;
-#else
-	delete m_nameAVT;
-#endif
-}
-
-
-
-const XalanDOMString&
-ElemPI::getElementName() const
-{
-	return Constants::ELEMNAME_PI_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemPI::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-	
-	XalanDOMString	piName;
-	XalanNode* sourceNode = executionContext.getCurrentNode();
-	
-	m_nameAVT->evaluate(piName, sourceNode, *this, executionContext);
-
-	if(equalsIgnoreCaseASCII(piName, Constants::ATTRVAL_OUTPUT_METHOD_XML))
-	{
-		executionContext.error("processing-instruction name can not be 'xml'", 0, this);
-	}
-	else if(!isValidNCName(piName))
-	{
-		executionContext.error("processing-instruction name must be a valid NCName", 0, this);
-	}
-
-	childrenToResultPI(
-			executionContext,
-			piName);
-}
-
-
-
-bool
-ElemPI::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-	
-	switch(xslToken)
-	{
-	// char-instructions 
-	case Constants::ELEMNAME_TEXTLITERALRESULT:
-	case Constants::ELEMNAME_APPLY_TEMPLATES:
-	case Constants::ELEMNAME_APPLY_IMPORTS:
-	case Constants::ELEMNAME_CALLTEMPLATE:
-	case Constants::ELEMNAME_FOREACH:
-	case Constants::ELEMNAME_VALUEOF:
-	case Constants::ELEMNAME_COPY_OF:
-	case Constants::ELEMNAME_NUMBER:
-	case Constants::ELEMNAME_CHOOSE:
-	case Constants::ELEMNAME_IF:
-	case Constants::ELEMNAME_TEXT:
-	case Constants::ELEMNAME_COPY:
-	case Constants::ELEMNAME_VARIABLE:
-	case Constants::ELEMNAME_MESSAGE:
-		fResult = true;
-		break;
-		
-	default:
-		break;
-	}
-	
-	return fResult;
-}
diff --git a/src/XSLT/ElemPI.hpp b/src/XSLT/ElemPI.hpp
deleted file mode 100644
index 0739366..0000000
--- a/src/XSLT/ElemPI.hpp
+++ /dev/null
@@ -1,120 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMPI_HEADER_GUARD)
-#define XALAN_ELEMPI_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class AVT;
-
-
-
-class ElemPI: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:processing-instruction"
-	 * element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemPI(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemPI();
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	const AVT*	m_nameAVT;
-};
-
-
-
-#endif	// XALAN_ELEMPI_HEADER_GUARD
diff --git a/src/XSLT/ElemParam.cpp b/src/XSLT/ElemParam.cpp
deleted file mode 100644
index 3e6fbf5..0000000
--- a/src/XSLT/ElemParam.cpp
+++ /dev/null
@@ -1,117 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemParam.hpp"
-
-
-
-#include <XPath/XObjectFactory.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-#include "TracerEvent.hpp"
-
-
-
-ElemParam::ElemParam(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemVariable(constructionContext,
-				 stylesheetTree,
-				 atts,
-				 lineNumber,
-				 columnNumber,
-				 Constants::ELEMNAME_PARAMVARIABLE)
-{
-}
-
-
-
-const XalanDOMString&
-ElemParam::getElementName() const
-{
-	return Constants::ELEMNAME_PARAMVARIABLE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemParam::execute(StylesheetExecutionContext&		executionContext) const
-{
-	const XObjectPtr	obj = executionContext.getParamVariable(m_qname);
-
-	if (obj.null() == true)
-	{
-		ElemVariable::execute(executionContext);
-	}
-	else
-	{
-		if(0 != executionContext.getTraceListeners())
-		{
-			executionContext.fireTraceEvent(
-				TracerEvent(
-					executionContext,					
-					*this));
-		}
-	}
-}
diff --git a/src/XSLT/ElemParam.hpp b/src/XSLT/ElemParam.hpp
deleted file mode 100644
index 5c63691..0000000
--- a/src/XSLT/ElemParam.hpp
+++ /dev/null
@@ -1,103 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMPARAM_HEADER_GUARD)
-#define XALAN_ELEMPARAM_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemVariable.hpp"
-
-
-
-class ElemParam: public ElemVariable
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:param" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemParam(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	// These methods are inherited from ElemVariable ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-};
-
-
-
-#endif	// XALAN_ELEMPARAM_HEADER_GUARD
diff --git a/src/XSLT/ElemSort.cpp b/src/XSLT/ElemSort.cpp
deleted file mode 100644
index 51d7830..0000000
--- a/src/XSLT/ElemSort.cpp
+++ /dev/null
@@ -1,179 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemSort.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemSort::ElemSort(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_SORT),
-	m_selectPattern(0),
-	m_langAVT(0),
-	m_dataTypeAVT(0),
-	m_orderAVT(0),
-	m_caseOrderAVT(0)
-{
-	const unsigned int nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_SELECT))
-		{
-			m_selectPattern 
-				= constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-		}
-		else if(equals(aname, Constants::ATTRNAME_LANG))
-		{			
-			m_langAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_DATATYPE))
-		{
-			m_dataTypeAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_ORDER))
-		{
-			m_orderAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_CASEORDER))
-		{
-			constructionContext.warn("Xalan C++ does not yet handle the 'case-order' attribute!");
-
-			m_caseOrderAVT = new AVT(getLocator(), aname, atts.getType(i), atts.getValue(i),
-				*this, constructionContext);
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:sort has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(0 == m_dataTypeAVT)
-	{
-		m_dataTypeAVT = new AVT(getLocator(), c_wstr(Constants::ATTRNAME_DATATYPE), c_wstr(Constants::ATTRTYPE_CDATA), c_wstr(Constants::ATTRVAL_DATATYPE_TEXT), 
-			*this, constructionContext);
-	}
-
-	if(0 == m_orderAVT)
-	{
-		m_orderAVT = new AVT(getLocator(), c_wstr(Constants::ATTRNAME_ORDER),	c_wstr(Constants::ATTRTYPE_CDATA), c_wstr(Constants::ATTRVAL_ORDER_ASCENDING),
-			*this, constructionContext);
-	}
-
-	if(0 == m_selectPattern)
-	{
-		m_selectPattern = constructionContext.createXPath(getLocator(), StaticStringToDOMString(XALAN_STATIC_UCODE_STRING(".")), *this);
-	}
-}
-
-
-ElemSort::~ElemSort()
-{
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete (AVT*)m_langAVT;
-
-	delete (AVT*)m_dataTypeAVT;
-
-	delete (AVT*)m_orderAVT;
-
-	delete (AVT*)m_caseOrderAVT;
-#else
-	delete m_langAVT;
-
-	delete m_dataTypeAVT;
-
-	delete m_orderAVT;
-
-	delete m_caseOrderAVT;
-#endif
-}
-
-
-const XalanDOMString&
-ElemSort::getElementName() const
-{
-	return Constants::ELEMNAME_SORT_WITH_PREFIX_STRING;
-}
-
diff --git a/src/XSLT/ElemSort.hpp b/src/XSLT/ElemSort.hpp
deleted file mode 100644
index c06da81..0000000
--- a/src/XSLT/ElemSort.hpp
+++ /dev/null
@@ -1,163 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMSORT_HEADER_GUARD)
-#define XALAN_ELEMSORT_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "AVT.hpp"
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XPath;
-class AVT;
-
-
-
-class ElemSort: public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:sort" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemSort(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	~ElemSort();
-
-	/**
-	 * Retrieve the language attribute value template(AVT) 
-	 * 
-	 * @return the language AVT
-	 */
-	const AVT*
-	getLangAVT() const
-	{
-		return m_langAVT;
-	}
-
-	/**
-	 * Retrieve the order attribute value template(AVT) 
-	 * 
-	 * @return the order AVT
-	 */
-	const AVT*
-	getOrderAVT() const
-	{
-		return m_orderAVT;
-	}
-
-	/**
-	 * Retrieve the data type attribute value template(AVT) 
-	 * 
-	 * @return the data type AVT
-	 */
-	const AVT*
-	getDataTypeAVT() const
-	{
-		return m_dataTypeAVT;
-	}
-
-	/**
-	 * Retrieve the select pattern
-	 * 
-	 * @return XPath corresponding to the select pattern
-	 */
-	const XPath*
-	getSelectPattern() const
-	{
-		return m_selectPattern;
-	}
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-private:
-
-	const XPath*	m_selectPattern;
-
-    const AVT*		m_langAVT;
-    const AVT*		m_dataTypeAVT;
-	const AVT*		m_orderAVT;
-    const AVT*		m_caseOrderAVT;
-};
-
-
-
-#endif	// XALAN_ELEMSORT_HEADER_GUARD
diff --git a/src/XSLT/ElemTemplate.cpp b/src/XSLT/ElemTemplate.cpp
deleted file mode 100644
index e00a1af..0000000
--- a/src/XSLT/ElemTemplate.cpp
+++ /dev/null
@@ -1,204 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemTemplate.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemTemplate::ElemTemplate(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_TEMPLATE),
-	m_matchPattern(0),
-	m_name(),
-	m_mode(),
-	m_priority(XPath::getMatchScoreValue(XPath::eMatchScoreNone))
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_MATCH:
-			m_matchPattern = constructionContext.createMatchPattern(getLocator(), atts.getValue(i), *this);
-			break; 
-
-		case Constants::TATTRNAME_NAME:
-			m_name = XalanQNameByValue(atts.getValue(i), getStylesheet().getNamespaces());
-			break;
-
-		case Constants::TATTRNAME_PRIORITY:
-			{
-				assert(atts.getValue(i) != 0);
-
-				m_priority = DoubleSupport::toDouble(atts.getValue(i));
-			}
-			break;
-
-		case Constants::TATTRNAME_MODE:
-			m_mode = XalanQNameByValue(atts.getValue(i), getStylesheet().getNamespaces());
-			break;
-
-		case Constants::TATTRNAME_XMLSPACE:
-			processSpaceAttr(atts, i, constructionContext);
-			break;
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:template has an illegal attribute",
-					0,
-					this);
-			}
-		}
-	}
-
-	const bool	isEmptyName = m_name.isEmpty();
-
-	if(0 == m_matchPattern && isEmptyName == true)
-	{
-		constructionContext.error(
-				"xsl:template requires either a name or a match attribute",
-				0,
-				this);
-	}
-	else if (isEmptyName == false && isValidNCName(m_name.getLocalPart()) == false)
-	{
-		constructionContext.error(
-			"xsl:template has an invalid 'name' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemTemplate::~ElemTemplate()
-{
-}
-
-
-
-const XalanDOMString&
-ElemTemplate::getElementName() const
-{
-	return Constants::ELEMNAME_TEMPLATE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemTemplate::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	executeChildren(executionContext);
-}
-
-
-
-void
-ElemTemplate::executeChildren(StylesheetExecutionContext&	executionContext) const
-{
-	StylesheetExecutionContext::SetAndRestoreCurrentTemplate	theSetAndRestore(executionContext, this);
-
-	ElemTemplateElement::executeChildren(executionContext);
-}
-
-
-
-void
-ElemTemplate::executeChildren(
-		StylesheetExecutionContext&		executionContext,
-		XalanNode*						sourceNode) const
-{
-	StylesheetExecutionContext::SetAndRestoreCurrentTemplate	theSetAndRestore(executionContext, this);
-
-	ElemTemplateElement::executeChildren(executionContext, sourceNode);
-}
diff --git a/src/XSLT/ElemTemplate.hpp b/src/XSLT/ElemTemplate.hpp
deleted file mode 100644
index 2a8609e..0000000
--- a/src/XSLT/ElemTemplate.hpp
+++ /dev/null
@@ -1,183 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMTEMPLATE_HEADER_GUARD)
-#define XALAN_ELEMTEMPLATE_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-class XPath;
-
-
-
-class ElemTemplate : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:template" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemTemplate(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemTemplate();
-
-	/**
-	 * Retrieve the qualified name of element
-	 * 
-	 * @return QName for element
-	 */
-	const XalanQName&
-	getName() const
-	{
-		return m_name;
-	}
-
-	/**
-	 * Retrieve the mode of element
-	 * 
-	 * @return QName for mode
-	 */
-	const XalanQName&
-	getMode() const
-	{
-		return m_mode;
-	}
-
-	/**
-	 * Retrieve the match pattern
-	 * 
-	 * @return XPath corresponding to the match pattern
-	 */
-	const XPath*
-	getMatchPattern() const
-	{
-		return m_matchPattern;
-	}
-
-	/**
-	 * Retrieve the priority of element
-	 * 
-	 * @return priority value
-	 */
-	double
-	getPriority() const
-	{
-		return m_priority;
-	}
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	// These methods are inherited from ElemTemplateElement ...
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	virtual void
-	executeChildren(StylesheetExecutionContext& 	executionContext) const;
-
-	virtual void
-	executeChildren(
-			StylesheetExecutionContext& 	executionContext,
-			XalanNode*						sourceNode) const;
-
-private:
-
-	// not implemented
-	ElemTemplate(const ElemTemplate &);
-
-	ElemTemplate&
-	operator=(const ElemTemplate &);
-
-	// Data members...
-	const XPath*		m_matchPattern;
-
-	XalanQNameByValue	m_name;
-	XalanQNameByValue	m_mode;
-
-	double				m_priority;
-};
-
-
-
-#endif	// XALAN_ELEMTEMPLATE_HEADER_GUARD
diff --git a/src/XSLT/ElemTemplateElement.cpp b/src/XSLT/ElemTemplateElement.cpp
deleted file mode 100644
index 393288b..0000000
--- a/src/XSLT/ElemTemplateElement.cpp
+++ /dev/null
@@ -1,1507 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/DOMStringPrintWriter.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XMLSupport/FormatterToText.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathExecutionContext.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemCallTemplate.hpp"
-#include "ElemTemplate.hpp"
-#include "NamespacesHandler.hpp"
-#include "NodeSorter.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-#include "SelectionEvent.hpp"
-#include "TracerEvent.hpp"
-
-
-
-const XalanDOMString			ElemTemplateElement::s_emptyString;
-
-const XalanEmptyNamedNodeMap	ElemTemplateElement::s_fakeAttributes;
-
-
-
-ElemTemplateElement::ElemTemplateElement(
-			StylesheetConstructionContext&	/* constructionContext */,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken) :
-	XalanElement(),
-	PrefixResolver(),
-	m_finishedConstruction(false),
-	m_namespacesHandler(stylesheetTree.getNamespacesHandler(),
-						stylesheetTree.getNamespaces(),
-						stylesheetTree.getXSLTNamespaceURI()),
-	m_stylesheet(stylesheetTree),
-	m_lineNumber(lineNumber),
-	m_columnNumber(columnNumber),
-	m_defaultSpace(true),
-	m_xslToken(xslToken),
-	m_parentNode(0),
-	m_nextSibling(0),
-	m_previousSibling(0),
-	m_firstChild(0),
-	m_surrogateChildren(*this),
-	m_baseIndentifier(stylesheetTree.getCurrentIncludeBaseIdentifier()),
-	m_optimizationFlags(eCanGenerateAttributes),
-	m_locatorProxy(*this)
-{
-}
-
-
-
-ElemTemplateElement::~ElemTemplateElement()
-{
-	delete m_nextSibling;
-
-	if (hasDirectTemplate() == false)
-	{
-		delete m_firstChild;
-	}
-}
-
-
-
-const Locator*
-ElemTemplateElement::getLocator() const
-{
-	return &m_locatorProxy;
-}
-
-
-
-bool
-ElemTemplateElement::isWhitespace() const
-{
-	return false;
-}
-
-
-
-bool
-ElemTemplateElement::isAttrOK(
-			int						tok,
-			const XalanDOMChar*		attrName,
-			const AttributeList&	/* atts */,
-			int						/* which */) const
-{
-    return Constants::TATTRNAME_XMLNSDEF == tok	||
-		startsWith(attrName, Constants::ATTRNAME_XMLNS);
-}
-
-
-
-bool
-ElemTemplateElement::isAttrOK(
-			const XalanDOMChar*				attrName,
-			const AttributeList&			atts,
-			int								which,
-			StylesheetConstructionContext&	constructionContext) const
-{
-    return m_stylesheet.isAttrOK(attrName, atts, which, constructionContext);
-}
-
-
-void
-ElemTemplateElement::processSpaceAttr(
-			const AttributeList&			atts,
-			int								which,
-			StylesheetConstructionContext&	constructionContext)
-{
-	const XalanDOMChar*	const	spaceVal = atts.getValue(which);
-
-	if(equals(spaceVal, Constants::ATTRVAL_DEFAULT) == true)
-	{
-		m_defaultSpace = true;
-	}
-	else if(equals(spaceVal, Constants::ATTRVAL_PRESERVE) == true)
-	{
-		m_defaultSpace = false;
-	}
-	else
-	{
-		constructionContext.error(
-			"xml:space has an illegal value",
-			0,
-			this);
-	}
-}
-
-
-
-bool
-ElemTemplateElement::processSpaceAttr(
-			const XalanDOMChar*				aname, 
-			const AttributeList&			atts,
-			int								which,
-			StylesheetConstructionContext&	constructionContext)
-{
-    const bool	isSpaceAttr = equals(aname, Constants::ATTRNAME_XMLSPACE);
-
-    if(isSpaceAttr == true)
-    {
-		const XalanDOMChar*	const	spaceVal = atts.getValue(which);
-
-		if(equals(spaceVal, Constants::ATTRVAL_DEFAULT))
-		{
-			m_defaultSpace = true;
-		}
-		else if(equals(spaceVal, Constants::ATTRVAL_PRESERVE) == true)
-		{
-			m_defaultSpace = false;
-		}
-		else
-		{
-			constructionContext.error(
-				"xml:space has an illegal value",
-				0,
-				this);
-		}
-    }
-
-    return isSpaceAttr;
-}
-
-
-
-bool
-ElemTemplateElement::isValidNCName(const XalanDOMString&	s)
-{
-	return XalanQName::isValidNCName(s);
-}
-
-
-
-void
-ElemTemplateElement::execute(StylesheetExecutionContext&	executionContext) const
-{
-	if(0 != executionContext.getTraceListeners())
-    {
-		executionContext.fireTraceEvent(
-			TracerEvent(executionContext, *this));
-	}    
-}
-
-
-
-void
-ElemTemplateElement::executeChildren(StylesheetExecutionContext&	executionContext) const
-{
-	if (hasChildren() == true)
-	{
-		if (hasDirectTemplate() == true)
-		{
-			assert(m_directTemplate != 0);
-
-			m_directTemplate->execute(executionContext);
-		}
-		else
-		{
-			if (hasParams() == true || hasVariables() == true)
-			{
-				StylesheetExecutionContext::PushAndPopElementFrame	thePushAndPop(executionContext, this);
-
-				for (ElemTemplateElement* node = m_firstChild; node != 0; node = node->m_nextSibling) 
-				{
-					node->execute(executionContext);
-				}
-			}
-			else
-			{
-				for (ElemTemplateElement* node = m_firstChild; node != 0; node = node->m_nextSibling) 
-				{
-					node->execute(executionContext);
-				}
-			}
-		}
-	}
-}
-
-
-
-void
-ElemTemplateElement::executeChildren(
-		StylesheetExecutionContext&		executionContext,
-		XalanNode*						sourceNode) const
-{
-	if (hasChildren() == true)
-	{
-		const XPathExecutionContext::CurrentNodeSetAndRestore	theCurrentNodeSetAndRestore(executionContext, sourceNode);
-
-		executeChildren(executionContext);
-	}
-}
-
-
-
-XalanDOMString&
-ElemTemplateElement::doChildrenToString(
-			StylesheetExecutionContext&		executionContext, 
-			XalanDOMString&					result) const
-{
-	reserve(result, length(result) + 1024);
-
-	// Create a print writer and formatter to generate the children as
-	// a string.
-	DOMStringPrintWriter	thePrintWriter(result);
-
-	// Borrow a FormatterToText, and don't normalize CR/LF, since we don't want
-	// this text to be normalized.  Finally, have the formatter handle any ignorable
-	// whitespace events.
-	StylesheetExecutionContext::BorrowReturnFormatterToText	theFormatter(
-					executionContext,
-					thePrintWriter,
-					false,
-					true);
-
-	// Create an object to set and restore the execution state.
-	StylesheetExecutionContext::OutputContextPushPop	theOutputContextPushPop(
-						executionContext,
-						theFormatter.get());
-
-	theFormatter->startDocument();
-
-	executeChildren(executionContext);
-
-	theFormatter->endDocument();
-
-	return result;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::childrenToString(
-			StylesheetExecutionContext&		executionContext,			
-			XalanDOMString&					result) const
-{
-	if (hasSingleTextChild() == true)
-	{
-		assert(m_firstChild != 0);
-
-		return m_firstChild->getNodeValue();
-	}
-	else
-	{
-		doChildrenToString(executionContext, result);
-
-		return result;
-	}
-}
-
-
-
-void
-ElemTemplateElement::childrenToResultAttribute(
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			theName) const
-{
-	if (hasSingleTextChild() == true)
-	{
-		assert(m_firstChild != 0);
-
-		executionContext.addResultAttribute(
-			theName,
-			m_firstChild->getNodeValue());
-	}
-	else
-	{
-		StylesheetExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-		executionContext.addResultAttribute(
-			theName,
-			doChildrenToString(executionContext, theResult.get()));
-	}
-}
-
-
-
-void
-ElemTemplateElement::childrenToResultComment(StylesheetExecutionContext&	executionContext) const
-{
-	if (hasSingleTextChild() == true)
-	{
-		assert(m_firstChild != 0);
-
-		executionContext.comment(c_wstr(m_firstChild->getNodeValue()));
-	}
-	else
-	{
-		StylesheetExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-		executionContext.comment(c_wstr(doChildrenToString(executionContext, theResult.get())));
-	}
-}
-
-
-
-void
-ElemTemplateElement::childrenToResultPI(
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			theTarget) const
-{
-	if (hasSingleTextChild() == true)
-	{
-		assert(m_firstChild != 0);
-
-		executionContext.processingInstruction(
-			c_wstr(theTarget),
-			c_wstr(m_firstChild->getNodeValue()));
-	}
-	else
-	{
-		StylesheetExecutionContext::GetAndReleaseCachedString	theResult(executionContext);
-
-		executionContext.processingInstruction(
-			c_wstr(theTarget),
-			c_wstr(doChildrenToString(executionContext, theResult.get())));
-	}
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::getFirstChildElem() const
-{
-    return m_firstChild;
-}
-
-
-
-void
-ElemTemplateElement::setFirstChildElem(ElemTemplateElement*		theElement)
-{
-    m_firstChild = theElement;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::getLastChildElem() const
-{
-	ElemTemplateElement* lastChild = 0;
-
-	for (ElemTemplateElement* node = m_firstChild; node != 0; node = node->m_nextSibling) 
-	{
-		lastChild = node;
-	}
-
-	return lastChild;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::getNextSiblingElem() const
-{
-	return m_nextSibling;
-}
-
-
-
-void
-ElemTemplateElement::setNextSiblingElem(ElemTemplateElement*	theSibling)
-{
-	m_nextSibling = theSibling;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::getPreviousSiblingElem() const
-{
-	return m_previousSibling;
-}
-
-
-
-void
-ElemTemplateElement::setPreviousSiblingElem(ElemTemplateElement*	theSibling)
-{
-	m_previousSibling = theSibling;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::getParentNodeElem() const
-{
-	return m_parentNode;
-}
-
-
-
-void
-ElemTemplateElement::setParentNodeElem(ElemTemplateElement*		theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::appendChildElem(ElemTemplateElement*	newChild)
-{
-	assert(newChild != 0);
-
-	if (newChild->isWhitespace() == false &&
-		childTypeAllowed(newChild->getXSLToken()) == false)
-	{
-		throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-	}
-	else if(0 == m_firstChild)
-	{
-		m_firstChild = newChild;
-
-		newChild->setPreviousSiblingElem(0);
-	}
-	else
-	{
-		ElemTemplateElement* const	last = getLastChildElem();
-		assert(last != 0);
-
-		last->setNextSiblingElem(newChild);
-
-		newChild->setPreviousSiblingElem(last);
-	}
-
-	newChild->setParentNodeElem(this);
-	newChild->setNextSiblingElem(0);
-
-	return newChild;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::insertBeforeElem(
-			ElemTemplateElement*	newChild,
-			ElemTemplateElement*	refChild)
-{
-	assert(newChild != 0);
-
-	if (refChild != 0 && refChild->getParentNode() != this)
-	{
-		throw XalanDOMException(XalanDOMException::NOT_FOUND_ERR);
-	}
-	else if (newChild->getOwnerDocument() != getOwnerDocument())
-	{
-		throw XalanDOMException(XalanDOMException::WRONG_DOCUMENT_ERR);
-	}
-
-	if (refChild == 0)
-	{
-		appendChildElem(newChild);
-	}
-	else
-	{
-		ElemTemplateElement* const	previousChild =
-			refChild->getPreviousSiblingElem();
-
-		if (previousChild != 0)
-		{
-			previousChild->setNextSiblingElem(newChild);
-		}
-		else
-		{
-			assert(m_firstChild == refChild);
-
-			// The old child was the first child,
-			// so update m_firstChild...
-			m_firstChild = newChild;
-		}
-
-		newChild->setPreviousSiblingElem(previousChild);
-		newChild->setNextSiblingElem(refChild);
-
-		refChild->setPreviousSiblingElem(newChild);
-
-		if (refChild == m_firstChild)
-		{
-			m_firstChild = newChild;
-		}
-	}
-
-	return newChild;
-}
-
-
-
-ElemTemplateElement*
-ElemTemplateElement::replaceChildElem(
-			ElemTemplateElement*	newChild,
-			ElemTemplateElement*	oldChild)
-{
-	assert(newChild != 0);
-	assert(oldChild != 0);
-
-	if (oldChild->getParentNode() != this)
-	{
-		throw XalanDOMException(XalanDOMException::NOT_FOUND_ERR);
-	}
-	else if (newChild->getOwnerDocument() != getOwnerDocument())
-	{
-		throw XalanDOMException(XalanDOMException::WRONG_DOCUMENT_ERR);
-	}
-
-	ElemTemplateElement* const	previousChild =
-			oldChild->getPreviousSiblingElem();
-
-	if (previousChild != 0)
-	{
-		previousChild->setNextSiblingElem(newChild);
-	}
-	else
-	{
-		assert(m_firstChild == oldChild);
-
-		// The old child was the first child,
-		// so update m_firstChild...
-		m_firstChild = newChild;
-	}
-
-	newChild->setPreviousSiblingElem(previousChild);
-
-	ElemTemplateElement* const	nextChild =
-			oldChild->getNextSiblingElem();
-
-	newChild->setNextSiblingElem(nextChild);
-
-	if (nextChild != 0)
-	{
-		nextChild->setPreviousSiblingElem(newChild);
-	}
-
-	oldChild->setParentNodeElem(0);
-	oldChild->setPreviousSiblingElem(0);
-	oldChild->setNextSiblingElem(0);
-
-	return oldChild;
-}
-
-
-
-void
-ElemTemplateElement::transformSelectedChildren(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement&		xslInstruction,
-			const ElemTemplateElement*		theTemplate,
-			XalanNode*						sourceNodeContext,
-			const XPath&					selectPattern,
-			NodeSorter*						sorter,
-			int								selectStackFrameIndex) const
-{
-	typedef StylesheetExecutionContext::SetAndRestoreCurrentStackFrameIndex		SetAndRestoreCurrentStackFrameIndex;
-
-	XObjectPtr	theXObject;
-
-	{
-		SetAndRestoreCurrentStackFrameIndex		theSetAndRestore(
-					executionContext,
-					selectStackFrameIndex);
-
-		theXObject = selectPattern.execute(
-						sourceNodeContext,
-						xslInstruction,
-						executionContext);
-	}
-
-	if (theXObject.null() == false)
-	{
-		const NodeRefListBase&	sourceNodes = theXObject->nodeset();
-
-		if(0 != executionContext.getTraceListeners())
-		{
-			executionContext.fireSelectEvent(
-					SelectionEvent(executionContext, 
-						sourceNodeContext,
-						*this,
-						StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("select")),
-						selectPattern,
-						theXObject));
-		}
-
-		const NodeRefListBase::size_type	nNodes = sourceNodes.getLength();
-
-		if (nNodes > 0)
-		{
-			// If there's not NodeSorter, or we've only selected one node,
-			// then just do the transform...
-			if (sorter == 0 || nNodes == 1)
-			{
-				transformSelectedChildren(
-					executionContext,
-					xslInstruction,
-					theTemplate,
-					sourceNodes,
-					nNodes);
-			}
-			else
-			{
-				typedef StylesheetExecutionContext::SetAndRestoreCurrentStackFrameIndex		SetAndRestoreCurrentStackFrameIndex;
-				typedef StylesheetExecutionContext::ContextNodeListSetAndRestore			ContextNodeListSetAndRestore;
-				typedef StylesheetExecutionContext::BorrowReturnMutableNodeRefList			BorrowReturnMutableNodeRefList;
-
-				BorrowReturnMutableNodeRefList	sortedSourceNodes(executionContext);
-
-				*sortedSourceNodes = sourceNodes;
-
-				{
-					SetAndRestoreCurrentStackFrameIndex		theStackFrameSetAndRestore(
-							executionContext,
-							selectStackFrameIndex);
-
-					ContextNodeListSetAndRestore			theContextNodeListSetAndRestore(
-							executionContext,
-							sourceNodes);
-
-					sorter->sort(executionContext, *sortedSourceNodes);
-				}
-
-				transformSelectedChildren(
-					executionContext,
-					xslInstruction,
-					theTemplate,
-					*sortedSourceNodes,
-					nNodes);
-			}
-		}
-	}
-}
-
-
-
-void
-ElemTemplateElement::transformSelectedChildren(
-			StylesheetExecutionContext&			executionContext,
-			const ElemTemplateElement&			xslInstruction,
-			const ElemTemplateElement*			theTemplate,
-			const NodeRefListBase&				sourceNodes,
-			NodeRefListBase::size_type			sourceNodesCount) const
-{
-	if(executionContext.getTraceSelects() == true)
-	{
-		executionContext.traceSelect(
-			xslInstruction,
-			sourceNodes);
-	}
-
-	// Create an object to set and restore the context node list...
-	StylesheetExecutionContext::ContextNodeListSetAndRestore	theSetAndRestore(
-				executionContext,
-				sourceNodes);
-
-	for(unsigned int i = 0; i < sourceNodesCount; i++) 
-	{
-		XalanNode* const		childNode = sourceNodes.item(i);
-		assert(childNode != 0);
-
-		transformChild(
-				executionContext,
-				xslInstruction,
-				theTemplate,
-				childNode);
-	}
-}
-
-
-
-bool
-ElemTemplateElement::transformChild(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement&		xslInstruction,
-			const ElemTemplateElement*		theTemplate,
-			XalanNode*						child) const
-{
-	assert(child != 0);
-
-	const XalanNode::NodeType	nodeType = child->getNodeType();
-
-	if(0 == theTemplate)
-	{
-		// Find the XSL template that is the best match for the 
-		// element...
-		const bool			isApplyImports = xslInstruction.getXSLToken() == Constants::ELEMNAME_APPLY_IMPORTS;
-
-		const Stylesheet*	stylesheetTree = isApplyImports ?
-								&xslInstruction.getStylesheet() :
-								&getStylesheet().getStylesheetRoot();
-
-		theTemplate = stylesheetTree->findTemplate(
-						executionContext,
-						child,
-						*executionContext.getCurrentMode(),
-						isApplyImports);
-	}
-
-	if(0 == theTemplate)
-	{
-		switch(nodeType)
-		{
-		case XalanNode::DOCUMENT_FRAGMENT_NODE:
-		case XalanNode::ELEMENT_NODE:
-			theTemplate = getStylesheet().getStylesheetRoot().getDefaultRule();
-			break;
-
-		case XalanNode::CDATA_SECTION_NODE:
-		case XalanNode::TEXT_NODE:
-		case XalanNode::ATTRIBUTE_NODE:
-			theTemplate = getStylesheet().getStylesheetRoot().getDefaultTextRule();
-			break;
-
-		case XalanNode::DOCUMENT_NODE:
-			theTemplate = getStylesheet().getStylesheetRoot().getDefaultRootRule();
-			break;
-
-		default:
-			break;
-		}     
-	}
-			
-	if(0 != theTemplate)
-	{
-		if(theTemplate == getStylesheet().getStylesheetRoot().getDefaultTextRule())
-		{
-			switch(nodeType)
-			{
-			case XalanNode::CDATA_SECTION_NODE:
-			case XalanNode::TEXT_NODE:
-				executionContext.cloneToResultTree(*child, nodeType, false, false, false, this);
-				break;
-
-			case XalanNode::ATTRIBUTE_NODE:
-				{
-					const XalanDOMString&	val = child->getNodeValue();
-
-					executionContext.characters(
-						toCharArray(val), 
-						0,
-						length(val));
-				}
-				break;
-
-			default:
-				assert(false);
-				break;
-			}
-		}
-		else
-		{
-			if(0 != executionContext.getTraceListeners())
-			{
-				TracerEvent te(executionContext,							   
-								*theTemplate);
-
-				executionContext.fireTraceEvent(te);
-			}
-
-			theTemplate->executeChildren(executionContext, 
-										 child);
-		}
-	}
-
-	return true;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getNodeName() const
-{
-	return getElementName();
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getNodeValue() const
-{
-	return s_emptyString;
-}
-
-
-
-ElemTemplateElement::NodeType
-ElemTemplateElement::getNodeType() const
-{
-    return XalanNode::ELEMENT_NODE;
-}
-
-
-
-XalanNode*
-ElemTemplateElement::getParentNode() const
-{
-	return m_parentNode;
-}
-
-
-
-const XalanNodeList*
-ElemTemplateElement::getChildNodes() const
-{
-	return &m_surrogateChildren;
-}
-
-
-
-XalanNode*
-ElemTemplateElement::getFirstChild() const
-{
-	return m_firstChild;
-}
-
-
-
-XalanNode*
-ElemTemplateElement::getLastChild() const
-{
-	return getLastChildElem();
-}
-
-
-
-XalanNode*
-ElemTemplateElement::getPreviousSibling() const 
-{
-	return m_previousSibling;
-}
-
-
-
-XalanNode*
-ElemTemplateElement::getNextSibling() const 
-{
-	return m_nextSibling;
-}
-
-
-
-const XalanNamedNodeMap*
-ElemTemplateElement::getAttributes() const
-{
-	return &s_fakeAttributes;
-}
-
-
-
-XalanDocument*
-ElemTemplateElement::getOwnerDocument() const
-{
-	return &m_stylesheet;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-ElemTemplateElement*
-#endif
-ElemTemplateElement::cloneNode(bool		/* deep */) const
-{
-	//should not be called
-	assert(false);	
-
-	return 0;
-}
-
-
-
-XalanNode*
-ElemTemplateElement::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-#if defined(XALAN_OLD_STYLE_CASTS) || !defined(XALAN_RTTI_AVAILABLE)
-	return insertBeforeElem((ElemTemplateElement*)newChild,
-							(ElemTemplateElement*)refChild);
-#else
-	return insertBeforeElem(dynamic_cast<ElemTemplateElement*>(newChild),
-							dynamic_cast<ElemTemplateElement*>(refChild));
-#endif
-}
-
-
-
-XalanNode*
-ElemTemplateElement::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-#if defined(XALAN_OLD_STYLE_CASTS) || !defined(XALAN_RTTI_AVAILABLE)
-	return replaceChildElem((ElemTemplateElement*)newChild,
-							(ElemTemplateElement*)oldChild);
-#else
-	return replaceChildElem(dynamic_cast<ElemTemplateElement*>(newChild),
-							dynamic_cast<ElemTemplateElement*>(oldChild));
-#endif
-}
-
-
-
-XalanNode*
-ElemTemplateElement::removeChild(XalanNode*		oldChild)
-{
-	assert(oldChild != 0);
-
-	XalanNode*				ret = 0;
-
-	// first try the common, easy cases
-	if (oldChild == 0 || oldChild->getParentNode() != this)
-	{
-		throw XalanDOMException(XalanDOMException::NOT_FOUND_ERR);
-	}
-	else
-	{
-		ElemTemplateElement*	pTest = m_firstChild;
-		assert(pTest != 0);
-
-		if (pTest == oldChild)
-		{
-			ElemTemplateElement* const	nextChild =
-				pTest->getNextSiblingElem();
-
-			if (nextChild != 0)
-			{
-				nextChild->setPreviousSiblingElem(0);
-			}
-
-			pTest->setNextSiblingElem(0);
-			m_firstChild = nextChild;
-
-			ret = pTest;
-		}
-		else
-		{
-			// now we walk this singly-linked list, peeling one ahead, since we need be
-			// able to patch up the list
-
-			while (pTest->getNextSibling() != 0 && pTest->getNextSibling() != oldChild)
-				pTest = pTest->getNextSiblingElem();
-
-			ret = pTest->getNextSibling();
-
-			if (pTest->getNextSibling() != 0)
-				pTest->setNextSiblingElem(pTest->getNextSiblingElem()->getNextSiblingElem());
-		}
-	}
-
-	return ret;
-}
-
-
-/** 
- * Throw a template element error.
- * 
- * @param msg Description of the error that occured.
- */
-
-XalanNode*
-ElemTemplateElement::appendChild(XalanNode*		oldChild)
-{
-#if defined(XALAN_OLD_STYLE_CASTS) || !defined(XALAN_RTTI_AVAILABLE)
-	return appendChildElem((ElemTemplateElement*)oldChild);
-#else
-	return appendChildElem(dynamic_cast<ElemTemplateElement*>(oldChild));
-#endif
-}
-
-
-
-bool
-ElemTemplateElement::hasChildNodes() const
-{
-    return 0 != m_firstChild ? true : false;
-}
-
-
-void
-ElemTemplateElement::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-ElemTemplateElement::normalize()
-{
-}
-
-
-
-bool
-ElemTemplateElement::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-ElemTemplateElement::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-ElemTemplateElement::isIndexed() const
-{
-	return false;
-}
-
-
-
-unsigned long
-ElemTemplateElement::getIndex() const
-{
-	return 0;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getTagName() const
-{
-	return getElementName();
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getAttribute(const XalanDOMString&		/* name */) const
-{
-	return s_emptyString;
-}
-
-
-
-XalanAttr*
-ElemTemplateElement::getAttributeNode(const XalanDOMString&		/* name */) const
-{
-	return 0;
-}
-
-
-
-void
-ElemTemplateElement::postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler)
-{
-	m_namespacesHandler.postConstruction(getElementName(), &theParentHandler);
-
-	if (hasChildren() == true)
-	{
-		for (ElemTemplateElement* node = m_firstChild; node != 0; node = node->m_nextSibling) 
-		{
-			node->postConstruction(constructionContext, m_namespacesHandler);
-
-			const int	theToken = node->getXSLToken();
-
-			if (hasVariables() == false &&
-				(theToken == Constants::ELEMNAME_VARIABLE ||
-				 theToken == Constants::ELEMNAME_PARAMVARIABLE))
-			{
-				m_optimizationFlags |= eHasVariables;
-			}
-
-			if (hasParams() == false &&
-				theToken == Constants::ELEMNAME_WITHPARAM)
-			{
-				m_optimizationFlags |= eHasParams;
-			}
-		}
-
-		assert(m_firstChild != 0);
-
-		const int	theToken = m_firstChild->getXSLToken();
-
-		// There are opportunities for optimization if there's only one
-		// xsl:text child node.  See childrenToString()...
-		if (theToken == Constants::ELEMNAME_TEXTLITERALRESULT &&
-			m_firstChild->getNextSibling() == 0)
-		{
-			m_optimizationFlags |= eHasSingleTextChild;
-		}
-		else if (theToken == Constants::ELEMNAME_CALLTEMPLATE &&
-				 m_firstChild->getNextSibling() == 0)
-		{
-			// Just a single xsl:call-template child, so we don't need to
-			// execute it if it has no params -- we can just execute the
-			// template directly...
-			if (m_firstChild->hasParams() == false)
-			{
-				m_optimizationFlags |= eHasDirectTemplate;
-
-				ElemCallTemplate* const		theCallTemplateChild =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(ElemCallTemplate*)m_firstChild;
-#else
-					static_cast<ElemCallTemplate*>(m_firstChild);
-#endif
-
-				m_directTemplate = theCallTemplateChild->getTemplate();
-
-				delete theCallTemplateChild;
-			}
-		}
-		else if (canGenerateAttributes() == false &&
-				 theToken != Constants::ELEMNAME_LITERALRESULT)
-		{
-			m_optimizationFlags |= eCanGenerateAttributes;
-		}
-	}
-}
-
-
-
-XalanNodeList*
-ElemTemplateElement::getElementsByTagName(const XalanDOMString&		/* name */) const
-{
-	return 0;
-}
-
-
-
-void
-ElemTemplateElement::setAttribute(
-			const XalanDOMString&	/* name */, 
-			const XalanDOMString&	/* value */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanAttr*
-ElemTemplateElement::setAttributeNode(XalanAttr*	/* newAttr */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-XalanAttr*
-ElemTemplateElement::removeAttributeNode(XalanAttr*	/* oldAttr */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-void
-ElemTemplateElement::removeAttribute(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getAttributeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	return s_emptyString;
-}
-
-
-
-void
-ElemTemplateElement::setAttributeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* qualifiedName */,
-			const XalanDOMString&	/* value */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-ElemTemplateElement::removeAttributeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanAttr*
-ElemTemplateElement::getAttributeNodeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	return 0;
-}
-
-
-
-XalanAttr*
-ElemTemplateElement::setAttributeNodeNS(XalanAttr*	/* newAttr */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-XalanNodeList*
-ElemTemplateElement::getElementsByTagNameNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	return 0;
-}
-
-
-
-const XalanDOMString*
-ElemTemplateElement::getNamespaceForPrefix(const XalanDOMString&	prefix) const
-{
-	return getNamespaceForPrefixInternal(prefix);
-}
-
-
-
-const XalanDOMString*
-ElemTemplateElement::getNamespaceForPrefixInternal(const XalanDOMString&	prefix) const
-{
-    const XalanDOMString*	nameSpace = 0;
-
-	if (isEmpty(prefix) == false)
-	{
-		if(m_finishedConstruction == true)
-		{
-			if (equals(prefix, DOMServices::s_XMLString) == true)
-			{
-				nameSpace = &DOMServices::s_XMLNamespaceURI;
-			}
-			else
-			{
-				nameSpace = getNamespacesHandler().getNamespace(prefix);
-
-				if(nameSpace == 0)
-				{
-					if (m_parentNode != 0)
-					{
-						nameSpace = m_parentNode->getNamespaceForPrefixInternal(prefix);
-					}
-
-					// Try one last time with the stylesheet...
-					if (nameSpace == 0)
-					{
-						nameSpace = getStylesheet().getNamespaceForPrefix(prefix);
-					}
-				}
-			}
-		}
-		else
-		{
-			nameSpace = getStylesheet().getNamespaceForPrefixFromStack(prefix);
-		}
-	}
-
-    return nameSpace;
-}
-
-
-
-const XalanDOMString&
-ElemTemplateElement::getURI() const
-{
-	return m_baseIndentifier;
-}
-
-
-
-ElemTemplateElement::LocatorProxy::LocatorProxy(const ElemTemplateElement&	theElement) :
-	m_element(theElement)
-{
-}
-
-
-
-ElemTemplateElement::LocatorProxy::~LocatorProxy()
-{
-}
-
-
-
-int
-ElemTemplateElement::LocatorProxy::getLineNumber() const
-{
-	return m_element.getLineNumber();
-}
-
-
-
-int
-ElemTemplateElement::LocatorProxy::getColumnNumber() const
-{
-	return m_element.getColumnNumber();
-}
-
-
-
-const XMLCh*
-ElemTemplateElement::LocatorProxy::getPublicId() const
-{
-	return 0;
-}
-
-
-
-const XMLCh*
-ElemTemplateElement::LocatorProxy::getSystemId() const
-{
-	const XalanDOMString&	theURI =
-		m_element.getURI();
-
-	if (length(theURI) == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		return c_wstr(theURI);
-	}
-}
-
-
-
-bool
-ElemTemplateElement::childTypeAllowed(int	/* xslToken */) const
-{
-	return true;
-}
diff --git a/src/XSLT/ElemTemplateElement.hpp b/src/XSLT/ElemTemplateElement.hpp
deleted file mode 100644
index 1443a34..0000000
--- a/src/XSLT/ElemTemplateElement.hpp
+++ /dev/null
@@ -1,915 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD)
-#define XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-#include <map>
-
-
-
-#include <xercesc/sax/Locator.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanEmptyNamedNodeMap.hpp>
-#include <XalanDOM/XalanNodeListSurrogate.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-
-
-
-#include <XSLT/NamespacesHandler.hpp>
-
-
-
-class AttributeList;
-class ElemTemplate;
-class NamespacesHandler;
-class NodeSorter;
-class Stylesheet;
-class StylesheetConstructionContext;
-class StylesheetExecutionContext;
-class XPath;
-
-
-
-class XALAN_XSLT_EXPORT ElemTemplateElement : public XalanElement, public PrefixResolver
-{
-public:
-
-	/**
-	 * Construct a template element instance.
-	 * 
-	 * @param constructionContext  context when object constructed
-	 * @param stylesheetTree	   owning stylesheet
-	 * @param lineNumber		   line in the XSLT file where the element occurs
-	 * @param columnNumber		   column index in the XSLT file where the
-	 *							   element occurs
-	 * @param xslToken			   an integer representing the type of instance.
-	 */
-	ElemTemplateElement(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet& 					stylesheetTree,
-			int 							lineNumber,
-			int 							columnNumber,
-			int 							xslToken);
-
-	virtual
-	~ElemTemplateElement();
-
-	/** 
-	 * Get the Locator for the node.  This may return 0.
-	 * 
-	 * @return The Locator for the node.
-	 */
-	virtual const Locator*
-	getLocator() const;
-
-	/** 
-	* See if this is a xmlns attribute, and, if so, process it.
-	* 
-	* @param attrName qualified name of attribute
-	* @param atts	  attribute list where the element comes from (not used at 
-	*				  this time)
-	* @param which	  index into the attribute list (not used at this time)
-	* @return		  true if this is a namespace name
-	*/
-	virtual bool
-	isAttrOK(
-			int 					tok,
-			const XalanDOMChar* 	attrName,
-			const AttributeList&	atts,
-			int 					which) const;
-
-	/** 
-	* See if this is a xmlns attribute or in a non-XSLT.
-	* 
-	* @param attrName qualified name of attribute
-	* @param atts	  attribute list where the element comes from (not used at 
-	*				  this time)
-	* @param which	  index into the attribute list (not used at this time)
-	* @param constructionContext The current construction context
-	* @return		  true if this is a namespace name
-	*/
-	virtual bool
-	isAttrOK(
-			const XalanDOMChar* 			attrName,
-			const AttributeList&			atts,
-			int 							which,
-			StylesheetConstructionContext&	constructionContext) const;
-
-	/** 
-	 * Tell whether or not this is a xml:space attribute and, if so, process it.
-	 * 
-	 * @param atts	attribute list that owns the attribute
-	 * @param which index of the attribute into the attribute list
-	 * @param constructionContext The current construction context
-	 * @return		true if this is a xml:space attribute
-	 */
-	void
-	processSpaceAttr(
-			const AttributeList&			atts,
-			int 							which,
-			StylesheetConstructionContext&	constructionContext);
-
-	/** 
-	 * Tell whether or not this is a xml:space attribute and, if so, process it.
-	 * 
-	 * @param aname  name of the attribute in question
-	 * @param atts	 attribute list that owns the attribute
-	 * @param which  index of the attribute into the attribute list
-	 * @param constructionContext The current construction context
-	 * @return		 true if this is a xml:space attribute
-	 */
-	bool
-	processSpaceAttr(
-			const XalanDOMChar* 			aname,
-			const AttributeList&			atts,
-			int 							which,
-			StylesheetConstructionContext&	constructionContext);
-
-	/** 
-	 * Validate that the string is an NCName.
-	 * 
-	 * @param s name in question
-	 * @return	true if the string is a valid NCName according to XML rules
-	 * @see http://www.w3.org/TR/REC-xml-names#NT-NCName
-	 */
-	static bool
-	isValidNCName(const XalanDOMString& 	s);
-
-	/** 
-	 * Execute the element's primary function.	Subclasses of this function may
-	 * recursively execute down the element tree.
-	 * 
-	 * @param executionContext	The current execution context
-	 */
-	virtual void
-	execute(StylesheetExecutionContext& 	executionContext) const;
-
-	/** 
-	 * Process the children of a template.
-	 * 
-	 * @param processor  XSLT processor instance
-	 */
-	virtual void
-	executeChildren(StylesheetExecutionContext& 	executionContext) const;
-
-	/** 
-	 * Set the current node and process the children of a template.
-	 * 
-	 * @param processor  XSLT processor instance
-	 * @param sourceNode current node
-	 */
-	virtual void
-	executeChildren(
-			StylesheetExecutionContext& 	executionContext,
-			XalanNode*						sourceNode) const;
-
-	/**
-	 * Take the contents of a template element, process it, and
-	 * convert it to a string.	Returns a const reference to
-	 * the resulting string value.	Note that this may _not_ be
-	 * the XalanDOMString instance passed in, if an optimization
-	 * is available to return a pre-existing string.
-	 * 
-	 * @param executionContext	The current execution context
-	 * @param result result of executing the elements children
-	 * @result a reference to a string containing the result.
-	 */
-	const XalanDOMString&
-	childrenToString(
-			StylesheetExecutionContext& 	executionContext,
-			XalanDOMString& 				result) const;
-
-	/**
-	 * Take the contents of a template element, process it, and
-	 * convert it to a string.	Then, add an attribute to the
-	 * result tree using the provided name and the string value.
-	 * 
-	 * @param executionContext	The current execution context
-	 * @param theName The name for the result attribute
-	 */
-	void
-	childrenToResultAttribute(
-			StylesheetExecutionContext& 	executionContext,
-			const XalanDOMString&			theName) const;
-
-	/**
-	 * Take the contents of a template element, process it, and
-	 * convert it to a string.	Then, add a comment to the
-	 * result tree using the string value.
-	 * 
-	 * @param executionContext	The current execution context
-	 */
-	void
-	childrenToResultComment(StylesheetExecutionContext& executionContext) const;
-
-	/**
-	 * Take the contents of a template element, process it, and
-	 * convert it to a string.	Then, add a processing instruction
-	 * to the result tree using the string value, and the provided
-	 * target.
-	 * 
-	 * @param executionContext	The current execution context
-	 * @param theName The name for the result attribute
-	 */
-	void
-	childrenToResultPI(
-			StylesheetExecutionContext& 	executionContext,
-			const XalanDOMString&			theTarget) const;
-
-	/** 
-	 * Get an integer representation of the element type.
-	 * 
-	 * @return integer representation of the element, defined in the Constants
-	 *		   class
-	 * @see class Constants
-	 */
-	int
-	getXSLToken() const
-	{
-		return m_xslToken;
-	}
-
-	/** 
-	 * Get the line number in the stylesheet where the element appears.
-	 * Returns -1 if the information is not available.
-	 *
-	 * @return the line number in the stylesheet
-	 */
-	int
-	getLineNumber() const
-	{
-		return m_lineNumber;
-	}
-
-	/** 
-	 * Get the column number in the stylesheet where the element appears.
-	 * Returns -1 if the information is not available.
-	 *
-	 * @return the column number in the stylesheet
-	 */
-	int
-	getColumnNumber() const
-	{
-		return m_columnNumber;
-	}
-
-	/** 
-	 * Tell if the element will generate text which is XML whitespace.
-	 * 
-	 * @return true if the text is pure whitespace
-	 */
-	virtual bool
-	isWhitespace() const;
-
-	virtual const XalanDOMString&
-	getElementName() const = 0;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				XalanDOMString,
-				less<XalanDOMString> >	StringToStringMapType;
-#else
-	typedef std::map<XalanDOMString,
-					 XalanDOMString>	StringToStringMapType;
-#endif
-
-	/** 
-	 * Get the namespaces handler for this element.
-	 * 
-	 * @return The element's NamespacesHandler instance.
-	 */
-	const NamespacesHandler&
-	getNamespacesHandler() const
-	{
-		return m_namespacesHandler;
-	}
-
-	/**
-	 * Retrieve the stylesheet from which this element comes
-	 * 
-	 * @return reference to source stylesheet
-	 */
-	const Stylesheet&
-	getStylesheet() const
-	{
-		return m_stylesheet;
-	}
-
-	/** 
-	 * Set a flag indicating construction of the element is completed.
-	 */
-	void
-	finishedConstruction()
-	{
-		m_finishedConstruction = true;
-	}
-
-	/**
-	 * Called after construction is completed.
-	 */
-	virtual void
-	postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler);
-
-	// Type-safe getters/setters...
-
-	/**
-	 * Get the first child.
-	 * 
-	 * @return first child node of this node
-	 */
-	virtual ElemTemplateElement*
-	getFirstChildElem() const;
-
-	/**
-	 * Set the first child.
-	 *
-	 * theChild - the new value for the first child.
-	 *
-	 * @return nothing
-	 */
-	virtual void
-	setFirstChildElem(ElemTemplateElement*	theChild);
-
-	/**
-	 * Get the last child.
-	 * 
-	 * @return last child node of this node
-	 */
-	virtual ElemTemplateElement*
-	getLastChildElem() const;
-
-	/**
-	 * Get the next sibling.
-	 * 
-	 * @return next sibling node of this node
-	 */
-	virtual ElemTemplateElement*
-	getNextSiblingElem() const;
-
-	/**
-	 * Set the next sibling.
-	 *
-	 * theSibling - the new value for the next sibling.
-	 *
-	 * @return nothing
-	 */
-	virtual void
-	setNextSiblingElem(ElemTemplateElement* 	theSibling);
-
-	/**
-	 * Get the previous sibling.
-	 * 
-	 * @return previous sibling node of this node
-	 */
-	virtual ElemTemplateElement*
-	getPreviousSiblingElem() const;
-
-	/**
-	 * Set the previous sibling.
-	 *
-	 * theSibling - the new value for the previous sibling.
-	 *
-	 * @return nothing
-	 */
-	virtual void
-	setPreviousSiblingElem(ElemTemplateElement* 	theSibling);
-
-	/**
-	 * Get the parent node.
-	 * 
-	 * @return parent node of this node
-	 */
-	virtual ElemTemplateElement*
-	getParentNodeElem() const;
-
-	/**
-	 * Set the parent node.
-	 *
-	 * theParent - the new value for the parent.
-	 *
-	 * @return nothing
-	 */
-	virtual void
-	setParentNodeElem(ElemTemplateElement*		theParent);
-
-	/**
-	 * Append a child.
-	 *
-	 * theParent - the new value for the parent.
-	 *
-	 * @return nothing
-	 */
-	virtual ElemTemplateElement*
-	appendChildElem(ElemTemplateElement*	newChild);
-
-	// Type-safe getters...
-
-	/**
-	 * Append a child.
-	 *
-	 * @param newChild the new child to insert
-	 * @param refChild the node before which to insert the new node
-	 *
-	 * @return newChild
-	 */
-	virtual ElemTemplateElement*
-	insertBeforeElem(
-			ElemTemplateElement*	newChild,
-			ElemTemplateElement*	refChild);
-
-	/**
-	 * Replace a child.
-	 *
-	 * @param newChild the new child to insert
-	 * @param oldChild the child to be replaced
-	 *
-	 * @return oldChild
-	 */
-	virtual ElemTemplateElement*
-	replaceChildElem(
-			ElemTemplateElement*	newChild,
-			ElemTemplateElement*	oldChild);
-
-	// These interfaces are inherited from XalanElement ...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual ElemTemplateElement*
-#endif
-	cloneNode(bool	deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/** 
-	 * Add a child to the child list.
-	 * 
-	 * @exception DOMException 
-	 * @param newChild child node to add
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const;
-
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString& prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	virtual const XalanDOMString&
-	getTagName() const;
-
-	virtual const XalanDOMString&
-	getAttribute(const XalanDOMString&	name) const;
-
-	virtual XalanAttr*
-	getAttributeNode(const XalanDOMString&	name) const;
-
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&	name) const;
-
-	virtual void
-	setAttribute(
-			const XalanDOMString&	name, 
-			const XalanDOMString&	value);
-
-	virtual XalanAttr*
-	setAttributeNode(XalanAttr* 	newAttr);
-
-	virtual XalanAttr*
-	removeAttributeNode(XalanAttr*	oldAttr);
-
-	virtual void
-	removeAttribute(const XalanDOMString&	name);
-
-	virtual const XalanDOMString&
-	getAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual void
-	setAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	value);
-
-	virtual void
-	removeAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-	virtual XalanAttr*
-	getAttributeNodeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual XalanAttr*
-	setAttributeNodeNS(XalanAttr*	newAttr);
-
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-
-	// These interfaces are inherited from PrefixResolver...
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString& prefix) const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-
-	// These optimization interfaces are new to ElemTemplateElement...
-	bool
-	hasParams() const
-	{
-		return m_optimizationFlags & eHasParams ? true : false;
-	}
-
-	bool
-	hasVariables() const
-	{
-		return m_optimizationFlags & eHasVariables ? true : false;
-	}
-
-	bool
-	hasSingleTextChild() const
-	{
-		return m_optimizationFlags & eHasSingleTextChild ? true : false;
-	}
-
-	bool
-	hasChildren() const
-	{
-		return m_firstChild != 0 ? true : false;
-	}
-
-	bool
-	hasDirectTemplate() const
-	{
-		return m_optimizationFlags & eHasDirectTemplate ? true : false;
-	}
-
-	/**
-	 *
-	 * Determine whether or not the instance can generate
-	 */
-	bool
-	canGenerateAttributes() const
-	{
-		return m_optimizationFlags & eCanGenerateAttributes ? true : false;
-	}
-
-protected:
-
-	void
-	canGenerateAttributes(bool	value)
-	{
-		if (value == true)
-		{
-			m_optimizationFlags |= eCanGenerateAttributes;
-		}
-		else
-		{
-			m_optimizationFlags &= ~eCanGenerateAttributes;
-		}
-	}
-
-	/**
-	 * Get the namespace for a given prefix.
-	 * 
-	 * @param prefix The prefix to search for
-	 * @param fExists If not null, set to true if the namespace was defined.
-	 * @return The namespace string.
-	 */
-	const XalanDOMString*
-	getNamespaceForPrefixInternal(const XalanDOMString& 	prefix) const;
-
-	/**
-	 * Perform a query if needed, and call transformChild for each child.
-	 * 
-	 * @param executionContext	The current execution context
-	 * @param xslInstruction The stylesheet element context (deprecated -- I do 
-	 *		not think we need this).
-	 * @param template The owning template context.
-	 * @param sourceNodeContext The current source node context.
-	 * @param selectPattern The XPath with which to perform the selection.
-	 * @param selectStackFrameIndex stack frame context for executing the
-	 *								select statement
-	 */
-	void
-	transformSelectedChildren(
-			StylesheetExecutionContext& 	executionContext,
-			const ElemTemplateElement&		xslInstruction,
-			const ElemTemplateElement*		theTemplate,
-			XalanNode*						sourceNodeContext,
-			const XPath&					selectPattern,
-			NodeSorter* 					sorter,
-			int 							selectStackFrameIndex) const;
-
-	/**
-	 * Perform a query if needed, and call transformChild for each child.
-	 * 
-	 * @param executionContext The current execution context
-	 * @param xslInstruction The stylesheet element context
-	 * @param theTemplate The owning template context.
-	 * @param sourceNodes The source nodes to transform.
-	 * @param sourceNodesCount The count of source nodes to transform.
-	 */
-	void
-	transformSelectedChildren(
-			StylesheetExecutionContext& 		executionContext,
-			const ElemTemplateElement&			xslInstruction,
-			const ElemTemplateElement*			theTemplate,
-			const NodeRefListBase&				sourceNodes,
-			NodeRefListBase::size_type			sourceNodesCount) const;
-
-	/**
-	 * Given an element, find the corresponding
-	 * template and process the contents.
-	 * 
-	 * @param executionContext The current execution context
-	 * @param xslInstruction The calling element (deprecated -- I dont think we 
-	 *		need this).
-	 * @param template The template to use if xsl:for-each, or null.
-	 * @param child The source context node.
-	 * @return true if applied a template, false if not.
-	 */
-	bool
-	transformChild(
-			StylesheetExecutionContext& 	executionContext,
-			const ElemTemplateElement&		xslInstruction,
-			const ElemTemplateElement*		theTemplate,
-			XalanNode*						child) const;
-
-	/**
-	 * Given an xsl token type, determine whether or not a child
-	 * of that type is allowed.  This is so derived types can
-	 * determine whether a particular type of child is allowed for
-	 * the instance.  It is called from appendChildElem().
-	 *
-	 * The default is to allow no types (no children)
-	 *
-	 * @param xslToken The xsl token value of the child.
-	 *
-	 * @return true if the child is allowed, or false if not.
-	 */
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-	bool					m_finishedConstruction;
-
-	/*
-	 * This object handles all result tree namespace processing.
-	 */
-	NamespacesHandler		m_namespacesHandler;
-
-	static const XalanDOMString 	s_emptyString;
-
-private:
-
-	class LocatorProxy : public Locator
-	{
-	public:
-
-		LocatorProxy(const ElemTemplateElement& 	theElement);
-
-		virtual
-		~LocatorProxy();
-
-		virtual const XMLCh*
-		getPublicId() const;
-
-		virtual const XMLCh*
-		getSystemId() const;
-
-		virtual int
-		getLineNumber() const;
-
-		virtual int
-		getColumnNumber() const;
-
-	private:
-
-		// Not implemented...
-		LocatorProxy(const LocatorProxy&);
-
-		LocatorProxy&
-		operator=(const LocatorProxy&);
-
-		bool
-		operator==(const LocatorProxy&) const;
-
-		// data members...
-		const ElemTemplateElement&	m_element;
-	};
-
-	/** 
-	 * Take the contents of a template element, process it, and
-	 * convert it to a string.
-	 * 
-	 * @param executionContext	The current execution context
-	 * @param result result of executing the elements children
-	 * @result a reference to a string containing the result.
-	 */
-	XalanDOMString&
-	doChildrenToString(
-			StylesheetExecutionContext& 	executionContext, 
-			XalanDOMString& 				result) const;
-
-	Stylesheet& 			m_stylesheet;
-
-	const int				m_lineNumber;
-	const int				m_columnNumber;
-
-	bool					m_defaultSpace;
-
-	const int				m_xslToken;
-
-	ElemTemplateElement*	m_parentNode;
-	ElemTemplateElement*	m_nextSibling;
-	ElemTemplateElement*	m_previousSibling;
-
-	union
-	{
-		ElemTemplateElement*	m_firstChild;
-		const ElemTemplate* 	m_directTemplate;
-	};
-
-	XalanNodeListSurrogate	m_surrogateChildren;
-
-	const XalanDOMString	m_baseIndentifier;
-
-	enum { eHasParams = 1,
-		   eHasSingleTextChild = 2,
-		   eHasVariables = 4,
-		   eHasDirectTemplate = 8,
-		   eCanGenerateAttributes = 16 };
-
-	unsigned				m_optimizationFlags;
-
-	LocatorProxy			m_locatorProxy;
-
-	static const XalanEmptyNamedNodeMap 	s_fakeAttributes;
-
-	// Not implemented...
-	ElemTemplateElement(const ElemTemplateElement&);
-
-	ElemTemplateElement&
-	operator=(const ElemTemplateElement&);
-
-	bool
-	operator==(const ElemTemplateElement&) const;
-};
-
-
-
-#endif	// XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD
diff --git a/src/XSLT/ElemText.cpp b/src/XSLT/ElemText.cpp
deleted file mode 100644
index cda91cc..0000000
--- a/src/XSLT/ElemText.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemText.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-/**
- * This primarily acts as a marker on the element 
- * stack to signal that whitespace should be preserved.
- */
-ElemText::ElemText(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_TEXT),
-	m_disableOutputEscaping(false)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_DISABLE_OUTPUT_ESCAPING))
-		{
-			m_disableOutputEscaping =
-					stylesheetTree.getYesOrNo(aname,
-											  atts.getValue(i),
-											  constructionContext);
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:text has an illegal attribute",
-				0,
-				this);
-		}
-	}
-}
-
-
-
-ElemText::~ElemText()
-{
-}
-
-
-
-const XalanDOMString&
-ElemText::getElementName() const
-{
-	return Constants::ELEMNAME_TEXT_WITH_PREFIX_STRING;
-}
-
-
-
-bool
-ElemText::childTypeAllowed(int	xslToken) const
-{
-	bool	fResult = false;
-
-	switch(xslToken)
-	{
-	// char-instructions 
-	case Constants::ELEMNAME_TEXTLITERALRESULT:
-		fResult = true;
-		break;
-
-	default:
-		break;
-	}
-
-	return fResult;
-}
diff --git a/src/XSLT/ElemText.hpp b/src/XSLT/ElemText.hpp
deleted file mode 100644
index 9a8680a..0000000
--- a/src/XSLT/ElemText.hpp
+++ /dev/null
@@ -1,135 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMTEXT_HEADER_GUARD)
-#define XALAN_ELEMTEXT_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-/**
- * This primarily acts as a marker on the element 
- * stack to signal that whitespace should be preserved.
- */
-class ElemText : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:text" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemText(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemText();
-
-	/**
-	 * Determine whether output escaping should be disabled
-	 * 
-	 * @return true if output escaping disabled
-	 */
-	bool
-	getDisableOutputEscaping() const
-	{
-		return m_disableOutputEscaping;
-	}
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-protected:
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual bool
-	childTypeAllowed(int	xslToken) const;
-
-private:
-
-	bool m_disableOutputEscaping;  // = false;
-};
-
-
-
-#endif	// XALAN_ELEMTEXT_HEADER_GUARD
diff --git a/src/XSLT/ElemTextLiteral.cpp b/src/XSLT/ElemTextLiteral.cpp
deleted file mode 100644
index 2c7902c..0000000
--- a/src/XSLT/ElemTextLiteral.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemTextLiteral.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemTextLiteral::ElemTextLiteral(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-            const XMLCh*					ch,
-			XalanDOMString::size_type		start,
-			XalanDOMString::size_type		length,
-            bool							isCData,
-			bool							preserveSpace,
-            bool							disableOutputEscaping) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_TEXTLITERALRESULT),
-	m_isCData(isCData),
-	m_preserveSpace(preserveSpace),	
-	m_disableOutputEscaping(disableOutputEscaping),
-	m_ch(ch + start, length)
-{
-}
-
-
-
-ElemTextLiteral::~ElemTextLiteral()
-{
-}
-
-
-
-const XalanDOMString&
-ElemTextLiteral::getNodeValue() const
-{
-	return m_ch;
-}
-
-
-
-const XalanDOMString&
-ElemTextLiteral::getElementName() const
-{
-	return Constants::PSEUDONAME_TEXT;
-}
-
-
-
-bool
-ElemTextLiteral::isWhitespace() const
-{
-	return isXMLWhitespace(m_ch);
-}
-
-
-
-void
-ElemTextLiteral::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-    if(!m_disableOutputEscaping)
-    {
-		executionContext.characters(toCharArray(m_ch), 0, length(m_ch));
-    }
-    else
-    {
-		executionContext.charactersRaw(toCharArray(m_ch), 0, length(m_ch));
-    }
-}
diff --git a/src/XSLT/ElemTextLiteral.hpp b/src/XSLT/ElemTextLiteral.hpp
deleted file mode 100644
index 2372544..0000000
--- a/src/XSLT/ElemTextLiteral.hpp
+++ /dev/null
@@ -1,156 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMTEXTLITERAL_HEADER_GUARD)
-#define XALAN_ELEMTEXTLITERAL_HEADER_GUARD 
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class ElemTextLiteral : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to literal text element
-	 * 
-	 * @param constructionContext   context for construction of object
-	 * @param stylesheetTree        stylesheet containing element
-	 * @param lineNumber            line number in document
-	 * @param columnNumber          column number in document
-	 * @param ch                    pointer to character string for element
-	 * @param start                 starting offset of element
-	 * @param length                number of characters in element
-	 * @param isCData               true if a CDATA element
-	 * @param preserveSpace         true is space should be preserved
-	 * @param disableOutputEscaping true if output escaping should be disabled
-	 */
-	ElemTextLiteral(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-            const XalanDOMChar*				ch,
-			XalanDOMString::size_type		start,
-			XalanDOMString::size_type		length,
-            bool							isCData,
-			bool							preserveSpace,
-            bool							disableOutputEscaping);
-
-	virtual
-	~ElemTextLiteral();
-
-	/**
-	 * Determine if whitespace should be preserved within the element
-	 * 
-	 * @return true if whitespace should be preserved
-	 */
-	bool
-	isPreserveSpace() const
-	{
-		return m_preserveSpace;
-	}
-
-	const XalanDOMString&
-	getText() const
-	{
-		return m_ch;
-	}
-
-	virtual bool
-	isWhitespace() const;
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-private:
-
-	// not implemented
-	ElemTextLiteral(const ElemTextLiteral&);
-
-	ElemTextLiteral&
-	operator=(const ElemTextLiteral&);
-
-	const bool				m_isCData;
-	const bool				m_preserveSpace;
-	const bool				m_disableOutputEscaping;
-
-	const XalanDOMString	m_ch;
-};
-
-
-
-#endif	// XALAN_ELEMTEXTLITERAL_HEADER_GUARD
diff --git a/src/XSLT/ElemUse.cpp b/src/XSLT/ElemUse.cpp
deleted file mode 100644
index 8779312..0000000
--- a/src/XSLT/ElemUse.cpp
+++ /dev/null
@@ -1,205 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemUse.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/StringTokenizer.hpp>
-
-
-
-#include "StylesheetRoot.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-/**
- * This acts as a superclass for ElemCopy, ElemAttributeSet,
- * ElemElement, and ElemLiteralResult, on order to implement 
- * shared behavior the use-attribute-sets attribute.
- */
-ElemUse::ElemUse(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						xslToken),
-	m_attributeSetsNames()
-{
-}
-
-
-
-ElemUse::~ElemUse()
-{
-}
-
-
-
-const XalanDOMString&
-ElemUse::getElementName() const
-{
-	return Constants::ELEMNAME_USE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemUse::postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler)
-{
-	if (m_attributeSetsNames.size() != 0)
-	{
-		canGenerateAttributes(true);
-	}
-
-	// OK, now we can chain-up...
-	ElemTemplateElement::postConstruction(constructionContext, theParentHandler);
-}
-
-
-
-void
-ElemUse::execute(StylesheetExecutionContext&	executionContext) const
-{
-	doExecute(executionContext, true);
-}
-
-
-
-void
-ElemUse::doExecute(
-			StylesheetExecutionContext&		executionContext,
-			bool							applyAttributeSets) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	if(applyAttributeSets == true && 0 != m_attributeSetsNames.size())
-	{
-		assert(canGenerateAttributes() == true);
-
-		getStylesheet().getStylesheetRoot().applyAttrSets(
-				m_attributeSetsNames, 
-				executionContext,
-				executionContext.getCurrentNode());
-	}
-}
-
-
-
-bool
-ElemUse::processUseAttributeSets(
-			StylesheetConstructionContext&	constructionContext,
-			const XalanDOMChar*				attrName,
-			const AttributeList&			atts,
-			int								which)
-{
-	bool isUAS = false;
-
-	if(Constants::ELEMNAME_LITERALRESULT == getXSLToken())
-	{
-		const XalanQNameByValue	qname(attrName, getStylesheet().getNamespaces());
-
-		isUAS = ((equals(qname.getNamespace(),
-			constructionContext.getXSLTNamespaceURI())) &&
-			(equals(qname.getLocalPart(), Constants::ATTRNAME_USEATTRIBUTESETS)));
-	}
-	else
-	{
-		isUAS = equals(attrName, Constants::ATTRNAME_USEATTRIBUTESETS);
-	}
-
-	if(isUAS == true)
-	{
-		const XalanDOMChar* const	qnames = atts.getValue(which);
-
-		StringTokenizer				tokenizer(qnames,
-											  c_wstr(XALAN_STATIC_UCODE_STRING(" \t\n\r")),
-											  false);
-
-		m_attributeSetsNames.reserve(tokenizer.countTokens());
-
-		XalanDOMString	qname;
-
-		while(tokenizer.hasMoreTokens())
-		{
-			tokenizer.nextToken(qname);
-			assert(length(qname) != 0);
-
-			m_attributeSetsNames.push_back(
-				QNameVectorType::value_type(
-					qname,
-					getStylesheet().getNamespaces()));
-		}
-	}
-
-	return isUAS;
-}
diff --git a/src/XSLT/ElemUse.hpp b/src/XSLT/ElemUse.hpp
deleted file mode 100644
index 0198590..0000000
--- a/src/XSLT/ElemUse.hpp
+++ /dev/null
@@ -1,163 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMUSE_HEADER_GUARD)
-#define XALAN_ELEMUSE_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-#include "Constants.hpp"
-
-
-
-class ElemUse : public ElemTemplateElement
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanQNameByValue>		QNameVectorType;
-#else
-	typedef std::vector<XalanQNameByValue>	QNameVectorType;
-#endif
-
-	/**
-	 * Construct an object corresponding to an "use-attribute-sets" attribute.
-	 * This is a base class for "xsl:element," "xsl:copy" and
-	 * "xsl:attribute-set" elements, which may specify attribute sets to use. 
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemUse(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken = Constants::ELEMNAME_USE);
-
-	virtual
-	~ElemUse();
-
-	/** 
-	 * See if this is a use-attribute-sets attribute, and, if so, process it.
-	 * 
-	 * @param attrName qualified name of attribute
-	 * @param atts     attribute list where the element comes from (not used at 
-	 *                 this time)
-	 * @param which    index into the attribute list (not used at this time)
-	 * @return true if this is a use-attribute-sets attribute
-	 */
-	bool
-	processUseAttributeSets(
-			StylesheetConstructionContext&	constructionContext,
-			const XalanDOMChar*				attrName,
-			const AttributeList&			atts,
-			int								which);
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	postConstruction(
-			StylesheetConstructionContext&	constructionContext,
-			const NamespacesHandler&		theParentHandler);
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-protected:
-
-	/** 
-	 * Execute and conditionally apply any attribute sets.  To be used
-	 * by deriving classes who want ElemUse to do any default execution
-	 * but skip applying attribute sets.  Typically, this would be done
-	 * when attempting to recover from an error.
-	 *
-	 * @param executionContext The current execution context.
-	 * @param applyAttributeSets If true, attribute sets will be applied.
-	 */
-	virtual void
-	doExecute(
-			StylesheetExecutionContext&		executionContext,
-			bool							applyAttributeSets) const;
-
-private:
-
-	QNameVectorType		m_attributeSetsNames;
-};
-
-
-
-#endif	// XALAN_ELEMUSE_HEADER_GUARD
diff --git a/src/XSLT/ElemValueOf.cpp b/src/XSLT/ElemValueOf.cpp
deleted file mode 100644
index 56173a6..0000000
--- a/src/XSLT/ElemValueOf.cpp
+++ /dev/null
@@ -1,257 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemValueOf.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "SelectionEvent.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetRoot.hpp"
-
-
-
-ElemValueOf::ElemValueOf(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_VALUEOF),
-	m_selectPattern(0),
-	m_disableOutputEscaping(false),
-	m_isDot(false)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_SELECT:
-			{
-				const XalanDOMChar* const	avalue = atts.getValue(i);
-				assert(avalue != 0);
-
-				if (avalue[0] == XalanUnicode::charFullStop && avalue[1] == 0)
-				{
-					m_isDot = true;
-				}
-
-				m_selectPattern =
-					constructionContext.createXPath(
-						getLocator(),
-						avalue,
-						*this);
-			}
-			break;
-
-		case Constants::TATTRNAME_DISABLE_OUTPUT_ESCAPING:
-			m_disableOutputEscaping =
-						getStylesheet().getYesOrNo(aname, atts.getValue(i), constructionContext);
-			break;
-
-		case Constants::TATTRNAME_XMLSPACE:
-			processSpaceAttr(atts, i, constructionContext);
-			break; 
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:value-of has an illegal attribute",
-					0,
-					this);
-			} 
-		}
-	}
-
-	if(0 == m_selectPattern)
-	{
-		constructionContext.error(
-			"xsl:value-of requires a 'select' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemValueOf::~ElemValueOf()
-{
-}
-
-
-
-const XalanDOMString&
-ElemValueOf::getElementName() const
-{
-	return Constants::ELEMNAME_VALUEOF_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemValueOf::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	XalanNode* const	sourceNode = executionContext.getCurrentNode();
-	assert(sourceNode != 0);
-
-	if (m_isDot == true)
-	{
-		if (m_disableOutputEscaping == false)
-		{
-			executionContext.characters(*sourceNode);
-		}
-		else
-		{
-			executionContext.charactersRaw(*sourceNode);
-		}
-
-		if(0 != executionContext.getTraceListeners())
-		{
-			fireSelectionEvent(executionContext, sourceNode, DOMServices::getNodeData(*sourceNode));
-		}
-	}
-	else
-	{
-		const XObjectPtr	value(m_selectPattern->execute(sourceNode, *this, executionContext));
-
-		if(value.null() == false)	
-		{
-			if(0 != executionContext.getTraceListeners())
-			{
-				fireSelectionEvent(executionContext, sourceNode, value);
-			}
-
-			const XObject::eObjectType	type = value->getType();
-
-			if (XObject::eTypeNull != type)
-			{
-				if (m_disableOutputEscaping == false)
-				{
-					executionContext.characters(value);
-				}
-				else
-				{
-					executionContext.charactersRaw(value);
-				}
-			}
-		}
-	}
-}
-
-
-
-void
-ElemValueOf::fireSelectionEvent(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode,
-			const XalanDOMString&			theValue) const
-{
-	const XObjectPtr value(executionContext.getXObjectFactory().createStringReference(theValue));
-
-	fireSelectionEvent(executionContext, sourceNode, value);
-}
-
-
-
-void
-ElemValueOf::fireSelectionEvent(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode,
-			const XObjectPtr				theValue) const
-{
-	executionContext.fireSelectEvent(
-				SelectionEvent(
-					executionContext,
-					sourceNode,
-					*this,
-					StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("select")),
-					*m_selectPattern,
-					theValue));
-}
diff --git a/src/XSLT/ElemValueOf.hpp b/src/XSLT/ElemValueOf.hpp
deleted file mode 100644
index 0eef039..0000000
--- a/src/XSLT/ElemValueOf.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMVALUEOF_HEADER_GUARD)
-#define XALAN_ELEMVALUEOF_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class XObjectPtr;
-class XPath;
-
-
-
-class ElemValueOf : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:value-of" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemValueOf(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemValueOf();
-
-	// These methods are inherited from ElemTemplateElement ...
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-private:
-
-	void
-	fireSelectionEvent(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode,
-			const XalanDOMString&			theValue) const;
-
-	void
-	fireSelectionEvent(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode,
-			const XObjectPtr				theValue) const;
-
-
-	/**
-	 * The select pattern used to locate the value.
-	 */
-	const XPath*	m_selectPattern;
-
-	/**
-	 * Tells if this element should disable escaping.
-	 */
-	bool			m_disableOutputEscaping;
-
-	/**
-	 * True if the select pattern is '.'
-	 */
-	bool			m_isDot;
-};
-
-
-
-#endif	// XALAN_ELEMVALUEOF_HEADER_GUARD
diff --git a/src/XSLT/ElemVariable.cpp b/src/XSLT/ElemVariable.cpp
deleted file mode 100644
index 79e7f32..0000000
--- a/src/XSLT/ElemVariable.cpp
+++ /dev/null
@@ -1,218 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemVariable.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "SelectionEvent.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-ElemVariable::ElemVariable(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						xslToken),
-	m_qname(),
-	m_selectPattern(0),
-	m_isTopLevel(false),
-	m_value(0),
-	m_varContext(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-	
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_SELECT:
-			m_selectPattern = constructionContext.createXPath(getLocator(), atts.getValue(i),
-				*this);
-			break;
-
-		case Constants::TATTRNAME_NAME:
-			m_qname = XalanQNameByValue(atts.getValue(i), stylesheetTree.getNamespaces());
-			break;
-
-		case Constants::TATTRNAME_XMLSPACE:
-			processSpaceAttr(atts, i, constructionContext);
-			break; 
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:variable has an illegal attribute",
-					0,
-					this);
-			}
-		}
-	}
-
-	if(m_qname.isEmpty())
-	{
-		constructionContext.error(
-			"xsl:variable must have a 'name' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemVariable::~ElemVariable()
-{
-}
-
-
-
-const XalanDOMString&
-ElemVariable::getElementName() const
-{
-	return Constants::ELEMNAME_VARIABLE_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemVariable::execute(StylesheetExecutionContext&		executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	const XObjectPtr	theValue(getValue(executionContext, executionContext.getCurrentNode()));
-
-	if (theValue.null() == false)
-	{
-		executionContext.pushVariable(
-				m_qname,
-				theValue,
-				getParentNodeElem());
-	}
-	else
-	{
-		executionContext.pushVariable(
-				m_qname,
-				this,
-				getParentNodeElem());
-	}
-}
-
-
-
-const XObjectPtr
-ElemVariable::getValue(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode) const
-{
-	if(m_selectPattern == 0)
-	{
-		if (getFirstChild() == 0)
-		{
-			return executionContext.getXObjectFactory().createString(XalanDOMString());
-		}
-		else
-		{
-			return executionContext.createXResultTreeFrag(*this, sourceNode);
-		}
-	}
-	else
-	{
-		const XObjectPtr	theValue(m_selectPattern->execute(sourceNode, *this, executionContext));
-
-		if(0 != executionContext.getTraceListeners())
-		{
-			executionContext.fireSelectEvent(
-				SelectionEvent(
-					executionContext,
-					sourceNode,
-					*this,
-					StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("select")),
-					*m_selectPattern,
-					theValue));
-		}
-
-		return theValue;
-	}
-}
diff --git a/src/XSLT/ElemVariable.hpp b/src/XSLT/ElemVariable.hpp
deleted file mode 100644
index 803d65d..0000000
--- a/src/XSLT/ElemVariable.hpp
+++ /dev/null
@@ -1,179 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMVARIABLE_HEADER_GUARD)
-#define XALAN_ELEMVARIABLE_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-#include <XPath/XObject.hpp>
-
-
-
-#include <XSLT/Constants.hpp>
-
-
-
-class ElemVariable : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:variable" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemVariable(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber,
-			int								xslToken = Constants::ELEMNAME_VARIABLE);
-
-	virtual
-	~ElemVariable();
-
-	/**
-	 * Determines if this is a top level variable.
-	 * 
-	 * @return true if it is a top level variable
-	 */
-	bool
-	isTopLevel() const
-	{
-		return m_isTopLevel;
-	}
-
-	/**
-	 * Sets whether this is a top level variable.
-	 * 
-	 * @param bTopLevel value of flag to set
-	 */
-	void
-	setTopLevel(bool bTopLevel)
-	{
-		m_isTopLevel = bTopLevel;
-	}
-
-	/**
-	 * Retrieve the object name.
-	 * 
-	 * @return qualified name of object
-	 */
-	const XalanQName&
-	getName() const
-	{ 
-		return m_qname;
-	}
-
-	// These methods are inherited from ElemTemplateElement ...
-	
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext&		executionContext) const;
-
-	const XObjectPtr
-	getValue(
-			StylesheetExecutionContext&		executionContext,
-			XalanNode*						sourceNode) const;
-
-protected:
-
-	XalanQNameByValue	m_qname;
-
-private:
-
-	// not implemented
-	ElemVariable(const ElemVariable &);
-
-	ElemVariable&
-	operator=(const ElemVariable &);
-
-	const XPath*	m_selectPattern;
-
-	bool			m_isTopLevel;
-
-	XObjectPtr		m_value;
-
-	XalanNode*		m_varContext;
-};
-
-
-
-#endif	// XALAN_ELEMVARIABLE_HEADER_GUARD
diff --git a/src/XSLT/ElemWhen.cpp b/src/XSLT/ElemWhen.cpp
deleted file mode 100644
index e981921..0000000
--- a/src/XSLT/ElemWhen.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemWhen.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemWhen::ElemWhen(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_WHEN),
-	m_pTest(0)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		const int					tok =
-			constructionContext.getAttrTok(aname);
-
-		switch(tok)
-		{
-		case Constants::TATTRNAME_TEST:
-			m_pTest = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-			break;
-
-		case Constants::TATTRNAME_XMLSPACE:
-			processSpaceAttr(atts, i, constructionContext);
-			break;
-
-		default:
-			if(!isAttrOK(aname, atts, i, constructionContext))
-			{
-				constructionContext.error(
-					"xsl:when has an illegal attribute",
-					0,
-					this);
-			}
-		}
-	}
-
-	if(0 == m_pTest)
-	{
-		constructionContext.error(
-			"xsl:when must have a 'test' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-const XalanDOMString&
-ElemWhen::getElementName() const
-{
-	return Constants::ELEMNAME_WHEN_WITH_PREFIX_STRING;
-}
-
-
-
-void
-ElemWhen::execute(StylesheetExecutionContext&	executionContext) const
-{
-	ElemTemplateElement::execute(executionContext);
-
-	executeChildren(executionContext);
-}
diff --git a/src/XSLT/ElemWhen.hpp b/src/XSLT/ElemWhen.hpp
deleted file mode 100644
index 0702361..0000000
--- a/src/XSLT/ElemWhen.hpp
+++ /dev/null
@@ -1,120 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMWHEN_HEADER_GUARD)
-#define XALAN_ELEMWHEN_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-class XPath;
-
-
-
-class ElemWhen : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:when" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemWhen (
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	/**
-	 * Retrieve the XPath corresponding to the "test" attribute
-	 * 
-	 * @return XPath object
-	 */
-	const XPath*
-	getXPath() const
-	{
-		return m_pTest;
-	}
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-	virtual void
-	execute(StylesheetExecutionContext& 	executionContext) const;
-
-private:
-
-	const XPath*	m_pTest;
-};
-
-
-
-#endif	// XALAN_ELEMWHEN_HEADER_GUARD
diff --git a/src/XSLT/ElemWithParam.cpp b/src/XSLT/ElemWithParam.cpp
deleted file mode 100644
index e06ab55..0000000
--- a/src/XSLT/ElemWithParam.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "ElemWithParam.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "Constants.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-
-
-
-ElemWithParam::ElemWithParam(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber) :
-	ElemTemplateElement(constructionContext,
-						stylesheetTree,
-						lineNumber,
-						columnNumber,
-						Constants::ELEMNAME_WITHPARAM),
-	m_selectPattern(0),
-	m_qname()
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_SELECT))
-		{
-			m_selectPattern = constructionContext.createXPath(getLocator(), atts.getValue(i), *this);
-		}
-		else if(equals(aname, Constants::ATTRNAME_NAME))
-		{
-			m_qname = XalanQNameByValue(atts.getValue(i), stylesheetTree.getNamespaces());
-		}
-		else if(!isAttrOK(aname, atts, i, constructionContext))
-		{
-			constructionContext.error(
-				"xsl:with-param has an illegal attribute",
-				0,
-				this);
-		}
-	}
-
-	if(m_qname.isEmpty() == true)
-	{
-		constructionContext.error(
-			"xsl:with-param must have a 'name' attribute",
-			0,
-			this);
-	}
-}
-
-
-
-ElemWithParam::~ElemWithParam()
-{
-}
-
-
-
-const XalanDOMString&
-ElemWithParam::getElementName() const
-{
-	return Constants::ELEMNAME_WITHPARAM_WITH_PREFIX_STRING;
-}
diff --git a/src/XSLT/ElemWithParam.hpp b/src/XSLT/ElemWithParam.hpp
deleted file mode 100644
index cdbb63f..0000000
--- a/src/XSLT/ElemWithParam.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_ELEMWITHPARAM_HEADER_GUARD)
-#define XALAN_ELEMWITHPARAM_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class header file.
-#include "ElemTemplateElement.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-class ElemWithParam : public ElemTemplateElement
-{
-public:
-
-	/**
-	 * Construct an object corresponding to an "xsl:with-param" element
-	 * 
-	 * @param constructionContext context for construction of object
-	 * @param stylesheetTree      stylesheet containing element
-	 * @param atts                list of attributes for element
-	 * @param lineNumber				line number in document
-	 * @param columnNumber			column number in document
-	 */
-	ElemWithParam(
-			StylesheetConstructionContext&	constructionContext,
-			Stylesheet&						stylesheetTree,
-			const AttributeList&			atts,
-			int								lineNumber,
-			int								columnNumber);
-
-	virtual
-	~ElemWithParam();
-
-	/**
-	 * Retrieves qualified name of object
-	 *
-	 * @return qualified name
-	 */
-	const XalanQName&
-	getQName() const
-	{
-		return m_qname;
-	}
-
-	/**
-	 * Retrieve XPath corresponding to "select" attribute
-	 * 
-	 * @return pointer to XPath for select pattern
-	 */
-	const XPath*
-	getSelectPattern() const
-	{
-		return m_selectPattern;
-	}
-
-	virtual const XalanDOMString&
-	getElementName() const;
-
-private:
-
-	// not implemented
-	ElemWithParam(const ElemWithParam&);
-
-	ElemWithParam&
-	operator=(const ElemWithParam&);
-
-	// Data members...
-	const XPath*		m_selectPattern;
-
-	XalanQNameByValue	m_qname;
-};
-
-
-
-#endif	// XALAN_ELEMWITHPARAM_HEADER_GUARD
diff --git a/src/XSLT/ExtensionFunctionHandler.cpp b/src/XSLT/ExtensionFunctionHandler.cpp
deleted file mode 100644
index 83d937b..0000000
--- a/src/XSLT/ExtensionFunctionHandler.cpp
+++ /dev/null
@@ -1,252 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#include "ExtensionFunctionHandler.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <PlatformSupport/StringTokenizer.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-const XalanDOMChar	ExtensionFunctionHandler::s_tokenDelimiterCharacters[] =
-{
-		XalanUnicode::charSpace,
-		XalanUnicode::charHTab,
-		XalanUnicode::charLF,
-		XalanUnicode::charCR,
-		0
-};
-
-
-
-ExtensionFunctionHandler::ExtensionFunctionHandler(const XalanDOMString&	namespaceUri) :
-	m_namespaceUri(namespaceUri),
-	m_scriptLang(),
-	m_scriptSrc(),
-	m_scriptSrcURL(),
-	m_javaObject(0),
-	m_functions(),
-	m_componentStarted(false)
-{
-}
-
-
-
-ExtensionFunctionHandler::~ExtensionFunctionHandler()
-{
-}
-
-
-
-ExtensionFunctionHandler::ExtensionFunctionHandler (
-			const XalanDOMString&	namespaceUri,
-			const XalanDOMString&	funcNames,
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	src) :
-	m_namespaceUri(namespaceUri),
-	m_scriptLang(lang),
-	m_scriptSrc(src),
-	m_scriptSrcURL(srcURL),
-	m_javaObject(0),
-	m_functions(),
-	m_componentStarted(false)
-{
-	setFunctions (funcNames);
-}
-
-
-
-void
-ExtensionFunctionHandler::setFunctions(const XalanDOMString&	funcNames) 
-{
-	if (isEmpty(funcNames)) 
-	{
-		return;
-	}
-
-	StringTokenizer		st(funcNames, s_tokenDelimiterCharacters, false);
-
-	while (st.hasMoreTokens() == true)
-	{
-		m_functions.insert(st.nextToken());
-	}
-}
-
-
-void
-ExtensionFunctionHandler::setScript(
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	scriptSrc)
-{
-	m_scriptLang = lang;
-	m_scriptSrcURL = srcURL;
-	m_scriptSrc = scriptSrc;
-}
-
-
-
-bool
-ExtensionFunctionHandler::isFunctionAvailable (const XalanDOMString&	function) const
-{
-	return m_functions.find(function) != m_functions.end();
-}
-
-
-
-XObjectPtr
-ExtensionFunctionHandler::callFunction(
-			const XalanDOMString&	/* funcName */,
-			const ArgVectorType&	/* args */)
-{
-	assert(0);	// @@ TODO: Not implemented
-
-	if (!m_componentStarted) 
-	{
-		startupComponent();
-	}
-
-	return XObjectPtr();
-}
-
-
-
-void
-ExtensionFunctionHandler::startupComponent()
-{
-	// special case the javaclass engine - the scriptSrcURL is 
-	// the class name to run. If it starts with class: then use the
-	// class object with that name instead of init'ing it as the
-	// target of the calls later
-	if (equals(m_scriptLang, "javaclass")) 
-	{
-		try 
-		{
-			XalanDOMString	cname(m_scriptSrcURL);
-
-			bool isClass = false;
-
-			if (startsWith(m_scriptSrcURL, "class:")) 
-			{
-				substring(m_scriptSrcURL, cname, 6);
-
-				isClass = true;
-			}
-
-			// @@ JMD: Can't do this in C++
-			/*
-			Class cl = Class.forName (cname);
-			if (isClass) 
-			{
-				m_javaObject = cl;
-			}
-			else
-			{
-				m_javaObject = cl.newInstance ();
-			}
-			*/
-			m_componentStarted = true;
-			return;
-		}
-		//catch (Exception e) 
-		catch (...) 
-		{
-			assert(0);
-			// System.out.println("Extension error: "+e.getMessage ());
-			// throw new XPathProcessorException (e.getMessage (), e);
-		}
-	}
-
-	// if scriptSrcURL is specified read it off
-	if (!isEmpty(m_scriptSrcURL)) 
-	{
-		assert(0);
-		// throw new XPathProcessorException ("src attr not supported (yet)");
-	}
-
-	if (isEmpty(m_scriptSrc)) 
-	{
-		return;
-	}
-
-	// evaluate the src to load whatever content is in that string to 
-	// the engines
-	assert(0);
-	// System.out.println("Error!	Extensions not implemented!");
-	/*
-	try 
-	{
-		mgr.exec (m_scriptLang, "XSLTScript", -1, -1, scriptSrc);
-	}
-	catch (BSFException bsfe) 
-	{
-		throw new XPathProcessorException (bsfe.getMessage (), bsfe);
-	}
-	*/
-
-	m_componentStarted = true;
-}
diff --git a/src/XSLT/ExtensionFunctionHandler.hpp b/src/XSLT/ExtensionFunctionHandler.hpp
deleted file mode 100644
index dfb5ff5..0000000
--- a/src/XSLT/ExtensionFunctionHandler.hpp
+++ /dev/null
@@ -1,229 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_EXTENSIONFUNCTIONHANDLER_HEADER_GUARD)
-#define XALAN_EXTENSIONFUNCTIONHANDLER_HEADER_GUARD
-
-
-
-// Base include file.	Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/XObject.hpp>
-
-
-
-class XObjectPtr;
-
-
-
-/**
- * Class handling an extension namespace for XPath. Provides functions
- * to test a function's existence and call a function
- *
- * @author Sanjiva Weerawarana (sanjiva@watson.ibm.com)
- */
-class XALAN_XSLT_EXPORT ExtensionFunctionHandler 
-{
-
-public:
-
-	/**
-	 * Construct a new extension namespace handler for a given extension NS.
-	 * This doesn't do anything - just hang on to the namespace URI.
-	 * 
-	 * @param namespaceUri the extension namespace URI that I'm implementing
-	 */
-	ExtensionFunctionHandler(const XalanDOMString&	namespaceUri);
-
-	/**
-	 * Construct a new extension namespace handler given all the information
-	 * needed. 
-	 * 
-	 * @param namespaceUri the extension namespace URI that I'm implementing
-	 * @param funcNames    string containing list of functions of extension NS
-	 * @param lang         language of code implementing the extension
-	 * @param srcURL       value of src attribute (if any) - treated as a URL
-	 *                     or a classname depending on the value of lang. If
-	 *                     srcURL is not null, then scriptSrc is ignored.
-	 * @param scriptSrc    the actual script code (if any)
-	 */
-	ExtensionFunctionHandler(
-			const XalanDOMString&	namespaceUri,
-			const XalanDOMString&	funcNames,
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	scriptSrc);
-
-
-	virtual
-	~ExtensionFunctionHandler();
-
-	/**
-	 * Set function local parts of extension NS.
-	 *
-	 * @param functions whitespace separated list of function names defined
-	 *                  by this extension namespace.
-	 */
-	virtual void
-	setFunctions(const XalanDOMString&	funcNames);
-
-	/**
-	 * Set the script data for this extension NS. If srcURL is !null then
-	 * the script body is read from that URL. If not the scriptSrc is used
-	 * as the src. This method does not actually execute anything - that's
-	 * done when the component is first hit by the user by an element or 
-	 * a function call.
-	 *
-	 * @param lang      language of the script.
-	 * @param srcURL    value of src attribute (if any) - treated as a URL
-	 *                  or a classname depending on the value of lang. If
-	 *                  srcURL is not null, then scriptSrc is ignored.
-	 * @param scriptSrc the actual script code (if any)
-	 */
-	virtual void
-	setScript(
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	scriptSrc);
-
-	/**
-	 * Tests whether a certain function name is known within this namespace.
-	 *
-	 * @param function name of the function being tested
-	 * @return true if its known, false if not.
-	 */
-	virtual bool
-	isFunctionAvailable(const XalanDOMString&	function) const;
-
-	/// Vector of pointers to function arguments
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<void*>								ArgVectorType;
-	typedef set<XalanDOMString, less<XalanDOMString> >	StringSetType;
-#else
-	typedef std::vector<void*>			ArgVectorType;
-	typedef std::set<XalanDOMString>	StringSetType;
-#endif
-
-	/**
-	 * Process a call to a function.
-	 *
-	 * @param funcName Function name.
-	 * @param args     The arguments of the function call.
-	 *
-	 * @return the return value of the function evaluation.
-	 *
-	 * @exception XSLProcessorException thrown if something goes wrong 
-	 *            while running the extension handler.
-	 * @exception MalformedURLException if loading trouble
-	 * @exception FileNotFoundException if loading trouble
-	 * @exception IOException           if loading trouble
-	 * @exception SAXException          if parsing trouble
-	 */
-
-	virtual XObjectPtr
-	callFunction(
-			const XalanDOMString&	funcName,
-			const ArgVectorType&	args);
-
-protected:
-
-	XalanDOMString	m_namespaceUri;  // uri of the extension namespace
-	XalanDOMString	m_scriptLang;    // scripting language of implementation
-	XalanDOMString	m_scriptSrc;     // script source to run (if any)
-	XalanDOMString	m_scriptSrcURL;  // URL of source of script (if any)
-
-	void* m_javaObject;		    // object for javaclass engine
-
-	StringSetType	m_functions; // functions of namespace
-
-	//  BSFManager mgr = new BSFManager (); // mgr used to run scripts
-
-	bool			m_componentStarted; // true when the scripts in a
-
-	// component description (if any) have been run
-
-	/**
-	 * Start the component up by executing any script that needs to run
-	 * at startup time. This needs to happen before any functions can be
-	 * called on the component. 
-	 * 
-	 * @exception XPathProcessorException if something bad happens.
-	 */
-	virtual void
-	startupComponent();
-
-	static const XalanDOMChar	s_tokenDelimiterCharacters[];
-};
- 
-
-
-#endif	// XALAN_EXTENSIONFUNCTIONHANDLER_HEADER_GUARD
diff --git a/src/XSLT/ExtensionNSHandler.cpp b/src/XSLT/ExtensionNSHandler.cpp
deleted file mode 100644
index 14ade1a..0000000
--- a/src/XSLT/ExtensionNSHandler.cpp
+++ /dev/null
@@ -1,358 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#include "ExtensionNSHandler.hpp"
-
-
-
-#include <cassert>
-
-
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/StringTokenizer.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "StylesheetExecutionContext.hpp"
-
-
-
-class XSLTProcessor;
-
-
-
-struct XSLProcessorContext
-{
-	const XSLTProcessor&	m_processor;
-	const Stylesheet&		m_stylesheetTree;
-	const XalanNode*		m_sourceTree;
-	const XalanNode*		m_sourceNode;
-	const XalanQName&		m_mode;
-
-	XSLProcessorContext(
-			const XSLTProcessor&	processor,
-			const Stylesheet&		stylesheetTree, 
-			const XalanNode*		sourceTree,
-			const XalanNode*		sourceNode,
-			const XalanQName&		mode) :
-		m_processor(processor),
-		m_stylesheetTree(stylesheetTree),
-		m_sourceTree(sourceTree),
-		m_sourceNode(sourceNode),
-		m_mode(mode)
-	{
-	}
-};
-
-
-
-/**
- * Construct a new extension namespace handler for a given extension NS.
- * This doesn't do anything - just hang on to the namespace URI.
- * 
- * @param namespaceUri the extension namespace URI that I'm implementing
- */
-ExtensionNSHandler::ExtensionNSHandler(const XalanDOMString&	namespaceUri) :
-	ExtensionFunctionHandler(namespaceUri),
-	m_elements(),
-	m_componentDescLoaded(false)
-{
-}
-
-
-
-/**
- * Construct a new extension namespace handler given all the information
- * needed. 
- * 
- * @param xslp				 handle to the XSL processor that I'm working for
- * @param namespaceUri the extension namespace URI that I'm implementing
- * @param elemNames		string containing list of elements of extension NS
- * @param funcNames		string containing list of functions of extension NS
- * @param lang				 language of code implementing the extension
- * @param srcURL			 value of src attribute (if any) - treated as a URL
- *										 or a classname depending on the value of lang. If
- *										 srcURL is not null, then scriptSrc is ignored.
- * @param scriptSrc		the actual script code (if any)
- */
-ExtensionNSHandler::ExtensionNSHandler (
-			const XalanDOMString& namespaceUri,
-			const XalanDOMString& elemNames,
-			const XalanDOMString& funcNames,
-			const XalanDOMString& lang,
-			const XalanDOMString& srcURL,
-			const XalanDOMString& src) :
-	ExtensionFunctionHandler(namespaceUri, funcNames, lang, srcURL, src),
-	m_elements(),
-	m_componentDescLoaded(true)
-		 
-{
-	setElements(elemNames);
-}
-
-
-
-void
-ExtensionNSHandler::setFunctions(const XalanDOMString&	funcNames)
-{
-    ExtensionFunctionHandler::setFunctions(funcNames);
-
-    m_componentDescLoaded = true;
-}
-
-
-
-void
-ExtensionNSHandler::setScript(
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	scriptSrc)
-{
-    ExtensionFunctionHandler::setScript(lang, srcURL, scriptSrc);
-
-    m_componentDescLoaded = true;
-}
-
-
-
-void
-ExtensionNSHandler::setElements(const XalanDOMString&	elemNames)
-{
-    if (length(elemNames) != 0)
-	{
-		StringTokenizer		st(elemNames, s_tokenDelimiterCharacters, false);
-
-		while (st.hasMoreTokens() == true)
-		{
-			m_elements.insert(st.nextToken()); // just stick it in there basically
-		}
-	
-		m_componentDescLoaded = true;
-	}
-}
-
-
-
-bool
-ExtensionNSHandler::isElementAvailable(const XalanDOMString&	element) const
-{
-    return (m_elements.find(element) != m_elements.end());
-}
-
-
-
-void
-ExtensionNSHandler::processElement(
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			localPart,
-			const XalanElement*				/* element */,
-			Stylesheet&						/* stylesheetTree */, 
-			const XalanNode*				/* sourceTree */,
-			const XalanNode*				/* sourceNode */,
-			const XalanQName&				/* mode */)
-{
-	XObjectPtr	result;
-
-	if (!m_componentStarted) 
-	{
-		try 
-		{
-			startupComponent();
-
-			ArgVectorType	argv;
-			
-//			XSLProcessorContext xpc(processor,
-//					stylesheetTree, sourceTree, sourceNode, mode);
-			/*
-				java:
-				Vector argv = new Vector (2);
-				argv.addElement (xpc);
-				argv.addElement (element);
-			*/
-				// $$$ ToDo: There's no way this will ever work...
-//				argv.push_back(static_cast<void *>(&xpc));
-//				argv.push_back(static_cast<void *>(&element));
-			result = ExtensionFunctionHandler::callFunction (localPart, argv);
-		}
-		// catch (XPathProcessorException e) 
-		catch (...) 
-		{
-			/*
-				e.printStackTrace ();
-				throw new XSLProcessorException (e.getMessage (), e);
-			*/
-			//@@ TODO: Error reporting, or throw
-		} 
-	}
-
-	if (result.null() == false) 
-	{
-		executionContext.outputToResultTree(*result);
-	}
-}
-
-
-
-void
-ExtensionNSHandler::startupComponent()
-{
-	if (!m_componentDescLoaded) 
-	{
-		try 
-		{
-			loadComponentDescription();
-		}
-		catch (...) 
-		// catch (Exception e) 
-		{
-			// throw new XPathProcessorException (e.getMessage (), e);
-			//@@ TODO: Error reporting, or throw
-		}
-	}
-
-	ExtensionFunctionHandler::startupComponent();
-}
-
-
-
-void
-ExtensionNSHandler::loadComponentDescription()
-{
-	// First try treaing the URI of the extension as a fully qualified
-	// class name; if it works then go with treating this an extension
-	// implemented in "javaclass" for with that class being the srcURL.
-	// forget about setting elements and functions in that case - so if
-	// u do extension-{element,function}-available then u get false, 
-	// but that's ok.
-	assert(0);		// Don't try this in C++
-	// @@ How to do this in C++ ??
-/*
-	try {
-		String cname = namespaceUri.startsWith ("class:") ?
-										 namespaceUri.substring (6) : namespaceUri;
-		Class.forName (cname); // does it load?
-		setScript ("javaclass", namespaceUri, null);
-		m_componentDescLoaded = true;
-		return;
-	} catch (Exception e) {
-		// oops, it failed .. ok, so this path ain't gonna pan out. shucks.
-	}
-
-	// parse the document at the URI of the extension, if any
-	URL url = m_XSLProcessor.getURLFromString(namespaceUri,
-																	m_XSLProcessor.m_stylesheetRoot.m_baseIdent);
-	
-	m_XSLProcessor.m_parserLiaison.parse(new InputSource(url.toString()));
-	Document compSpec = m_XSLProcessor.m_parserLiaison.getDocument();
-	Element componentElement = compSpec.getDocumentElement ();
-
-	// determine the functions and elements of this component
-	setElements (componentElement.getAttribute ("elements"));
-	setFunctions (componentElement.getAttribute ("functions"));
-
-	// is there an lxslt:script element child? [NOTE THAT THIS IS NOT
-	// PROPER NAMESPACE-WISE .. I'll FIX IT LATER. .. Sanjiva 8/20/99.]
-	NodeList nl = componentElement.getElementsByTagName ("lxslt:script");
-	switch (nl.getLength ()) 
-	{
-	case 0:
-		break;
-	case 1:
-		Element scriptElem = (Element) nl.item (0);
-		String lang = scriptElem.getAttribute ("lang");
-		Attr srcURLAttr = scriptElem.getAttributeNode ("src");
-		String srcURL = (srcURLAttr == null) ? null : srcURLAttr.getValue ();
-		String src = getScriptString (scriptElem);
-		setScript (lang, srcURL, src);
-		break;
-	default:
-		throw new XSLProcessorException ("too many <script>s in component");
-	}
-	m_componentDescLoaded = true;
-*/
-}
-
-
-
-XalanDOMString
-ExtensionNSHandler::getScriptString(const XalanElement&		elem)
-{
-	XalanDOMString strBuf;
-
-	for (const XalanNode*	n = elem.getFirstChild (); n != 0; n = n->getNextSibling())
-	{
-		switch (n->getNodeType()) 
-		{
-		case XalanNode::TEXT_NODE:
-		case XalanNode::CDATA_SECTION_NODE:
-			strBuf += n->getNodeValue();
-			break;
-
-		default:
-			break;
-		}
-	}
-
-	return strBuf;
-}
diff --git a/src/XSLT/ExtensionNSHandler.hpp b/src/XSLT/ExtensionNSHandler.hpp
deleted file mode 100644
index f468739..0000000
--- a/src/XSLT/ExtensionNSHandler.hpp
+++ /dev/null
@@ -1,246 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_EXTENSIONNSHANDLER_HEADER_GUARD)
-#define XALAN_EXTENSIONNSHANDLER_HEADER_GUARD
-
-
-// Base include file.	Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class
-#include "ExtensionFunctionHandler.hpp"
-
-
-
-#include <set>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class Stylesheet;
-class StylesheetExecutionContext;
-class XalanElement;
-class XalanNode;
-class XalanQName;
-
-
-
-class XALAN_XSLT_EXPORT ExtensionNSHandler : public ExtensionFunctionHandler
-{	 
-public:	
-	/**
-	 * Construct a new extension namespace handler for a given extension NS.
-	 * This doesn't do anything - just hang on to the namespace URI.
-	 * 
-	 * @param namespaceUri extension namespace URI being implemented
-	 */
-	ExtensionNSHandler(const XalanDOMString&	namespaceUri);
-
-	/**
-	 * Construct a new extension namespace handler given all the information
-	 * needed. 
-	 * 
-	 * @param namespaceUri extension namespace URI being implemented
-	 * @param elemNames    string containing list of elements of extension NS
-	 * @param funcNames    string containing list of functions of extension NS
-	 * @param lang         language of code implementing the extension
-	 * @param srcURL       value of src attribute (if any) - treated as a URL
-	 *                     or a classname depending on the value of lang. If
-	 *                     srcURL is not null, then scriptSrc is ignored.
-	 * @param scriptSrc    the actual script code (if any)
-	 */
-	ExtensionNSHandler(
-			const XalanDOMString&	namespaceUri,
-			const XalanDOMString&	elemNames,
-			const XalanDOMString&	funcNames,
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	src);
-
-	/**
-	 * Set function local parts of extension NS. Super does the work; I
-	 * just record that a component desc has been loaded.
-	 *
-	 * @param functions whitespace separated list of function names defined
-	 *                  by this extension namespace
-	*/
-	virtual void
-	setFunctions(const XalanDOMString&	funcNames); 
-
-	/**
-	 * Set the script data for this extension NS. Deferred to super for
-	 * actual work - only record that a component desc has been loaded.
-	 *
-	 * @param lang      language of the script
-	 * @param srcURL    value of src attribute (if any) - treated as a URL
-	 *                  or a classname depending on the value of lang. If
-	 *                  srcURL is not null, then scriptSrc is ignored.
-	 * @param scriptSrc the actual script code (if any)
-	 */
-	virtual void
-	setScript(
-			const XalanDOMString&	lang,
-			const XalanDOMString&	srcURL,
-			const XalanDOMString&	scriptSrc); 
-
-	/**
-	 * Set element local parts of extension NS.
-	 *
-	 * @param elemNames whitespace separated list of element names defined
-	 *                  by this extension namespace
-	 */
-	void
-	setElements(const XalanDOMString&	elemNames); 
-
-	/**
-	 * Tests whether a certain element name is known within this namespace.
-	 *
-	 * @param element name of the element being tested
-	 * @return true if known, false if not
-	 */
-	bool
-	isElementAvailable (const XalanDOMString&	element) const;
-
-	/**
-	 * Process a call to this extension namespace via an element. As a side
-	 * effect, the results are sent to the XSLTProcessor's result tree.
-	 *
-	 * @param localPart      element name's local part
-	 * @param element        extension element being processed
-	 * @param stylesheetTree compiled stylesheet tree
-	 * @param mode           current mode
-	 * @param sourceTree     root of the source tree (but don't assume it's a
-	 *                       document)
-	 * @param sourceNode     current context node
-	 * @exception XSLProcessorException thrown if something goes wrong 
-	 *                                  while running the extension handler
-	 * @exception MalformedURLException if loading trouble
-	 * @exception FileNotFoundException if loading trouble
-	 * @exception IOException           if loading trouble
-	 * @exception SAXException          if parsing trouble
-	 */
-	void
-	processElement (
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			localPart,
-			const XalanElement*				element,
-			Stylesheet&						stylesheetTree, 
-			const XalanNode*				sourceTree,
-			const XalanNode*				sourceNode,
-			const XalanQName&				mode);
-
-protected:
-
-	/**
-	 * Start the component up by executing any script that needs to run
-	 * at startup time. This needs to happen before any functions can be
-	 * called on the component.
-	 * 
-	 */
-	virtual void
-	startupComponent();
-
-
-private:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef set<XalanDOMString,
-				less<XalanDOMString> >	ExtensionSetType;
-#else
-	typedef std::set<XalanDOMString>	ExtensionSetType;
-#endif
-
-	// Extension elements of this namespace
-	ExtensionSetType	m_elements;
-
-	// True when info from the component description has been loaded. This gets
-	// set as soon as any of the info has been specified. If this is false,
-	// when processElement or processFunction is called it will use the
-	// namespace URI as a URL and try to load that location as the component
-	// description
-	bool m_componentDescLoaded;
-
-	/**
-	 * Load the component spec for this extension namespace taking the URI
-	 * of this namespace as the URL to read from.
-	 */
-	void
-	loadComponentDescription();
-
-	/**
-	 * extract the text nodes and CDATA content children of the given
-	 * elem and return as a string. Any other types of node children
-	 * are ignored
-	 *
-	 * @param elem element whose text and cdata children are to be 
-	 *				concatenated together.
-	 *
-	 * @return string resulting from concatanating the text/cdata child
-	 *				 nodes' values.
-	 */
-	static XalanDOMString
-	getScriptString(const XalanElement&		elem);
-};
-
-
-
-#endif	// XALAN_EXTENSIONNSHANDLER_HEADER_GUARD
diff --git a/src/XSLT/FunctionCurrent.cpp b/src/XSLT/FunctionCurrent.cpp
deleted file mode 100644
index 55e3f79..0000000
--- a/src/XSLT/FunctionCurrent.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionCurrent.hpp"
-
-
-
-FunctionCurrent::FunctionCurrent()
-{
-}
-
-
-
-FunctionCurrent::~FunctionCurrent()
-{
-}
-
-
-
-XObjectPtr
-FunctionCurrent::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	assert(executionContext.getCurrentNode() != 0);
-
-	if (context == 0)
-	{
-		executionContext.error(
-			"The current() function is not allowed in patterns!",
-			context,
-			locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		return executionContext.createNodeSet(*executionContext.getCurrentNode());
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionCurrent*
-#endif
-FunctionCurrent::clone() const
-{
-	return new FunctionCurrent(*this);
-}
-
-
-
-const XalanDOMString
-FunctionCurrent::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The current() function does not accept any arguments!"));
-}
diff --git a/src/XSLT/FunctionCurrent.hpp b/src/XSLT/FunctionCurrent.hpp
deleted file mode 100644
index f3b85b6..0000000
--- a/src/XSLT/FunctionCurrent.hpp
+++ /dev/null
@@ -1,122 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONCURRENT_HEADER_GUARD_1357924680)
-#define FUNCTIONCURRENT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XObject;
-class XPathExecutionContext;
-
-
-
-// Implementation of the XSLT function current().
-//
-class XALAN_XSLT_EXPORT FunctionCurrent : public Function
-{
-public:
-
-	FunctionCurrent();
-
-	virtual
-	~FunctionCurrent();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionCurrent*
-#endif
-	clone() const;
-
-private:
-
-	virtual const XalanDOMString
-	getError() const;
-
-	// Not implemented...
-	FunctionCurrent&
-	operator=(const FunctionCurrent&);
-
-	bool
-	operator==(const FunctionCurrent&) const;
-};
-
-
-
-#endif	// FUNCTIONCURRENT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionDocument.cpp b/src/XSLT/FunctionDocument.cpp
deleted file mode 100644
index faab9a3..0000000
--- a/src/XSLT/FunctionDocument.cpp
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionDocument.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionDocument::FunctionDocument()
-{
-}
-
-
-
-FunctionDocument::~FunctionDocument()
-{
-}
-
-
-typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-
-
-static void
-getDoc(
-			XPathExecutionContext&				executionContext,
-			const XalanDOMString&				uri,
-			const XalanDOMString&				base,
-			BorrowReturnMutableNodeRefList&		mnl)
-{
-	XalanDOMString	localURI(uri);
-
-    XalanDocument*	newDoc = executionContext.getSourceDocument(localURI);
-
-	if(newDoc == 0)
-	{
-		if(length(localURI) == 0)
-		{
-			assert(executionContext.getPrefixResolver() != 0);
-
-			localURI = executionContext.getPrefixResolver()->getURI();
-		}
-
-		try
-		{
-			newDoc = executionContext.parseXML(localURI, base);
-		}
-		catch(...)
-		{
-		}
-
-		if(newDoc == 0)
-		{
-			XalanDOMString	theMessage(TranscodeFromLocalCodePage("Cannot load requested doc: "));
-
-			theMessage += localURI;
-
-			if (length(base) > 0)
-			{
-				theMessage += TranscodeFromLocalCodePage(" (Base URI: ");
-				theMessage += base;
-				theMessage += TranscodeFromLocalCodePage(")");
-			}
-
-			executionContext.warn(theMessage);
-		}
-    }
-
-	if(newDoc != 0)
-	{
-		mnl->addNodeInDocOrder(newDoc, executionContext);
-	}
-}
-
-
-
-inline void
-getDoc(
-			XPathExecutionContext&				executionContext,
-			const XalanDOMString&				uri,
-			BorrowReturnMutableNodeRefList&		mnl)
-{
-	getDoc(executionContext, uri, XalanDOMString(), mnl);
-}
-
-
-
-inline void
-getDoc(
-			XPathExecutionContext&				executionContext,
-			const XalanDOMString&				uri,
-			const XalanNode*					resolver,
-			BorrowReturnMutableNodeRefList&		mnl)
-{
-	assert(resolver != 0);
-
- 	const XalanDocument* const	ownerDocument = XalanNode::DOCUMENT_NODE == resolver->getNodeType() ?
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(const XalanDocument*)resolver :
-#else
-			static_cast<const XalanDocument*>(resolver) :
-#endif
-			resolver->getOwnerDocument();
-
-	getDoc(executionContext, uri, executionContext.findURIFromDoc(ownerDocument), mnl);
-}
-
-
-
-XObjectPtr
-FunctionDocument::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);
-
-	if (arg1->getType() == XObject::eTypeNodeSet)
-	{
-		return doExecute(executionContext, context, arg1, 0, 1);
-	}
-	else
-	{
-		XalanDOMString				base;
-
-		assert(executionContext.getPrefixResolver() != 0);
-
-		base = executionContext.getPrefixResolver()->getURI();
-
-		return doExecute(executionContext, context, arg1, &base, 1);
-	}
-}
-
-
-
-XObjectPtr
-FunctionDocument::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false && arg2.null() == false);
-
-	XalanDOMString	base;
-
-	if (context == 0)
-	{
-		executionContext.error(
-			"The document() function requires a non-null context node!",
-			context,
-			locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		if(XObject::eTypeNodeSet == arg2->getType())
-		{
-			const NodeRefListBase&	nodeset = arg2->nodeset();
-
-			if (nodeset.getLength() == 0)
-			{
-				executionContext.warn("Ignoring the empty node-set provided as the second argument to the function document().",
-									  context);
-
-				assert(executionContext.getPrefixResolver() != 0);
-
-				base = executionContext.getPrefixResolver()->getURI();
-			}
-			else
-			{
-				XalanNode* const	baseNode =	nodeset.item(0);
-				assert(baseNode != 0);
-
-				XalanDocument* const	baseDoc = XalanNode::DOCUMENT_NODE == baseNode->getNodeType() ?
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(XalanDocument*)baseNode :
-#else
-					static_cast<XalanDocument*>(baseNode) :
-#endif
-					baseNode->getOwnerDocument();
-
-				base = executionContext.findURIFromDoc(baseDoc);
-			}
-		}
-		else
-		{
-			base = arg2->str();
-		}
-	}
-
-	return doExecute(executionContext, context, arg1, &base, 2);
-}
-
-
-
-XObjectPtr
-FunctionDocument::doExecute(
-		XPathExecutionContext&			executionContext,
-		XalanNode*						/* context */,
-		const XObjectPtr				arg,
-		XalanDOMString*					base,
-		int								argCount) const
-{
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	// This list will hold the nodes...
-	BorrowReturnMutableNodeRefList	mnl(executionContext);
-
-	const XObject::eObjectType			theType = arg->getType();
-
-	const NodeRefListBase::size_type	nRefs = XObject::eTypeNodeSet == theType ?
-												arg->nodeset().getLength()
-												: 1;
-
-	for(NodeRefListBase::size_type i = 0; i < nRefs; i++)
-	{
-		assert(XObject::eTypeNodeSet != theType ||
-							arg->nodeset().item(i) != 0);
-
-		const XalanNode*	resolver = 0;
-
-		XalanDOMString		ref;
-
-		if (theType != XObject::eTypeNodeSet)
-		{
-			ref = arg->str();
-		}
-		else
-		{
-			resolver = arg->nodeset().item(i);
-			assert(resolver != 0);
-
-			ref = DOMServices::getNodeData(*resolver);
-		}
-
-		// This is the case where the function was called with
-		// an empty string, which refers to the stylesheet itself.
-		if (nRefs == 1 && isEmpty(ref) == true && argCount == 1)
-		{
-			if (base != 0)
-			{
-				clear(*base);
-			}
-
-			ref = executionContext.getPrefixResolver()->getURI();
-		}
-
-		if(!isEmpty(ref))
-		{
-			// 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.
-			const XalanDOMString::size_type		theLength = length(ref);
-
-			const XalanDOMString::size_type		indexOfColon = indexOf(ref, XalanUnicode::charColon);
-			XalanDOMString::size_type			indexOfSlash = indexOf(ref, XalanUnicode::charSolidus);
-
-#if defined(WIN32)				
-			const XalanDOMString::size_type		indexOfBackSlash = indexOf(ref, XalanUnicode::charReverseSolidus);
-
-			if(indexOfBackSlash > indexOfSlash && indexOfBackSlash < theLength)
-			{
-				indexOfSlash = indexOfBackSlash;
-			}
-#endif				
-
-			if(indexOfColon < theLength &&
-			   indexOfSlash < theLength &&
-			   indexOfColon < indexOfSlash)
-			{
-				// The ref is absolute...
-				getDoc(executionContext, ref, mnl);
-			}
-			else
-			{
-				// The ref is relative.  If there was a base URI
-				// provided, use that...
-				if (base != 0)
-				{
-					getDoc(executionContext, ref, *base, mnl);
-				}
-				else
-				{
-					// If there's no resolver, then try using the
-					// relative ref...
-					if (resolver == 0)
-					{
-						getDoc(executionContext, ref, mnl);
-					}
-					else
-					{
-						getDoc(executionContext, ref, resolver, mnl);
-					}
-				}
-			}
-		}
-	}
-
-	assert(mnl->checkForDuplicates() == false);
-
-	return executionContext.getXObjectFactory().createNodeSet(mnl);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionDocument*
-#endif
-FunctionDocument::clone() const
-{
-	return new FunctionDocument(*this);
-}
-
-
-
-const XalanDOMString
-FunctionDocument::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The document() function accepts one or two arguments!"));
-}
diff --git a/src/XSLT/FunctionDocument.hpp b/src/XSLT/FunctionDocument.hpp
deleted file mode 100644
index 830637b..0000000
--- a/src/XSLT/FunctionDocument.hpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONDOCUMENT_HEADER_GUARD_1357924680)
-#define FUNCTIONDOCUMENT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-// Implementation of the XSLT function document().
-//
-class XALAN_XSLT_EXPORT FunctionDocument : public Function
-{
-public:
-
-	FunctionDocument();
-
-	virtual
-	~FunctionDocument();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionDocument*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	XObjectPtr
-	doExecute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,			
-			const XObjectPtr				arg,
-			XalanDOMString*					base,
-			int								argCount) const;
-
-	// Not implemented...
-	FunctionDocument&
-	operator=(const FunctionDocument&);
-
-	bool
-	operator==(const FunctionDocument&) const;
-};
-
-
-
-#endif	// FUNCTIONDOCUMENT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionElementAvailable.cpp b/src/XSLT/FunctionElementAvailable.cpp
deleted file mode 100644
index 650e3b7..0000000
--- a/src/XSLT/FunctionElementAvailable.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionElementAvailable.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionElementAvailable::FunctionElementAvailable()
-{
-}
-
-
-
-FunctionElementAvailable::~FunctionElementAvailable()
-{
-}
-
-
-
-XObjectPtr
-FunctionElementAvailable::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,			
-			const XObjectPtr		arg1,
-			const Locator*			/* locator */) const
-{
-	assert(arg1.null() == false);
-
-	const XalanDOMString&				fullName = arg1->str();
-
-	const XalanDOMString::size_type		nameLength = length(fullName);
-	const XalanDOMString::size_type		indexOfNSSep = indexOf(fullName, XalanUnicode::charColon);
-
-	XPathExecutionContext::GetAndReleaseCachedString	guard(executionContext);
-
-	XalanDOMString&		theBuffer = guard.get();
-
-	if (indexOfNSSep < nameLength)
-	{
-		substring(fullName, theBuffer, 0, indexOfNSSep);
-	}
-
-	const XalanDOMString* const		theNamespace =
-		executionContext.getNamespaceForPrefix(theBuffer);
-
-	if (theNamespace == 0 || length(*theNamespace) == 0)
-	{
-		return executionContext.getXObjectFactory().createBoolean(false);
-	}
-	else
-	{
-		if (indexOfNSSep == nameLength)
-		{
-			return executionContext.getXObjectFactory().createBoolean(executionContext.elementAvailable(*theNamespace, fullName));
-		}
-		else
-		{
-			substring(fullName, theBuffer, indexOfNSSep + 1);
-
-			return executionContext.getXObjectFactory().createBoolean(executionContext.elementAvailable(*theNamespace, theBuffer));
-		}
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionElementAvailable*
-#endif
-FunctionElementAvailable::clone() const
-{
-	return new FunctionElementAvailable(*this);
-}
-
-
-
-const XalanDOMString
-FunctionElementAvailable::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The function-available() function takes one argument!"));
-}
diff --git a/src/XSLT/FunctionElementAvailable.hpp b/src/XSLT/FunctionElementAvailable.hpp
deleted file mode 100644
index 219b16a..0000000
--- a/src/XSLT/FunctionElementAvailable.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONELEMENTAVAILABLE_HEADER_GUARD_1357924680)
-#define FUNCTIONELEMENTAVAILABLE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XObject;
-class XPathExecutionContext;
-
-
-
-// Implementation of the XSLT function element-available.
-//
-class XALAN_XSLT_EXPORT FunctionElementAvailable : public Function
-{
-public:
-
-	FunctionElementAvailable();
-
-	virtual
-	~FunctionElementAvailable();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionElementAvailable*
-#endif
-	clone() const;
-
-private:
-	
-	virtual const XalanDOMString
-	getError() const;
-
-
-	// Not implemented...
-	FunctionElementAvailable&
-	operator=(const FunctionElementAvailable&);
-
-	bool
-	operator==(const FunctionElementAvailable&) const;
-};
-
-
-
-#endif	// FUNCTIONELEMENTAVAILABLE_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionFormatNumber.cpp b/src/XSLT/FunctionFormatNumber.cpp
deleted file mode 100644
index a71648c..0000000
--- a/src/XSLT/FunctionFormatNumber.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionFormatNumber.hpp"
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanDecimalFormat.hpp>
-#include <PlatformSupport/XalanDecimalFormatSymbols.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-#include "Constants.hpp"
-
-
-
-FunctionFormatNumber::FunctionFormatNumber()
-{
-}
-
-
-
-FunctionFormatNumber::~FunctionFormatNumber()
-{
-}
-
-
-
-static const XalanQNameByValue	theEmptyQName;
-
-
-
-XObjectPtr
-FunctionFormatNumber::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false && arg2.null() == false);	
-	
-	const double						theNumber = arg1->num();
-	const XalanDOMString&				thePattern = arg2->str();
-	
-	const XalanDecimalFormatSymbols*	theDFS = 0;
-
-	if (theDFS == 0)
-	{
-		theDFS = executionContext.getDecimalFormatSymbols(theEmptyQName);
-	}
-
-	typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	GetAndReleaseCachedString	theString(executionContext);
-
-	doFormat(
-			executionContext,
-			context,
-			theNumber,
-			thePattern,
-			theDFS,
-			theString.get(),
-			locator);
-
-	return executionContext.getXObjectFactory().createString(theString);
-}
-
-
-
-XObjectPtr
-FunctionFormatNumber::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false && arg2.null() == false && arg3.null() == false);
-	
-	const double						theNumber = arg1->num();
-	const XalanDOMString&				thePattern = arg2->str();
-
-	const XalanDOMString&				theDecimalFormatName = arg3->str();
-	assert(length(theDecimalFormatName) != 0);
-
-	const XalanQNameByValue				theQName(theDecimalFormatName, executionContext.getPrefixResolver());
-
-	const XalanDecimalFormatSymbols*	theDFS =
-			executionContext.getDecimalFormatSymbols(theQName);
-
-	if (theDFS == 0)
-	{
-		executionContext.warn(
-				s_warningNotFoundString,
-				context,
-				locator);
-
-		theDFS = executionContext.getDecimalFormatSymbols(theEmptyQName);
-	
-	}	
-
-	typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-	GetAndReleaseCachedString	theString(executionContext);
-
-	doFormat(
-			executionContext,
-			context,
-			theNumber,
-			thePattern,
-			theDFS,
-			theString.get(),
-			locator);
-
-	return executionContext.getXObjectFactory().createString(theString);
-}
-
-
-
-void
-FunctionFormatNumber::doFormat(
-			XPathExecutionContext&				executionContext,
-			XalanNode*							context,
-			double								theNumber,
-			const XalanDOMString&				thePattern,
-			const XalanDecimalFormatSymbols*	theDFS,
-			XalanDOMString&						theResult,
-			const Locator*						locator) const
-{
-	if (DoubleSupport::isNaN(theNumber) == true)
-	{
-		if (theDFS != 0)
-		{
-			theResult = theDFS->getNaN();
-		}
-		else
-		{
-			DoubleToDOMString(theNumber, theResult);
-		}
-	}
-	else if (DoubleSupport::isNegativeInfinity(theNumber) == true)
-	{
-		if (theDFS != 0)
-		{
-			theResult = theDFS->getMinusSign();
-			theResult += theDFS->getInfinity();
-		}
-		else
-		{
-			DoubleToDOMString(theNumber, theResult);
-		}
-	}
-	else if (DoubleSupport::isPositiveInfinity(theNumber) == true )
-	{
-		if (theDFS != 0)
-		{
-			theResult = theDFS->getInfinity();
-		}
-		else
-		{
-			DoubleToDOMString(theNumber, theResult);
-		}
-	}
-	else
-	{
-		executionContext.warn(s_warningNotImplementedString, context, locator);
-
-		if (theDFS != 0)
-		{
-			XalanDecimalFormat	theFormatter(s_emptyString, *theDFS);
-
-			theFormatter.applyLocalizedPattern(thePattern);
-
-			theFormatter.format(theNumber, theResult);
-		}
-		else
-		{
-			XalanDecimalFormat	theFormatter(s_emptyString, m_decimalFormatSymbols);
-
-			theFormatter.applyLocalizedPattern(thePattern);
-
-			theFormatter.format(theNumber, theResult);
-		}
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionFormatNumber*
-#endif
-FunctionFormatNumber::clone() const
-{
-	return new FunctionFormatNumber(*this);
-}
-
-
-
-const XalanDOMString
-FunctionFormatNumber::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The format-number() function takes two or three arguments!"));
-}
-
-
-
-static XalanDOMString	s_warningNotImplementedString;
-static XalanDOMString	s_warningNotFoundString;
-
-
-const XalanDOMString&	FunctionFormatNumber::s_warningNotImplementedString =
-		::s_warningNotImplementedString;
-
-const XalanDOMString&	FunctionFormatNumber::s_warningNotFoundString =
-		::s_warningNotFoundString;
-
-const XalanDOMString	FunctionFormatNumber::s_emptyString;
-
-
-void
-FunctionFormatNumber::initialize()
-{
-	::s_warningNotImplementedString = XALAN_STATIC_UCODE_STRING("format-number() is not fully implemented!");
-
-	::s_warningNotFoundString = XALAN_STATIC_UCODE_STRING("format-number: Specified decimal-format element not found!");
-}
-
-
-
-void
-FunctionFormatNumber::terminate()
-{
-	releaseMemory(::s_warningNotImplementedString);
-
-	releaseMemory(::s_warningNotFoundString);
-}
diff --git a/src/XSLT/FunctionFormatNumber.hpp b/src/XSLT/FunctionFormatNumber.hpp
deleted file mode 100644
index 0baa759..0000000
--- a/src/XSLT/FunctionFormatNumber.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONFORMATNUMBER_HEADER_GUARD_1357924680)
-#define FUNCTIONFORMATNUMBER_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/XalanDecimalFormatSymbols.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XalanDecimalFormatSymbols;
-class XObject;
-class XPathExecutionContext;
-
-
-
-// Implementation of the XSLT function format-number.
-//
-class XALAN_XSLT_EXPORT FunctionFormatNumber : public Function
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XSLTInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XSLTInit.
-	 */
-	static void
-	terminate();
-
-	FunctionFormatNumber();
-
-	virtual
-	~FunctionFormatNumber();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const XObjectPtr		arg3,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionFormatNumber*
-#endif
-	clone() const;
-
-protected:
-
-	virtual void
-	doFormat(
-			XPathExecutionContext&				executionContext,
-			XalanNode*							context,
-			double								theNumber,
-			const XalanDOMString&				thePattern,
-			const XalanDecimalFormatSymbols*	theDFS,
-			XalanDOMString&						theResult,
-			const Locator*						locator) const;
-
-private:
-
-	const XalanDOMString
-	getError() const;
-
-	// Not implemented...
-	FunctionFormatNumber&
-	operator=(const FunctionFormatNumber&);
-
-	bool
-	operator==(const FunctionFormatNumber&) const;
-
-	// Data members...
-	const XalanDecimalFormatSymbols		m_decimalFormatSymbols;
-
-	static const XalanDOMString&		s_warningNotImplementedString;
-
-	static const XalanDOMString&		s_warningNotFoundString;
-
-	static const XalanDOMString			s_emptyString;
-};
-
-
-
-#endif	// FUNCTIONFORMATNUMBER_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionFunctionAvailable.cpp b/src/XSLT/FunctionFunctionAvailable.cpp
deleted file mode 100644
index b4b0f8e..0000000
--- a/src/XSLT/FunctionFunctionAvailable.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionFunctionAvailable.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-
-
-
-const XalanDOMString	FunctionFunctionAvailable::s_emptyString;
-
-
-
-FunctionFunctionAvailable::FunctionFunctionAvailable()
-{
-}
-
-
-
-FunctionFunctionAvailable::~FunctionFunctionAvailable()
-{
-}
-
-
-
-XObjectPtr
-FunctionFunctionAvailable::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg,
-			const Locator*			/* locator */) const
-{
-	assert(arg.null() == false);
-
-	const XalanDOMString&				fullName = arg->str();
-
-	const XalanDOMString::size_type		nameLength = length(fullName);
-	const XalanDOMString::size_type		indexOfNSSep = indexOf(fullName, XalanUnicode::charColon);
-
-	XPathExecutionContext::GetAndReleaseCachedString	guard(executionContext);
-
-	XalanDOMString&		theBuffer = guard.get();
-
-	if (indexOfNSSep < nameLength)
-	{
-		substring(fullName, theBuffer, 0, indexOfNSSep);
-	}
-
-	const XalanDOMString*	theNamespace =
-			executionContext.getNamespaceForPrefix(theBuffer);
-
-	if (theNamespace == 0)
-	{
-		theNamespace = &s_emptyString;
-	}
-
-	if (indexOfNSSep == nameLength)
-	{
-		return executionContext.getXObjectFactory().createBoolean(executionContext.functionAvailable(*theNamespace, fullName));
-	}
-	else
-	{
-		substring(fullName, theBuffer, indexOfNSSep + 1);
-
-		return executionContext.getXObjectFactory().createBoolean(executionContext.functionAvailable(*theNamespace, theBuffer));
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionFunctionAvailable*
-#endif
-FunctionFunctionAvailable::clone() const
-{
-	return new FunctionFunctionAvailable(*this);
-}
-
-
-
-const XalanDOMString
-FunctionFunctionAvailable::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The function-available() function takes one argument!"));
-}
diff --git a/src/XSLT/FunctionFunctionAvailable.hpp b/src/XSLT/FunctionFunctionAvailable.hpp
deleted file mode 100644
index bae14a1..0000000
--- a/src/XSLT/FunctionFunctionAvailable.hpp
+++ /dev/null
@@ -1,127 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONFUNCTIONAVAILABLE_HEADER_GUARD_1357924680)
-#define FUNCTIONFUNCTIONAVAILABLE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XObject;
-class XPathExecutionContext;
-
-
-
-// Implementation of the XSLT function function-available(). 
-//
-class XALAN_XSLT_EXPORT FunctionFunctionAvailable : public Function
-{
-public:
-
-	FunctionFunctionAvailable();
-
-	virtual
-	~FunctionFunctionAvailable();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionFunctionAvailable*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionFunctionAvailable&
-	operator=(const FunctionFunctionAvailable&);
-
-	bool
-	operator==(const FunctionFunctionAvailable&) const;
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// FUNCTIONFUNCTIONAVAILABLE_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionGenerateID.cpp b/src/XSLT/FunctionGenerateID.cpp
deleted file mode 100644
index 87939a1..0000000
--- a/src/XSLT/FunctionGenerateID.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionGenerateID.hpp"
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-const XalanDOMString	FunctionGenerateID::s_emptyString;
-
-
-
-FunctionGenerateID::FunctionGenerateID() :
-	Function(),
-	m_prefix(XALAN_STATIC_UCODE_STRING("N")),
-	m_prefixLength(length(m_prefix))
-{
-}
-
-
-
-FunctionGenerateID::~FunctionGenerateID()
-{
-}
-
-
-
-// Append the suffix to the provided string.
-void
-getSuffix(
-		const XalanNode*	theNode,
-		XalanDOMString&		theResult)
-{
-	assert(theNode != 0);
-
-	// We're assuming here that each node has an implementation with a 
-	// unique address that we can convert into a string...
-	if (theNode->getOwnerDocument() != 0)
-	{
-		PointerToDOMString(theNode->getOwnerDocument(), theResult);
-
-		append(theResult, XalanDOMChar(XalanUnicode::charFullStop));
-	}
-
-	PointerToDOMString(theNode, theResult);
-}
-
-
-
-XObjectPtr
-FunctionGenerateID::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const
-{
-	if (context == 0)
-	{
-		executionContext.error(
-				"The generate-id() function requires a non-null context node!",
-				context,
-				locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	theID(executionContext);
-
-		theID.get() = m_prefix;
-
-		getSuffix(context, theID.get());
-
-		return executionContext.getXObjectFactory().createString(theID);
-	}
-}
-
-
-
-XObjectPtr
-FunctionGenerateID::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				/* context */,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false);
-
-	const NodeRefListBase&	theNodeList = arg1->nodeset();
-
-	if (theNodeList.getLength() == 0)
-	{
-		return executionContext.getXObjectFactory().createString(s_emptyString);
-	}
-	else
-	{
-		return execute(executionContext, theNodeList.item(0), locator);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionGenerateID*
-#endif
-FunctionGenerateID::clone() const
-{
-	return new FunctionGenerateID(*this);
-}
-
-
-
-const XalanDOMString
-FunctionGenerateID::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The generate-id function takes zero or one arguments!"));
-}
diff --git a/src/XSLT/FunctionGenerateID.hpp b/src/XSLT/FunctionGenerateID.hpp
deleted file mode 100644
index 0d645b5..0000000
--- a/src/XSLT/FunctionGenerateID.hpp
+++ /dev/null
@@ -1,128 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONGENERATEID_HEADER_GUARD_1357924680)
-#define FUNCTIONGENERATEID_HEADER_GUARD_1357924680
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-// Implementation of the XSLT function generate-id().
-//
-class XALAN_XSLT_EXPORT FunctionGenerateID : public Function
-{
-public:
-
-	FunctionGenerateID();
-
-	virtual
-	~FunctionGenerateID();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const Locator*			locator) const;
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionGenerateID*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionGenerateID&	operator=(const FunctionGenerateID&);
-
-	bool
-	operator==(const FunctionGenerateID&) const;
-
-	const XalanDOMString				m_prefix;
-
-	const XalanDOMString::size_type		m_prefixLength;
-
-	static const XalanDOMString			s_emptyString;
-};
-
-
-
-#endif	// FUNCTIONGENERATEID_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionKey.cpp b/src/XSLT/FunctionKey.cpp
deleted file mode 100644
index c245e8f..0000000
--- a/src/XSLT/FunctionKey.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionKey.hpp"
-
-
-
-#include <set>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/NodeRefListBase.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::set;
-#endif 
-
-
-
-
-FunctionKey::FunctionKey()
-{
-}
-
-
-
-FunctionKey::~FunctionKey()
-{
-}
-
-
-
-XObjectPtr
-FunctionKey::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false && arg2.null() == false);
-
-	if (context == 0)
-	{
-		executionContext.error(
-			"The key() function requires a non-null context node!",
-			context,
-			locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		XalanDocument* const	docContext = 
-				XalanNode::DOCUMENT_NODE == context->getNodeType() ?
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(XalanDocument*)context :
-#else
-						static_cast<XalanDocument*>(context) :
-#endif
-							context->getOwnerDocument();
-
-		if(0 == docContext)
-		{
-			executionContext.error(
-				"Context does not have an owner document!",
-				context,
-				locator);
-		}
-
-		assert(executionContext.getPrefixResolver() != 0);
-
-		const XalanDOMString&	keyname = arg1->str();
-
-		assert(arg2.null() == false);
-
-		const bool				argIsNodeSet =
-				XObject::eTypeNodeSet == arg2->getType() ? true : false;
-
-		typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-		// This list will hold the nodes...
-		BorrowReturnMutableNodeRefList	theNodeRefList(executionContext);
-
-		if(argIsNodeSet == true)
-		{
-			const NodeRefListBase&	theNodeSet = arg2->nodeset();
-
-			const NodeRefListBase::size_type	nRefs = theNodeSet.getLength();
-
-			if (nRefs > 0)
-			{
-#if defined(XALAN_NO_NAMESPACES)
-				typedef set<XalanDOMString, less<XalanDOMString> >	StringSetType;
-#else
-				typedef std::set<XalanDOMString>	StringSetType;
-#endif
-
-				StringSetType	usedrefs;
-
-				XalanDOMString	ref;
-
-				for(NodeRefListBase::size_type i = 0; i < nRefs; i++)
-				{
-					assert(theNodeSet.item(i) != 0);
-
-					DOMServices::getNodeData(*theNodeSet.item(i), ref);
-
-					if(0 != length(ref))
-					{
-						// Make sure we haven't already processed it...
-						if(usedrefs.find(ref) == usedrefs.end())
-						{
-							usedrefs.insert(ref);
-
-							executionContext.getNodeSetByKey(
-											docContext, 
-											keyname,
-											ref,
-											*executionContext.getPrefixResolver(),
-											*theNodeRefList.get());
-						}
-					}
-
-					clear(ref);
-				}
-			}
-		}
-		else
-		{
-			const XalanDOMString&	ref = arg2->str();
-
-					executionContext.getNodeSetByKey(docContext,
-											keyname,
-											ref,
-											*executionContext.getPrefixResolver(),
-											*theNodeRefList.get());
-		}
-
-		return executionContext.getXObjectFactory().createNodeSet(theNodeRefList);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionKey*
-#endif
-FunctionKey::clone() const
-{
-	return new FunctionKey(*this);
-}
-
-
-
-const XalanDOMString
-FunctionKey::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The key() function takes two arguments!"));
-}
diff --git a/src/XSLT/FunctionKey.hpp b/src/XSLT/FunctionKey.hpp
deleted file mode 100644
index a9fbaa6..0000000
--- a/src/XSLT/FunctionKey.hpp
+++ /dev/null
@@ -1,125 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONKEY_HEADER_GUARD_1357924680)
-#define FUNCTIONKEY_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XObject;
-class XPathExecutionContext;
-
-
-
-// Implementation of the XSLT function key().
-//
-class XALAN_XSLT_EXPORT FunctionKey : public Function
-{
-public:
-
-	FunctionKey();
-
-	virtual
-	~FunctionKey();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg1,
-			const XObjectPtr		arg2,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionKey*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionKey&
-	operator=(const FunctionKey&);
-
-	bool
-	operator==(const FunctionKey&) const;
-};
-
-
-
-#endif	// FUNCTIONKEY_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionSystemProperty.cpp b/src/XSLT/FunctionSystemProperty.cpp
deleted file mode 100644
index bd3c1cf..0000000
--- a/src/XSLT/FunctionSystemProperty.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionSystemProperty.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/NodeRefListBase.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionSystemProperty::FunctionSystemProperty() :
-	Function(),
-	m_xsltNamespaceURI(XALAN_STATIC_UCODE_STRING("http://www.w3.org/1999/XSL/Transform")),
-	m_versionPropertyString(XALAN_STATIC_UCODE_STRING("version")),
-	m_vendorPropertyString(XALAN_STATIC_UCODE_STRING("vendor")),
-	m_vendorURLPropertyString(XALAN_STATIC_UCODE_STRING("vendor-url")),
-	m_vendorString(XALAN_STATIC_UCODE_STRING("Apache Software Foundation")),
-	m_vendorURLString(XALAN_STATIC_UCODE_STRING("http://xml.apache.org/xalan-c"))
-{
-}
-
-
-
-FunctionSystemProperty::~FunctionSystemProperty()
-{
-}
-
-
-
-XObjectPtr
-FunctionSystemProperty::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg1,
-			const Locator*			locator) const
-{
-	assert(arg1.null() == false);
-
-	const XalanDOMString&				fullName = arg1->str();
-	const XalanDOMString::size_type		fullNameLength = length(fullName);
-	const XalanDOMString::size_type		indexOfNSSep = indexOf(fullName, XalanUnicode::charColon);
-
-	bool			fNumberResult = false;
-
-	XalanDOMString	result;
-
-	double			numberResult = 0.0;
-
-	if(indexOfNSSep < fullNameLength)
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	guard(executionContext);
-
-		XalanDOMString&		theBuffer = guard.get();
-
-		substring(fullName, theBuffer, 0, indexOfNSSep);
-
-		const XalanDOMString* const		nspace = executionContext.getNamespaceForPrefix(theBuffer);
-
-		if (nspace != 0)
-		{
-			substring(fullName, theBuffer, indexOfNSSep + 1);
-
-			if(startsWith(*nspace, m_xsltNamespaceURI))
-			{
-				if(equals(theBuffer, m_versionPropertyString))
-				{
-					numberResult = 1.0;
-
-					fNumberResult = true;
-				}
-				else if(equals(theBuffer, m_vendorPropertyString))
-				{
-					result = m_vendorString;
-				}
-				else if(equals(theBuffer, m_vendorURLPropertyString))
-				{
-					result = m_vendorURLString;
-				}
-				else
-				{
-					executionContext.error(
-						"Unknown property in system-property()",
-						context,
-						locator);
-				}
-			}
-			else
-			{
-				executionContext.warn(
-					"Only the XSLT namespace is supported in the function system-property()",
-					context,
-					locator);
-			}
-		}
-	}
-	else
-	{
-		const char* const	theEnvString =
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			std::getenv(c_str(TranscodeToLocalCodePage(fullName)));
-#else
-			getenv(c_str(TranscodeToLocalCodePage(fullName)));
-#endif
-
-		if (theEnvString == 0)
-		{
-				executionContext.warn(
-					"Unknown environment proprerty requested",
-					context,
-					locator);
-		}
-		else
-		{
-			result = TranscodeFromLocalCodePage(theEnvString);
-		}
-	}
-
-	if (fNumberResult == true)
-	{
-		return executionContext.getXObjectFactory().createNumber(numberResult);
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createString(result);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionSystemProperty*
-#endif
-FunctionSystemProperty::clone() const
-{
-	return new FunctionSystemProperty(*this);
-}
-
-
-
-const XalanDOMString
-FunctionSystemProperty::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The system-property() function accepts one argument!"));
-}
diff --git a/src/XSLT/FunctionSystemProperty.hpp b/src/XSLT/FunctionSystemProperty.hpp
deleted file mode 100644
index 71ccb0c..0000000
--- a/src/XSLT/FunctionSystemProperty.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONSYSTEMPROPERTY_HEADER_GUARD_1357924680)
-#define FUNCTIONSYSTEMPROPERTY_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-// Implementation of the XSLT function sytsem-property().
-//
-class XALAN_XSLT_EXPORT FunctionSystemProperty : public Function
-{
-public:
-
-	FunctionSystemProperty();
-
-	virtual
-	~FunctionSystemProperty();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionSystemProperty*
-#endif
-	clone() const;
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionSystemProperty&
-	operator=(const FunctionSystemProperty&);
-
-	bool
-	operator==(const FunctionSystemProperty&) const;
-
-
-	// Data members...
-	const XalanDOMString	m_xsltNamespaceURI;
-	const XalanDOMString	m_versionPropertyString;
-	const XalanDOMString	m_vendorPropertyString;
-	const XalanDOMString	m_vendorURLPropertyString;
-	const XalanDOMString	m_vendorString;
-	const XalanDOMString	m_vendorURLString;
-};
-
-
-
-#endif	// FUNCTIONSYSTEMPROPERTY_HEADER_GUARD_1357924680
diff --git a/src/XSLT/FunctionUnparsedEntityURI.cpp b/src/XSLT/FunctionUnparsedEntityURI.cpp
deleted file mode 100644
index f85fc3e..0000000
--- a/src/XSLT/FunctionUnparsedEntityURI.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionUnparsedEntityURI.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionUnparsedEntityURI::FunctionUnparsedEntityURI()
-{
-}
-
-
-
-FunctionUnparsedEntityURI::~FunctionUnparsedEntityURI()
-{
-}
-
-
-XObjectPtr
-FunctionUnparsedEntityURI::execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,			
-			const XObjectPtr		arg,
-			const Locator*			locator) const
-{
-	assert(arg.null() == false);
-
-	if (context == 0)
-	{
-		executionContext.error(
-			"The unparsed-entity-uri() function requires a non-null context node!",
-			context,
-			locator);
-
-		return XObjectPtr();
-	}
-	else
-	{
-		const XalanDOMString&	name = arg->str();
-
-		XalanDocument* const	doc =
-				XalanNode::DOCUMENT_NODE == context->getNodeType() ?
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(XalanDocument*)context :
-#else
-					static_cast<XalanDocument*>(context) :
-#endif
-					context->getOwnerDocument();
-		assert(doc != 0);
-
-		const XalanDOMString&	uri = executionContext.getUnparsedEntityURI(name, *doc);
-
-		return executionContext.getXObjectFactory().createStringReference(uri);
-	}
-}
-
-
-
-const XalanDOMString
-FunctionUnparsedEntityURI::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The unparsed-entity-uri function accepts one argument!"));
-}
diff --git a/src/XSLT/FunctionUnparsedEntityURI.hpp b/src/XSLT/FunctionUnparsedEntityURI.hpp
deleted file mode 100644
index 901f1bd..0000000
--- a/src/XSLT/FunctionUnparsedEntityURI.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONUNPARSEDENTITYURI_HEADER_GUARD_1357924680)
-#define FUNCTIONUNPARSEDENTITYURI_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-
-
-// Implementation of the XSLT function UnparsedEntityURI.
-//
-class XALAN_XSLT_EXPORT FunctionUnparsedEntityURI : public Function
-{
-public:
-
-	FunctionUnparsedEntityURI();
-
-	virtual
-	~FunctionUnparsedEntityURI();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&	executionContext,
-			XalanNode*				context,
-			const XObjectPtr		arg,
-			const Locator*			locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionUnparsedEntityURI*
-#endif
-	clone() const
-	{
-		return new FunctionUnparsedEntityURI(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionUnparsedEntityURI&
-	operator=(const FunctionUnparsedEntityURI&);
-
-	bool
-	operator==(const FunctionUnparsedEntityURI&) const;
-};
-
-
-#endif	// FUNCTIONUNPARSEDENTITYURI_HEADER_GUARD_1357924680
diff --git a/src/XSLT/GenerateEvent.cpp b/src/XSLT/GenerateEvent.cpp
deleted file mode 100644
index 590a361..0000000
--- a/src/XSLT/GenerateEvent.cpp
+++ /dev/null
@@ -1,149 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "GenerateEvent.hpp"
-
-
-
-GenerateEvent::GenerateEvent(EventType	eventType) :
-	m_eventType(eventType),
-	m_characters(),
-	m_start(0),
-	m_length(0),
-	m_name(),
-	m_data(),
-	m_pAtts(0)
-{
-}
-
-
-
-GenerateEvent::GenerateEvent(
-			EventType				eventType,
-			const XalanDOMChar*		name,
-			AttributeList*			atts) :
-	m_eventType(eventType),
-	m_characters(),
-	m_start(0),
-	m_length(0),
-	m_name(name),
-	m_data(),
-	m_pAtts(atts)
-{
-}
-
-
-
-GenerateEvent::GenerateEvent(
-			EventType				eventType,
-			const XalanDOMString&	name,
-			const AttributeList*	atts) :
-	m_eventType(eventType),
-	m_characters(),
-	m_start(0),
-	m_length(0),
-	m_name(name),
-	m_data(),
-	m_pAtts(atts)
-{
-}
-
-
-GenerateEvent::GenerateEvent(
-			EventType					eventType,
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length) :
-	m_eventType(eventType),
-	m_characters(ch + start, length),
-	m_start(start),
-	m_length(length),
-	m_name(),
-	m_data(),
-	m_pAtts(0)
-{
-}
-
-
-
-GenerateEvent::GenerateEvent(
-			EventType				eventType,
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		data) :
-	m_eventType(eventType),
-	m_characters(),
-	m_start(0),
-	m_length(0),
-	m_name(name),
-	m_data(data),
-	m_pAtts(0)
-{
-}
-
-
-
-GenerateEvent::GenerateEvent(
-			EventType				eventType,
-			const XalanDOMChar*		data) :
-	m_eventType(eventType),
-	m_characters(),
-	m_start(0),
-	m_length(0),
-	m_name(),
-	m_data(data),
-	m_pAtts(0)
-{
-}
diff --git a/src/XSLT/GenerateEvent.hpp b/src/XSLT/GenerateEvent.hpp
deleted file mode 100644
index 8490075..0000000
--- a/src/XSLT/GenerateEvent.hpp
+++ /dev/null
@@ -1,249 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_GenerateEvent_HEADER_GUARD)
-#define XALAN_GenerateEvent_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class AttributeList;
-
-
-
-/** 
- * This is the class for events generated by the XSL processor
- * after it generates a new node in the result tree.  It responds
- * to, and so is modeled from, the SAX events that are sent to the
- * FormatterListener classes.
- * 
- * @see org.apache.xml.xpath4j.xml.FormatterListener
- */
-class XALAN_XSLT_EXPORT GenerateEvent
-{
-public:
-
-	enum EventType
-	{
-		/** 
-		 * Event type generated when a document begins.
-		 * 
-		 */
-		EVENTTYPE_STARTDOCUMENT = 1,
-			
-		/** 
-		 * Event type generated when a document ends.
-		 */
-		EVENTTYPE_ENDDOCUMENT = 2,
-		
-		/** 
-		 * Event type generated when an element begins (after the attributes have been processed but before the children have been added).
-		 */
-		EVENTTYPE_STARTELEMENT = 3,
-		
-		/** 
-		 * Event type generated when an element ends, after it's children have been added.
-		 */
-		EVENTTYPE_ENDELEMENT = 4,
-		
-		/** 
-		 * Event type generated for character data (CDATA and Ignorable Whitespace have their own events).
-		 */
-		EVENTTYPE_CHARACTERS = 5,
-		
-		/** 
-		 * Event type generated for ignorable whitespace (I'm not sure how much this is actually called.
-		 */
-		EVENTTYPE_IGNORABLEWHITESPACE = 6,
-
-		/** 
-		 * Event type generated for processing instructions.
-		 */
-		EVENTTYPE_PI = 7,
-
-		/** 
-		 * Event type generated after a comment has been added.
-		 */
-		EVENTTYPE_COMMENT = 8,
-
-		/** 
-		 * Event type generate after an entity ref is created.
-		 */
-		EVENTTYPE_ENTITYREF = 9,
-
-		/** 
-		 * Event type generated after CDATA is generated.
-		 */
-		EVENTTYPE_CDATA = 10
-	};
-
-
-	/** 
-	 * Constructor for startDocument, endDocument events.
-	 * 
-	 * @param eventType one of the EVENTTYPE_XXX constants
-	 */
-	GenerateEvent(EventType		eventType);
-	
-	/** 
-	* Constructor for startElement, endElement events.
-	* 
-	* @param eventType one of the EVENTTYPE_XXX constants
-	* @param name      name of the element
-	* @param atts      SAX attribute list
-	*/
-	GenerateEvent(
-			EventType				eventType,
-			const XalanDOMChar*		name,
-			AttributeList*			atts);
-
-	/** 
-	* Constructor for startElement, endElement events.
-	* 
-	* @param eventType one of the EVENTTYPE_XXX constants
-	* @param name      name of the element
-	* @param atts      SAX attribute list
-	*/
-	GenerateEvent(
-			EventType				eventType,
-			const XalanDOMString&	name,
-			const AttributeList*	atts = 0);
-
-	/** 
-	* Constructor for characters, cdate events.
-	*
-	* @param eventType one of the EVENTTYPE_XXX constants
-	* @param ch        char array from the SAX event
-	* @param start     start offset to be used in the char array
-	* @param length    end offset to be used in the chara array
-	*/
-	GenerateEvent(
-			EventType					eventType,
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-	
-	/** 
-	* Constructor for processingInstruction events.
-	* 
-	* @param eventType one of the EVENTTYPE_XXX constants
-	* @param name      name of the processing instruction
-	* @param data      processing instruction data
-	*/
-	GenerateEvent(
-			EventType				eventType,
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		data);
-	
-	/** 
-	* Constructor for comment and entity ref events.
-	* 
-	* @param processor XSLT processor instance
-	* @param eventType one of the EVENTTYPE_XXX constants
-	* @param data      comment or entity ref data
-	*/
-	GenerateEvent(
-			EventType				eventType,
-			const XalanDOMChar*		data);
-
-	/** 
-	 * The type of SAX event that was generated, as enumerated in the
-	 * EVENTTYPE_XXX constants above.
-	 */
-	EventType				m_eventType;
-
-	/** 
-	 * Character data from a character or cdata event.
-	 */
-	XalanDOMString			m_characters;
-
-	/** 
-	 * The start position of the current data in m_characters.
-	 */
-	XalanDOMString::size_type	m_start;
-
-	/** 
-	 * The length of the current data in m_characters.
-	 */
-	XalanDOMString::size_type	m_length;
-
-	/** 
-	 * The name of the element or PI.
-	 */
-	XalanDOMString			m_name;
-
-	/** 
-	 * The string data in the element (comments and PIs).
-	 */
-	XalanDOMString			m_data;
-
-	/** 
-	 * The current attribute list.
-	 */
-	const AttributeList*	m_pAtts;
-};
-
-
-
-#endif	//XALAN_GenerateEvent_HEADER_GUARD
diff --git a/src/XSLT/KeyDeclaration.hpp b/src/XSLT/KeyDeclaration.hpp
deleted file mode 100644
index 05b06b3..0000000
--- a/src/XSLT/KeyDeclaration.hpp
+++ /dev/null
@@ -1,163 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_KEYDECLARATION_HEADER_GUARD)
-#define XALAN_KEYDECLARATION_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-class XPath;
-
-
-
-/**
- * Holds the attribute declarations for the "xsl:key" element.
- */
-class KeyDeclaration
-{
-public:
-
-	/**
-	 * Construct an object containing attributes of an "xsl:key" element
-	 * 
-	 * @param qname        name of element
-	 * @param matchPattern XPath for "match" attribute
-	 * @paramuse           XPath for "use" attribute
-	 */
-	KeyDeclaration(
-			const XalanQName&	qname,
-			const XPath&		matchPattern,
-			const XPath&		use) :
-		m_qname(qname),
-		m_match(&matchPattern),
-		m_use(&use)
-	{
-	}
-
-	explicit
-	KeyDeclaration() :
-		m_qname(),
-		m_match(0),
-		m_use(0)
-	{
-	}
-
-	KeyDeclaration(const KeyDeclaration&	theSource) :
-		m_qname(theSource.m_qname),
-		m_match(theSource.m_match),
-		m_use(theSource.m_use)
-	{
-	}
-
-	~KeyDeclaration()
-	{
-	}
-
-	/**
-	 * Retrieves name of element
-	 * 
-	 * @return name string
-	 */
-	const XalanQName&
-	getQName() const
-	{
-		return m_qname;
-	}
-
-	/**
-	 * Retrieves "use" XPath
-	 * 
-	 * @return XPath for "use" attribute
-	 */
-	const XPath*
-	getUse() const
-	{
-		return m_use;
-	}
-
-	/**
-	 * Retrieves "match" XPath
-	 * 
-	 * @return XPath for "match" attribute
-	 */
-	const XPath*
-	getMatchPattern() const
-	{
-		return m_match;
-	}
-
-private:
-
-	XalanQNameByValue	m_qname;
-
-	const XPath*		m_match;
-
-	const XPath*		m_use;
-
-};
-
-
-
-#endif	// XALAN_KEYDECLARATION_HEADER_GUARD
diff --git a/src/XSLT/KeyTable.cpp b/src/XSLT/KeyTable.cpp
deleted file mode 100644
index b47cfd5..0000000
--- a/src/XSLT/KeyTable.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file
-#include "KeyTable.hpp"
-
-
-
-#include <memory>
-
-
-
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XPath.hpp>
-
-
-
-#include "KeyDeclaration.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "XSLTProcessorException.hpp"
-
-
-
-const MutableNodeRefList	KeyTable::s_dummyList;
-
-
-
-KeyTable::KeyTable(
-			XalanNode*							doc,
-			XalanNode*							startNode,
-			const PrefixResolver&				resolver,
-			const KeyDeclarationVectorType&		keyDeclarations,
-			StylesheetExecutionContext&			executionContext) :
-	m_docKey(doc),
-	m_keys()
-{
-    XalanNode*	pos = startNode;
-
-	const KeyDeclarationVectorType::size_type	nDeclarations =
-			keyDeclarations.size();
-
-    // Do a non-recursive pre-walk over the tree.
-    while(0 != pos)
-    {
-		// We're going to have to walk the attribute list 
-		// if it's an element, so get the attributes.
-		const XalanNamedNodeMap*	attrs = 0;
-
-		int							nNodes = 0;
-
-		if(XalanNode::ELEMENT_NODE == pos->getNodeType())
-		{
-			attrs = pos->getAttributes();
-
-			nNodes = attrs->getLength();
-        
-			if(0 == nNodes)
-			{
-				attrs = 0;
-			}
-		}
-
-		// Walk the primary node, and each of the attributes.
-		// This loop is a little strange... it is meant to always 
-		// execute once, then execute for each of the attributes.
-		XalanNode*	testNode = pos;
-
-		for(int nodeIndex = -1; nodeIndex < nNodes;)
-		{
-			// Walk through each of the declarations made with xsl:key
-			for(unsigned int i = 0; i < nDeclarations; ++i)
-			{
-				const KeyDeclaration&	kd = keyDeclarations[i];
-
-				if (executionContext.getInConstruction(kd) == true)			
-				{
-					throw XSLTProcessorException(
-							TranscodeFromLocalCodePage("The use of the key() function in the \"match\" or \"use\" attribute of xsl:key is illegal!"),
-							TranscodeFromLocalCodePage("XSLTKeyIllegalKeyFunctionException"));
-				}
-				else
-				{
-					executionContext.beginConstruction(kd);
-
-					// See if our node matches the given key declaration according to 
-					// the match attribute on xsl:key.
-					assert(kd.getMatchPattern() != 0);
-
-					const XPath::eMatchScore	score =
-							kd.getMatchPattern()->getMatchScore(testNode,
-																resolver,
-																executionContext);
-
-					if(score != XPath::eMatchScoreNone)
-					{
-						processKeyDeclaration(
-							m_keys,
-							kd,
-							testNode,
-							resolver,
-							executionContext);
-					}
-
-					executionContext.endConstruction(kd);
-				} // if (kd.getInConstruction() == true)
-			} // end for(int i = 0; i < nDeclarations; ++i)
-
-			++nodeIndex;
-
-			if(0 != attrs)
-			{
-				testNode = attrs->item(nodeIndex);
-			}
-		} // for(int nodeIndex = -1; nodeIndex < nNodes;)
-
-		// The rest of this is getting the next prewalk position in 
-		// the tree.
-		XalanNode*	nextNode = pos->getFirstChild();
-
-		while(0 == nextNode)
-		{
-			if(startNode == pos)
-			{
-				break;
-			}
-			else
-			{
-				nextNode = pos->getNextSibling();
-
-				if(0 == nextNode)
-				{
-					pos = pos->getParentNode();
-
-					if((startNode == pos) || (0 == pos))
-					{
-						nextNode = 0;
-						break;
-					}
-				}
-			}
-		}
-
-		pos = nextNode;
-    } // while(0 != pos)
-} // end constructor
-
-
-
-KeyTable::~KeyTable()
-{
-}
-
-
-
-const NodeRefListBase&
-KeyTable::getNodeSetByKey(
-					  const XalanQName&			qname, 
-					  const XalanDOMString&		ref) const
-{
-	const KeysMapType::const_iterator	i = m_keys.find(qname);
-
-	if (i != m_keys.end())
-	{
-		const NodeListMapType&	theMap = (*i).second;
-
-		const NodeListMapType::const_iterator	j = theMap.find(ref);
-
-		if (j != theMap.end())
-		{
-			return (*j).second;
-		}
-	}
-
-	// It makes things much easier if we always return
-	// a list of nodes.  So this is just an empty one
-	// to return when the ref is not found.
-	return s_dummyList;
-}
-
-
-
-inline void
-KeyTable::addIfNotFound(
-			MutableNodeRefList&		theNodeList,
-			XalanNode*				theNode)
-{
-	if (theNodeList.indexOf(theNode) == MutableNodeRefList::npos)
-	{
-		theNodeList.addNode(theNode);
-	}
-}
-
-
-
-void
-KeyTable::processKeyDeclaration(
-			KeysMapType&					theKeys,
-			const KeyDeclaration&			kd,
-			XalanNode*						testNode,
-			const PrefixResolver&			resolver,
-			StylesheetExecutionContext&		executionContext)
-{
-	// Query from the node, according the the select pattern in the
-	// use attribute in xsl:key.
-	assert(kd.getUse() != 0);
-
-	const XObjectPtr	xuse(kd.getUse()->execute(testNode, resolver, NodeRefList(), executionContext));
-
-	if(xuse->getType() != XObject::eTypeNodeSet)
-	{
-		addIfNotFound(
-			theKeys[kd.getQName()][xuse->str()],
-			testNode);
-	}
-	else
-	{
-		const NodeRefListBase&	nl = xuse->nodeset();
-
-		// Use each node in the node list as a key value that we'll be 
-		// able to use to look up the given node.
-		const NodeRefListBase::size_type	nUseValues = nl.getLength();
-
-		StylesheetExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		nodeData = theGuard.get();
-
-		// Use each node in the node list as a key value that we'll be 
-		// able to use to look up the given node.
-		for(unsigned int i = 0; i < nUseValues; ++i)
-		{
-			// Get the string value of the node to use as the result of the
-			// expression.
-			assert(nl.item(i) != 0);
-
-			DOMServices::getNodeData(*nl.item(i), nodeData);
-
-			addIfNotFound(
-				theKeys[kd.getQName()][nodeData],
-				testNode);
-
-			clear(nodeData);
-		}
-	}  
-}
diff --git a/src/XSLT/KeyTable.hpp b/src/XSLT/KeyTable.hpp
deleted file mode 100644
index 61fc8b6..0000000
--- a/src/XSLT/KeyTable.hpp
+++ /dev/null
@@ -1,226 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_KEYTABLE_HEADER_GUARD)
-#define XALAN_KEYTABLE_HEADER_GUARD 
-
-/**
- * $Id$
- * 
- * $State$
- * 
- * @author Myriam Midy (Myriam_Midy @lotus.com 
- */
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <map>
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XPath/MutableNodeRefList.hpp>
-#include <XPath/XalanQNameByReference.hpp>
-
-
-
-class KeyDeclaration;
-class NodeRefListBase;
-class PrefixResolver;
-class StylesheetExecutionContext;
-class XalanElement;
-class XalanNode;
-
-
-
-
-/**
- * Table of element keys, keyed by document node.  An instance of this 
- * class is keyed by a Document node that should be matched with the 
- * root of the current context.  It contains a table of name mappings 
- * to tables that contain mappings of identifier values to nodes.
- */
-class KeyTable
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<KeyDeclaration>			KeyDeclarationVectorType;
-
-	typedef map<XalanDOMString,
-				MutableNodeRefList,
-				less<XalanDOMString> >		NodeListMapType;
-
-	typedef map<XalanQNameByReference,
-				NodeListMapType,
-				less<XalanQNameByReference> >	KeysMapType;
-#else
-	typedef std::vector<KeyDeclaration>		KeyDeclarationVectorType;
-
-	typedef std::map<XalanDOMString,
-					 MutableNodeRefList>	NodeListMapType;
-
-	typedef std::map<XalanQNameByReference,
-					 NodeListMapType>		KeysMapType;
-#endif
-
-
-	/**
-	 * Build a keys table.
-	 *
-	 * @param doc              owner document key (normally the same as
-	 *                         startNode)
-	 * @param startNode        node to start iterating from to build the keys
-	 *                         index
-	 * @param nscontext        stylesheet's namespace context
-	 * @param keyDeclarations  stylesheet's xsl:key declarations
-	 * @param executionContext current execution context
-	 */
-	KeyTable(
-			XalanNode*							doc,
-			XalanNode*							startNode,
-			const PrefixResolver&				resolver,
-			const KeyDeclarationVectorType&		keyDeclarations,
-			StylesheetExecutionContext&			executionContext);
-
-	virtual
-	~KeyTable();
-
-	/**
-	 * Given a valid element key, return the corresponding node list. If the
-	 * name was not declared with xsl:key, this will return null, the
-	 * identifier is not found, it will return an empty node set, otherwise it
-	 * will return a nodeset of nodes.
-	 *
-	 * @param name name of the key, which must match the 'name' attribute on
-	 *             xsl:key
-	 * @param ref  value that must match the value found by the 'match'
-	 *             attribute on xsl:key
-	 * @return		pointer to nodeset for key 
-	 */
-	const NodeRefListBase&
-	getNodeSetByKey(
-				  const XalanQName&			qname,
-				  const XalanDOMString&		ref) const;
-
-	/**
-	 * Retrieve the document key.  This table should only be used with contexts
-	 * whose Document root matches this key.
-	 * 
-	 * @return Node for document
-	 */
-	const XalanNode*
-	getDocKey() const
-	{
-		return m_docKey;
-	}
-
-private:
-
-	/**
-	 * Helper function to add a node to the list if not found.
-	 * 
-	 * @param theNodeList the node list.
-	 * @param theNode the node to add.
-	 */
-	static void
-	addIfNotFound(
-			MutableNodeRefList&		theNodeList,
-			XalanNode*				theNode);
-
-	static void
-	processKeyDeclaration(
-			KeysMapType&					theKeys,
-			const KeyDeclaration&			kd,
-			XalanNode*						testNode,
-			const PrefixResolver&			resolver,
-			StylesheetExecutionContext&		executionContext);
-
-	/**
-	 * The document key.  This table should only be used with contexts
-	 * whose Document roots match this key.
-	 */
-	const XalanNode*	m_docKey;
-
-	/**
-	 * Table of element keys.  The table will be built on demand, 
-	 * when a key is requested, or set by the XMLParserLiaison or 
-	 * the caller.  The table is:
-	 * a) keyed by name,
-	 * b) each with a value of a hashtable, keyed by the value returned by 
-	 *    the use attribute,
-	 * c) each with a value that is a nodelist.
-	 * Thus, for a given key or keyref, look up hashtable by name, 
-	 * look up the nodelist by the given reference.
-	 */
-
-	KeysMapType							m_keys;
-
-	static const MutableNodeRefList		s_dummyList;
-};
-
-
-
-#endif	// XALAN_KEYTABLE_HEADER_GUARD
diff --git a/src/XSLT/NamespacesHandler.cpp b/src/XSLT/NamespacesHandler.cpp
deleted file mode 100644
index db69c68..0000000
--- a/src/XSLT/NamespacesHandler.cpp
+++ /dev/null
@@ -1,779 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-
-// Class header file...
-#include "NamespacesHandler.hpp"
-
-
-
-#include <PlatformSupport/StringTokenizer.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "Constants.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-NamespacesHandler::NamespacesHandler() :
-	m_excludedResultPrefixes(),
-	m_namespaceDeclarations(),
-	m_extensionNamespaceURIs(),
-	m_namespaceAliases(),
-	m_activePrefixes(),
-	m_processAliases(true)
-{
-}
-
-
-
-NamespacesHandler::NamespacesHandler(
-			const NamespacesHandler&	/* stylesheetNamespacesHandler */,
-			const NamespacesStackType&	theCurrentNamespaces,
-			const XalanDOMString&		theXSLTNamespaceURI) :
-	m_excludedResultPrefixes(),
-	m_namespaceDeclarations(),
-	m_extensionNamespaceURIs(),
-	m_namespaceAliases(),
-	m_activePrefixes(),
-	m_processAliases(true)
-{
-	// Go through the namespaces stack in reverse order...
-	const NamespacesStackType::const_reverse_iterator	theEnd =
-		theCurrentNamespaces.rend();
-
-	NamespacesStackType::const_reverse_iterator		i =
-		theCurrentNamespaces.rbegin();
-
-	for(; i != theEnd; ++i)
-	{
-		// Process each namespace in the current vector...
-		const NamespaceVectorType::const_iterator	theVectorEnd =
-			(*i).end();
-
-		NamespaceVectorType::const_iterator			j =
-			(*i).begin();
-
-		for(; j != theVectorEnd; ++j)
-		{
-			const NameSpace&		theNamespace = *j;
-
-			const XalanDOMString&	theURI = theNamespace.getURI();
-
-			const XalanDOMString&	thePrefix = theNamespace.getPrefix();
-
-			if(shouldExcludeResultNamespaceNode(
-					theXSLTNamespaceURI,
-					theURI) == false)
-			{
-				if (m_namespaceDeclarations.count(thePrefix) == 0)
-				{
-					m_namespaceDeclarations.insert(NamespacesMapType::value_type(thePrefix, theNamespace));
-				}
-			}
-			else
-			{
-				m_excludedResultPrefixes.insert(
-						ExcludedResultPrefixesMapType::value_type(thePrefix, theURI));
-			}
-		}
-	}
-}
-
-
-
-NamespacesHandler::NamespacesHandler(const NamespacesHandler&	theSource) :
-	m_excludedResultPrefixes(theSource.m_excludedResultPrefixes),
-	m_namespaceDeclarations(theSource.m_namespaceDeclarations),
-	m_extensionNamespaceURIs(theSource.m_extensionNamespaceURIs),
-	m_namespaceAliases(theSource.m_namespaceAliases),
-	m_activePrefixes(theSource.m_activePrefixes),
-	m_processAliases(theSource.m_processAliases)
-{
-}
-
-
-
-NamespacesHandler::~NamespacesHandler()
-{
-}
-
-
-
-const XalanDOMString*
-NamespacesHandler::getNamespace(const XalanDOMString&	thePrefix) const
-{
-	// Check the excluded result prefixes first...
-	const ExcludedResultPrefixesMapType::const_iterator		i =
-			m_excludedResultPrefixes.find(thePrefix);
-
-	if (i != m_excludedResultPrefixes.end())
-	{
-		return &(*i).second;
-	}
-	else
-	{
-		// Not found, so check the namespace declarations...
-		const NamespacesMapType::const_iterator		i =
-				m_namespaceDeclarations.find(thePrefix);
-
-		if (i != m_namespaceDeclarations.end())
-		{
-			return &(*i).second.getURI();
-		}
-		else
-		{
-			return 0;
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::copyNamespaceAliases(const NamespacesHandler&	parentNamespacesHandler)
-{
-	copyNamespaceAliases(parentNamespacesHandler.m_namespaceAliases);
-}
-
-
-
-const XalanDOMString*
-NamespacesHandler::getNamespaceAlias(const XalanDOMString&		theStylesheetNamespace) const
-{
-	if (m_namespaceAliases.size() == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		const NamespaceAliasesMapType::const_iterator	i =
-						m_namespaceAliases.find(theStylesheetNamespace);
-
-		if (i != m_namespaceAliases.end())
-		{
-			return &(*i).second;
-		}
-		else
-		{
-			return 0;
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::processExcludeResultPrefixes(
-		const XalanDOMChar*				theValue,
-		const NamespacesStackType&		theCurrentNamespaces,
-		StylesheetConstructionContext&	theConstructionContext)
-{
-	StringTokenizer		tokenizer(
-					theValue,
-					Constants::DEFAULT_WHITESPACE_SEPARATOR_STRING);
-
-	XalanDOMString	thePrefix;
-
-    while(tokenizer.hasMoreTokens() == true)
-    {
-		 tokenizer.nextToken(thePrefix);
-
-		if(equalsIgnoreCaseASCII(thePrefix, Constants::ATTRVAL_DEFAULT_PREFIX) == true)
-		{
-			::clear(thePrefix);
-		}
-
-		const XalanDOMString* const		theNamespace =
-			XalanQName::getNamespaceForPrefix(theCurrentNamespaces, thePrefix);
-
-		if(theNamespace == 0)
-		{
-			XalanDOMString	theMessage(TranscodeFromLocalCodePage("Invalid prefix in exclude-result-prefixes: "));
-
-			theMessage += thePrefix;
-
-			theConstructionContext.error(theMessage);
-		}
-
-		m_excludedResultPrefixes[thePrefix] = *theNamespace;
-    }
-}
-
-
-
-void
-NamespacesHandler::processExtensionElementPrefixes(
-			const XalanDOMChar*				theValue,
-			const NamespacesStackType&		theCurrentNamespaces,
-			StylesheetConstructionContext&	theConstructionContext)
-{
-	StringTokenizer		tokenizer(
-					theValue,
-					Constants::DEFAULT_WHITESPACE_SEPARATOR_STRING);
-
-    while(tokenizer.hasMoreTokens() == true)
-    {
-		XalanDOMString	thePrefix = tokenizer.nextToken();
-
-		if(equalsIgnoreCaseASCII(thePrefix, Constants::ATTRVAL_DEFAULT_PREFIX) == true)
-		{
-			::clear(thePrefix);
-		}
-
-		const XalanDOMString* const		theNamespace =
-			XalanQName::getNamespaceForPrefix(theCurrentNamespaces, thePrefix);
-
-		if(theNamespace == 0)
-		{
-			XalanDOMString	theMessage(TranscodeFromLocalCodePage("Invalid prefix in extension-element-prefixes: "));
-
-			theMessage += thePrefix;
-
-			theConstructionContext.error(theMessage);
-		}
-
-		m_extensionNamespaceURIs.insert(*theNamespace);
-    }
-}
-
-
-
-void
-NamespacesHandler::postConstruction(
-			const XalanDOMString&		theElementName,
-			const NamespacesHandler*	parentNamespacesHandler)
-{
-	// Copy everything from the parent handler, if there is one...
-	if (parentNamespacesHandler != 0)
-	{
-		copyNamespaceAliases(parentNamespacesHandler->m_namespaceAliases);
-
-		copyExtensionNamespaceURIs(parentNamespacesHandler->m_extensionNamespaceURIs);
-
-		copyExcludeResultPrefixes(parentNamespacesHandler->m_excludedResultPrefixes);
-	}
-
-	// Figure out the prefix of the owning element, to make sure we
-	// don't exclude its prefix.
-	const XalanDOMString::size_type		indexOfNSSep = indexOf(theElementName, XalanUnicode::charColon);
-
-	XalanDOMString	thePrefix;
-	
-	if (indexOfNSSep < length(theElementName))
-	{
-		substring(theElementName, thePrefix, 0, indexOfNSSep);
-	}
-
-	processExcludeResultPrefixes(thePrefix);
-
-	// $$ ToDo: Does this happen before or after exclude-result-prefixes?
-	processNamespaceAliases();
-
-	createResultAttributeNames();
-
-	// We don't need these any more...
-	m_activePrefixes.clear();
-}
-
-
-
-NamespacesHandler&
-NamespacesHandler::operator=(const NamespacesHandler&	theRHS)
-{
-	if (&theRHS != this)
-	{
-		m_excludedResultPrefixes = theRHS.m_excludedResultPrefixes;
-
-		m_namespaceDeclarations = theRHS.m_namespaceDeclarations;
-
-		m_extensionNamespaceURIs = theRHS.m_extensionNamespaceURIs;
-
-		m_namespaceAliases = theRHS.m_namespaceAliases;
-	}
-
-	return *this;
-}
-
-
-
-bool
-NamespacesHandler::shouldExcludeResultNamespaceNode(
-			const XalanDOMString&	theXSLTNamespaceURI,
-			const XalanDOMString&	theURI) const
-{
-	// These are commone namespaces that are always excluded...
-	if(equals(theURI, theXSLTNamespaceURI)
-			|| m_extensionNamespaceURIs.find(theURI) != m_extensionNamespaceURIs.end()
-			|| equals(theURI, s_ApacheXSLTNamespaceURI)
-			|| equals(theURI, s_LotusXSLTNamespaceURIWithSeparator)
-			|| equals(theURI, s_LotusXSLTNamespaceURI)
-			|| equals(theURI, DOMServices::s_XMLNamespaceURI))
-	{
-		return true;
-	}
-	else if (isExcludedNamespaceURI(theURI) == true)
-	{
-		// It was found in the excluded result prefixes URIs...
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-void
-NamespacesHandler::outputResultNamespaces(
-			StylesheetExecutionContext&		theExecutionContext,
-			bool							supressDefault) const
-{
-	// Write out the namespace declarations...
-	if (m_namespaceDeclarations.size() > 0)
-	{
-		const NamespacesMapType::const_iterator	theEnd =
-				m_namespaceDeclarations.end();
-
-		NamespacesMapType::const_iterator	i =
-				m_namespaceDeclarations.begin();
-
-		for(; i != theEnd; ++i)
-		{
-			const NameSpaceExtended&	theNamespace = (*i).second;
-
-			const XalanDOMString&		thePrefix = theNamespace.getPrefix();
-
-			// If we're not supposed to suppress the default namespace, or
-			// there's a prefix (so it's not the default), we can continue
-			// to see if we need to add the result namespace.
-			if (supressDefault == false ||
-				length(thePrefix) != 0)
-			{
-				const XalanDOMString&		theResultURI = theNamespace.getURI();
-				assert(length(theNamespace.getResultAttributeName()) > 0);
-
-				// Get the any namespace declaration currently active for the
-				// prefix.
-				const XalanDOMString* const		desturi =
-					theExecutionContext.getResultNamespaceForPrefix(thePrefix);
-
-				// Is there already an active namespace declaration?
-				if(desturi == 0 || !equals(theResultURI, *desturi))
-				{
-					// No, so add one...
-					theExecutionContext.addResultAttribute(theNamespace.getResultAttributeName(), theResultURI);
-				}
-			}
-		}
-	}
-}
-
-
-
-bool
-NamespacesHandler::shouldExcludeResultNamespaceNode(
-			const XalanDOMString&		theXSLTNamespaceURI,
-			const NamespacesHandler&	stylesheetNamespacesHandler,
-			const NameSpace&			theNamespace) const
-{
-	const XalanDOMString&	theURI = theNamespace.getURI();
-
-	if(shouldExcludeResultNamespaceNode(theXSLTNamespaceURI, theURI) == true)
-	{
-		return true;
-	}
-	else
-	{
-		return stylesheetNamespacesHandler.isExcludedNamespaceURI(theURI);
-	}
-}
-
-
-
-bool
-NamespacesHandler::isExcludedNamespaceURI(const XalanDOMString&		theNamespaceURI) const
-{
-	ExcludedResultPrefixesMapType::const_iterator		i =
-			m_excludedResultPrefixes.begin();
-
-	const ExcludedResultPrefixesMapType::const_iterator		theEnd =
-			m_excludedResultPrefixes.end();
-
-	while(i != theEnd)
-	{
-		if (equals((*i).second, theNamespaceURI) == true)
-		{
-			return true;
-		}
-		else
-		{
-			++i;
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-NamespacesHandler::clear()
-{
-	m_excludedResultPrefixes.clear();
-
-	m_namespaceDeclarations.clear();
-
-	m_extensionNamespaceURIs.clear();
-
-	m_namespaceAliases.clear();
-
-	m_activePrefixes.clear();
-}
-
-
-
-void
-NamespacesHandler::swap(NamespacesHandler&	theOther)
-{
-	m_excludedResultPrefixes.swap(theOther.m_excludedResultPrefixes);
-
-	m_namespaceDeclarations.swap(theOther.m_namespaceDeclarations);
-
-	m_extensionNamespaceURIs.swap(theOther.m_extensionNamespaceURIs);
-
-	m_namespaceAliases.swap(theOther.m_namespaceAliases);
-
-	m_activePrefixes.swap(theOther.m_activePrefixes);
-}
-
-
-
-void
-NamespacesHandler::createResultAttributeNames()
-{
-	// Go through all of the result namespaces and create the attribute
-	// name that will be used when they're written to the result tree.
-	// This is more efficient if the stylesheet is used multiple times.
-	if (m_namespaceDeclarations.size() > 0)
-	{
-		const NamespacesMapType::iterator	theEnd =
-				m_namespaceDeclarations.end();
-
-		NamespacesMapType::iterator		i =
-				m_namespaceDeclarations.begin();
-
-		for(; i != theEnd; ++i)
-		{
-			NameSpaceExtended&		theNamespace = (*i).second;
-
-			const XalanDOMString&	thePrefix = theNamespace.getPrefix();
-
-			if (isEmpty(thePrefix) == false)
-			{
-				// Create a name of the form xmlns:prefix, where "prefix" is the
-				// text of the prefix.
-				XalanDOMString	theName;
-
-				// Reserve the appropriate amount of space in the string.
-				reserve(theName, DOMServices::s_XMLNamespaceWithSeparatorLength + length(thePrefix) + 1);
-
-				theName += DOMServices::s_XMLNamespaceWithSeparator;
-				theName += thePrefix;
-
-				theNamespace.setResultAttributeName(theName);
-			}
-			else
-			{
-				// It's the default namespace...
-				theNamespace.setResultAttributeName(DOMServices::s_XMLNamespace);
-			}
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::processExcludeResultPrefixes(const XalanDOMString&	theElementPrefix)
-{
-	if (m_excludedResultPrefixes.size() > 0)
-	{
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<NamespacesMapType::iterator> 		IteratorVectorType;
-#else
-	typedef std::vector<NamespacesMapType::iterator> 	IteratorVectorType;
-#endif
-
-		// This vector will hold all of the iterators that we need to erase...
-		IteratorVectorType	theDeadEntries;
-
-		theDeadEntries.reserve(m_excludedResultPrefixes.size());
-
-		const NamespacesMapType::iterator	theEnd =
-				m_namespaceDeclarations.end();
-
-		NamespacesMapType::iterator		i =
-				m_namespaceDeclarations.begin();
-
-		// Check for any result prefixes we should exclude...
-		while(i != theEnd)
-		{
-			const NameSpace&		theNamespace = (*i).second;
-
-			const XalanDOMString&	thePrefix = theNamespace.getPrefix();
-			const XalanDOMString&	theURI = theNamespace.getURI();
-
-			// We can never exclude the prefix of our owner element, so
-			// check that first...
-			if (equals(thePrefix, theElementPrefix) == false &&
-				m_activePrefixes.find(thePrefix) == m_activePrefixes.end() &&
-				(isExcludedNamespaceURI(theURI) == true ||
-				 m_extensionNamespaceURIs.find(theURI) != m_extensionNamespaceURIs.end()))
-			{
-				// It's excluded, so remove it...
-				theDeadEntries.push_back(i);
-
-				// Add it to the excluded prefixes, in case we need it later...
-				m_excludedResultPrefixes.insert(
-						ExcludedResultPrefixesMapType::value_type(thePrefix, theURI));
-			}
-
-			++i;
-		}
-
-		while(theDeadEntries.size() > 0)
-		{
-			m_namespaceDeclarations.erase(theDeadEntries.back());
-
-			theDeadEntries.pop_back();
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::processNamespaceAliases()
-{
-	if (m_processAliases == true && m_namespaceDeclarations.size() > 0)
-	{
-		const NamespacesMapType::iterator	theEnd =
-				m_namespaceDeclarations.end();
-
-		NamespacesMapType::iterator		i =
-				m_namespaceDeclarations.begin();
-
-		// Look at everyone of my namespaces for an alias, and substitute the
-		// alias as appropriate...
-		for(; i != theEnd; ++i)
-		{
-			NameSpace&	theNamespace = (*i).second;
-
-			const XalanDOMString&			theURI =
-						theNamespace.getURI();
-
-			const XalanDOMString* const		theAlias =
-						getNamespaceAlias(theURI);
-
-			// Is there a local alias?
-			if (theAlias != 0)
-			{
-				// Yup, so use it...
-				theNamespace.setURI(*theAlias);
-			}
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::copyNamespaceAliases(const NamespaceAliasesMapType&	theNamespaceAliases)
-{
-	if (theNamespaceAliases.size() > 0)
-	{
-		if (m_namespaceAliases.size() == 0)
-		{
-			m_namespaceAliases = theNamespaceAliases;
-		}
-		else
-		{
-			const NamespaceAliasesMapType::const_iterator	theEnd =
-					theNamespaceAliases.end();
-
-			NamespaceAliasesMapType::const_iterator		i =
-					theNamespaceAliases.begin();
-
-			// Add them in...
-			while(i != theEnd)
-			{
-				m_namespaceAliases.insert(*i);
-
-				++i;
-			}
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::copyExtensionNamespaceURIs(const ExtensionNamespaceURISetType&	theExtensionNamespaceURIs)
-{
-	if (theExtensionNamespaceURIs.size() > 0)
-	{
-		if (m_extensionNamespaceURIs.size() == 0)
-		{
-			m_extensionNamespaceURIs = theExtensionNamespaceURIs;
-		}
-		else
-		{
-			const ExtensionNamespaceURISetType::const_iterator	theEnd =
-					theExtensionNamespaceURIs.end();
-
-			ExtensionNamespaceURISetType::const_iterator	i =
-					theExtensionNamespaceURIs.begin();
-
-			// Add them in...
-			while(i != theEnd)
-			{
-				m_extensionNamespaceURIs.insert(*i);
-
-				++i;
-			}
-		}
-	}
-}
-
-
-
-void
-NamespacesHandler::copyExcludeResultPrefixes(const ExcludedResultPrefixesMapType&	theExcludeResultPrefixes)
-{
-	if (theExcludeResultPrefixes.size() > 0)
-	{
-		if (m_excludedResultPrefixes.size() == 0)
-		{
-			m_excludedResultPrefixes = theExcludeResultPrefixes;
-		}
-		else
-		{
-			const ExcludedResultPrefixesMapType::const_iterator	theEnd =
-					theExcludeResultPrefixes.end();
-
-			ExcludedResultPrefixesMapType::const_iterator	i =
-					theExcludeResultPrefixes.begin();
-
-			// Add them in...
-			while(i != theEnd)
-			{
-				m_excludedResultPrefixes.insert(*i);
-
-				++i;
-			}
-		}
-	}
-}
-
-
-
-static XalanDOMString	s_ApacheXSLTNamespaceURI;
-
-static XalanDOMString	s_LotusXSLTNamespaceURI;
-
-static XalanDOMString	s_LotusXSLTNamespaceURIWithSeparator;
-
-
-const XalanDOMString&	NamespacesHandler::s_ApacheXSLTNamespaceURI =
-							::s_ApacheXSLTNamespaceURI;
-
-const XalanDOMString&	NamespacesHandler::s_LotusXSLTNamespaceURI =
-							::s_LotusXSLTNamespaceURI;
-
-const XalanDOMString&	NamespacesHandler::s_LotusXSLTNamespaceURIWithSeparator =
-							::s_LotusXSLTNamespaceURIWithSeparator;
-
-
-
-void
-NamespacesHandler::initialize()
-{
-	::s_ApacheXSLTNamespaceURI = XALAN_STATIC_UCODE_STRING("http://xml.apache.org/xslt");
-	::s_LotusXSLTNamespaceURI = XALAN_STATIC_UCODE_STRING("http://xsl.lotus.com");
-	::s_LotusXSLTNamespaceURIWithSeparator = XALAN_STATIC_UCODE_STRING("http://xsl.lotus.com/");
-}
-
-
-
-void
-NamespacesHandler::terminate()
-{
-	::releaseMemory(::s_ApacheXSLTNamespaceURI);
-	::releaseMemory(::s_LotusXSLTNamespaceURI);
-	::releaseMemory(::s_LotusXSLTNamespaceURIWithSeparator);
-}
diff --git a/src/XSLT/NamespacesHandler.hpp b/src/XSLT/NamespacesHandler.hpp
deleted file mode 100644
index 7ff0e86..0000000
--- a/src/XSLT/NamespacesHandler.hpp
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_NAMESPACESHANDLER_HEADER_GUARD)
-#define XALAN_NAMESPACESHANDLER_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <map>
-#include <set>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/NameSpace.hpp>
-#include <XPath/XalanQName.hpp>
-
-
-
-class StylesheetConstructionContext;
-class StylesheetExecutionContext;
-
-
-
-class XALAN_XSLT_EXPORT NamespacesHandler
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XSLTInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XSLTInit.
-	 */
-	static void
-	terminate();
-
-
-	/* Some static strings for various namespace URIs...
-	 *
-	 */
-	static const XalanDOMString&	s_ApacheXSLTNamespaceURI;
-
-	static const XalanDOMString&	s_LotusXSLTNamespaceURI;
-
-	static const XalanDOMString&	s_LotusXSLTNamespaceURIWithSeparator;
-
-
-	class NameSpaceExtended : public NameSpace
-	{
-	public:
-
-		NameSpaceExtended(
-					const XalanDOMString&	prefix = XalanDOMString(),
-					const XalanDOMString&	uri = XalanDOMString()) :
-			NameSpace(prefix, uri),
-			m_resultAttributeName()
-		{
-		}
-
-		NameSpaceExtended(const NameSpace&	theNamespace) :
-			NameSpace(theNamespace),
-			m_resultAttributeName()
-		{
-		}
-
-		/**
-		 * Retrieve the name of the result attribute.
-		 * 
-		 * @return name string
-		 */
-		const XalanDOMString&
-		getResultAttributeName() const
-		{
-			return m_resultAttributeName;
-		}
-
-		/**
-		 * Set the name of the result attribute.
-		 * 
-		 * @param name The new name value
-		 */
-		void
-		setResultAttributeName(const XalanDOMString&	name)
-		{
-			m_resultAttributeName = name;
-		}
-
-	private:
-
-		XalanDOMString	m_resultAttributeName;
-	};
-
-	typedef XalanQName::NamespaceVectorType				NamespaceVectorType;
-	typedef XalanQName::NamespacesStackType				NamespacesStackType;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				XalanDOMString,
-				less<XalanDOMString> >					ExcludedResultPrefixesMapType;
-
-	typedef map<XalanDOMString,
-				NameSpaceExtended,
-				less<XalanDOMString> >					NamespacesMapType;
-
-	typedef map<XalanDOMString,
-				XalanDOMString,
-				less<XalanDOMString> >					NamespaceAliasesMapType;
-
-	typedef set<XalanDOMString,
-				less<XalanDOMString> >					ExtensionNamespaceURISetType;
-
-	typedef set<XalanDOMString,
-				less<XalanDOMString> >					ActivePrefixesSetType;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>	ExcludedResultPrefixesMapType;
-
-	typedef std::map<XalanDOMString,
-					 NameSpaceExtended>					NamespacesMapType;
-
-	typedef std::map<XalanDOMString, XalanDOMString>	NamespaceAliasesMapType;
-
-	typedef std::set<XalanDOMString>					ExtensionNamespaceURISetType;
-
-	typedef std::set<XalanDOMString>					ActivePrefixesSetType;
-#endif
-
-	/**
-	 * Create a default, empty instance.
-	 */
-	explicit
-	NamespacesHandler();
-
-	/**
-	 * Create an instance namespace handler using the
-	 * current namespaces in effect.
-	 *
-	 * @param stylesheetNamespacesHandler The stylesheet's handler.
-	 * @param theCurrentNamespaces The stack of active namespace declarations.
-	 * @param theXSLTNamespaceURI The namespace URI for XSLT.
-	 */
-	NamespacesHandler(
-			const NamespacesHandler&	stylesheetNamespacesHandler,
-			const NamespacesStackType&	theCurrentNamespaces,
-			const XalanDOMString&		theXSLTNamespaceURI);
-
-	NamespacesHandler(const NamespacesHandler&	theSource);
-
-	~NamespacesHandler();
-
-	/**
-	 * Process an exclude-result-prefixes attribute.
-	 *
-	 * @param theValue The attribute's value.
-	 * @param theCurrentNamespaces The stack of active namespace declarations.
-	 * @param theConstructionContext The current construction context.
-	 */
-	void
-	processExcludeResultPrefixes(
-			const XalanDOMChar*				theValue,
-			const NamespacesStackType&		theCurrentNamespaces,
-			StylesheetConstructionContext&	theConstructionContext);
-
-	/**
-	 * Process an extension-element-prefixes attribute.
-	 *
-	 * @param theValue The attribute's value.
-	 * @param theCurrentNamespaces The stack of active namespace declarations.
-	 * @param theConstructionContext The current construction context.
-	 */
-	void
-	processExtensionElementPrefixes(
-			const XalanDOMChar*				theValue,
-			const NamespacesStackType&		theCurrentNamespaces,
-			StylesheetConstructionContext&	theConstructionContext);
-
-	/**
-	 * Notify the instance that the stylesheet is fully constructed.
-	 *
-	 * @param theElementName The name of the owning element.
-	 * @param parentNamespacesHandler The parent handler, if any.
-	 */
-	void
-	postConstruction(
-			const XalanDOMString&		theElementName = XalanDOMString(),
-			const NamespacesHandler*	parentNamespacesHandler = 0);
-
-	NamespacesHandler&
-	operator=(const NamespacesHandler&	theRHS);
-
-	/**
-	 * Determine of a given namespace should be excluded.
-	 *
-	 * @param theXSLTNamespaceURI The namespace URI for XSLT.
-	 * @param theURI The namespace URI.
-	 * @return true of the namespace should be excluded, false if not.
-	 */
-	bool
-	shouldExcludeResultNamespaceNode(
-			const XalanDOMString&	theXSLTNamespaceURI,
-			const XalanDOMString&	theURI) const;
-
-	/**
-	 * Add a URI as an extension namespace prefixes.
-	 *
-	 * @param theURI The namespace URI.
-	 */
-	void
-	addExtensionNamespaceURI(const XalanDOMString&	theURI)
-	{
-		m_extensionNamespaceURIs.insert(theURI);
-	}
-
-	/**
-	 * Get the namespace URI for the given prefix.
-	 *
-	 * @param thePrefix The namespace prefix.
-	 * @return The namespace URI
-	 */
-	const XalanDOMString*
-	getNamespace(const XalanDOMString&	thePrefix) const;
-
-	/**
-	 * Get the namespace alias URI for the given namespace.
-	 *
-	 * @param theStylesheetNamespace The namespace as declared in the stylesheet.
-	 * @return The namespace alias URI
-	 */
-	const XalanDOMString*
-	getNamespaceAlias(const XalanDOMString&		theStylesheetNamespace) const;
-
-	/**
-	 * Set the namespace alias URI for the given namespace.
-	 *
-	 * @param theStylesheetNamespace The namespace as declared in the stylesheet.
-	 * @param theResultNamespace The namespace as it should appear in the result tree.
-	 */
-	void
-	setNamespaceAlias(
-			const XalanDOMString&	theStylesheetNamespace,
-			const XalanDOMString&	theResultNamespace)
-	{
-		m_namespaceAliases[theStylesheetNamespace] = theResultNamespace;
-	}
-
-	/**
-	 * Add a prefix to the list of active prefixes.
-	 *
-	 * @param thePrefix The prefix that is active and requires a namespace declaration.
-	 */
-	void
-	addActivePrefix(const XalanDOMString&	thePrefix)
-	{
-		m_activePrefixes.insert(thePrefix);
-	}
-
-	/**
-	 * Copy the aliases from the given NamespacesHandler.
-	 *
-	 * @param parentNamespacesHandler The parent handler.
-	 */
-	void
-	copyNamespaceAliases(const NamespacesHandler&	parentNamespacesHandler);
-
-	/**
-	 * Output the result tree namespace declarations.
-	 *
-	 * @param theExecutionContext The current execution context.
-	 * @param supressDefault If true, any default namespace declaration will not be output.
-	 */
-	void
-	outputResultNamespaces(
-			StylesheetExecutionContext&		theExecutionContext,
-			bool							supressDefault = false) const;
-
-	/**
-	 * Clear out the handler.
-	 */
-	void
-	clear();
-
-	/**
-	 * Swap the contents of this instance with another.
-	 *
-	 * @param theOther The other instance.
-	 */
-	void
-	swap(NamespacesHandler&		theOther);
-
-	bool
-	getProcessNamespaceAliaises() const
-	{
-		return m_processAliases;
-	}
-
-	void
-	setProcessNamespaceAliaises(bool	fValue)
-	{
-		m_processAliases = fValue;
-	}
-
-	NamespacesMapType::size_type
-	getNamespaceDeclarationsCount() const
-	{
-		return m_namespaceDeclarations.size();
-	}
-
-private:
-
-	/**
-	 * Create all of the result attribute names.
-	 */
-	void
-	createResultAttributeNames();
-
-	/**
-	 * Process the exclude result prefix data.
-	 *
-	 * @param theElementPrefix The prefix of the owning element.
-	 */
-	void
-	processExcludeResultPrefixes(const XalanDOMString&	theElementPrefix);
-
-	/**
-	 * Process the namespace aliases data.
-	 */
-	void
-	processNamespaceAliases();
-
-	/**
-	 * Copy the contents of the supplied map
-	 *
-	 * @param theNamespaceAliases The map to copy.
-	 */
-	void
-	copyNamespaceAliases(const NamespaceAliasesMapType&		theNamespaceAliases);
-
-	/**
-	 * Copy the contents of the supplied set
-	 *
-	 * @param theExtensionNamespaceURIs The set to copy.
-	 */
-	void
-	copyExtensionNamespaceURIs(const ExtensionNamespaceURISetType&	theExtensionNamespaceURIs);
-
-	/**
-	 * Copy the contents of the supplied map
-	 *
-	 * @param theExcludeResultPrefixes The map to copy.
-	 */
-	void
-	copyExcludeResultPrefixes(const ExcludedResultPrefixesMapType&	theExcludeResultPrefixes);
-
-	/**
-	 * Determine if a given namespace should be excluded.  For use during
-	 * stylesheet construction only.
-	 *
-	 * @param theXSLTNamespaceURI The namespace URI for XSLT.
-	 * @param parentNamespacesHandler The parent handler instance.
-	 * @param theNamespace The namespace.
-	 * @return true of the namespace should be excluded, false if not.
-	 */
-	bool
-	shouldExcludeResultNamespaceNode(
-			const XalanDOMString&		theXSLTNamespaceURI,
-			const NamespacesHandler&	parentNamespacesHandler,
-			const NameSpace&			theNamespace) const;
-
-	/**
-	 * Determine of a given namespace should be excluded as a result of
-	 * an exclude-result-prefixes declaration.
-	 *
-	 * @param theNamespaceURI The namespace URI to check.
-	 * @return true of the namespace should be excluded, false if not.
-	 */
-	bool
-	isExcludedNamespaceURI(const XalanDOMString&	theNamespaceURI) const;
-
-	// Not implemented...
-	bool
-	operator==(const NamespacesHandler&) const;
-
-	// Data members...
-	ExcludedResultPrefixesMapType	m_excludedResultPrefixes;
-
-	NamespacesMapType				m_namespaceDeclarations;
-
-	ExtensionNamespaceURISetType	m_extensionNamespaceURIs;
-
-	NamespaceAliasesMapType			m_namespaceAliases;
-
-	ActivePrefixesSetType			m_activePrefixes;
-
-	// If true namespace aliases will be processed.  If false, they will not.
-	bool							m_processAliases;
-};
-
-
-
-#endif	// XALAN_NAMESPACESHANDLER_HEADER_GUARD
diff --git a/src/XSLT/NodeSortKey.cpp b/src/XSLT/NodeSortKey.cpp
deleted file mode 100644
index c0d992d..0000000
--- a/src/XSLT/NodeSortKey.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#include "NodeSortKey.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-NodeSortKey::NodeSortKey(
-			ExecutionContext&		executionContext,
-			const XPath&			selectPat,
-			bool					treatAsNumbers,
-			bool					descending,
-			const XalanDOMString&	langValue,
-			const PrefixResolver&	resolver) :
-	m_executionContext(&executionContext),
-	m_selectPat(&selectPat),
-	m_treatAsNumbers(treatAsNumbers),
-	m_descending(descending),
-	m_prefixResolver(&resolver),
-	m_languageString(&langValue)
-{
-}
-
-
-
-NodeSortKey::NodeSortKey() :
-	m_executionContext(0),
-	m_selectPat(0),
-	m_treatAsNumbers(false),
-	m_descending(false),
-	m_prefixResolver(0),
-	m_languageString(&s_emptyString)
-{
-}
-
-
-
-NodeSortKey::NodeSortKey(const NodeSortKey&		theSource) :
-	m_executionContext(theSource.m_executionContext),
-	m_selectPat(theSource.m_selectPat),
-	m_treatAsNumbers(theSource.m_treatAsNumbers),
-	m_descending(theSource.m_descending),
-	m_prefixResolver(theSource.m_prefixResolver),
-	m_languageString(theSource.m_languageString)
-{
-}
-
-
-
-NodeSortKey::~NodeSortKey()
-{
-}
-
-
-
-NodeSortKey&
-NodeSortKey::operator=(const NodeSortKey&	theRHS)
-{
-	if (this != &theRHS)
-	{
-		m_executionContext = theRHS.m_executionContext;
-		m_selectPat = theRHS.m_selectPat;
-		m_treatAsNumbers = theRHS.m_treatAsNumbers;
-		m_descending = theRHS.m_descending;
-		m_prefixResolver = theRHS.m_prefixResolver;
-		m_languageString = theRHS.m_languageString;
-
-		assert(m_languageString != 0);
-	}
-
-	return *this;
-}
-
-
-/*
- *      $ Log: $
- */
diff --git a/src/XSLT/NodeSortKey.hpp b/src/XSLT/NodeSortKey.hpp
deleted file mode 100644
index b6e449f..0000000
--- a/src/XSLT/NodeSortKey.hpp
+++ /dev/null
@@ -1,191 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_NODESORTKEY_HEADER_GUARD)
-#define XALAN_NODESORTKEY_HEADER_GUARD
-
-/**
- * 
- * @author Scott Boag (scott_boag@lotus.com)
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- */
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// $$$ ToDo: This is necessary while XalanDOMString is a typedef.
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class ExecutionContext;
-class PrefixResolver;
-class XPath;
-
-
-
-/**
- * Simple data structure class for use by the NodeSorter class.
- */
-class XALAN_XSLT_EXPORT NodeSortKey
-{
-public:
-
-	/**
-	 * Construct a node sort key.
-	 *
-	 * @param executionContext current execution context
-	 * @param selectPat        XPath for selection
-	 * @param treatAsNumbers   treat as numeric values if true
-	 * @param descending       sort in descending order if true
-	 * @param langValue        language
-	 * @param resolver         resolver for namespace resolution
-	 */
-	NodeSortKey(
-			ExecutionContext&		executionContext,
-			const XPath&			selectPat, 
-			bool					treatAsNumbers, 
-			bool					descending,
-			const XalanDOMString&	langValue, 
-			const PrefixResolver&	resolver);
-
-	NodeSortKey();
-
-	NodeSortKey(const NodeSortKey&	theSource);
-
-	~NodeSortKey();
-
-	NodeSortKey&
-	operator=(const NodeSortKey&	theRHS);
-
-	/**
-	 * Retrieve the selection XPath.
-	 * 
-	 * @return XPath for selection
-	 */
-	const XPath*
-	getSelectPattern() const
-	{
-		return m_selectPat;
-	}
-
-	/**
-	 * Whether to treat values as numbers.
-	 * 
-	 * @return treat as numeric values if true
-	 */
-	bool
-	getTreatAsNumbers() const
-	{
-		return m_treatAsNumbers;
-	}
-
-	/**
-	 * Whether to sort in descending order.
-	 * 
-	 * @return sort in descending order if true
-	 */
-	bool
-	getDescending() const
-	{
-		return m_descending;
-	}
-
-	/**
-	 * Retrieve the resolver for namespaces.
-	 * 
-	 * @return object for namespace resolution
-	 */
-	const PrefixResolver*
-	getPrefixResolver() const
-	{
-		return m_prefixResolver;
-	}
-
-	const XalanDOMString&
-	getLanguageString() const
-	{
-		return *m_languageString;
-	}
-
-private:
-
-	ExecutionContext*		m_executionContext; // needed for error reporting.
-
-	const XPath*			m_selectPat;
-
-	bool					m_treatAsNumbers;
-	bool					m_descending;	
-
-	const PrefixResolver*	m_prefixResolver;
-
-	const XalanDOMString*	m_languageString;
-};
-
-
-#endif
-
-/*
- *      $ Log: $
- */
diff --git a/src/XSLT/NodeSorter.cpp b/src/XSLT/NodeSorter.cpp
deleted file mode 100644
index 99d70df..0000000
--- a/src/XSLT/NodeSorter.cpp
+++ /dev/null
@@ -1,372 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/**
- * 
- * @author Scott Boag (scott_boag@lotus.com)
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- */
-
-
-
-// Class header file.
-#include "NodeSorter.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "StylesheetExecutionContext.hpp"
-
-
-
-NodeSorter::NodeSorter() :
-	m_numberResultsCache(),
-	m_stringResultsCache(),
-	m_keys(),
-	m_scratchVector()
-{
-}
-
-
-
-NodeSorter::~NodeSorter()
-{
-}
-
-
-
-void
-NodeSorter::sort(StylesheetExecutionContext&	executionContext)
-{
-	assert(m_scratchVector.size() > 0);
-
-	// Make sure the caches are cleared when we're done...
-	CollectionClearGuard<NumberResultsCacheType>	guard1(m_numberResultsCache);
-	CollectionClearGuard<StringResultsCacheType>	guard2(m_stringResultsCache);
-
-	NodeSortKeyCompare	theComparer(
-					executionContext,
-					*this,
-					m_scratchVector,
-					m_keys);
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::stable_sort;
-#endif
-
-	// Use the stl sort algorithm, which will use our compare functor,
-	// which returns true if first less than second
-	stable_sort(
-			m_scratchVector.begin(),
-			m_scratchVector.end(),
-			theComparer);
-}
-
-
-
-void
-NodeSorter::sort(
-			StylesheetExecutionContext&		executionContext,
-			MutableNodeRefList&				theList)
-{
-	if (m_keys.size() > 0)
-	{
-		const NodeRefListBase::size_type	theLength = theList.getLength();
-
-		// Copy the nodes to a vector...
-		assert(m_scratchVector.size() == 0);
-
-		// Make sure the scratch vector is cleared when we're done...
-		CollectionClearGuard<NodeVectorType>	guard(m_scratchVector);
-
-		m_scratchVector.reserve(theLength);
-
-		unsigned int	i = 0;
-
-		for (; i < theLength; ++i)
-		{
-			m_scratchVector.push_back(NodeVectorType::value_type(theList.item(i), i));
-		}
-
-		// Do the sort...
-		sort(executionContext);
-		assert(m_scratchVector.size() == NodeVectorType::size_type(theLength));
-
-		// Copy the nodes back to the list in sorted order.
-		theList.clear();
-
-		for (i = 0; i < theLength; ++i)
-		{
-			theList.addNode(m_scratchVector[i].m_node);
-		}
-
-		assert(theList.getLength() == theLength);
-	}
-}
-
-
-
-static inline int
-doCollationCompare(
-			StylesheetExecutionContext&		executionContext,
-			const XalanDOMString&			theLHS,
-			const XalanDOMString&			theRHS,
-			const XalanDOMString&			theLanguage)
-{
-	if (length(theLanguage) == 0)
-	{
-		return executionContext.collationCompare(
-				theLHS,
-				theRHS);
-	}
-	else
-	{
-		return executionContext.collationCompare(
-				theLHS,
-				theRHS,
-				theLanguage);
-	}
-}
-
-
-
-int
-NodeSorter::NodeSortKeyCompare::compare(
-				first_argument_type		theLHS,
-				second_argument_type	theRHS,
-				unsigned int			theKeyIndex) const
-{
-	assert(theLHS.m_node != 0 && theRHS.m_node != 0);
-	assert(theKeyIndex < m_nodeSortKeys.size());
-
-	int					theResult = 0;
-
-	const NodeSortKey&	theKey = m_nodeSortKeys[theKeyIndex];
-
-	// Compare as numbers
-	if(theKey.getTreatAsNumbers() == true)
-	{
-		double	n1Num = getNumberResult(theKey, theKeyIndex, theLHS);
-		double	n2Num = getNumberResult(theKey, theKeyIndex, theRHS);
-
-		// Always order NaN before anything else...
-		if (DoubleSupport::isNaN(n1Num) == true)
-		{
-			if (DoubleSupport::isNaN(n2Num) == false)
-			{
-				theResult = -1;
-			}
-		}
-		else if (DoubleSupport::isNaN(n2Num) == true)
-		{
-			theResult = 1;
-		}
-		else if (DoubleSupport::lessThan(n1Num, n2Num) == true)
-		{
-			theResult = -1;
-		}
-		else if (DoubleSupport::greaterThan(n1Num, n2Num) == true)
-		{
-			theResult = 1;
-		}
-	}
-	// Compare as strings
-	else
-	{
-		theResult = doCollationCompare(
-				m_executionContext,
-				getStringResult(theKey, theKeyIndex, theLHS)->str(),
-				getStringResult(theKey, theKeyIndex, theRHS)->str(),
-				theKey.getLanguageString());
-	}
-
-	// If they're not equal, the flip things if the
-	// order is descending...
-	if (theResult != 0)
-    {
-		if (theKey.getDescending() == true)
-		{
-			theResult = -theResult;
-		}
-	}
-	else if(theKeyIndex + 1 < m_nodeSortKeys.size())
-	{
-		// They're equal, so process the next key, if any...
-		theResult = compare(theLHS, theRHS, theKeyIndex + 1);
-	}
-
-	return theResult;
-}
-
-
-
-double
-NodeSorter::NodeSortKeyCompare::getNumberResult(
-				const NodeSortKey&		theKey,
-				unsigned int			theKeyIndex,
-				first_argument_type		theEntry) const
-{
-	const XPath* const	xpath = theKey.getSelectPattern();
-	assert(xpath != 0);
-
-	typedef	NodeSorter::NumberResultsCacheType	NumberResultsCacheType;
-
-	NumberResultsCacheType&		theCache =
-			m_sorter.m_numberResultsCache;
-
-	if (theCache.size() == 0)
-	{
-		theCache.resize(m_nodeSortKeys.size());
-	}
-
-	// We need a dummy value to indicate that a slot has
-	// never been evaluated.  0 is probably a bad idea,
-	// as is NaN, since that would be fairly common with
-	// values that are not convertible to a number.  This
-	// is just a not-so-random number...
-	const double	theDummyValue = 135792468.0L;
-
-	if (theCache[theKeyIndex].size() != 0)
-	{
-		if (DoubleSupport::equal(theCache[theKeyIndex][theEntry.m_position], theDummyValue) == true)
-		{
-			theCache[theKeyIndex][theEntry.m_position] =
-				xpath->execute(theEntry.m_node, *theKey.getPrefixResolver(), m_executionContext)->num();
-		}
-
-		return theCache[theKeyIndex][theEntry.m_position];
-	}
-	else
-	{
-		theCache[theKeyIndex].resize(m_nodes.size());
-
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::fill;
-#endif
-
-		// Fill with the dummy value...
-		fill(
-			theCache[theKeyIndex].begin(),
-			theCache[theKeyIndex].end(),
-			theDummyValue);
-
-		const XObjectPtr	result(xpath->execute(theEntry.m_node, *theKey.getPrefixResolver(), m_executionContext));
-		assert(result.null() == false);
-
-		const double	theResult = result->num();
-
-		theCache[theKeyIndex][theEntry.m_position] = theResult;
-
-		return theResult;
-	}
-}
-
-
-
-const XObjectPtr&
-NodeSorter::NodeSortKeyCompare::getStringResult(
-				const NodeSortKey&		theKey,
-				unsigned int			theKeyIndex,
-				first_argument_type		theEntry) const
-{
-	assert(theKey.getPrefixResolver() != 0);
-
-	const XPath* const	xpath = theKey.getSelectPattern();
-	assert(xpath != 0);
-
-	typedef	NodeSorter::StringResultsCacheType	StringResultsCacheType;
-
-	StringResultsCacheType&		theCache =
-			m_sorter.m_stringResultsCache;
-
-	if (theCache.size() == 0)
-	{
-		theCache.resize(m_nodeSortKeys.size());
-	}
-
-	if (theCache[theKeyIndex].size() != 0)
-	{
-		if (theCache[theKeyIndex][theEntry.m_position].null() == true)
-		{
-			theCache[theKeyIndex][theEntry.m_position] =
-				xpath->execute(theEntry.m_node, *theKey.getPrefixResolver(), m_executionContext);
-		}
-
-		assert(theCache[theKeyIndex][theEntry.m_position].null() == false);
-
-		return theCache[theKeyIndex][theEntry.m_position];
-	}
-	else
-	{
-		theCache[theKeyIndex].resize(m_nodes.size());
-
-		theCache[theKeyIndex][theEntry.m_position] =
-			xpath->execute(theEntry.m_node, *theKey.getPrefixResolver(), m_executionContext);
-
-		assert(theCache[theKeyIndex][theEntry.m_position].null() == false);
-
-		return theCache[theKeyIndex][theEntry.m_position];
-	}
-}
diff --git a/src/XSLT/NodeSorter.hpp b/src/XSLT/NodeSorter.hpp
deleted file mode 100644
index 2bafc09..0000000
--- a/src/XSLT/NodeSorter.hpp
+++ /dev/null
@@ -1,270 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_NODESORTER_HEADER_GUARD)
-#define XALAN_NODESORTER_HEADER_GUARD
-
-/**
- * @author Scott Boag (scott_boag@lotus.com)
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- */
-
- 
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <functional>
-#include <vector>
-
-
-
-#include <XPath/XObject.hpp>
-
-
-
-#include <XSLT/NodeSortKey.hpp>
-
-
-
-class MutableNodeRefList;
-class StylesheetExecutionContext;
-class XalanNode;
-class XPath;
-
-
-
-/**
- * This class can sort vectors of nodes according to a select pattern.
- */
-class XALAN_XSLT_EXPORT NodeSorter
-{
-public:
-
-	struct XALAN_XSLT_EXPORT VectorEntry
-	{
-	public:
-
-		VectorEntry(
-			XalanNode*		theNode = 0,
-			unsigned int	thePosition = 0) :
-			m_node(theNode),
-			m_position(thePosition)
-		{
-		}
-
-		XalanNode*		m_node;
-		unsigned int	m_position;
-	};
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<VectorEntry>			NodeVectorType;
-	typedef vector<NodeSortKey>			NodeSortKeyVectorType;
-#else
-	typedef std::vector<VectorEntry>	NodeVectorType;
-	typedef std::vector<NodeSortKey>	NodeSortKeyVectorType;
-#endif
-
-	explicit
-	NodeSorter();
-  
-	~NodeSorter();
-
-	NodeSortKeyVectorType&
-	getSortKeys()
-	{
-		return m_keys;
-	}
-
-	/**
-	 * Given a list of nodes, sort each node according to the criteria in the
-	 * keys.  The list is assumed to be in document order.
-	 *
-	 * @param executionContext current execution context
-	 * @param v    list of Nodes
-	 */
-	void
-	sort(
-			StylesheetExecutionContext&		executionContext,
-			MutableNodeRefList&				theList);
-
-	/**
-	 * Return the results of a compare of two nodes.
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	struct XALAN_XSLT_EXPORT NodeSortKeyCompare : public binary_function<const NodeVectorType::value_type&, const NodeVectorType::value_type&, bool>
-#else
-	struct XALAN_XSLT_EXPORT NodeSortKeyCompare : public std::binary_function<const NodeVectorType::value_type&, const NodeVectorType::value_type&, bool>
-#endif
-	{
-	public:
-
-	/**
-	 * Construct a NodeSortKeyCompare object, to perform the sort
-	 *
-	 * @param executionContext current execution context
-	 * @param theNodes        vector or nodes to be sorted
-	 * @param theNodeSortKeys vector of keys upon which to sort
-	 */
-		NodeSortKeyCompare(
-				StylesheetExecutionContext&		executionContext,
-				NodeSorter&						theSorter,
-				const NodeVectorType&			theNodes,
-				const NodeSortKeyVectorType&	theNodeSortKeys) :
-			m_executionContext(executionContext),
-			m_sorter(theSorter),
-			m_nodes(theNodes),
-			m_nodeSortKeys(theNodeSortKeys)
-		{
-		}
-
-		/**
-		 * Compare two nodes, returning a value to indicate the
-		 * result
-		 *
-		 * @param theLHS the first node to compare
-		 * @param theRHS the second node to compare
-		 * @param theKeyIndex the index of the key to use
-		 * @result < 0 if theLHS is less than theRHS, 0 if they are equal, and > 0 if theLHS is greater than theRHS
-		 */
-		int
-		compare(
-				first_argument_type		theLHS,
-				second_argument_type	theRHS,
-				unsigned int			theKeyIndex = 0) const;
-
-		/**
-		 * Compare two nodes as a less predicate.
-		 *
-		 * @param theLHS the first node to compare
-		 * @param theRHS the second node to compare
-		 * @param theKeyIndex the index of the key to use
-		 * @return true if theLHS is less than theRHS
-		 */
-		result_type
-		operator()(
-				first_argument_type		theLHS,
-				second_argument_type	theRHS,
-				unsigned int			theKeyIndex = 0) const
-		{
-			return compare(theLHS, theRHS, theKeyIndex) < 0 ? true : false;
-		}
-
-	protected:
-
-		double
-		getNumberResult(
-				const NodeSortKey&		theKey,
-				unsigned int			theKeyIndex,
-				first_argument_type		theEntry) const;
-
-		const XObjectPtr&
-		getStringResult(
-				const NodeSortKey&		theKey,
-				unsigned int			theKeyIndex,
-				first_argument_type		theEntry) const;
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-		NodeSorter&						m_sorter;
-		const NodeVectorType&			m_nodes;
-		const NodeSortKeyVectorType&	m_nodeSortKeys;
-	};
-
-	friend struct NodeSortKeyCompare;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef	vector<double>		NumberResultsCacheVectorType;
-
-	typedef	vector<XObjectPtr>	StringResultsCacheVectorType;
-
-	typedef vector<NumberResultsCacheVectorType>	NumberResultsCacheType;
-	typedef vector<StringResultsCacheVectorType>	StringResultsCacheType;
-#else
-	typedef	std::vector<double>			NumberResultsCacheVectorType;
-	typedef	std::vector<XObjectPtr>		StringResultsCacheVectorType;
-
-	typedef std::vector<NumberResultsCacheVectorType>	NumberResultsCacheType;
-	typedef std::vector<StringResultsCacheVectorType>	StringResultsCacheType;
-#endif
-
-private:
-
-	/**
-	 * Given a vector of nodes, sort each node according to the criteria in the
-	 * keys.
-	 *
-	 * @param executionContext current execution context
-	 */
-	void
-	sort(StylesheetExecutionContext&	executionContext);
-
-	// Data members...
-	NumberResultsCacheType	m_numberResultsCache;
-
-	StringResultsCacheType	m_stringResultsCache;
-
-	NodeSortKeyVectorType	m_keys;
-
-	NodeVectorType			m_scratchVector;
-};
-
-
-
-#endif	// XALAN_NODESORTER_HEADER_GUARD
diff --git a/src/XSLT/OutputContextStack.cpp b/src/XSLT/OutputContextStack.cpp
deleted file mode 100644
index 6c2801b..0000000
--- a/src/XSLT/OutputContextStack.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file...
-#include "OutputContextStack.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-OutputContextStack::OutputContextStack() :
-	m_stack(1),
-	m_stackPosition(m_stack.begin())
-{
-	// m_stack is initialized to a size of 1, so that
-	// we always have a dummy entry at the beginning
-	// of the deque.  This makes the implementation
-	// much simpler.
-}
-
-
-
-OutputContextStack::~OutputContextStack()
-{
-}
-
-
-
-void
-OutputContextStack::pushContext(FormatterListener*	theListener)
-{
-	++m_stackPosition;
-
-	if (m_stackPosition == m_stack.end())
-	{
-		m_stack.resize(m_stack.size() + 1);
-
-		m_stackPosition = m_stack.end() - 1;
-	}
-
-	if (theListener != 0)
-	{
-		(*m_stackPosition).m_flistener  = theListener;
-	}
-}
-
-
-
-void
-OutputContextStack::popContext()
-{
-	assert(m_stackPosition != m_stack.begin());
-
-	OutputContext&	theCurrentContext = *m_stackPosition;
-
-	theCurrentContext.reset();
-
-	--m_stackPosition;
-}
-
-
-
-void
-OutputContextStack::clear()
-{
-	// Since we always keep one dummy entry at the beginning,
-	// swap with an OutputContextStackType instance of size 1.
-	OutputContextStackType(1).swap(m_stack);
-
-	m_stackPosition = m_stack.begin();
-}
-
-
-
-void
-OutputContextStack::reset()
-{
-	while(m_stackPosition != m_stack.begin())
-	{
-		popContext();
-	}
-}
diff --git a/src/XSLT/OutputContextStack.hpp b/src/XSLT/OutputContextStack.hpp
deleted file mode 100644
index 71d4e26..0000000
--- a/src/XSLT/OutputContextStack.hpp
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_OUTPUTCONTEXTSTACK_HEADER_GUARD)
-#define XALAN_OUTPUTCONTEXTSTACK_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <deque>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-class FormatterListener;
-
-
-
-class XALAN_XSLT_EXPORT OutputContextStack
-{
-public:
-
-	struct OutputContext
-	{
-		OutputContext(FormatterListener*	theListener = 0) :
-			m_flistener(theListener),
-			m_pendingAttributes(),
-			m_pendingElementName(),
-			m_hasPendingStartDocument(false),
-			m_mustFlushPendingStartDocument(false)
-		{
-		}
-
-		~OutputContext()
-		{
-		}
-
-		void
-		reset()
-		{
-			m_flistener = 0;
-
-			m_pendingAttributes.clear();
-
-			::clear(m_pendingElementName);
-
-			m_hasPendingStartDocument = false;
-
-			m_mustFlushPendingStartDocument = false;
-		}
-
-		FormatterListener*	m_flistener;
-
-		AttributeListImpl	m_pendingAttributes;
-
-		XalanDOMString		m_pendingElementName;
-
-		bool				m_hasPendingStartDocument;
-
-		bool				m_mustFlushPendingStartDocument;
-	};
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef deque<OutputContext>			OutputContextStackType;
-#else
-	typedef std::deque<OutputContext>		OutputContextStackType;
-#endif
-
-	typedef OutputContextStackType::size_type	size_type;
-
-	explicit
-	OutputContextStack();
-
-	~OutputContextStack();
-
-	void
-	pushContext(FormatterListener*	theListener = 0);
-
-	void
-	popContext();
-
-	FormatterListener*
-	getFormatterListener() const
-	{
-		return (*m_stackPosition).m_flistener;
-	}
-
-	FormatterListener*&
-	getFormatterListener()
-	{
-		return (*m_stackPosition).m_flistener;
-	}
-
-	const AttributeListImpl&
-	getPendingAttributes() const
-	{
-		return (*m_stackPosition).m_pendingAttributes;
-	}
-
-	AttributeListImpl&
-	getPendingAttributes()
-	{
-		return (*m_stackPosition).m_pendingAttributes;
-	}
-
-	const XalanDOMString&
-	getPendingElementName() const
-	{
-		return (*m_stackPosition).m_pendingElementName;
-	}
-
-	XalanDOMString&
-	getPendingElementName()
-	{
-		return (*m_stackPosition).m_pendingElementName;
-	}
-
-	const bool&
-	getHasPendingStartDocument() const
-	{
-		return (*m_stackPosition).m_hasPendingStartDocument;
-	}
-
-	bool&
-	getHasPendingStartDocument()
-	{
-		return (*m_stackPosition).m_hasPendingStartDocument;
-	}
-
-	const bool&
-	getMustFlushPendingStartDocument() const
-	{
-		return (*m_stackPosition).m_mustFlushPendingStartDocument;
-	}
-
-	bool&
-	getMustFlushPendingStartDocument()
-	{
-		return (*m_stackPosition).m_mustFlushPendingStartDocument;
-	}
-
-	size_type
-	size() const
-	{
-		// Since we always keep one dummy entry at the beginning,
-		// subtract one from the size
-		return m_stack.size() - 1;
-	}
-
-	bool
-	empty() const
-	{
-		return size() == 0 ? true : false;
-	}
-
-	void
-	clear();
-
-	void
-	reset();
-
-private:
-
-	// not implemented
-	OutputContextStack(const OutputContextStack&);
-
-	bool
-	operator==(const OutputContextStack&) const;
-
-	OutputContextStack&
-	operator=(const OutputContextStack&);
-
-	/**
-	 * A stack to hold the output contexts...
-	 */
-	OutputContextStackType				m_stack;
-
-	OutputContextStackType::iterator	m_stackPosition;
-};
-
-
-
-#endif	// XALAN_RESULTNAMESPACESSTACK_HEADER_GUARD
diff --git a/src/XSLT/ProblemListener.cpp b/src/XSLT/ProblemListener.cpp
deleted file mode 100644
index 7740dba..0000000
--- a/src/XSLT/ProblemListener.cpp
+++ /dev/null
@@ -1,76 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/**
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- */
-
-
-
-// Class header file.
-#include "ProblemListener.hpp"
-
-
-
-ProblemListener::ProblemListener()
-{
-}
-
-
-
-ProblemListener::~ProblemListener()
-{
-}
diff --git a/src/XSLT/ProblemListener.hpp b/src/XSLT/ProblemListener.hpp
deleted file mode 100644
index 8aba447..0000000
--- a/src/XSLT/ProblemListener.hpp
+++ /dev/null
@@ -1,145 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/*
- * $Id$
- */
-#if !defined(XALAN_PROBLEMLISTENER_HEADER_GUARD)
-#define XALAN_PROBLEMLISTENER_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-
-class ElemTemplateElement;
-class XalanNode;
-class PrintWriter;
-
-
-
-/**
- * This is the abstract class that the XSL processor uses when it has a
- * problem of some kind, that requires a message, an error or a warning. Users
- * should ask the XSLTProcessor class to setProblemListener if they wish an
- * object instance to be called when a problem event occurs.
- */
-class XALAN_XSLT_EXPORT ProblemListener
-{
-public:
-
-	/// Sources of problem
-	enum eProblemSource { eXMLPARSER		= 1,
-						  eXSLPROCESSOR		= 2,
-						  eXPATH			= 3 };
-
-	/// Severity of problem
-	enum eClassification {	eMESSAGE	= 0,
-							eWARNING	= 1,
-							eERROR		= 2 };
-
-	ProblemListener();
-
-	virtual
-	~ProblemListener();
-
-	/** 
-	 * Set the print writer to which the problem is reported.
-	 * 
-	 * @param pw writer to receive messages
-	 */
-	virtual void
-	setPrintWriter(PrintWriter*		pw) = 0;
-
-	/**
- 	 * Function that is called when a problem event occurs.
-     * 
-     * @param   where          either in XMLPARSER, XSLPROCESSOR, or QUERYENGINE
-     * @param   classification either MESSAGE, ERROR or WARNING
-	 * @param   sourceNode     source tree node where the problem occurred
-	 *                         (may be 0)
-	 * @param   styleNode      style tree node where the problem occurred
-	 *                         (may be 0)
-	 * @param   msg            string message explaining the problem.
-	 * @param   uri            the URI of the document where the problem occurred.  May be 0.
-	 * @param   lineNo         line number where the problem occurred,  
-	 *                         if it is known, else -1
-	 * @param   charOffset     character offset where the problem,  
-	 *                         occurred if it is known, else -1
-	 */
-	virtual void
-	problem(
-			eProblemSource			where,
-			eClassification			classification,
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) = 0;
-
-};
-
-
-
-#endif	// XALAN_PROBLEMLISTENER_HEADER_GUARD
diff --git a/src/XSLT/ProblemListenerDefault.cpp b/src/XSLT/ProblemListenerDefault.cpp
deleted file mode 100644
index 05c31c6..0000000
--- a/src/XSLT/ProblemListenerDefault.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/**
- * 
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- * */
-
-
-
-// Base class header file.
-#include "ProblemListenerDefault.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-#include <XSLT/ElemTemplateElement.hpp>
-
-
-
-static const char* const	errorHeader = "error: ";
-static const char* const	warningHeader = "warning: ";
-static const char* const	messageHeader = "message: ";
-
-static const char* const	xslHeader = "XSLT ";
-static const char* const	xmlHeader = "XML ";
-static const char* const	xpathHeader = "XPath ";
-
-static const char* const	styleTreeNodeHeader = ", style tree node: ";
-static const char* const	sourceTreeNodeHeader = ", source tree node: ";
-static const char* const	locationOpen = " (";
-static const char* const	uriHeader = "";
-static const char* const	lineNoHeader = ", line ";
-static const char* const	charOffsetHeader = ", column ";
-static const char* const	locationClose = ")";
-
-
-
-ProblemListenerDefault::ProblemListenerDefault(PrintWriter*		pw) :
-	ProblemListener(),
-	m_pw(pw)
-{
-}
-
-
-
-ProblemListenerDefault::~ProblemListenerDefault()
-{
-}
-
-
-
-void
-ProblemListenerDefault::setPrintWriter(PrintWriter*		pw)
-{
-	m_pw = pw;
-}
-
-
-
-void
-ProblemListenerDefault::problem(
-			eProblemSource			where,
-			eClassification			classification, 
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset)
-{
-	if (m_pw != 0)
-	{
-		problem(*m_pw, where, classification, sourceNode, styleNode, msg, uri, lineNo, charOffset);
-	}
-}
-
-
-
-void
-ProblemListenerDefault::problem(
-			PrintWriter&			pw,
-			eProblemSource			where,
-			eClassification			classification, 
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset)
-{
-	if (eXMLPARSER == where)
-	{
-		pw.print(xmlHeader);
-	}
-	else if (eXPATH == where)
-	{
-		pw.print(xpathHeader);
-	}
-	else
-	{
-		pw.print(xslHeader);
-	}
-
-	if (eERROR == classification)
-	{
-		pw.print(errorHeader);
-	}
-	else if (eWARNING == classification)
-	{
-		pw.print(warningHeader);
-	}
-	else
-	{
-		pw.print(messageHeader);
-	}
-
-	pw.print(msg);
-
-	if (0 != styleNode)
-	{
-		pw.print(styleTreeNodeHeader);
-		pw.print(styleNode->getNodeName());
-	}
-
-	if (0 != sourceNode)
-	{
-		pw.print(sourceTreeNodeHeader);
-		pw.print(sourceNode->getNodeName());
-	}
-
-	pw.print(locationOpen);
-
-	if (0 != uri)
-	{
-		pw.print(uriHeader);
-		pw.print(uri);
-	}
-
-	pw.print(lineNoHeader);
-	pw.print(lineNo);
-
-	pw.print(charOffsetHeader);
-	pw.print(charOffset);
-
-	pw.print(locationClose);
-
-	pw.println();
-}
diff --git a/src/XSLT/ProblemListenerDefault.hpp b/src/XSLT/ProblemListenerDefault.hpp
deleted file mode 100644
index 5615518..0000000
--- a/src/XSLT/ProblemListenerDefault.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_PROBLEMLISTENERDEFAULT_HEADER_GUARD)
-#define XALAN_PROBLEMLISTENERDEFAULT_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Xalan header files.
-#include <XSLT/ProblemListener.hpp>
-
-
-
-/**
- * The implementation of the default error handling for Xalan.
- */
-class XALAN_XSLT_EXPORT ProblemListenerDefault : public ProblemListener
-{
-public:
-
-	ProblemListenerDefault(PrintWriter*		pw = 0);
-
-	virtual
-	~ProblemListenerDefault();
-
-	// These methods are inherited from ProblemListener ...
-	
-	virtual void
-	setPrintWriter(PrintWriter*		pw);
-
-	virtual void
-	problem(
-			eProblemSource			where,
-			eClassification			classification, 
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset);
-
-	// These methods are new...
-
-	PrintWriter*
-	getPrintWriter() const
-	{
-		return m_pw;
-	}
-
-	static void
-	problem(
-			PrintWriter&			pw,
-			eProblemSource			where,
-			eClassification			classification, 
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset);
-
-private:
-
-	PrintWriter*	m_pw;
-};
-
-
-
-#endif	// XALAN_PROBLEMLISTENERDEFAULT_HEADER_GUARD
diff --git a/src/XSLT/ResultNamespacesStack.cpp b/src/XSLT/ResultNamespacesStack.cpp
deleted file mode 100644
index 3bed008..0000000
--- a/src/XSLT/ResultNamespacesStack.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file...
-#include "ResultNamespacesStack.hpp"
-
-
-
-ResultNamespacesStack::ResultNamespacesStack() :
-	m_resultNamespaces(),
-	m_createNewContextStack()
-{
-}
-
-
-
-ResultNamespacesStack::~ResultNamespacesStack()
-{
-}
-
-
-
-void
-ResultNamespacesStack::addDeclaration(
-			const XalanDOMString&	thePrefix,
-			const XalanDOMString&	theNamespaceURI)
-{
-	assert(m_createNewContextStack.size() != 0);
-
-	// Check to see if we need to create a new context and do so if necessary...
-	if (m_createNewContextStack.back() == true)
-	{
-		m_resultNamespaces.resize(m_resultNamespaces.size() + 1);
-
-		m_resultNamespaces.back().resize(1);
-
-		m_createNewContextStack.back() = false;
-	}
-
-	NamespaceVectorType&	theCurrentNamespaces = m_resultNamespaces.back();
-
-	NameSpace&				theCurrentNamespace = theCurrentNamespaces.front();
-
-	// If the last vector contains only an empty namespace, replace it with a
-	// new vector containing only this namespace
-	if(length(theCurrentNamespace.getURI()) == 0 &&
-	   length(theCurrentNamespace.getPrefix()) == 0)
-	{
-		theCurrentNamespace.setPrefix(thePrefix);
-
-		theCurrentNamespace.setURI(theNamespaceURI);
-	}
-	else
-	{
-		// Otherwise, add the namespace at the end of the current namespaces.
-		theCurrentNamespaces.push_back(NameSpace(thePrefix, theNamespaceURI));
-	}
-}
-
-
-
-void
-ResultNamespacesStack::pushContext()
-{
-	if (m_createNewContextStack.size() == 0)
-	{
-		m_createNewContextStack.reserve(eDefaultCreateNewContextStackSize);
-	}
-
-	m_createNewContextStack.push_back(true);
-}
-
-
-
-void
-ResultNamespacesStack::popContext()
-{
-	assert(m_createNewContextStack.size() != 0);
-
-	if (m_createNewContextStack.back() == false)
-	{
-		assert(m_resultNamespaces.size() != 0);
-
-		m_resultNamespaces.pop_back();
-	}
-
-	m_createNewContextStack.pop_back();
-}
-
-
-
-const XalanDOMString*
-ResultNamespacesStack::getNamespaceForPrefix(const XalanDOMString&	thePrefix) const
-{
-	// Search vector from first element back
-	return XalanQName::getNamespaceForPrefix(m_resultNamespaces, thePrefix, true);
-}
-
-
-
-const XalanDOMString*
-ResultNamespacesStack::getPrefixForNamespace(const XalanDOMString&	theNamespaceURI) const
-{
-	// Search vector from first element back
-	return XalanQName::getPrefixForNamespace(m_resultNamespaces, theNamespaceURI, true);
-}
-
-
-
-bool
-ResultNamespacesStack::prefixIsPresentLocal(const XalanDOMString&	thePrefix)
-{
-	bool	fResult = false;
-
-	// Check to see if we need to create a new context.  If so, there are
-	// no prefixes mapped at this level, so return false...
-	if (m_createNewContextStack.back() == false)
-	{
-		const NamespaceVectorType&	theNamespaces =
-			m_resultNamespaces.back();
-
-		NamespaceVectorType::const_iterator			i = theNamespaces.begin();
-		const NamespaceVectorType::const_iterator	theEnd = theNamespaces.end();
-
-		while(i != theEnd && fResult == false)
-		{
-			const NameSpace&		ns = (*i);
-
-			const XalanDOMString&	thisPrefix = ns.getPrefix();
-
-			if(::equals(thePrefix, thisPrefix))
-			{
-				fResult = true;
-			}
-			else
-			{
-				++i;
-			}
-		}
-	}
-
-	return fResult;
-}
-
-
-
-void
-ResultNamespacesStack::clear()
-{
-	m_resultNamespaces.clear();
-
-	m_createNewContextStack.clear();
-}
diff --git a/src/XSLT/ResultNamespacesStack.hpp b/src/XSLT/ResultNamespacesStack.hpp
deleted file mode 100644
index 1e20dc4..0000000
--- a/src/XSLT/ResultNamespacesStack.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_RESULTNAMESPACESSTACK_HEADER_GUARD)
-#define XALAN_RESULTNAMESPACESSTACK_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/XalanQName.hpp>
-
-
-
-class XALAN_XSLT_EXPORT ResultNamespacesStack
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<bool>					BoolVectorType;
-#else
-	typedef std::vector<bool>				BoolVectorType;
-#endif
-
-	typedef XalanQName::NamespaceVectorType		NamespaceVectorType;
-	typedef XalanQName::NamespacesStackType		NamespacesStackType;
-
-	typedef NamespacesStackType::size_type		size_type;
-
-
-	explicit
-	ResultNamespacesStack();
-
-	~ResultNamespacesStack();
-
-	void
-	addDeclaration(
-			const XalanDOMString&	thePrefix,
-	        const XalanDOMString&	theNamespaceURI);
-
-	void
-	pushContext();
-
-	void
-	popContext();
-
-	const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		thePrefix) const;
-
-	const XalanDOMString*
-	getPrefixForNamespace(const XalanDOMString&		theNamespaceURI) const;
-
-
-	/**
-	 * See if the prefix has been mapped to a namespace in the current
-	 * context, without looking down the stack of namespaces.
-	 */
-	bool
-	prefixIsPresentLocal(const XalanDOMString&	thePrefix);
-
-	void
-	clear();
-
-	size_type
-	size() const
-	{
-		return m_resultNamespaces.size();
-	}
-
-private:
-
-	// not implemented
-	ResultNamespacesStack(const ResultNamespacesStack&);
-
-	bool
-	operator==(const ResultNamespacesStack&) const;
-
-	ResultNamespacesStack&
-	operator=(const ResultNamespacesStack&);
-
-	enum { eDefaultCreateNewContextStackSize = 100 };
-
-	/**
-	 * A stack to keep track of the result tree namespaces.
-	 */
-	NamespacesStackType		m_resultNamespaces;
-
-	BoolVectorType			m_createNewContextStack;
-};
-
-
-
-#endif	// XALAN_RESULTNAMESPACESSTACK_HEADER_GUARD
diff --git a/src/XSLT/ResultTreeFrag.cpp b/src/XSLT/ResultTreeFrag.cpp
deleted file mode 100644
index 27aca7e..0000000
--- a/src/XSLT/ResultTreeFrag.cpp
+++ /dev/null
@@ -1,452 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "ResultTreeFrag.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDocumentFragment.hpp>
-
-
-
-const XalanDOMString	ResultTreeFrag::s_emptyString;
-
-
-
-ResultTreeFrag::ResultTreeFrag(XalanSourceTreeDocumentFragment*		theDocumentFragment) :
-	ResultTreeFragBase(),
-	XalanNodeList(),
-	m_documentFragment(theDocumentFragment)
-{
-}
-
-
-
-ResultTreeFrag::ResultTreeFrag(
-			const ResultTreeFrag&	theSource,
-			bool					deepClone) :
-	ResultTreeFragBase(theSource),
-	m_documentFragment(theSource.m_documentFragment == 0 ? 0 : theSource.m_documentFragment->clone(deepClone))
-{
-}
-
-
-
-ResultTreeFrag::~ResultTreeFrag()
-{
-}
-
-
-
-XalanNode*
-ResultTreeFrag::getNodesetRoot() const
-{
-	if (m_documentFragment != 0)
-	{
-		return m_documentFragment;
-	}
-	else
-	{
-		// I hate to do this, but since all of the non-const
-		// member functions will throw exceptions, I can live
-		// with it.
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return (ResultTreeFrag*)this;
-#else
-		return const_cast<ResultTreeFrag*>(this);
-#endif
-	}
-}
-
-
-
-void
-ResultTreeFrag::clear()
-{
-	if (m_documentFragment != 0)
-	{
-		m_documentFragment->clearChildren();
-	}
-}
-
-
-
-const XalanDOMString&
-ResultTreeFrag::getNodeName() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-ResultTreeFrag::getNodeValue() const
-{
-	return s_emptyString;
-}
-
-
-
-ResultTreeFrag::NodeType
-ResultTreeFrag::getNodeType() const
-{
-	return DOCUMENT_FRAGMENT_NODE;
-}
-
-
-
-XalanNode*
-ResultTreeFrag::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-ResultTreeFrag::getChildNodes() const
-{
-	return this;
-}
-
-
-
-XalanNode*
-ResultTreeFrag::getFirstChild() const
-{
-	if (m_documentFragment != 0)
-	{
-		return m_documentFragment->getFirstChild();
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-XalanNode*
-ResultTreeFrag::getLastChild() const
-{
-	if (m_documentFragment != 0)
-	{
-		return m_documentFragment->getLastChild();
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-XalanNode*
-ResultTreeFrag::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-ResultTreeFrag::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-ResultTreeFrag::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-ResultTreeFrag::getOwnerDocument() const
-{
-	if (m_documentFragment != 0)
-	{
-		return m_documentFragment->getOwnerDocument();
-	}
-	else
-	{
-		return 0;
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-ResultTreeFrag*
-#endif
-ResultTreeFrag::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return new ResultTreeFrag(
-		*this,
-		deep);
-#else
-	return clone(deep);
-#endif
-}
-
-
-
-XalanNode*
-ResultTreeFrag::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-ResultTreeFrag::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-ResultTreeFrag::appendChild(XalanNode*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-ResultTreeFrag::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-bool
-ResultTreeFrag::hasChildNodes() const
-{
-	if (m_documentFragment != 0)
-	{
-		return m_documentFragment->hasChildNodes();
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-void
-ResultTreeFrag::setNodeValue(const XalanDOMString&	/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-ResultTreeFrag::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-ResultTreeFrag::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-ResultTreeFrag::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-ResultTreeFrag::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-ResultTreeFrag::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-ResultTreeFrag::setPrefix(const XalanDOMString&		/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-ResultTreeFrag::isIndexed() const
-{
-	return false;
-}
-
-
-
-unsigned long
-ResultTreeFrag::getIndex() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-ResultTreeFragBase*
-#else
-ResultTreeFrag*
-#endif
-ResultTreeFrag::clone(bool	deep) const
-{
-	return new ResultTreeFrag(*this, deep);
-}
-
-
-
-XalanNode*
-ResultTreeFrag::item(unsigned int	index) const
-{
-	assert(index < getLength());
-
-	if (m_documentFragment == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		XalanNode*	theCurrentChild = m_documentFragment->getFirstChild();
-
-		for(unsigned int i = 0; i < index && theCurrentChild != 0; ++i)
-		{
-			theCurrentChild = theCurrentChild->getNextSibling();
-		}
-
-		return theCurrentChild;
-	}
-}
-
-
-
-unsigned int
-ResultTreeFrag::getLength() const
-{
-	if (m_documentFragment == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		unsigned int	theLength = 0;
-
-		XalanNode*	theCurrentChild = m_documentFragment->getFirstChild();
-
-		while(theCurrentChild != 0)
-		{
-			++theLength;
-			theCurrentChild = theCurrentChild->getNextSibling();
-		}
-
-		return theLength;
-	}
-}
diff --git a/src/XSLT/ResultTreeFrag.hpp b/src/XSLT/ResultTreeFrag.hpp
deleted file mode 100644
index 95bbf1f..0000000
--- a/src/XSLT/ResultTreeFrag.hpp
+++ /dev/null
@@ -1,253 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(RESULTTREEFRAG_HEADER_GUARD_1357924680)
-#define RESULTTREEFRAG_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-#include <XPath/ResultTreeFragBase.hpp>
-
-
-
-class XalanSourceTreeDocumentFragment;
-
-
-
-/**
- * The holder of result tree fragments.
- */
-class XALAN_XSLT_EXPORT ResultTreeFrag : public ResultTreeFragBase, private XalanNodeList
-{
-public:
-
-	/**
-	 * Construct a result tree fragment object from a DOM document.
-	 */
-	explicit
-	ResultTreeFrag(XalanSourceTreeDocumentFragment*	theDocumentFragment = 0);
-
-	/**
-	 * Construct a result tree fragment object from another.
-	 * 
-	 * @param theSource source to copy
-	 * @param deepClone true if subobjects should be copied, default is false
-	 */
-	ResultTreeFrag(
-			const ResultTreeFrag&	theSource,
-			bool					deepClone = false);
-
-	virtual
-	~ResultTreeFrag();
-
-
-	// These interfaces are new...
-
-	void
-	clear();
-
-
-	// These interfaces are inherited from ResultTreeFragBase...
-
-	virtual XalanNode*
-	getNodesetRoot() const;
-
-
-	// These interfaces are inherited from XalanDocumentFragment...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual ResultTreeFrag*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const;
-
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual ResultTreeFragBase*
-#else
-	virtual ResultTreeFrag*
-#endif
-	clone(bool	deep) const;
-
-	XalanSourceTreeDocumentFragment*
-	getDocumentFragment() const
-	{
-		return m_documentFragment;
-	}
-
-	void
-	setDocumentFragment(XalanSourceTreeDocumentFragment*	theDocumentFragment)
-	{
-		m_documentFragment = theDocumentFragment;
-	}
-
-private:
-
-	// These methods are inherited from XalanNodeList...
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual unsigned int
-	getLength() const;
-
-
-	// Not defined
-	ResultTreeFrag&
-	operator=(const ResultTreeFrag&		theRHS);
-
-	bool
-	operator==(const ResultTreeFrag&	theRHS) const;
-
-	// Data members...
-	XalanSourceTreeDocumentFragment*	m_documentFragment;
-
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-#endif	// RESULTTREEFRAG_HEADER_GUARD_1357924680
diff --git a/src/XSLT/ResultTreeFragAllocator.cpp b/src/XSLT/ResultTreeFragAllocator.cpp
deleted file mode 100644
index 2e4f52b..0000000
--- a/src/XSLT/ResultTreeFragAllocator.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "ResultTreeFragAllocator.hpp"
-
-
-
-ResultTreeFragAllocator::ResultTreeFragAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-ResultTreeFragAllocator::~ResultTreeFragAllocator()
-{
-}
-
-
-
-
-ResultTreeFragAllocator::data_type*
-ResultTreeFragAllocator::create(XalanSourceTreeDocumentFragment*	theValue)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theValue);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-ResultTreeFragAllocator::data_type*
-ResultTreeFragAllocator::create(const data_type&	theSource)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) data_type(theSource);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool
-ResultTreeFragAllocator::destroy(data_type*	theObject)
-{
-	return m_allocator.destroyObject(theObject);
-}
-
-
-
-void 
-ResultTreeFragAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XSLT/ResultTreeFragAllocator.hpp b/src/XSLT/ResultTreeFragAllocator.hpp
deleted file mode 100644
index 39bd52f..0000000
--- a/src/XSLT/ResultTreeFragAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(RESULTTREEFRAGALLOCATOR_INCLUDE_GUARD_12455133)
-#define RESULTTREEFRAGALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XSLT/ResultTreeFrag.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XSLT_EXPORT ResultTreeFragAllocator
-{
-public:
-
-	typedef ResultTreeFrag						data_type;
-
-	typedef ReusableArenaAllocator<data_type>	ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type		size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	ResultTreeFragAllocator(size_type	theBlockCount);
-
-	~ResultTreeFragAllocator();
-	
-	/**
-	 * Create a ResultTreeFrag object.
-	 * 
-	 * @param theValue The constructor parameter
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(XalanSourceTreeDocumentFragment*		theValue);
-
-	/**
-	 * Create a ResultTreeFrag object.
-	 * 
-	 * @param theSource	source instance
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(const data_type&	theSource);
-
-	/**
-	 * Delete a ResultTreeFrag object from allocator.	 
-	 */
-	bool
-	destroy(data_type*	theObject);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const data_type*		theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all ResultTreeFrag objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	ResultTreeFragAllocator(const ResultTreeFragAllocator&);
-
-	ResultTreeFragAllocator&
-	operator=(const ResultTreeFragAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XRESULTTREEFRAGALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XSLT/SelectionEvent.cpp b/src/XSLT/SelectionEvent.cpp
deleted file mode 100644
index 9be14d6..0000000
--- a/src/XSLT/SelectionEvent.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "SelectionEvent.hpp"
-
-
-  /**
-   * Create an event originating at the given node of the style tree.
-   * @param processor The XSLT Processor.
-   * @param sourceTree The input source tree.
-   * @param sourceNode The current context node.
-   * @param m_styleNode node in the style tree reference for the event.
-   * Should not be null.  That is not enforced.
-   */
-
-SelectionEvent::SelectionEvent(
-			StylesheetExecutionContext&		executionContext,
-			const XalanNode*				sourceNode,
-			const ElemTemplateElement&		styleNode,
-			const XalanDOMString&			attributeName,
-			const XPath&					xpath,
-			const XObjectPtr				selection) :
-	m_executionContext(executionContext),
-	m_sourceNode(sourceNode),
-	m_styleNode(styleNode),
-	m_attributeName(attributeName),
-	m_xpath(xpath),
-	m_selection(selection)
-{
-}
-
-
-
-SelectionEvent::~SelectionEvent()
-{
-}
diff --git a/src/XSLT/SelectionEvent.hpp b/src/XSLT/SelectionEvent.hpp
deleted file mode 100644
index 9ad0319..0000000
--- a/src/XSLT/SelectionEvent.hpp
+++ /dev/null
@@ -1,146 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_SelectionEvent_HEADER_GUARD)
-#define XALAN_SelectionEvent_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/XObject.hpp>
-
-
-class XalanNode;
-class ElemTemplateElement;
-class StylesheetExecutionContext;
-class XPath;
-
-
-
-class XALAN_XSLT_EXPORT SelectionEvent
-{
-public:
-
-  /**
-   * Create an event originating at the given node of the style tree.
-	*
-   * @param processor   XSLT Processor.
-   * @param sourceTree  input source tree.
-   * @param sourceNode  current context node.
-   * @param mode        current mode.
-   * @param m_styleNode node in the style tree reference for the event
-   *                    (should not be null, not enforced)
-   */
-	SelectionEvent(
-			StylesheetExecutionContext&		executionContext,
-			const XalanNode*				sourceNode,
-			const ElemTemplateElement&		styleNode,
-			const XalanDOMString&			attributeName,
-			const XPath&					xpath,
-			const XObjectPtr				selection);
-
-	virtual
-	~SelectionEvent();
-
-	/**
-	 * The executionContext instance.
-	 */
-	const StylesheetExecutionContext&	m_executionContext;
-
-	/**
-	 * The current context node.
-	 */
-	const XalanNode*					m_sourceNode;
-  
-	/**
-	 * The node in the style tree where the event occurs.
-	 */
-	const ElemTemplateElement&			m_styleNode;
-
-	/**
-	 * The attribute name from which the selection is made.
-	 */
-	const XalanDOMString				m_attributeName;
-
-	/**
-	 * The XPath that executed the selection.
-	 */
-	const XPath&						m_xpath;
-  
-	/**
-	 * The result of the selection.  If it's null, m_sourceNode
-	 * was selected.
-	 */
-	const XObjectPtr					m_selection;
-
-private:
-
-	// Unimplemented...
-	SelectionEvent&
-	operator=(const SelectionEvent&	other);
-};
-
-
-
-#endif	//XALAN_SelectionEvent_HEADER_GUARD
diff --git a/src/XSLT/StackEntry.cpp b/src/XSLT/StackEntry.cpp
deleted file mode 100644
index 785b5ae..0000000
--- a/src/XSLT/StackEntry.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "StackEntry.hpp"
-
-
-
-#if !defined(NDEBUG)
-unsigned long	StackEntry::s_instanceCount = 0;
-#endif
-
-
-
-StackEntry::StackEntry(eStackEntryType	theType) :
-	m_type(theType)
-{
-#if !defined(NDEBUG)
-	++s_instanceCount;
-#endif
-}
-
-
-
-StackEntry::StackEntry(const StackEntry&	theSource) :
-	m_type(theSource.m_type)
-{
-#if !defined(NDEBUG)
-	++s_instanceCount;
-#endif
-}
-
-
-
-StackEntry::~StackEntry()
-{
-#if !defined(NDEBUG)
-	--s_instanceCount;
-#endif
-}
-
-
-
-
diff --git a/src/XSLT/StackEntry.hpp b/src/XSLT/StackEntry.hpp
deleted file mode 100644
index 02433e9..0000000
--- a/src/XSLT/StackEntry.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_STACKENTRY_HEADER_GUARD)
-#define XALAN_STACKENTRY_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-// Base class for all stack items.
-class StackEntry
-{
-public:
-
-	virtual
-	~StackEntry();
-
-	/**
-	 * Enumeration for types of stack entries, one of context state, context
-	 * marker, element marker, or argument.
-	 */
-	enum eStackEntryType { eContextState,
-						   eContextMarker,
-						   eElementMarker,
-						   eArgument,
-						   eElementFrameMarker,
-						   eNextValue };
-
-	/**
-	 * Determine type of stack entry
-	 * 
-	 * @return enumeration value for type
-	 */
-	eStackEntryType
-	getType() const
-	{
-		return m_type;
-	}
-
-#if !defined(NDEBUG)
-	static unsigned long
-	getInstanceCount()
-	{
-		return s_instanceCount;
-	}
-#endif
-
-
-protected:
-
-	StackEntry(eStackEntryType	theType);
-
-	StackEntry(const StackEntry&	theSource);
-
-private:
-
-#if !defined(NDEBUG)
-	static unsigned long	s_instanceCount;
-#endif
-
-	// Data members...
-	eStackEntryType		m_type;
-};
-
-
-
-#endif	// XALAN_STACKENTRY_HEADER_GUARD
-
diff --git a/src/XSLT/Stylesheet.hpp b/src/XSLT/Stylesheet.hpp
deleted file mode 100644
index 03b4217..0000000
--- a/src/XSLT/Stylesheet.hpp
+++ /dev/null
@@ -1,1286 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_STYLESHEET_HEADER_GUARD)
-#define XALAN_STYLESHEET_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <deque>
-#include <map>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanEmptyNamedNodeMap.hpp>
-#include <XalanDOM/XalanNodeListSurrogate.hpp>
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <XPath/NameSpace.hpp>
-#include <XPath/XalanQNameByReference.hpp>
-
-
-
-#include "NamespacesHandler.hpp"
-#include "KeyDeclaration.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-class AttributeList;
-class ExtensionNSHandler;
-class XalanDecimalFormatSymbols;
-class ElemAttributeSet;
-class ElemDecimalFormat;
-class ElemTemplate;
-class ElemTemplateElement;
-class ElemVariable;
-class KeyTable;
-class NodeRefListBase;
-class PrefixResolver;
-class StylesheetConstructionContext;
-class StylesheetRoot;
-class XMLURL;
-class XObject;
-class XPath;
-class StylesheetExecutionContext;
-
-
-
-/**
- * This class represents the base stylesheet or an "import" stylesheet.
- * "include" stylesheets are combined with the including stylesheet.
- */
-class XALAN_XSLT_EXPORT Stylesheet : public XalanDocument, protected PrefixResolver
-{	
-
-public:
-
-	typedef StylesheetExecutionContext::ParamVectorType		ParamVectorType;
-	typedef NamespacesHandler::NamespaceVectorType			NamespaceVectorType;
-	typedef NamespacesHandler::NamespacesStackType			NamespacesStackType;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				XalanDOMString,
-				less<XalanDOMString> >				StringToStringMapType;
-	typedef map<XalanDOMString,
-				ExtensionNSHandler*,
-				less<XalanDOMString> >				ExtensionNamespacesMapType;
-	typedef map<XalanQNameByReference,
-				ElemTemplate*,
-				less<XalanQName> >					ElemTemplateMapType;
-	typedef vector<ElemAttributeSet*> 				AttributeSetVectorType;
-	typedef vector<ElemVariable*> 					ElemVariableVectorType;
-	typedef vector<KeyDeclaration>					KeyDeclarationVectorType;
-	typedef map<const XalanNode*,
-				KeyTable*,
-				less<const XalanNode*> >			KeyTablesTableType;
-	typedef vector<XalanQNameByValue> 				QNameVectorType;
-	typedef vector<Stylesheet*>						StylesheetVectorType;
-	typedef vector<XalanDOMString>					URLStackType;
-	typedef vector<const XPath*>					XPathVectorType;
-	typedef vector<ElemDecimalFormat*>				ElemDecimalFormatVectorType;
-#else
-	typedef std::map<XalanDOMString, XalanDOMString>		StringToStringMapType;
-	typedef std::map<XalanDOMString, ExtensionNSHandler*>	ExtensionNamespacesMapType;
-	typedef std::map<XalanQNameByReference, ElemTemplate*>	ElemTemplateMapType;
-	typedef std::vector<ElemAttributeSet*> 					AttributeSetVectorType;
-	typedef std::vector<ElemVariable*> 						ElemVariableVectorType;
-	typedef std::vector<KeyDeclaration>						KeyDeclarationVectorType;
-	typedef std::map<const XalanNode*, KeyTable*>			KeyTablesTableType;
-	typedef std::vector<XalanQNameByValue> 					QNameVectorType;
-	typedef std::vector<Stylesheet*>						StylesheetVectorType;
-	typedef std::vector<XalanDOMString>						URLStackType;
-	typedef std::vector<const XPath*>						XPathVectorType;
-	typedef std::vector<ElemDecimalFormat*>					ElemDecimalFormatVectorType;
-#endif
-
-	/**
-	 * 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.
-	 */
-	Stylesheet(
-			StylesheetRoot& 				root,
-			const XalanDOMString&			baseIdentifier,
-			StylesheetConstructionContext&	constructionContext);
-
-	virtual
-	~Stylesheet();
-
-	/**
-	 * Retrieve XSLT version number
-	 * 
-	 * @return number representing XSLT version
-	 */
-	double
-	getXSLTVerDeclared() const
-	{
-		return m_XSLTVerDeclared;
-	}
-
-	/**
-	 * Set XSLT version number
-	 * 
-	 * @param ver number representing XSLT version
-	 */
-	void
-	setXSLTVerDeclared(double ver)
-	{
-		m_XSLTVerDeclared = ver;
-	}
-
-	/**
-	 * Retrieve the root stylesheet object
-	 * 
-	 * @return const reference to the stylesheet object
-	 */
-	const StylesheetRoot&
-	getStylesheetRoot() const
-	{
-		return m_stylesheetRoot;
-	}
-
-	/**
-	 * Retrieve the root stylesheet object
-	 * 
-	 * @return reference to the stylesheet object
-	 */
-	StylesheetRoot&
-	getStylesheetRoot()
-	{
-		return m_stylesheetRoot;
-	}
-
-	/**
-	 * Retrieve the stack of namespace lists
-	 * 
-	 * @return vector of namespace vectors
-	 */
-	const NamespacesStackType&
-	getNamespaces() const
-	{ 
-		return m_namespaces;
-	}
-
-	/**
-	 * Retrieve the stack of namespace lists
-	 * 
-	 * @return vector of namespace vectors
-	 */
-	NamespacesStackType&
-	getNamespaces()
-	{ 
-		return m_namespaces;
-	}
-
-	const NamespacesHandler&
-	getNamespacesHandler() const
-	{
-		return m_namespacesHandler;
-	}
-
-	NamespacesHandler&
-	getNamespacesHandler()
-	{
-		return m_namespacesHandler;
-	}
-
-	/**
-	 * Retrieve the list of namespace declarations currently in effect
-	 * 
-	 * @return vector of namespace vectors
-	 */
-	const NamespaceVectorType&
-	getNamespaceDecls() const
-	{
-		return m_namespaceDecls;
-	}
-
-	/**
-	 * Retrieve the list of namespace declarations currently in effect
-	 * 
-	 * @return vector of namespace vectors
-	 */
-	NamespaceVectorType&
-	getNamespaceDecls()
-	{
-		return m_namespaceDecls;
-	}
-
-	/**
-	 * Set the list of namespace declarations currently in effect
-	 * 
-	 * @param ns vector of namespace vectors
-	 */
-	void
-	setNamespaceDecls(const NamespaceVectorType& ns)
-	{
-		m_namespaceDecls = ns;
-	}
-
-	/** 
-	 * Push the namespace declarations from the current attribute 
-	 * list onto the namespace stack.
-	 * 
-	 * @param atts attribute list constaining namespaces
-	 */
-	void
-	pushNamespaces(const AttributeList& 	atts);
-
-	/**
-	 * Pop a namespace declaration from the namespace stack.
-	 */
-	void
-	popNamespaces()
-	{
-		assert(m_namespaces.empty() == false);
-
-		m_namespaces.pop_back(); 
-	}
-
-	/**
-	 * Called after construction is completed.
-	 */
-	virtual void
-	postConstruction(StylesheetConstructionContext&		constructionContext);
-
-	/** 
-	 * See if this is a xmlns attribute, and, if so, process it.
-	 * 
-	 * @param attrName qualified name of attribute
-	 * @param atts	   attribute list where the element comes from (not used at 
-	 *				   this time)
-	 * @param which    index into the attribute list (not used at this time)
-	 * @return		   true if this is a namespace name
-	 */
-	bool
-	isAttrOK(
-			const XalanDOMChar*				attrName,
-			const AttributeList&			atts,
-			int 							which,
-			StylesheetConstructionContext&	constructionContext) const;
-
-	/**
-	 * Get the namespace from a qualified name.
-	 * 
-	 * @param nodeName name of node
-	 * @return namespace string for node, or null if not found.
-	 */
-	const XalanDOMString*
-	getNamespaceFromStack(const XalanDOMString& 	nodeName) const
-	{
-		return getNamespaceFromStack(c_wstr(nodeName));
-	}
-
-	/**
-	 * Get the namespace from a qualified name.
-	 * 
-	 * @param nodeName name of node
-	 * @return namespace string for node, or null if not found.
-	 */
-	const XalanDOMString*
-	getNamespaceFromStack(const XalanDOMChar* 	nodeName) const;
-
-	/**
-	 * Get the namespace from a prefix by searching the stack of namespace
-	 * lists.
-	 * 
-	 * @param prefix prefix to search
-	 * @return namespace corresponding to prefix, or null if not found.
-	 */
-	const XalanDOMString*
-	getNamespaceForPrefixFromStack(const XalanDOMString&	prefix) const
-	{
-		return XalanQName::getNamespaceForPrefix(m_namespaces, prefix);
-	}
-
-	/**
-	 * Get the namespace from a prefix by searching the stack of namespace
-	 * lists.
-	 * 
-	 * @param prefix prefix to search
-	 * @return namespace corresponding to prefix, or null if not found.
-	 */
-	const XalanDOMString*
-	getNamespaceForPrefixFromStack(const XalanDOMChar*	prefix) const
-	{
-		assert(prefix != 0);
-
-		return XalanQName::getNamespaceForPrefix(m_namespaces, XalanDOMString(prefix));
-	}
-
-	/**
-	 * See if there is a namespace alias.
-	 * 
-	 * @param uri the URI of the namespace.
-	 * @return the alias URI, if found.
-	 */
-	XalanDOMString
-	getAliasNamespaceURI(const XalanDOMChar*	uri) const;
-
-	/**
-	 * See if there is a namespace alias.
-	 * 
-	 * @param uri the URI of the namespace.
-	 * @return the alias URI, if found.
-	 */
-	XalanDOMString
-	getAliasNamespaceURI(const XalanDOMString&	uri) const;
-
-	/**
-	 * See if a namespace should be excluded.
-	 * 
-	 * @param theValue the prefix of the namespace.
-	 * @param theConstructionContext the current construction context.
-	 * @return
-	 */
-	void
-	processExcludeResultPrefixes(
-		const XalanDOMChar*				theValue,
-		StylesheetConstructionContext&	theConstructionContext)
-	{
-		m_namespacesHandler.processExcludeResultPrefixes(
-				theValue,
-				m_namespaces,
-				theConstructionContext);
-	}
-
-	/**
-	 * Add a template to the list of names templates
-	 * 
-	 * @param theTemplate template to add
-	 * @param constructionContext context for construction
-	 */
-	void
-	addTemplate(
-			ElemTemplate*					theTemplate,
-			StylesheetConstructionContext&	constructionContext);
-
-	/**
-	 * Process an attribute that has the value of 'yes' or 'no'.
-	 * 
-	 * @param aname name of attribute
-	 * @param val value
-	 * @param constructionContext context for construction
-	 * @return true if value equals string constant for "yes," false otherwise
-	 */
-	bool
-	getYesOrNo(
-			const XalanDOMChar*				aname,
-			const XalanDOMChar*				val,
-			StylesheetConstructionContext&	constructionContext) const;
-
-	/**
-	 * Tell if this is the root of the stylesheet tree.
-	 * 
-	 * @return true if it is the root
-	 */
-	bool
-	isRoot() const
-	{
-		return m_isRoot;
-	}
-
-	/**
-	 * Retrieve the base identifier with which this stylesheet is associated.
-	 * 
-	 * @return string for base identifier
-	 */
-	const XalanDOMString&
-	getBaseIdentifier() const
-	{
-		return m_baseIdent;
-	}
-
-	/**
-	 * Set the base identifier with which this stylesheet is associated.
-	 * 
-	 * @param str string for base identifier
-	 */
-	void
-	setBaseIdentifier(const XalanDOMString&		str)
-	{
-		m_baseIdent = str;
-	}
-
-	/**
-	 * Retrieve the base identifier for the most recently
-	 * included stylesheet.  This will return the same value
-	 * as getBaseIdentifier(), if no include is being
-	 * processed.
-	 * 
-	 * @return string for base identifier
-	 */
-	const XalanDOMString&
-	getCurrentIncludeBaseIdentifier() const
-	{
-		return m_includeStack.size() == 0 ? getBaseIdentifier() : m_includeStack.back();
-	}
-
-	/**
-	 * Process an xsl:namespace-alias element.
-	 *
-	 * @param name   the element name.
-	 * @param attrs	 the current attribute list
-	 * @param constructionContext  the active construction context
-	 */
-	void
-	processNSAliasElement(
-			const XalanDOMChar*				name,
-			const AttributeList&			atts,
-			StylesheetConstructionContext&	constructionContext);
-
-	/**
-	 * Process an xsl:decimal-format element.
-	 *
-	 * @param elemDecimalFormat   the element
-	 */
-	void
-	processDecimalFormatElement(ElemDecimalFormat*	elemDecimalFormat)
-	{
-		assert(elemDecimalFormat != 0);
-
-		m_elemDecimalFormats.push_back(elemDecimalFormat);
-	}
-
-	/**
-	 * Retrieve the XalanDecimalFormatSymbols instance associated with
-	 * the QName.
-	 *
-	 * @param theQName the QName for the lookup
-	 * @return a pointer to the matching instance, or 0 if none was found
-	 */
-	const XalanDecimalFormatSymbols*
-	getDecimalFormatSymbols(const XalanQName&	theQName) const;
-
-	/**
-	 * Add an attribute set to the list.
-	 *
-	 * @param attrSet pointer to attribute set to add
-	 */
-	void
-	addAttributeSet(ElemAttributeSet*	attrSet)
-	{
-		assert(attrSet != 0);
-
-		m_attributeSets.push_back(attrSet);
-	}
-
-	/**
-	 * Apply the set of named attributes to a node in a given context with a
-	 * given mode
-	 *
-	 * @param attributeSetsNames list of attribute set names
-	 * @param executionContext	 current execution context
-	 * @param sourceNode		 source node
-	 */
-	void
-	applyAttrSets(
-			const QNameVectorType&			attributeSetsNames,
-			StylesheetExecutionContext& 	executionContext,
-			XalanNode*						sourceNode) const;
-
-	/**
-	 * Add an imported stylesheet.
-	 *
-	 * @param theStylesheet The stylesheet to add.
-	 * @param fFront If true, the stylesheet is added to the front of the imports, instead of the end.
-	 */
-	void
-	addImport(
-			Stylesheet*		theStylesheet,
-			bool			fFront)
-	{
-		m_imports.insert(fFront ? m_imports.begin() : m_imports.end(), theStylesheet);
-	}
-
-	/**
-	 * Retrieve the manufactured template to use if there is no wrapper.
-	 * 
-	 * @return pointer to template
-	 */
-	const ElemTemplate*
-	getWrapperlessTemplate()
-	{
-		return m_wrapperlessTemplate;
-	}
-
-	/**
-	 * Set the manufactured template to use if there is no wrapper.
-	 * 
-	 * @param templ template to use
-	 */
-	void
-	setWrapperlessTemplate(ElemTemplate*	templ)
-	{
-		m_wrapperlessTemplate = templ;
-	}
-
-	/**
-	 * whether there is a wrapper template
-	 * 
-	 * @return true is there is a wrapper
-	 */
-	bool
-	isWrapperless() const
-	{
-		return m_isWrapperless;
-	}
-
-	/**
-	 * Set whether there is a wrapper template
-	 * 
-	 * @param b true is there is a wrapper
-	 */
-	void
-	setWrapperless(bool b)
-	{
-		m_isWrapperless = b;
-	}
-
-	/**
-	 * Retrieve the stack of who's including who
-	 * 
-	 * @return stack of includes
-	 */
-	URLStackType&
-	getIncludeStack()
-	{
-		return m_includeStack;
-	}
-
-	/**
-	 * Process the xsl:key element.
-	 * 
-	 * @param nsContext 		  element providing context for namespaces
-	 * @param atts				  attribute list for element
-	 * @param constructionContext context for evaluation
-	 */
-	/*
-	 * (Notes to myself)
-	 * What we need to do is:
-	 * 1) As this function is called, build a table of KeyDeclarations.
-	 * 2) During either XML processing, or upon request, walk the XML 
-	 * document tree, and build a hash table:
-	 * a) keyed by name,
-	 * b) each with a value of a hashtable, keyed by the value returned by 
-	 *	  the use attribute,
-	 * c) each with a value that is a nodelist.
-	 * Thus, for a given key or keyref, look up hashtable by name, 
-	 * look up the nodelist by the given reference.
-	 */
-	void
-	processKeyElement(
-			ElemTemplateElement*			nsContext,
-			const AttributeList&			atts,
-			StylesheetConstructionContext&	constructionContext);
-
-	/**
-	 * Locate a template via the "name" attribute.
-	 * 
-	 * @param name				 qualified name of template
-	 * @return pointer to template found or 0 if none found
-	 */
-	const ElemTemplate*
-	findNamedTemplate(const XalanQName&		qname) const;
-
-	/**
-	 * Given a target element, find the template that best matches in the given
-	 * XSL document, according to the rules specified in the xsl draft. 
-	 *
-	 * @param executionContext current execution context
-	 * @param targetNode	   element that needs a rule
-	 * @return				   pointer to rule that best matches targetNode
-	 */
-	const ElemTemplate*
-	findTemplate(
-			StylesheetExecutionContext& 	executionContext,
-			XalanNode*						targetNode) const
-	{
-		return findTemplate(executionContext, targetNode, s_emptyQName, false);
-	}
-
-	/**
-	 * Given a target element, find the template that best matches in the given
-	 * XSL document, according to the rules specified in the xsl draft. 
-	 *
-	 * @param executionContext current execution context
-	 * @param targetElem        element that needs a rule
-	 * @param mode              string indicating the display mode
-	 * @param onlyUseImports    only use imports, do not use any templates from the stylesheet itself
-	 * @return pointer to rule that best matches targetElem
-	 */
-	const ElemTemplate*
-	findTemplate(
-			StylesheetExecutionContext& 	executionContext,
-			XalanNode*						targetNode, 
-			const XalanQName&				mode,
-			bool							onlyUseImports) const;
-
-	/**
-	 * A class to contain a match pattern and it's corresponding template.
-	 * This class also defines a node in a match pattern linked list.
-	 */
-	class MatchPattern2
-	{
-	public:
-
-		/**
-		 * Construct a match pattern from a pattern and template.
-		 *
-		 * @param theTemplate node that contains the template for this pattern
-		 * @param posInStylesheet position in stylesheet
-		 * @param targetString target string
-		 * @param matchPattern the match pattern
-		 * @param pattern the pattern string
-		 */
-		MatchPattern2(
-				const ElemTemplate&		theTemplate,
-				int 					posInStylesheet,
-				const XalanDOMString&	targetString,
-				const XPath&			matchPattern,
-				const XalanDOMString&	pattern) :
-			m_template(&theTemplate),
-			m_posInStylesheet(posInStylesheet),
-			m_targetString(targetString),
-			m_matchPattern(&matchPattern),
-			m_pattern(&pattern)
-		{
-		}
-
-		MatchPattern2() :
-			m_template(0),
-			m_posInStylesheet(0),
-			m_targetString(),
-			m_matchPattern(0),
-			m_pattern(0)
-		{
-		}
-
-		~MatchPattern2()
-		{
-		}
-
-		/**
-		 * Retrieve string for target.
-		 * 
-		 * @return target string
-		 */
-		const XalanDOMString&
-		getTargetString() const
-		{
-			return m_targetString;
-		}
-
-		/**
-		 * Retrieve the match pattern associated with pattern.
-		 * 
-		 * @return XPath for pattern
-		 */
-		const XPath*
-		getExpression() const
-		{
-			return m_matchPattern;
-		}
-
-		/**
-		 * Retrieve position of pattern in stylesheet.
-		 * 
-		 * @return position in stylesheet
-		 */
-		int
-		getPositionInStylesheet() const
-		{
-			return m_posInStylesheet;
-		}
-
-		/**
-		 * Retrieve pattern string.
-		 * 
-		 * @return string that contains element pattern
-		 */
-		const XalanDOMString*
-		getPattern() const
-		{
-			return m_pattern;
-		}
-
-		/**
-		 * Retrieve node that contains the template for this pattern.
-		 * 
-		 * @return template node
-		 */
-		const ElemTemplate*
-		getTemplate() const
-		{
-			return m_template;
-		}
-
-	private:
-
-		const ElemTemplate*		m_template;
-		int						m_posInStylesheet;
-		XalanDOMString			m_targetString;
-		const XPath*			m_matchPattern;
-		const XalanDOMString*	m_pattern;
-	};
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<const MatchPattern2*>		PatternTableListType;
-
-	typedef vector<const MatchPattern2*>		PatternTableVectorType;
-
-	typedef map<XalanDOMString,
-			    PatternTableListType,
-				less<XalanDOMString> >			PatternTableMapType;
-
-	typedef deque<MatchPattern2>				MatchPattern2Container;
-#else
-	typedef std::vector<const MatchPattern2*>	PatternTableListType;
-
-	typedef std::vector<const MatchPattern2*>	PatternTableVectorType;
-
-	typedef std::map<XalanDOMString,
-					 PatternTableListType>		PatternTableMapType;
-
-	typedef std::deque<MatchPattern2>			MatchPattern2Container;
-#endif
-
-	/**
-	 * Add object to vector of match patterns if not already there.
-	 *
-	 * @param thePattern pattern to add
-	 * @param theVector  vector of patterns to add to
-	 */
-	static void
-	addObjectIfNotFound(
-			const MatchPattern2*		thePattern,
-			PatternTableVectorType& 	theVector);
-
-	/**
-	 * Add object to array of match patterns if not already there.
-	 * theArraySize size will be incremented if the pattern was
-	 * added.
-	 *
-	 * @param thePattern pattern to add
-	 * @param theArray  vector of patterns to add to
-	 * @param theArraySize The size of the array
-	 */
-	static void
-	addObjectIfNotFound(
-			const MatchPattern2*	thePattern,
-			const MatchPattern2* 	theArray[],
-			unsigned int&			theArraySize);
-
-	/**
-	 * Given a name, locate the start of a list of 
-	 * possible templates that match that name.  If
-	 * none match, then use the default list.
-	 *
-	 * @param theName The name to match
-	 */
-	const PatternTableListType*
-	locateMatchPatternList2(const XalanDOMString&	theName) const;
-
-	/**
-	 * Given a XalanNode, locate the start of a list of 
-	 * possible templates that match it.
-	 *
-	 * @param XalanNode The node to match
-	 */
-	const PatternTableListType*
-	locateMatchPatternList2(const XalanNode&	theNode) const;
-
-	/**
-	 * Add an extension namespace handler. This provides methods for calling
-	 * an element extension as well as for function calls (which is passed
-	 * on to XPath).
-	 *
-	 * @param uri the URI of the extension namespace
-	 * @param nsh handler
-	 */
-	void
-	addExtensionNamespace(
-			const XalanDOMString&	uri,
-			ExtensionNSHandler* 	nsh);
-
-	/**
-	 * Return the handler for a given extension namespace.
-	 *
-	 * @param uri the URI of the extension namespace.
-	 * @return pointer to extension handler
-	 */
-	ExtensionNSHandler*
-	lookupExtensionNSHandler(const XalanDOMString&	uri) const
-	{
-		const ExtensionNamespacesMapType::const_iterator	it = 
-		  m_extensionNamespaces.find(uri);
-
-		return it == m_extensionNamespaces.end() ? 0 : (*it).second;
-	}
-
-	/**
-	 * Set a top level variable, to be serialized with the rest of the
-	 * stylesheet.
-	 *
-	 * @param var top-level variable declared with "xsl:variable" or
-	 *			  xsl:param-variable.
-	 */
-	void
-	setTopLevelVariable(ElemVariable*	var)
-	{
-		m_topLevelVariables.push_back(var);
-	}
-
-	/**
-	 * Set a list of top level variables in the specified execution context
-	 * stylesheet.
-	 *
-	 * @param executionContext current execution context
-	 * @param topLevelParams   list of top level parameters
-	 */
-	void
-	pushTopLevelVariables(
-			StylesheetExecutionContext& 	executionContext,
-			const ParamVectorType&			topLevelParams) const;
-
-	const XPathVectorType&
-	getWhitespacePreservingElements() const
-	{
-		return m_whitespacePreservingElements;
-	}
-
-	void
-	pushWhitespacePreservingElement(const XPath*	theXPath)
-	{
-		m_whitespacePreservingElements.push_back(theXPath);
-	}
-
-	const XPathVectorType&
-	getWhitespaceStrippingElements() const
-	{
-		return m_whitespaceStrippingElements;
-	}
-
-	void
-	pushWhitespaceStrippingElement(const XPath* theXPath)
-	{
-		m_whitespaceStrippingElements.push_back(theXPath);
-	}
-
-	// These interfaces are inherited from XalanDocument...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual Stylesheet*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const;
-
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString& prefix);
-
-	virtual unsigned long
-	getIndex() const;
-
-	virtual XalanElement*
-	createElement(const XalanDOMString& tagName);
-
-	virtual XalanDocumentFragment*
-	createDocumentFragment();
-
-	virtual XalanText*
-	createTextNode(const XalanDOMString&	data);
-
-	virtual XalanComment*
-	createComment(const XalanDOMString& data);
-
-	virtual XalanCDATASection*
-	createCDATASection(const XalanDOMString&	data);
-
-	virtual XalanProcessingInstruction*
-	createProcessingInstruction(
-			const XalanDOMString&	target,
-			const XalanDOMString&	data);
-
-	virtual XalanAttr*
-	createAttribute(const XalanDOMString&	name);
-
-	virtual XalanEntityReference*
-	createEntityReference(const XalanDOMString &name);
-
-	virtual XalanDocumentType*
-	getDoctype() const;
-
-	virtual XalanDOMImplementation*
-	getImplementation() const;
-
-	virtual XalanElement*
-	getDocumentElement() const;
-
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&		tagname) const;
-
-	virtual XalanNode*
-	importNode(
-			XalanNode*	importedNode,
-			bool		deep);
-
-	virtual XalanElement*
-	createElementNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName);
-
-	virtual XalanAttr*
-	createAttributeNS(
-			const XalanDOMString& namespaceURI,
-			const XalanDOMString& qualifiedName);
-
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual XalanElement*
-	getElementById(const XalanDOMString&	elementId) const;
-
-	virtual bool
-	isIndexed() const;
-
-	// These interfaces are inherited from PrefixResolver...
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString& 	prefix) const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-	const XalanDOMString&
-	getXSLTNamespaceURI() const
-	{
-		return m_XSLTNamespaceURI;
-	}
-
-	void
-	setXSLTNamespaceURI(const XalanDOMString&	theURI)
-	{
-		m_XSLTNamespaceURI = theURI;
-	}
-
-protected:
-
-	/**
-	 * The root of the stylesheet tree.
-	 */
-	StylesheetRoot& 					m_stylesheetRoot;
-
-	/**
-	 * The base URL of the XSL document.
-	 */
-	XalanDOMString						m_baseIdent;
-
-	/**
-	 * Table of KeyDeclaration objects, which are set by the 
-	 * xsl:key element.
-	 */
-	KeyDeclarationVectorType			m_keyDeclarations;
-
-	static const XalanQNameByReference	s_emptyQName;
-
-private:	
-
-	// Not defined...
-	Stylesheet(const Stylesheet&);
-
-	Stylesheet&
-	operator=(const Stylesheet&);
-
-	bool
-	operator==(const Stylesheet&) const;
-
-	/**
-	 * The full XSLT Namespace URI.  To be replaced by the one actually
-	 * found.
-	 */
-	XalanDOMString							m_XSLTNamespaceURI;
-
-	/**
-	 * A lookup table of all space preserving elements.
-	 */
-	XPathVectorType 						m_whitespacePreservingElements;
-  
-	/**
-	 * A lookup table of all space stripping elements.
-	 */
-	XPathVectorType 						m_whitespaceStrippingElements;
-
-	/**
-	 * A vector of the -imported- XSL Stylesheets.
-	 */
-	StylesheetVectorType					m_imports;
-
-	StylesheetVectorType::size_type			m_importsSize;
-
-	/**
-	 * A stack to keep track of the result tree namespaces.
-	 */
-	NamespacesStackType 					m_namespaces;
-
-	/** 
-	 * A list of namespace declarations,
-	 * for mapping from prefix to namespace URI.
-	 */
-	NamespaceVectorType 					m_namespaceDecls;
-
-	/**
-	 * Tells if the stylesheet is without an xsl:stylesheet and xsl:template
-	 * wrapper.
-	 */
-	bool									m_isWrapperless;
-
-	/**
-	 * The manufactured template if there is no wrapper.
-	 */
-	ElemTemplate*							m_wrapperlessTemplate;
-  
-	/**
-	 * The table of extension namespaces.
-	 */
-	ExtensionNamespacesMapType				m_extensionNamespaces;
-
-  
-	/**
-	 * The first template of the template children.
-	 */
-	ElemTemplateElement*					m_firstTemplate;
-  
-	/**
-	 * A stack of who's including who is needed in order to support "It is an
-	 * error if a stylesheet directly or indirectly includes itself."
-	 */
-	URLStackType							m_includeStack;
-
-	/**
-	 * Keyed on string macro names, and holding values that are macro elements
-	 * in the XSL DOM tree. Initialized in initMacroLookupTable, and used in
-	 * findNamedTemplate.
-	 */
-	ElemTemplateMapType						m_namedTemplates;
-
-	/**
-	 * Table for defined constants, keyed on the names.
-	 */
-	ElemVariableVectorType					m_topLevelVariables;
-
-	/**
-	 * The version of XSL that was declared.
-	 */
-	double									m_XSLTVerDeclared;
-
-	const bool								m_isRoot;
-
-	/**
-	 * This table is keyed on the target elements of patterns, and contains linked
-	 * lists of the actual patterns that match the target element to some degree
-	 * of specifity.
-	 */
-	PatternTableMapType 						m_patternTable;
-
-	const PatternTableMapType::const_iterator	m_patternTableEnd;
-
-	/**
-	 * These tables are for text, comment, root, and PI node templates.
-	 */
-	PatternTableListType					m_textPatternList;
-
-	PatternTableListType					m_commentPatternList;
-
-	PatternTableListType					m_rootPatternList;
-
-	PatternTableListType					m_piPatternList;
-
-	/**
-	 * This table is for patterns that match "node()".  Once
-	 * all of the templates have been processed, we'll combine
-	 * this list with m_anyPatternList, and use that for Element
-	 * and Attribute nodes which don't have a specific template.
-	 */
-	PatternTableListType					m_nodePatternList;
-
-	/**
-	 * This table is for patterns that match "*"
-	 */
-	PatternTableListType					m_anyPatternList;
-
-	/**
-	 * This will hold all of the MatchPattern2 instances for the
-	 * stylesheet.
-	 */
-	MatchPattern2Container					m_matchPattern2Container;
-
-	/**
-	 * This caches the number of possible patterns we can match.
-	 */
-	MatchPattern2Container::size_type		m_patternCount;
-
-	AttributeSetVectorType 					m_attributeSets;
-
-	AttributeSetVectorType::size_type		m_attributeSetsSize;
-
-	XalanNodeListSurrogate					m_surrogateChildren;
-
-	ElemDecimalFormatVectorType				m_elemDecimalFormats;
-
-	StringToStringMapType					m_prefixAliases;
-
-	NamespacesHandler						m_namespacesHandler;
-
-	static const XalanDOMString				s_emptyString;
-
-	static const XalanEmptyNamedNodeMap		s_fakeAttributes;
-};
-
-
-
-#endif	// XALAN_STYLESHEET_HEADER_GUARD
diff --git a/src/XSLT/StylesheetConstructionContext.cpp b/src/XSLT/StylesheetConstructionContext.cpp
deleted file mode 100644
index 6759e3d..0000000
--- a/src/XSLT/StylesheetConstructionContext.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "StylesheetConstructionContext.hpp"
-
-
-
-StylesheetConstructionContext::StylesheetConstructionContext()
-{
-}
-
-
-
-StylesheetConstructionContext::~StylesheetConstructionContext()
-{
-}
diff --git a/src/XSLT/StylesheetConstructionContext.hpp b/src/XSLT/StylesheetConstructionContext.hpp
deleted file mode 100644
index f7a3613..0000000
--- a/src/XSLT/StylesheetConstructionContext.hpp
+++ /dev/null
@@ -1,441 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(STYLESHEETCONSTRUCTIONCONTEXT_HEADER_GUARD_1357924680)
-#define STYLESHEETCONSTRUCTIONCONTEXT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <PlatformSupport/URISupport.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class DocumentHandler;
-class ElemTemplateElement;
-class Locator;
-class PrefixResolver;
-class Stylesheet;
-class StylesheetRoot;
-class XalanDocument;
-class XalanNode;
-class XPath;
-class XMLURL;
-class XSLTInputSource;
-
-
-
-//
-// An abstract class which provides support for constructing the internal
-// representation  of a stylesheet.
-//
-class XALAN_XSLT_EXPORT StylesheetConstructionContext
-{
-public:
-
-	typedef URISupport::URLAutoPtrType	URLAutoPtrType;
-
-	explicit
-	StylesheetConstructionContext();
-
-	virtual
-	~StylesheetConstructionContext();
-
-
-	/**
-	 * Reset the StylesheetConstructionContext instance.  Any existing objects
-	 * created by the instance will be destroyed.
-	 */
-	virtual void
-	reset() = 0;
-
-	/**
-	 * Create a new StylesheetRoot instance.  The StylesheetConstructionContext
-	 * instance owns the StylesheetRoot instance, and will delete it when asked
-	 * or when the StylesheetConstructionContext instance is destroyed.
-	 *
-	 * @param theBaseIdentifier A URI to the stylesheet file.
-	 * @return A pointer to a new StylesheetRoot instance.
-	 */
-	virtual StylesheetRoot*
-	create(const XalanDOMString&	theBaseIdentifier) = 0;
-
-	/**
-	 * Create a new StylesheetRoot instance.  The StylesheetConstructionContext
-	 * instance owns the StylesheetRoot instance, and will delete it when asked
-	 * or when the StylesheetConstructionContext instance is destroyed.
-	 *
-	 * @param theInputSource A reference to the input source.
-	 * @return A pointer to a new StylesheetRoot instance.
-	 */
-	virtual StylesheetRoot*
-	create(const XSLTInputSource&	theInputSource) = 0;
-
-	/**
-	 * Create a new Stylesheet instance.  The StylesheetConstructionContext
-	 * instance owns the Stylesheet instance, and will delete it when asked
-	 * or when the StylesheetConstructionContext instance is destroyed.
-	 *
-	 * @param A reference to the StylesheetRoot instance.
-	 * @param theBaseIdentifier A URI to the stylesheet file.
-	 * @return A pointer to a new StylesheetRoot instance.
-	 */
-	virtual Stylesheet*
-	create(
-			StylesheetRoot&			theStylesheetRoot,
-			const XalanDOMString&	theBaseIdentifier) = 0;
-
-	/**
-	 * Destroy a StylesheetRoot instance.  If this StylesheetConstructionContext
-	 * instance does not own the StylesheetRoot, it will not delete it
-	 *
-	 * @param theStylesheet A pointer to the StylesheetRoot instance to delete.
-	 */
-	virtual void
-	destroy(StylesheetRoot*		theStylesheetRoot) = 0;
-
-	/**
-	 * Given an XSL tag name, return an integer token that corresponds to
-	 * ELEMNAME_XXX constants defined in Constants.hpp.
-	 *
-	 * @param name a probable xsl:xxx element name
-	 * @return Constants.ELEMNAME_XXX token, or -1 if in xsl or Xalan namespace,
-	 * -2 if not in known namespace
-	 */
-	virtual int
-	getAttrTok(const XalanDOMString&	name) const = 0;
-
-	/**
-	 * Given an XSL tag name, return an integer token that corresponds to
-	 * ELEMNAME_XXX constants defined in Constants.hpp.
-	 *
-	 * @param name a probable xsl:xxx element name
-	 * @return Constants.ELEMNAME_XXX token, or -1 if in xsl or Xalan namespace,
-	 * -2 if not in known namespace
-	 */
-	virtual int
-	getAttrTok(const XalanDOMChar*	name) const = 0;
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return auto pointer to fully qualified URI
-	 */
-	virtual URLAutoPtrType
-	getURLFromString(const XalanDOMString&	urlString) = 0;
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @return string to fully qualified URI
-	 */
-	virtual XalanDOMString
-	getURLStringFromString(const XalanDOMString&	urlString) = 0;
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @return auto pointer to fully qualified URI
-	 */
-	virtual URLAutoPtrType
-	getURLFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) = 0;
-
-	/**
-	 * Determine the fully qualified URI for a string.
-	 *
-	 * @param urlString string to qualify
-	 * @param base base location for URI
-	 * @return string to fully qualified URI
-	 */
-	virtual XalanDOMString
-	getURLStringFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) = 0;
-
-	/**
-	 * Retrieve the URI for the current XSLT namespace, for example,
-	 * "http://www.w3.org/1999/XSL/Transform" 
-	 * 
-	 * @return URI string
-	 */
-	virtual const XalanDOMString&
-	getXSLTNamespaceURI() const = 0;
-
-	/**
-	 * Create and initialize an xpath for a match pattern and return it. This
-	 * is to be used by stylesheet elements that need an XPath that is
-	 * guaranteed to persist while it lives.
-	 *
-	 * @param locator the locator for the XPath. May be null.
-	 * @param str string to match
-	 * @param resolver resolver for namespace resolution
-	 * @return XPath for match pattern
-	 */
-	virtual XPath*
-	createMatchPattern(
-			const Locator*			locator,
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver) = 0;
-
-	/**
-	 * Create and initialize an xpath for a match pattern and return it. This
-	 * is to be used by stylesheet elements that need an XPath that is
-	 * guaranteed to persist while it lives.
-	 *
-	 * @param locator the locator for the XPath. May be null.
-	 * @param str string to match
-	 * @param resolver resolver for namespace resolution
-	 * @return XPath for match pattern
-	 */
-	virtual XPath*
-	createMatchPattern(
-			const Locator*			locator,
-			const XalanDOMChar*		str,
-			const PrefixResolver&	resolver) = 0;
-
-	/**
-	 * Create and initialize an xpath and return it. This is to be used by
-	 * stylesheet elements that need an XPath that is guaranteed to persist
-	 * while it lives.
-	 *
-	 * @param locator the locator for the XPath. May be null.
-	 * @param str string to match
-	 * @param resolver resolver for namespace resolution
-	 * @return XPath for string matched
-	 */
-	virtual XPath*
-	createXPath(
-			const Locator*			locator,
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver) = 0;
-
-	/**
-	 * Create and initialize an xpath and return it. This is to be used by
-	 * stylesheet elements that need an XPath that is guaranteed to persist
-	 * while it lives.
-	 *
-	 * @param locator the locator for the XPath. May be null.
-	 * @param str string to match
-	 * @param resolver resolver for namespace resolution
-	 * @return XPath for string matched
-	 */
-	virtual XPath*
-	createXPath(
-			const Locator*			locator,
-			const XalanDOMChar*		str,
-			const PrefixResolver&	resolver) = 0;
-
-	/**
-	 * Get the locator from the top of the locator stack.
-	 *
-	 * @return A pointer to the Locator, or 0 if there is nothing on the stack.
-	 */
-	virtual const Locator*
-	getLocatorFromStack() const = 0;
-
-	/**
-	 * Push a locator on to the locator stack.
-	 *
-	 * @param A pointer to the Locator to push.
-	 */
-	virtual void
-	pushLocatorOnStack(const Locator*	locator) = 0;
-
-	/**
-	 * Pop the locator from the top of the locator stack.
-	 */
-	virtual void
-	popLocatorStack() = 0;
-
-	/**
-	 * Get the Xalan namespace for built-in extensions.
-	 *
-	 * @return Xalan namespace for extensions
-	 */
-	virtual const XalanDOMString&
-	getXalanXSLNameSpaceURL() const = 0;
-
-	/**
-	 * Read in the XML file, either producing a Document or calling SAX events,
-	 * and register the document in a table.  If the document has already been
-	 * read in, it will not be reparsed.
-	 *
-	 * @param urlString location of the XML
-	 * @param docHandler pointer to SAX event handler
-	 * @param docToRegister if using a SAX event handler, the object to register in the source docs table. 
-	 * @return document object, which represents the parsed XML
-	 * @exception SAXException
-	 */
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			DocumentHandler*		docHandler, 
-			XalanDocument*			docToRegister) = 0;
-
-	/**
-	 * Given an XSL tag name, return an integer token that corresponds to
-	 * ELEMNAME_XXX constants defined in Constants.hpp
-	 *
-	 * @param name a probable xsl:xxx element
-	 * @return Constants.ELEMNAME_XXX token, -1 if in XSL or Xalan namespace,
-	 *		   or -2 if not in known namespace
-	 */
-	virtual int
-	getElementToken(const XalanDOMString&	name) const = 0;
-
-	/**
-	 * Get the latest XSLT version currently supported.
-	 *
-	 * @return XSLT version number
-	 */
-	virtual double
-	getXSLTVersionSupported() const = 0;
-
-
-	// These interfaces are inherited from ExecutionContext...
-
-	virtual void
-	error(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement*	styleNode = 0) const = 0;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	error(
-			const char*					msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const = 0;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	warn(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const = 0;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	warn(
-			const char*					msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const = 0;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	message(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const = 0;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	message(
-			const char*					msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const = 0;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-};
-
-
-
-#endif	// STYLESHEETCONSTRUCTIONCONTEXT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/StylesheetConstructionContextDefault.cpp b/src/XSLT/StylesheetConstructionContextDefault.cpp
deleted file mode 100644
index debaaf8..0000000
--- a/src/XSLT/StylesheetConstructionContextDefault.cpp
+++ /dev/null
@@ -1,567 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-#include "StylesheetConstructionContextDefault.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/URISupport.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathEnvSupport.hpp>
-#include <XPath/XPathFactory.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-
-
-
-#include "ElemTemplateElement.hpp"
-#include "StylesheetRoot.hpp"
-#include "XSLTEngineImpl.hpp"
-#include "XSLTInputSource.hpp"
-
-
-
-StylesheetConstructionContextDefault::StylesheetConstructionContextDefault(
-			XSLTEngineImpl&		processor,
-			XPathEnvSupport&	/* xpathEnvSupport */,
-			XPathFactory&		xpathFactory) :
-	StylesheetConstructionContext(),
-	m_processor(processor),
-	m_xpathFactory(xpathFactory),
-	m_xpathProcessor(new XPathProcessorImpl),
-	m_stylesheets(),
-	m_tempBuffer()
-{
-}
-
-
-
-StylesheetConstructionContextDefault::StylesheetConstructionContextDefault(
-			XSLTEngineImpl&		processor,
-			XPathFactory&		xpathFactory) :
-	StylesheetConstructionContext(),
-	m_processor(processor),
-	m_xpathFactory(xpathFactory),
-	m_xpathProcessor(new XPathProcessorImpl),
-	m_stylesheets(),
-	m_tempBuffer()
-{
-}
-
-
-
-StylesheetConstructionContextDefault::~StylesheetConstructionContextDefault()
-{
-	reset();
-}
-
-
-
-void
-StylesheetConstructionContextDefault::error(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	m_processor.error(msg, sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const
-{
-	if (locator != 0)
-	{
-		m_processor.error(msg, *locator, sourceNode);
-	}
-	else
-	{
-		m_processor.error(msg, sourceNode);
-	}
-}
-
-
-
-void
-StylesheetConstructionContextDefault::error(
-			const char*					msg,
-			const XalanNode* 			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::warn(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	m_processor.warn(msg, sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const
-{
-	if (locator != 0)
-	{
-		m_processor.warn(msg, *locator, sourceNode);
-	}
-	else
-	{
-		m_processor.warn(msg, sourceNode);
-	}
-}
-
-
-
-void
-StylesheetConstructionContextDefault::warn(
-			const char*					msg,
-			const XalanNode* 			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::message(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	m_processor.message(msg, sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const
-{
-	if (locator != 0)
-	{
-		m_processor.message(msg, *locator, sourceNode);
-	}
-	else
-	{
-		m_processor.message(msg, sourceNode);
-	}
-}
-
-
-
-void
-StylesheetConstructionContextDefault::message(
-			const char*					msg,
-			const XalanNode* 			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::reset()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_stylesheets.begin(),
-			 m_stylesheets.end(),
-			 DeleteFunctor<StylesheetRoot>());
-
-	m_stylesheets.clear();
-
-	m_xpathFactory.reset();
-}
-
-
-
-StylesheetRoot*
-StylesheetConstructionContextDefault::create(const XalanDOMString&	theBaseIdentifier)
-{
-	StylesheetRoot* const	theStylesheetRoot =
-		new StylesheetRoot(theBaseIdentifier, *this);
-
-	m_stylesheets.insert(theStylesheetRoot);
-
-	return theStylesheetRoot;
-}
-
-
-
-StylesheetRoot*
-StylesheetConstructionContextDefault::create(const XSLTInputSource&		theInputSource)
-{
-	const XMLCh* const	theSystemID =
-				theInputSource.getSystemId();
-
-	const XalanDOMString	theBaseIdentifier =
-				theSystemID == 0 ? XalanDOMString() :
-				XalanDOMString(theSystemID);
-
-	return create(theBaseIdentifier);
-}
-
-
-
-Stylesheet*
-StylesheetConstructionContextDefault::create(
-			StylesheetRoot&			theStylesheetRoot,
-			const XalanDOMString&	theBaseIdentifier)
-{
-	Stylesheet* const	theStylesheet =
-		new Stylesheet(
-			theStylesheetRoot,
-			theBaseIdentifier,
-			*this);
-
-	return theStylesheet;
-}
-
-
-
-void
-StylesheetConstructionContextDefault::destroy(StylesheetRoot*	theStylesheetRoot)
-{
-	const StylesheetSetType::iterator	i =
-		m_stylesheets.find(theStylesheetRoot);
-
-	if (i != m_stylesheets.end())
-	{
-		m_stylesheets.erase(i);
-
-		delete theStylesheetRoot;
-	}
-}
-
-
-
-int
-StylesheetConstructionContextDefault::getAttrTok(const XalanDOMString&	name) const
-{
-	return m_processor.getAttrTok(name);
-}
-
-
-
-int
-StylesheetConstructionContextDefault::getAttrTok(const XalanDOMChar*	name) const
-{
-	assert(name != 0);
-
-	// $$$ ToDo: Change getAttrTok() to take a const XalanDOMChar*
-#if defined(XALAN_NO_MUTABLE)
-	assign((XalanDOMString&)m_tempBuffer, name);
-#else
-	assign(m_tempBuffer, name);
-#endif
-
-	return m_processor.getAttrTok(m_tempBuffer);
-}
-
-
-
-StylesheetConstructionContextDefault::URLAutoPtrType
-StylesheetConstructionContextDefault::getURLFromString(const XalanDOMString&	urlString)
-{
-	return URISupport::getURLFromString(urlString);
-}
-
-
-
-XalanDOMString
-StylesheetConstructionContextDefault::getURLStringFromString(const XalanDOMString&	urlString)
-{
-	return URISupport::getURLStringFromString(urlString);
-}
-
-
-
-StylesheetConstructionContextDefault::URLAutoPtrType
-StylesheetConstructionContextDefault::getURLFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base)
-{
-	return URISupport::getURLFromString(urlString, base);
-}
-
-
-
-XalanDOMString
-StylesheetConstructionContextDefault::getURLStringFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base)
-{
-	return URISupport::getURLStringFromString(urlString, base);
-}
-
-
-
-const XalanDOMString&
-StylesheetConstructionContextDefault::getXSLTNamespaceURI() const
-{
-	return XSLTEngineImpl::getXSLNameSpaceURL();
-}
-
-
-
-XPath*
-StylesheetConstructionContextDefault::createMatchPattern(
-			const Locator*			locator,
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver)
-{
-	XPath* const	xpath = m_xpathFactory.create();
-
-	// Note that we use the current locator from the
-	// processing stack, and not the locator passed in.
-	// This is because the locator on the stack is active,
-	// during construction, while the locator passed in
-	// will be used at run-time.
-	m_xpathProcessor->initMatchPattern(
-			*xpath,
-			str,
-			resolver,
-			getLocatorFromStack());
-
-	xpath->setInStylesheet(true);
-
-	xpath->setLocator(locator);
-
-	return xpath;
-}
-
-
-
-XPath*
-StylesheetConstructionContextDefault::createMatchPattern(
-			const Locator*			locator,
-			const XalanDOMChar*		str,
-			const PrefixResolver&	resolver)
-{
-	assert(str != 0);
-
-	assign(m_tempBuffer, str);
-
-	return createMatchPattern(locator, m_tempBuffer, resolver);
-}
-
-
-
-XPath*
-StylesheetConstructionContextDefault::createXPath(
-			const Locator*			locator,
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver)
-{
-	XPath* const	xpath = m_xpathFactory.create();
-
-	// Note that we use the current locator from the
-	// processing stack, and not the locator passed in.
-	// This is because the locator on the stack is active,
-	// during construction, while the locator passed in
-	// will be used at run-time.
-	m_xpathProcessor->initXPath(
-			*xpath,
-			str,
-			resolver,
-			getLocatorFromStack());
-
-	xpath->setInStylesheet(true);
-
-	xpath->setLocator(locator);
-
-	return xpath;
-}
-
-
-
-XPath*
-StylesheetConstructionContextDefault::createXPath(
-			const Locator*			locator,
-			const XalanDOMChar*		str,
-			const PrefixResolver&	resolver)
-{
-	assert(str != 0);
-
-	assign(m_tempBuffer, str);
-
-	return createXPath(locator, m_tempBuffer, resolver);
-}
-
-
-
-const Locator*
-StylesheetConstructionContextDefault::getLocatorFromStack() const
-{
-	return m_processor.getLocatorFromStack();
-}
-
-
-
-void
-StylesheetConstructionContextDefault::pushLocatorOnStack(const Locator*		locator)
-{
-	m_processor.pushLocatorOnStack(locator);
-}
-
-
-
-void
-StylesheetConstructionContextDefault::popLocatorStack()
-{
-	m_processor.popLocatorStack();
-}
-
-
-
-const XalanDOMString&
-StylesheetConstructionContextDefault::getXalanXSLNameSpaceURL() const
-{
-	return XSLTEngineImpl::getXalanXSLNameSpaceURL();
-}
-
-
-
-XalanDocument*
-StylesheetConstructionContextDefault::parseXML(
-			const XalanDOMString&	urlString,
-			DocumentHandler*		docHandler, 
-			XalanDocument*			docToRegister)
-{
-	return m_processor.parseXML(urlString, docHandler, docToRegister);
-}
-
-
-
-int
-StylesheetConstructionContextDefault::getElementToken(const XalanDOMString&	name) const
-{
-	return m_processor.getElementToken(name);
-}
-
-
-
-double
-StylesheetConstructionContextDefault::getXSLTVersionSupported() const
-{
-	return XSLTEngineImpl::getXSLTVerSupported();
-}
diff --git a/src/XSLT/StylesheetConstructionContextDefault.hpp b/src/XSLT/StylesheetConstructionContextDefault.hpp
deleted file mode 100644
index b36c25e..0000000
--- a/src/XSLT/StylesheetConstructionContextDefault.hpp
+++ /dev/null
@@ -1,333 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(STYLESHEETCONSTRUCTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
-#define STYLESHEETCONSTRUCTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION) || (XALAN_ALLINONE_BUILD_DLL)
-#include <XPath/XPathProcessor.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-// Base class header file...
-#include <XSLT/StylesheetConstructionContext.hpp>
-
-
-
-#include <set>
-#include <vector>
-
-
-
-class XPathEnvSupport;
-class XPathFactory;
-class XPathProcessor;
-class XSLTEngineImpl;
-
-
-
-/**
- *
- * An default implementation of an abtract class which provides support for
- * constructing the internal representation  of a stylesheet.
- *
- */
-class XALAN_XSLT_EXPORT StylesheetConstructionContextDefault : public StylesheetConstructionContext
-{
-public:
-
-	/*
-	 * Construct an instance.  If the stylesheet(s) constructed is/are meant to be reused (a.k.a. "compiled"),
-	 * the XObjectFactory and XPathFactory instance must exist for the lifetime of the construction context
-	 * and, therefore, for the lifetime of the stylesheet(s).  Otherwise, XObject and XPath instance will be
-	 * destroyed when the corresponding factories are destryed, leaving pointers to destroyed objects in the.
-	 * stylesheet(s).
-	 *
-	 * @deprecated This constructor is deprecated.
-	 *
-	 * @param processor a reference to an XSLTEngineImpl instance.  Used for error reporting.
-	 * @param xpathEnvSupport a reference to an XPathEnvSupport instance.
-	 * @param xpathFactory a reference to an XPathFactory instance.  See comments above for important details.
-	 *
-	 */
-	StylesheetConstructionContextDefault(
-			XSLTEngineImpl&		processor,
-			XPathEnvSupport&	xpathEnvSupport,
-			XPathFactory&		xpathFactory);
-
-	/*
-	 * Construct an instance.  If the stylesheet(s) constructed is/are meant to be reused (a.k.a. "compiled"),
-	 * the XObjectFactory and XPathFactory instance must exist for the lifetime of the construction context
-	 * and, therefore, for the lifetime of the stylesheet(s).  Otherwise, XObject and XPath instance will be
-	 * destroyed when the corresponding factories are destryed, leaving pointers to destroyed objects in the.
-	 * stylesheet(s).
-	 *
-	 * @param processor a reference to an XSLTEngineImpl instance.  Used for error reporting.
-	 * @param xpathFactory a reference to an XPathFactory instance.  See comments above for important details.
-	 *
-	 */
-	StylesheetConstructionContextDefault(
-			XSLTEngineImpl&		processor,
-			XPathFactory&		xpathFactory);
-
-	virtual
-	~StylesheetConstructionContextDefault();
-
-	// These interfaces are inherited from ExecutionContext...
-
-	virtual void
-	error(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement*	styleNode = 0) const;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	error(
-			const char*					msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	warn(
-			const char*					msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	message(
-			const XalanDOMString&		msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	message(
-			const char*					msg,
-			const XalanNode* 			sourceNode = 0,
-			const ElemTemplateElement* 	styleNode = 0) const;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	// These interfaces are inherited from StylesheetConstructionContext...
-
-	virtual void
-	reset();
-
-	virtual StylesheetRoot*
-	create(const XalanDOMString&	theBaseIdentifier);
-
-	virtual StylesheetRoot*
-	create(const XSLTInputSource&	theInputSource);
-
-	virtual Stylesheet*
-	create(
-			StylesheetRoot&			theStylesheetRoot,
-			const XalanDOMString&	theBaseIdentifier);
-
-	virtual void
-	destroy(StylesheetRoot*		theStylesheetRoot);
-
-	virtual int
-	getAttrTok(const XalanDOMString&	name) const;
-
-	virtual int
-	getAttrTok(const XalanDOMChar*	name) const;
-
-	virtual URLAutoPtrType
-	getURLFromString(const XalanDOMString&	urlString);
-
-	virtual XalanDOMString
-	getURLStringFromString(const XalanDOMString&	urlString);
-
-	virtual URLAutoPtrType
-	getURLFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base);
-
-	virtual XalanDOMString
-	getURLStringFromString(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base);
-
-	virtual const XalanDOMString&
-	getXSLTNamespaceURI() const;
-
-	virtual XPath*
-	createMatchPattern(
-			const Locator*			locator,
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver);
-
-	virtual XPath*
-	createMatchPattern(
-			const Locator*			locator,
-			const XalanDOMChar*		str,
-			const PrefixResolver&	resolver);
-
-	virtual XPath*
-	createXPath(
-			const Locator*			locator,
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver);
-
-	virtual XPath*
-	createXPath(
-			const Locator*			locator,
-			const XalanDOMChar*		str,
-			const PrefixResolver&	resolver);
-
-	virtual const Locator*
-	getLocatorFromStack() const;
-
-	virtual void
-	pushLocatorOnStack(const Locator*	locator);
-
-	virtual void
-	popLocatorStack();
-
-	virtual const XalanDOMString&
-	getXalanXSLNameSpaceURL() const;
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			DocumentHandler*		docHandler, 
-			XalanDocument*			docToRegister);
-
-	virtual int
-	getElementToken(const XalanDOMString&	name) const;
-
-	virtual double
-	getXSLTVersionSupported() const;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef set<StylesheetRoot*,
-				less<StylesheetRoot*> >		StylesheetSetType;
-#else
-	typedef std::set<StylesheetRoot*>		StylesheetSetType;
-#endif
-
-private:
-
-	XSLTEngineImpl&						m_processor;
-
-	XPathFactory&						m_xpathFactory;
-
-	typedef XalanAutoPtr<XPathProcessor>	XPathProcessAutoPtr;
-
-	XPathProcessAutoPtr					m_xpathProcessor;
-
-	StylesheetSetType					m_stylesheets;
-
-	mutable XalanDOMString				m_tempBuffer;
-};
-
-
-
-#endif	// STYLESHEETCONSTRUCTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/StylesheetExecutionContext.cpp b/src/XSLT/StylesheetExecutionContext.cpp
deleted file mode 100644
index 2dce251..0000000
--- a/src/XSLT/StylesheetExecutionContext.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "StylesheetExecutionContext.hpp"
-
-
-
-#include <XMLSupport/FormatterToText.hpp>
-
-
-
-#include "ElemTemplateElement.hpp"
-
-
-
-StylesheetExecutionContext::StylesheetExecutionContext(XObjectFactory*	theXObjectFactory) :
-	XPathExecutionContext(theXObjectFactory)
-{
-}
-
-
-
-StylesheetExecutionContext::~StylesheetExecutionContext()
-{
-}
-
-
-
-StylesheetExecutionContext::ParamsPushPop::ParamsPushPop(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement&		xslCallTemplateElement,
-			XalanNode*						sourceNode,
-			const ElemTemplateElement*		targetTemplate) :
-	m_executionContext(executionContext),
-	m_savedStackFrameIndex(executionContext.getCurrentStackFrameIndex())
-{
-	// It would be cleaner to replace these two lines with separate
-	// subobjects, but that would means saving two more copies of
-	// the execution context on the stack.  Instead, we're just using
-	// a catch block to make sure that the code in the destructor runs
-	// if there's a problem pushing the params.
-	executionContext.pushContextMarker();
-
-	executionContext.setCurrentStackFrameIndex(m_savedStackFrameIndex);
-
-	try
-	{
-		if (xslCallTemplateElement.hasParams() == true)
-		{
-			executionContext.pushParams(
-						xslCallTemplateElement,
-						sourceNode,
-						targetTemplate);
-		}
-
-		executionContext.setCurrentStackFrameIndex();
-	}
-	catch(...)
-	{
-		m_executionContext.setCurrentStackFrameIndex(m_savedStackFrameIndex);
-
-		m_executionContext.popContextMarker();
-
-		throw;
-	}
-}
-
-
-
-StylesheetExecutionContext::ParamsPushPop::~ParamsPushPop()
-{
-	m_executionContext.setCurrentStackFrameIndex(m_savedStackFrameIndex);
-
-	m_executionContext.popContextMarker();
-}
-
-
-
-StylesheetExecutionContext::BorrowReturnFormatterToText::BorrowReturnFormatterToText(
-			StylesheetExecutionContext&		executionContext,
-			Writer&							writer,
-			bool							normalizeLinefeed,
-			bool							handleIgnorableWhitespace)  :
-	m_executionContext(executionContext),
-	m_formatter(executionContext.borrowFormatterToText())
-{
-	assert(m_formatter != 0);
-
-	m_formatter->setNormalizeLinefeed(normalizeLinefeed);
-	m_formatter->setHandleIgnorableWhitespace(handleIgnorableWhitespace);
-	m_formatter->clearEncoding();
-	m_formatter->setWriter(&writer);
-}
diff --git a/src/XSLT/StylesheetExecutionContext.hpp b/src/XSLT/StylesheetExecutionContext.hpp
deleted file mode 100644
index b600efa..0000000
--- a/src/XSLT/StylesheetExecutionContext.hpp
+++ /dev/null
@@ -1,1802 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680)
-#define STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAMS)
-#include <iostream.h>
-#else
-#include <iosfwd>
-#endif
-
-
-
-#include <cstddef>
-#include <memory>
-
-
-
-// Base class header file...
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-// Base class header file...
-#include <PlatformSupport/ExecutionContext.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <PlatformSupport/XalanNumberFormat.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-
-
-
-#include <XSLT/KeyTable.hpp>
-#include <XSLT/TopLevelArg.hpp>
-
-
-
-class CountersTable;
-class ElemTemplate;
-class ElemTemplateElement;
-class ElemVariable;
-class FormatterListener;
-class FormatterToDOM;
-class FormatterToHTML;
-class FormatterToText;
-class FormatterToXML;
-class GenerateEvent;
-class KeyTable;
-class PrefixResolver;
-class NodeRefListBase;
-class NodeSorter;
-class PrintWriter;
-class XalanQName;
-class SelectionEvent;
-class Stylesheet;
-class StylesheetRoot;
-class XalanOutputStream;
-class TracerEvent;
-class Writer;
-class XalanDocument;
-class XalanDocumentFragment;
-class XalanElement;
-class XalanNode;
-class XalanNumberFormat;
-class XPath;
-class XObject;
-class XObjectPtr;
-class XResultTreeFrag;
-
-
-
-//
-// An abstract class which provides support for executing stylesheets.
-//
-class XALAN_XSLT_EXPORT StylesheetExecutionContext : public XPathExecutionContext
-{
-public:
-
-	typedef size_t	size_type;
-
-	explicit
-	StylesheetExecutionContext(XObjectFactory*	theXObjectFactory = 0);
-
-	virtual
-	~StylesheetExecutionContext();
-
-	// These interfaces are new...
-
-	/**
-	 * Determine whether conflicts should be reported.
-	 * 
-	 * @return true if conflicts should not be warned
-	 */
-	virtual bool
-	getQuietConflictWarnings() const = 0;
-
-	/**
-	 * Retrieve root document for stylesheet.  Note that
-	 * this does not have to be a XalanDocument -- it can
-	 * be any node in a document.
-	 * 
-	 * @return root document
-	 */
-	virtual XalanNode*
-	getRootDocument() const = 0;
-
-	/**
-	 * Set root document for stylesheet.  Note that
-	 * this does not have to be a XalanDocument -- it can
-	 * be any node in a document.
-	 * 
-	 * @param theDocument root document
-	 */
-	virtual void
-	setRootDocument(XalanNode*	theDocument) = 0;
-
-	/**
-	 * Create a new empty document.
-	 * 
-	 * @return new document
-	 */
-	virtual XalanDocument*
-	createDocument() const = 0;
-
-	/**
-	 * Set root stylesheet for stylesheet.
-	 * 
-	 * @param theStylesheet root stylesheet
-	 */
-	virtual void
-	setStylesheetRoot(const StylesheetRoot*		theStylesheet) = 0;
-
-	/**
-	 * Retrieve the current mode.
-	 * 
-	 * @return QName for mode
-	 */
-	virtual const XalanQName*
-	getCurrentMode() const = 0;
-
-	/**
-	 * Set the current mode.
-	 * 
-	 * @param theMode QName for mode
-	 */
-	virtual	void
-	setCurrentMode(const XalanQName* theMode) = 0; 
-
-	/**
-	 * Retrieve the current template
-	 * 
-	 * @return The current template instance or null if there is no current template
-	 */
-	virtual const ElemTemplate*
-	getCurrentTemplate() const = 0;
-
-	/**
-	 * Set the current template
-	 * 
-	 * @param theTemplate The current template instance
-	 */
-	virtual	void
-	setCurrentTemplate(const ElemTemplate*	theTemplate) = 0; 
-
-	/*
-	 * A class to manage setting and restoring the current
-	 * template instance.
-	 */
-	class SetAndRestoreCurrentTemplate
-	{
-	public:
-
-		SetAndRestoreCurrentTemplate(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplate*				theTemplate) :
-			m_executionContext(executionContext),
-			m_template(executionContext.getCurrentTemplate())
-		{
-			executionContext.setCurrentTemplate(theTemplate);
-		}
-
-		~SetAndRestoreCurrentTemplate()
-		{
-			m_executionContext.setCurrentTemplate(m_template);
-		}
-
-	private:
-
-		// Not implemented...
-		SetAndRestoreCurrentTemplate(const SetAndRestoreCurrentTemplate&);
-
-		SetAndRestoreCurrentTemplate&
-		operator=(const SetAndRestoreCurrentTemplate&);
-
-		// Data members...
-		StylesheetExecutionContext&		m_executionContext;
-
-		const ElemTemplate* const		m_template;
-	};
-
-	/**
-	 * Whether diagnostic output is to be generated
-	 * 
-	 * @return true for diagnostics output 
-	 */
-	virtual bool
-	doDiagnosticsOutput() const = 0;
-
-	/**
-	 * Print a diagnostics string to the output device
-	 * 
-	 * @param theString string to print
-	 */
-	virtual void
-	diag(const XalanDOMString&	theString) = 0;
-
-	/**
-	 * Mark the time, so that displayDuration can later display the elapsed
-	 * clock ticks.
-	 * 
-	 * @param theKey element to push
-	 */
-	virtual void
-	pushTime(const void*	theKey) = 0;
-
-	/**
-	 * Display the duration since pushTime was called.
-	 *
-	 * @param theMessage message to display
-	 * @param theKey     key for which duration is displayed
-	 */
-	virtual void
-	displayDuration(
-			const XalanDOMString&	theMessage,
-			const void*				theKey) = 0;
-
-	/**
-	 * See if there is an element pending.
-	 */
-	virtual bool
-	isElementPending() const = 0;
-
-	/**
-	 * Replace the contents of a pending attribute.
-	 * 
-	 * @param theName           name of attribute
-	 * @param theNewType        type of attribute
-	 * @param theNewValue       new value of attribute
-	 */
-	virtual void
-	replacePendingAttribute(
-			const XalanDOMChar*		theName,
-			const XalanDOMChar*		theNewType,
-			const XalanDOMChar*		theNewValue) = 0;
-
-	/**
-	 * Get the current formatter listener.
-	 * 
-	 * @return pointer to formatter listener
-	 */
-	virtual FormatterListener*
-	getFormatterListener() const = 0;
-
-	/**
-	 * Set the current formatter listener.
-	 *
-	 * @param flistener pointer to new formatter listener
-	 */
-	virtual void
-	setFormatterListener(FormatterListener*		flistener) = 0;
-
-	virtual void
-	pushOutputContext(FormatterListener*	flistener = 0) = 0;
-
-	virtual void
-	popOutputContext() = 0;
-
-	class OutputContextPushPop
-	{
-	public:
-
-		/**
-		 * Construct an object to push and pop the current output context.
-		 *
-		 * @param theExecutionContext a reference to the current execution context
-		 * @param theNewListener the new FormatterListener to set.
-		 */
-		OutputContextPushPop(
-			StylesheetExecutionContext&		theExecutionContext,
-			FormatterListener*				theNewListener = 0) :
-			m_executionContext(theExecutionContext)
-		{
-			m_executionContext.pushOutputContext(theNewListener);
-		}
-
-		~OutputContextPushPop()
-		{
-			m_executionContext.popOutputContext();
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-	};
-
-	/**
-	 * Add a result attribute to the list of pending attributes.
-	 * 
-	 * @param aname name of attribute
-	 * @param value value of attribute
-	 */
-	virtual void
-	addResultAttribute(
-			const XalanDOMString&	aname,
-			const XalanDOMString&	value) = 0;
-
-	/**
-	 * Add namespace attributes for a node to the list of pending attributes.
-	 * 
-	 * @param src                 source node
-	 */
-	virtual void
-	copyNamespaceAttributes(const XalanNode&	src) = 0;
-
-	/**
-	 * Retrieve the result prefix corresponding to a namespace.
-	 * 
-	 * @param theNamespace namespace for prefix
-	 *
-	 * @return A pointer to a string containing the prefix, or 0 if the namespace is not mapped.
-	 */
-	virtual const XalanDOMString*
-	getResultPrefixForNamespace(const XalanDOMString&	theNamespace) const = 0;
-
-	/**
-	 * Retrieve the result namespace corresponding to a prefix.
-	 * 
-	 * @param thePrefix prefix for namespace
-	 *
-	 * @return A pointer to a string containing the namespace, or 0 if the prefix is not mapped.
-	 */
-	virtual const XalanDOMString*
-	getResultNamespaceForPrefix(const XalanDOMString&	thePrefix) const = 0;
-
-	/**
-	 * Determine whether or not a prefix is in use on the pending element or
-	 * the pending attributes.
-	 * 
-	 * @param thePrefix prefix for namespace
-	 *
-	 * @return true if the prefix is in use, false if not.
-	 */
-	virtual bool
-	isPendingResultPrefix(const XalanDOMString&	thePrefix) = 0;
-
-	/**
-	 * Generate a random namespace prefix guaranteed to be unique.
-	 * 
-	 * @return unique namespace prefix
-	 */
-	virtual XalanDOMString
-	getUniqueNamespaceValue() const = 0;
-
-	/**
-	 * Generate a random namespace prefix guaranteed to be unique.
-	 * 
-	 * @param theValue A string for returning the new prefix
-	 */
-	virtual void
-	getUniqueNamespaceValue(XalanDOMString&		theValue) const = 0;
-
-	/**
-	 * Retrieve the current number of spaces to indent.
-	 * 
-	 * @return number of spaces
-	 */
-	virtual int
-	getIndent() const = 0;
-
-	/**
-	 * Set the current number of spaces to indent.
-	 * 
-	 * @param indentAmount The number of spaces to indent.  Use -1 for the default amount.
-	 */
-	virtual void
-	setIndent(int	indentAmount) = 0;
-
-	// $$$ ToDo: Remove this one!!!!
-	/**
-	 * Execute an XPath and return the resulting XObject. The lifetime of this
-	 * XObject is not necessarily that of the Stylesheet.
-	 *
-	 * @param str         string expression for XPath evaluation
-	 * @param contextNode current node in the source tree
-	 * @param resolver    resolver for namespace resolution
-	 * @return pointer to resulting XObject
-	 */
-	virtual const XObjectPtr
-	executeXPath(
-			const XalanDOMString&	str,
-			XalanNode*				contextNode,
-			const XalanElement&		resolver) = 0;
-
-	/**
-	 * Create and initialize an xpath and return it. This is to be used to
-	 * create an XPath that is only used during execution.
-	 *
-	 * @param str      string expression for XPath evaluation
-	 * @param resolver resolver for namespace resolution
-	 * @return pointer to resulting XPath
-	 */
-	virtual const XPath*
-	createMatchPattern(
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver) = 0;
-
-	/**
-	 * Return the XPath created by createMatchPattern().
-	 *
-	 * @param xpath The XPath to return.
-	 */
-	virtual void
-	returnXPath(const XPath*	xpath) = 0;
-
-	// A helper class to automatically return an XPath instance.
-	class XPathGuard
-	{
-	public:
-
-		XPathGuard(
-				StylesheetExecutionContext&		context,
-				const XPath*					xpath = 0) :
-			m_context(context),
-			m_xpath(xpath)
-		{
-		}
-
-		~XPathGuard()
-		{
-			if (m_xpath != 0)
-			{
-				m_context.returnXPath(m_xpath);
-			}
-		}
-
-		const XPath*
-		get() const
-		{
-			return m_xpath;
-		}
-
-		const XPath*
-		release()
-		{
-			const XPath* const	temp = m_xpath;
-
-			m_xpath = 0;
-
-			return temp;
-		}
-
-		void
-		reset(const XPath*	xpath)
-		{
-			if (m_xpath != 0)
-			{
-				m_context.returnXPath(m_xpath);
-			}
-
-			m_xpath = xpath;
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_context;
-
-		const XPath*					m_xpath;
-	};
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<TopLevelArg>			ParamVectorType;
-#else
-	typedef std::vector<TopLevelArg>	ParamVectorType;
-#endif
-
-	/**
-	 * Set a list of top level variables in the specified execution context
-	 * stylesheet.
-	 *
-	 * @param topLevelParams   list of top level parameters
-	 */
-	virtual void
-	pushTopLevelVariables(const ParamVectorType&	topLevelParams) = 0;
-
-	/**
-	 * Execute the supplied XPath and and create a
-	 * variable in the current context.
-	 *
-	 * @param element	  element marker for variable
-	 * @param str         string expression for XPath evaluation
-	 * @param contextNode current node in the source tree
-	 * @param resolver    resolver for namespace resolution
-	 * @return a pointer to the XObject result
-	 */
-	virtual const XObjectPtr
-	createVariable(
-			const ElemTemplateElement*	element,
-			const XPath&				xpath,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver) = 0;
-
-	/**
-	 * Create an ResultTreeFragment as a variable and push it
-	 * on to the stack with the current context.
-	 *
-	 * @param element element marker for variable
-	 * @param templateChild result tree fragment to use.
-	 * @param sourceNode source node
-	 * @return a pointer to the XObject result
-	 */
-	virtual const XObjectPtr
-	createVariable(
-			const ElemTemplateElement*	element,
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode) = 0;
-
-	/**
-	 * Execute an XPath using the provided expression, 
-	 * and push the result as a variable in the context of
-	 * the supplied element.
-	 *
-	 * @param name		  name of variable
-	 * @param element	  element marker for variable
-	 * @param str         string expression for XPath evaluation
-	 * @param contextNode current node in the source tree
-	 * @param resolver    resolver for namespace resolution
-	 * @return nothing
-	 */
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const XalanDOMString&		str,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver) = 0;
-
-	/**
-	 * Execute the supplied XPath and push the result as a
-	 * variable in the current context.
-	 *
-	 * @param name		  name of variable
-	 * @param element	  element marker for variable
-	 * @param str         string expression for XPath evaluation
-	 * @param contextNode current node in the source tree
-	 * @param resolver    resolver for namespace resolution
-	 * @return nothing
-	 */
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const XPath&				xpath,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver) = 0;
-
-	/**
-	 * Create an ResultTreeFragment as a variable and push it
-	 * on to the stack with the current context.
-	 *
-	 * @param name    name of variable
-	 * @param element element marker for variable
-	 * @param templateChild result tree fragment to use.
-	 * @param sourceNode source node
-	 */
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode) = 0;
-
-	/**
-	 * Push a named variable onto the variables stack.
-	 * The variable has already been evaluated.
-	 *
-	 * @param name    name of variable
-	 * @param val     pointer to XObject value
-	 * @param element element marker for variable
-	 */
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const XObjectPtr			val,
-			const ElemTemplateElement*	element) = 0;
-
-	/**
-	 * Push a named variable onto the processor variable stack
-	 * The variable will be evaluated when first referenced.
-	 *
-	 * @param name    name of variable
-	 * @param var     pointer to ElemVariable instance
-	 * @param element element marker for variable
-	 */
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemVariable*			var,
-			const ElemTemplateElement*	element) = 0;
-
-	/**
-	 * Push a context marker onto the stack to let us know when to stop
-	 * searching for a var.
-	 */
-	virtual void
-	pushContextMarker() = 0;
-
-	/**
-	 * Pop the current context from the current context stack.
-	 */
-	virtual void
-	popContextMarker() = 0;
-
-	/*
-	 * A class to manage pushing and popping an element's stack
-	 * frame context.
-	 */
-	class PushAndPopContextMarker
-	{
-	public:
-
-		PushAndPopContextMarker(StylesheetExecutionContext&		executionContext) :
-			m_executionContext(executionContext)
-		{
-			executionContext.pushContextMarker();
-		}
-
-		~PushAndPopContextMarker()
-		{
-			m_executionContext.popContextMarker();
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-	};
-
-	/**
-	 * Resolve the params that were pushed by the caller.
-	 */
-	virtual void
-	resolveTopLevelParams() = 0;
-
-	/**
-	 * Reset the vector of top level parameters.
-	 */
-	virtual void
-	clearTopLevelParams() = 0;
-
-	class ResolveAndClearTopLevelParams
-	{
-	public:
-
-		ResolveAndClearTopLevelParams(StylesheetExecutionContext&	executionContext) :
-			m_executionContext(executionContext)
-		{
-			m_executionContext.resolveTopLevelParams();
-		}
-
-		~ResolveAndClearTopLevelParams()
-		{
-			m_executionContext.clearTopLevelParams();
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-	};
-
-	/**
-	 * Given a template, search for the arguments and push them on the stack.
-	 * Also, push default arguments on the stack.
-	 *
-	 * @param xslCallTemplateElement "call-template" element
-	 * @param sourceNode             source node
-	 * @param targetTemplate         target template
-	 */
-	virtual	void
-	pushParams(
-			const ElemTemplateElement&	xslCallTemplateElement,
-			XalanNode*					sourceNode,
-			const ElemTemplateElement*	targetTemplate) = 0;
-
-	/**
-	 * Given a name, return a string representing the value, but don't look in
-	 * the global space.
-	 *
-	 * @param theName name of variable
-	 * @return pointer to XObject for variable
-	 */
-	virtual const XObjectPtr
-	getParamVariable(const XalanQName&	theName) = 0;
-
-	/**
-	 * Push a frame marker for an element.
-	 *
-	 * @param elem the element
-	 */
-	virtual void
-	pushElementFrame(const ElemTemplateElement*		elem) = 0;
-
-	/**
-	 * Pop a frame marker for an element.
-	 *
-	 * @param elem the element
-	 */
-	virtual void
-	popElementFrame(const ElemTemplateElement*	elem) = 0;
-
-	/*
-	 * A class to manage pushing and popping an element's stack
-	 * frame context.
-	 */
-	class PushAndPopElementFrame
-	{
-	public:
-
-		PushAndPopElementFrame(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement*		element) :
-			m_executionContext(executionContext),
-			m_element(element)
-		{
-			executionContext.pushElementFrame(element);
-		}
-
-		~PushAndPopElementFrame()
-		{
-			m_executionContext.popElementFrame(m_element);
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-
-		const ElemTemplateElement*		m_element;
-	};
-
-	/**
-	 * Get the top of the global stack frame.
-	 *
-	 * @return current value of index
-	 */
-	virtual int
-	getGlobalStackFrameIndex() const = 0;
-
-	/**
-	 * Get the top of the stack frame from where a search 
-	 * for a variable or param should take place.
-	 *
-	 * @return current value of index
-	 */
-	virtual int
-	getCurrentStackFrameIndex() const = 0;
-
-	/**
-	 * Set the top of the stack frame from where a search 
-	 * for a variable or param should take place.
-	 *
-	 * @param currentStackFrameIndex new value of index
-	 */
-	virtual void
-	setCurrentStackFrameIndex(int	currentStackFrameIndex = -1) = 0;
-
-	/*
-	 * A class to manage the state of the variable stacks frame index.
-	 */
-	class SetAndRestoreCurrentStackFrameIndex
-	{
-	public:
-
-		SetAndRestoreCurrentStackFrameIndex(
-			StylesheetExecutionContext&		executionContext,
-			int								newIndex) :
-			m_executionContext(executionContext),
-			m_savedIndex(executionContext.getCurrentStackFrameIndex())
-		{
-			executionContext.setCurrentStackFrameIndex(newIndex);
-		}
-
-		~SetAndRestoreCurrentStackFrameIndex()
-		{
-			m_executionContext.setCurrentStackFrameIndex(m_savedIndex);
-		}
-
-		int
-		getStackFrameIndex() const
-		{
-			return m_savedIndex;
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-
-		const int						m_savedIndex;
-	};
-
-	/*
-	 * A class to manage stack state during execution.
-	 */
-	class ParamsPushPop
-	{
-	public:
-
-		ParamsPushPop(
-			StylesheetExecutionContext&		executionContext,
-			const ElemTemplateElement&		xslCallTemplateElement,
-			XalanNode*						sourceNode,
-			const ElemTemplateElement*		targetTemplate);
-
-		~ParamsPushPop();
-
-		int
-		getStackFrameIndex() const
-		{
-			return m_savedStackFrameIndex;
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-	
-		const int						m_savedStackFrameIndex;
-	};
-
-	/**
-	 * 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 SAXException
-	 */
-	virtual void
-	startDocument() = 0;
-
-	/**
-	 * 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 SAXException
-	 */
-	virtual void
-	endDocument() = 0;
-
-	/**
-	 * Receive notification of the beginning of an element.
-	 *
-	 * @param name element type name
-	 */
-	virtual void
-	startElement(const XalanDOMChar*	name) = 0;
-
-	/**
-	 * Receive notification of the end of an element.
-	 *
-	 * @param name element type name
-	 */
-	virtual void
-	endElement(const XalanDOMChar*	name) = 0;
-
-	/**
-	 * Receive notification of character data.
-	 *
-	 * @param ch     pointer to characters from the XML document
-	 * @param start  start position in the array
-	 * @param length number of characters to read from the array
-	 */
-	virtual void
-	characters(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length) = 0;
-
-	/**
-	 * Receive notification of character data. If available, when the
-	 * disable-output-escaping attribute is used, output raw text without
-	 * escaping.
-	 *
-	 * @param ch     pointer to characters from the XML document
-	 * @param start  start position in the array
-	 * @param length number of characters to read from the array
-	 */
-	virtual void
-	charactersRaw(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length) = 0;
-
-	/**
-	 * Called when a Comment is to be constructed.
-	 *
-	 * @param   data	pointer to comment data
-	 */
-	virtual void
-	comment(const XalanDOMChar*		data) = 0;
-
-	/**
-	 * Receive notification of a processing instruction.
-	 *
-	 * @param target processing instruction target
-	 * @param data   processing instruction data, or null if none was supplied
-	 */
-	virtual void
-	processingInstruction(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data) = 0;
-
-	/**
-	 * Flush the pending element.
-	 */
-	virtual void
-	flushPending() = 0;
-
-	/**
-	 * Clone an element with or without children.
-	 *
-	 * @param node                  node to clone
-	 * @param nodeType				the type of the node
-	 * @param isLiteral             true if a literal element
-	 * @param overrideStrip         false if white space stripping should be done
-	 * @param shouldCloneAttributes true if attributes should be cloned
-	 * @param styleNode				the stylesheet element that generated the clone.
-	 */
-	virtual void
-	cloneToResultTree(
-			XalanNode&					node,
-			XalanNode::NodeType			nodeType,
-			bool						isLiteral,
-			bool						overrideStrip,
-			bool						shouldCloneAttributes,
-			const ElemTemplateElement*	styleNode = 0) = 0;
-
-	/**
-	 * Create an XObject that represents a Result tree fragment.
-	 *
-	 * @param templateChild result tree fragment to use.
-	 * @param sourceNode source node
-	 * @return XObject instance
-	 */
-	virtual const XObjectPtr
-	createXResultTreeFrag(
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode) = 0;
-
-	/**
-	 * Output an object to the result tree by doing the right conversions.
-	 * This is public for access by extensions.
-	 *
-	 * @param obj the XObject to output
-	 */
-	virtual void
-	outputToResultTree(const XObject&	xobj) = 0;
-
-	/**
-	 * Given a result tree fragment, walk the tree and
-	 * output it to the result stream.
-	 *
-	 * @param theTree result tree fragment
-	 */
-	virtual void
-	outputResultTreeFragment(const XObject&		theTree) = 0;
-
-	/**
-	 * Determine the full XSLT Namespace URI.
-	 *
-	 * @return Xalan namespace URI
-	 */
-	virtual const XalanDOMString&
-	getXSLNameSpaceURL() const = 0;
-
-	/**
-	 * Special Xalan namespace for built-in extensions.
-	 *
-	 * @return Xalan namespace for extensions
-	 */
-	virtual const XalanDOMString&
-	getXalanXSLNameSpaceURL() const = 0;
-
-	/**
-	 * Determine if an element is on the recursion stack.
-	 *
-	 * @return true if element on stack
-	 */
-	virtual bool
-	findOnElementRecursionStack(const ElemTemplateElement*	theElement) const = 0;
-
-	/**
-	 * Push an element onto the recursion stack.
-	 *
-	 * @param theElement pointer to element to push
-	 */
-	virtual void
-	pushOnElementRecursionStack(const ElemTemplateElement*	theElement) = 0;
-
-	/**
-	 * Pop an element off the recursion stack.
-	 *
-	 * @return pointer to element popped
-	 */
-	virtual const ElemTemplateElement*
-	popElementRecursionStack() = 0;
-
-	/**
-	 * Class for keeping track of elements pushed on the element recursion stack
-	 */
-	class ElementRecursionStackPusher
-	{
-	public:
-
-	/**
-	 * Construct an instance of the recursion stack pusher.
-	 *
-	 * @param executionContext current execution context
-	 * @param element pointer to element to push
-	 */
-		ElementRecursionStackPusher(
-					StylesheetExecutionContext&		executionContext,
-					const ElemTemplateElement*		element) :
-			m_executionContext(executionContext)
-		{
-			m_executionContext.pushOnElementRecursionStack(element);
-		}
-
-		~ElementRecursionStackPusher()
-		{
-			m_executionContext.popElementRecursionStack();
-		}
-
-	private:
-
-		StylesheetExecutionContext&			m_executionContext;
-	};
-
-
-	/**
-	 * This is a hook that XResultTreeFrag instances (which are reference
-	 * counted), can notify the owning StylesheetExecutionContext instance
-	 * when they are dereferenced and can be cleaned up.
-	 *
-	 * @param theXResultTreeFrag The instance that is being returned.
-	 *
-	 * @return true if the XResultTreeFrag instance belongs to the execution context. false if not.
-	 */
-	virtual bool
-	returnXResultTreeFrag(XResultTreeFrag*	theXResultTreeFrag) = 0;
-
-
-	enum eDummy
-	{
-		eDefaultXMLIndentAmount = 0,
-		eDefaultHTMLIndentAmount = 0
-	};
-
-	/**
-	 * Create a new FormatterToXML instance.  The execution context
-	 * owns the instance and will delete it when reset.
-	 *
-	 * @param writer            character output stream to use
-	 * @param version           version of the output method
-	 * @param doIndent          true if output is to be indented
-	 * @param indent            number of spaces to indent at each nesting level
-	 * @param encoding			character encoding for the writer
-	 * @param mediaType         media type (MIME content type) of the data
-	 * @param doctypeSystem     system identifier to be used in the document
-	 *                          type declaration
-	 * @param doctypePublic     public identifier to be used in the document
-	 *                          type declaration
-	 * @param xmlDecl           true if the XSLT processor should output an XML
-	 *                          declaration
-	 * @param standalone        true if the XSLT processor should output a
-	 *                          standalone document declaration
-	 * @return a pointer to the new instance.
-	 */
-	virtual FormatterToXML*
-	createFormatterToXML(
-			Writer&					writer,
-			const XalanDOMString&	version = XalanDOMString(),
-			bool					doIndent = false,
-			int						indent = eDefaultXMLIndentAmount,
-			const XalanDOMString&	encoding = XalanDOMString(),
-			const XalanDOMString&	mediaType = XalanDOMString(),
-			const XalanDOMString&	doctypeSystem = XalanDOMString(),
-			const XalanDOMString&	doctypePublic = XalanDOMString(),
-			bool					xmlDecl = true,
-			const XalanDOMString&	standalone = XalanDOMString()) = 0;
-
-	/**
-	 * Create a new FormatterToHTML instance.  The execution context
-	 * owns the instance and will delete it when reset.
-	 *
-	 * @param writer            character output stream to use
-	 * @param encoding			character encoding for the writer
-	 * @param mediaType         media type (MIME content type) of the data
-	 * @param doctypeSystem     system identifier to be used in the document
-	 *                          type declaration
-	 * @param doctypePublic     public identifier to be used in the document
-	 *                          type declaration
-	 * @param doIndent          true if output is to be indented
-	 * @param indent            number of spaces to indent at each nesting level
-	 * @param version           version of the output method
-	 * @param standalone        true if the XSLT processor should output a
-	 *                          standalone document declaration
-	 * @param xmlDecl           true if the XSLT processor should output an XML
-	 *                          declaration
-	 * @return a pointer to the new instance.
-	 */
-	virtual FormatterToHTML*
-	createFormatterToHTML(
-			Writer&					writer,
-			const XalanDOMString&	encoding = XalanDOMString(),
-			const XalanDOMString&	mediaType = XalanDOMString(),
-			const XalanDOMString&	doctypeSystem = XalanDOMString(),
-			const XalanDOMString&	doctypePublic = XalanDOMString(),
-			bool					doIndent = true,
-			int						indent = eDefaultHTMLIndentAmount,
-			const XalanDOMString&	version = XalanDOMString(),
-			const XalanDOMString&	standalone = XalanDOMString(),
-			bool					xmlDecl = false) = 0;
-
-	/**
-	 * Construct a FormatterToDOM instance.  it will add the DOM nodes 
-	 * to the document fragment.
-	 *
-	 * @param doc            document for nodes
-	 * @param docFrag        document fragment for nodes, default none
-	 * @param currentElement current element for nodes, default none
-	 */
-	virtual FormatterToDOM*
-	createFormatterToDOM(
-			XalanDocument*			doc,
-			XalanDocumentFragment*	docFrag,
-			XalanElement*			currentElement) = 0;
-
-	/**
-	 * Construct a FormatterToDOM instance.  it will add the DOM nodes 
-	 * to the document fragment.
-	 *
-	 * @param doc            document for nodes
-	 * @param docFrag        document fragment for nodes, default none
-	 * @param currentElement current element for nodes, default none
-	 */
-	virtual FormatterToDOM*
-	createFormatterToDOM(
-			XalanDocument*	doc,
-			XalanElement*	elem) = 0;
-
-	/**
-	 * FormatterToText instance constructor.
-	 *
-	 * @param writer writer for output
-	 * @param encoding character encoding for the writer
-	 */
-	virtual FormatterToText*
-	createFormatterToText(
-			Writer&					writer,
-			const XalanDOMString&	encoding) = 0;
-
-	/**
-	 * Borrow a cached FormatterToText instance.
-	 *
-	 * @return A pointer to the instance.
-	 */
-	virtual FormatterToText*
-	borrowFormatterToText() = 0;
-
-	/**
-	 * Return a previously borrowed FormatterToText instance.
-	 *
-	 * @param theFormatter A pointer the to previously borrowed instance.
-	 * @return true if the instance was previously borrowed, false if not.
-	 */
-	virtual bool
-	returnFormatterToText(FormatterToText*	theFormatter) = 0;
-
-	class BorrowReturnFormatterToText
-	{
-	public:
-
-		BorrowReturnFormatterToText(
-				StylesheetExecutionContext&		executionContext,
-				Writer&							writer,
-				bool							normalizeLinefeed = true,
-				bool							handleIgnorableWhitespace = true);
-
-		~BorrowReturnFormatterToText()
-		{
-			assert(m_formatter != 0);
-
-			m_executionContext.returnFormatterToText(m_formatter);
-		}
-
-		FormatterToText&
-		operator*() const
-		{
-			assert(m_formatter != 0);
-
-			return *m_formatter;
-		}
-
-		FormatterToText*
-		get() const
-		{
-			assert(m_formatter != 0);
-
-			return m_formatter;
-		}
-
-		FormatterToText*
-		operator->() const
-		{
-			return get();
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-
-		FormatterToText*				m_formatter;
-	};
-
-
-	/**
-	 * Borrow a cached NodeSorter instance.
-	 *
-	 * @return A pointer to the instance.
-	 */
-	virtual NodeSorter*
-	borrowNodeSorter() = 0;
-
-	/**
-	 * Return a previously borrowed NodeSorter instance.
-	 *
-	 * @param theSorter A pointer the to previously borrowed instance.
-	 * @return true if the instance was previously borrowed, false if not.
-	 */
-	virtual bool
-	returnNodeSorter(NodeSorter*	theSorter) = 0;
-
-	class BorrowReturnNodeSorter
-	{
-	public:
-
-		BorrowReturnNodeSorter(StylesheetExecutionContext&	executionContext) :
-			m_executionContext(executionContext),
-			m_sorter(executionContext.borrowNodeSorter())
-		{
-			assert(m_sorter != 0);
-		}
-
-		~BorrowReturnNodeSorter()
-		{
-			assert(m_sorter != 0);
-
-			m_executionContext.returnNodeSorter(m_sorter);
-		}
-
-		NodeSorter&
-		operator*() const
-		{
-			assert(m_sorter != 0);
-
-			return *m_sorter;
-		}
-
-		NodeSorter*
-		get() const
-		{
-			assert(m_sorter != 0);
-
-			return m_sorter;
-		}
-
-		NodeSorter*
-		operator->() const
-		{
-			return get();
-		}
-
-	private:
-
-		StylesheetExecutionContext&		m_executionContext;
-
-		NodeSorter*						m_sorter;
-	};
-
-
-	typedef XalanAutoPtr<XalanNumberFormat>		XalanNumberFormatAutoPtr;
-
-	/**
-	 * Create a new XalanNumberFormat instance.
-	 *
-	 * @return an XalanNumberFormatAutoPtr that owns a new
-	 * XalanNumberFormat instance.
-	 */
-	virtual XalanNumberFormatAutoPtr
-	createXalanNumberFormat() = 0;
-
-
-	// Trace interface...
-
-	/**
-	 * Determine the number of trace listeners.
-	 * 
-	 * @return number of listeners
-	 */
-	virtual size_type
-	getTraceListeners() const = 0;
-
-	/**
-	 * Fire a generate event.
-	 * 
-	 * @param ge generate event to fire
-	 */
-	virtual void
-	fireGenerateEvent(const GenerateEvent&	ge) = 0;
-
-	/**
-	 * Fire a trace event.
-	 * 
-	 * @param te trace event to fire
-	 */
-	virtual void
-	fireTraceEvent(const TracerEvent&	te) = 0;
-
-	/**
-	 * Fire a selection event.
-	 * 
-	 * @param se selection event to fire
-	 */
-	virtual void
-	fireSelectEvent(const SelectionEvent&	se) = 0;
-
-	/**
-	 * If this is set to true, simple traces of template calls are made.
-	 *
-	 * @return true if traces made
-	 */
-	virtual bool
-	getTraceSelects() const = 0;
-
-	/**
-	 * Compose a diagnostic trace of the current selection
-	 *
-	 * @param theTemplate current context node
-	 * @param nl          list of selected nodes
-	 */
-	virtual void
-	traceSelect(
-			const XalanElement&		theTemplate,
-			const NodeRefListBase&	nl) const = 0;
-
-	/**
-	 * Compare two strings using the collation of the
-	 * current locale.
-	 *
-	 * @param theLHS a string to compare
-	 * @param theRHS a string to compare
-	 * @return < 0 if theLHS is before theRHS, 0 if they are equal, or > 0 if theLHS is after theRHS
-	 */
-	virtual int
-	collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS) = 0;
-
-	/**
-	 * Compare two strings using the collation of the
-	 * supplied locale.
-	 *
-	 * @param theLHS a string to compare
-	 * @param theRHS a string to compare
-	 * @param theLocal a string that specifies the locale
-	 * @return < 0 if theLHS is before theRHS, 0 if they are equal, or > 0 if theLHS is after theRHS
-	 */
-	virtual int
-	collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS,
-			const XalanDOMString&	theLocale) = 0;
-
-	/**
-	 * Compare two strings using the collation of the
-	 * current locale.
-	 *
-	 * @param theLHS a string to compare
-	 * @param theRHS a string to compare
-	 * @return < 0 if theLHS is before theRHS, 0 if they are equal, or > 0 if theLHS is after theRHS
-	 */
-	virtual int
-	collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) = 0;
-
-	/**
-	 * Compare two strings using the collation of the
-	 * current locale.
-	 *
-	 * @param theLHS a string to compare
-	 * @param theRHS a string to compare
-	 * @param theLocal a string that specifies the locale
-	 * @return < 0 if theLHS is before theRHS, 0 if they are equal, or > 0 if theLHS is after theRHS
-	 */
-	virtual int
-	collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) = 0;
-
-	/**
-	 * Determine if a KeyDeclaration is being constructed.
-	 *
-	 * @param The KeyDeclaration in question.
-	 * @return true if being constructed
-	 */
-	virtual	bool
-	getInConstruction(const KeyDeclaration&		keyDeclaration) const = 0;
-
-	/**
-	 * Add KeyDeclaration to construction list.
-	 * 
-	 * @param KeyDeclaration being constructed
-	 */
-	virtual	void
-	beginConstruction(const KeyDeclaration& keyDeclaration) = 0; 
-
-	/**
-	 * Remove KeyDeclaration from construction list.
-	 * 
-	 * @param constructed KeyDeclaration
-	 */
-	virtual	void
-	endConstruction(const KeyDeclaration& keyDeclaration) = 0;
-
-	/**
-	 * Create a PrintWriter for the provided stream.
-	 * 
-	 * @param theTextOutputStream The output stream for the PrintWriter.
-	 * @return The new instance.
-	 */
-	virtual PrintWriter*
-	createPrintWriter(XalanOutputStream*		theTextOutputStream) = 0;
-
-	/**
-	 * Create a PrintWriter.  Create an appropriate output stream
-	 * using the provided file name and encoding.
-	 * 
-	 * @param theFileName The file name for the output stream
-	 * @param theEncoding The encoding for the output stream
-	 * @return The new instance.
-	 */
-	virtual PrintWriter*
-	createPrintWriter(
-			const XalanDOMString&		theFileName,
-			const XalanDOMString&		theEncoding) = 0;
-
-	/**
-	 * Create a PrintWriter using the provided ostream instance.
-	 * 
-	 * @param ostream The output stream for the PrintWriter.
-	 * @return The new instance.
-	 */
-	virtual PrintWriter*
-#if defined(XALAN_NO_NAMESPACES)
-	createPrintWriter(ostream&			theStream) = 0;
-#else
-	createPrintWriter(std::ostream&		theStream) = 0;
-#endif
-
-	/**
-	 * Get the counters table, which is a table of cached
-	 * results that is used by ElemNumber.
-	 * 
-	 * @return A reference to the counters table.
-	 */
-	virtual CountersTable&
-	getCountersTable() = 0;
-
-	/**
-	 * Send character data from a node to the result tree.
-	 *
-	 * @param node The node to send.
-	 */
-	virtual void
-	characters(const XalanNode&		node) = 0;
-
-	/**
-	 * Send character data from an XObject to the result tree.
-	 *
-	 * @param node The xobject to send.
-	 */
-	virtual void
-	characters(const XObjectPtr&	xobject) = 0;
-
-	/**
-	 * Send raw character data from a node to the result tree.
-	 *
-	 * @param node The node to send.
-	 * @param length number of characters to read from the array
-	 */
-	virtual void
-	charactersRaw(const XalanNode&	node) = 0;
-
-	/**
-	 * Send raw character data from an XObject to the result tree.
-	 *
-	 * @param node The xobject to send.
-	 */
-	virtual void
-	charactersRaw(const XObjectPtr&		xobject) = 0;
-
-
-	// These interfaces are inherited from XPathExecutionContext...
-
-	virtual void
-	reset() = 0;
-
-	virtual XalanNode*
-	getCurrentNode() const = 0;
-
-	virtual void
-	setCurrentNode(XalanNode*	theCurrentNode) = 0;
-
-	virtual XObjectPtr
-	createNodeSet(XalanNode&	theNode) = 0;
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const = 0;
-
-	virtual const NodeRefListBase&
-	getContextNodeList() const = 0;
-
-	virtual void	
-	setContextNodeList(const NodeRefListBase&	theList) = 0;
-
-	virtual size_type
-	getContextNodeListLength() const = 0;
-
-	virtual size_type
-	getContextNodeListPosition(const XalanNode&		contextNode) const = 0;
-
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const = 0;
-
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const = 0;
-
-	virtual const XObjectPtr
-	extFunction(
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) = 0;
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) const = 0;
-
-	virtual MutableNodeRefList*
-	borrowMutableNodeRefList() = 0;
-
-	virtual bool
-	returnMutableNodeRefList(MutableNodeRefList*	theList) = 0;
-
-	virtual MutableNodeRefList*
-	createMutableNodeRefList() const = 0;
-
-	virtual XalanDOMString&
-	getCachedString() = 0;
-
-	virtual bool
-	releaseCachedString(XalanDOMString&		theString) = 0;
-
-	virtual void
-	getNodeSetByKey(
-			XalanNode*				doc,
-			const XalanDOMString&	name,
-			const XalanDOMString&	ref,
-			const PrefixResolver&	resolver,
-			MutableNodeRefList&		nodelist) = 0;
-
-	virtual const XObjectPtr
-	getVariable(
-			const XalanQName&	name,
-			const Locator*		locator = 0) = 0;
-
-	virtual const PrefixResolver*
-	getPrefixResolver() const = 0;
-
-	virtual void
-	setPrefixResolver(const PrefixResolver*		thePrefixResolver) = 0;
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const = 0;
-
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const = 0;
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const = 0;
-
-	virtual bool
-	shouldStripSourceNode(const XalanNode&	node) = 0;
-
-	virtual bool
-	getThrowFoundIndex() const = 0;
-
-	virtual void
-	setThrowFoundIndex(bool 	fThrow) = 0;
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const = 0;
-
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument) = 0;
-
-
-	virtual const XalanDecimalFormatSymbols*
-	getDecimalFormatSymbols(const XalanQName&	qname) = 0;
-
-	// These interfaces are inherited from ExecutionContext...
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const = 0;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const = 0;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const = 0;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const = 0;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const = 0;
-};
-
-
-
-#endif	// STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/StylesheetExecutionContextDefault.cpp b/src/XSLT/StylesheetExecutionContextDefault.cpp
deleted file mode 100644
index e54d95c..0000000
--- a/src/XSLT/StylesheetExecutionContextDefault.cpp
+++ /dev/null
@@ -1,2443 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-#include "StylesheetExecutionContextDefault.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanOutputStream.hpp>
-#include <PlatformSupport/XalanNumberFormat.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-#include <PlatformSupport/XalanStdOutputStream.hpp>
-#include <PlatformSupport/XalanFileOutputStream.hpp>
-
-
-
-#include <XPath/XalanQNameByReference.hpp>
-#include <XPath/ResultTreeFragBase.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathExecutionContext.hpp>
-#include <XPath/XObject.hpp>
-
-
-
-#include <XMLSupport/FormatterToDOM.hpp>
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterToHTML.hpp>
-#include <XMLSupport/XMLParserLiaison.hpp>
-
-
-
-#include <XalanSourceTree/FormatterToSourceTree.hpp>
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-#include <XalanSourceTree/XalanSourceTreeDocumentFragment.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemTemplateElement.hpp"
-#include "ElemWithParam.hpp"
-#include "StylesheetRoot.hpp"
-#include "XSLTEngineImpl.hpp"
-#include "XSLTProcessorException.hpp"
-
-
-
-//#define XALAN_VQ_SPECIAL_TRACE
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-#include "C:/Program Files/Rational/Quantify/pure.h"
-#endif
-
-
-
-StylesheetExecutionContextDefault::XalanNumberFormatFactory			StylesheetExecutionContextDefault::s_defaultXalanNumberFormatFactory;
-
-StylesheetExecutionContextDefault::XalanNumberFormatFactory*		StylesheetExecutionContextDefault::s_xalanNumberFormatFactory =
-		&StylesheetExecutionContextDefault::getDefaultXalanNumberFormatFactory();
-
-const StylesheetExecutionContextDefault::DefaultCollationCompareFunctor		StylesheetExecutionContextDefault::s_defaultCollationFunctor;
-
-
-
-StylesheetExecutionContextDefault::StylesheetExecutionContextDefault(
-			XSLTEngineImpl&			xsltProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XObjectFactory&			theXObjectFactory,
-			XalanNode*				theCurrentNode,
-			const NodeRefListBase*	theContextNodeList,
-			const PrefixResolver*	thePrefixResolver) :
-	StylesheetExecutionContext(&theXObjectFactory),
-	m_xpathExecutionContextDefault(theXPathEnvSupport,
-								   theDOMSupport,
-								   theXObjectFactory,
-								   theCurrentNode,
-								   theContextNodeList,
-								   thePrefixResolver),
-	m_xsltProcessor(&xsltProcessor),
-	m_rootDocument(0),
-	m_elementRecursionStack(),
-	m_prefixResolver(0),
-	m_stylesheetRoot(0),
-	m_formatterListeners(),
-	m_printWriters(),
-	m_outputStreams(),
-	m_collationCompareFunctor(0),
-	m_variablesStack(),
-	m_matchPatternCache(),
-	m_keyTables(),
-	m_keyDeclarationSet(),
-	m_countersTable(),
-	m_ignoreHTMLElementNamespaces(false),
-	m_sourceTreeResultTreeFactory(),
-	m_mode(0),
-	m_currentTemplate(0),
-	m_formatterToTextCache(),
-	m_formatterToSourceTreeCache(),
-	m_nodeSorterCache(),
-	m_indentAmount(-1),
-	m_xresultTreeFragAllocator(eXResultTreeFragAllocatorBlockSize),
-	m_resultTreeFragAllocator(eResultTreeFragAllocatorBlockSize),
-	m_documentFragmentAllocator(eDocumentFragmentAllocatorBlockSize),
-	m_documentAllocator(eDocumentAllocatorBlockSize),
-	m_usePerInstanceDocumentFactory(true)
-{
-}
-
-
-
-StylesheetExecutionContextDefault::StylesheetExecutionContextDefault(
-			XalanNode*				theCurrentNode,
-			const NodeRefListBase*	theContextNodeList,
-			const PrefixResolver*	thePrefixResolver) :
-	StylesheetExecutionContext(),
-	m_xpathExecutionContextDefault(theCurrentNode,
-								   theContextNodeList,
-								   thePrefixResolver),
-	m_xsltProcessor(0),
-	m_rootDocument(0),
-	m_elementRecursionStack(),
-	m_prefixResolver(0),
-	m_stylesheetRoot(0),
-	m_formatterListeners(),
-	m_printWriters(),
-	m_outputStreams(),
-	m_collationCompareFunctor(0),
-	m_variablesStack(),
-	m_matchPatternCache(),
-	m_keyTables(),
-	m_keyDeclarationSet(),
-	m_countersTable(),
-	m_ignoreHTMLElementNamespaces(false),
-	m_sourceTreeResultTreeFactory(),
-	m_mode(0),
-	m_currentTemplate(0),
-	m_formatterToTextCache(),
-	m_formatterToSourceTreeCache(),
-	m_nodeSorterCache(),
-	m_indentAmount(-1),
-	m_xresultTreeFragAllocator(eXResultTreeFragAllocatorBlockSize),
-	m_resultTreeFragAllocator(eResultTreeFragAllocatorBlockSize),
-	m_documentFragmentAllocator(eDocumentFragmentAllocatorBlockSize),
-	m_documentAllocator(eDocumentAllocatorBlockSize),
-	m_usePerInstanceDocumentFactory(true)
-{
-}
-
-
-
-StylesheetExecutionContextDefault::~StylesheetExecutionContextDefault()
-{
-	reset();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::getQuietConflictWarnings() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getQuietConflictWarnings();
-}
-
-
-
-XalanNode*
-StylesheetExecutionContextDefault::getRootDocument() const
-{
-	return m_rootDocument;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setRootDocument(XalanNode*	theDocument)
-{
-	m_rootDocument = theDocument;
-}
-
-
-
-XalanDocument*
-StylesheetExecutionContextDefault::createDocument() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getXMLParserLiaison().createDocument();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setStylesheetRoot(const StylesheetRoot*	theStylesheet)
-{
-	assert(m_xsltProcessor != 0);
-	assert(theStylesheet == 0 || theStylesheet->isRoot() == true);
-
-	m_stylesheetRoot = theStylesheet;
-
-	m_xsltProcessor->setStylesheetRoot(theStylesheet);
-
-	if (theStylesheet == 0)
-	{
-		m_xsltProcessor->setExecutionContext(0);
-	}
-	else
-	{
-		m_xsltProcessor->setExecutionContext(this);
-	}
-}
-
-
-
-const XalanQName*
-StylesheetExecutionContextDefault::getCurrentMode() const
-{
-	return m_mode;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setCurrentMode(const XalanQName*		theMode)
-{		
-	m_mode = theMode;
-}
-
-
-
-const ElemTemplate*
-StylesheetExecutionContextDefault::getCurrentTemplate() const
-{
-	return m_currentTemplate;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setCurrentTemplate(const ElemTemplate*	theTemplate)
-{		
-	m_currentTemplate = theTemplate;
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::doDiagnosticsOutput() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->doDiagnosticsOutput();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::diag(const XalanDOMString&	theString)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->diag(theString);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushTime(const void*	theKey)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->pushTime(theKey);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::displayDuration(
-			const XalanDOMString&	theMessage,
-			const void*				theKey)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->displayDuration(theMessage, theKey);
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::isElementPending() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->isElementPending();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::replacePendingAttribute(
-			const XalanDOMChar*		theName,
-			const XalanDOMChar*		theNewType,
-			const XalanDOMChar*		theNewValue)
-{
-	assert(m_xsltProcessor != 0);
-
-	// Remove the old attribute, then add the new one.  AttributeListImpl::addAttribute()
-	// does this for us.
-	m_xsltProcessor->replacePendingAttribute(theName, theNewType, theNewValue);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushOutputContext(FormatterListener*		flistener)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->pushOutputContext(flistener);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::popOutputContext()
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->popOutputContext();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::addResultAttribute(
-			const XalanDOMString&	aname,
-			const XalanDOMString&	value)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->addResultAttribute(aname, value);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::copyNamespaceAttributes(const XalanNode&		src)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->copyNamespaceAttributes(src);
-}
-
-
-
-const XalanDOMString*
-StylesheetExecutionContextDefault::getResultPrefixForNamespace(const XalanDOMString&	theNamespace) const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getResultPrefixForNamespace(theNamespace);
-}
-
-
-
-const XalanDOMString*
-StylesheetExecutionContextDefault::getResultNamespaceForPrefix(const XalanDOMString&	thePrefix) const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getResultNamespaceForPrefix(thePrefix);
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::isPendingResultPrefix(const XalanDOMString&	thePrefix)
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->isPendingResultPrefix(thePrefix);
-}
-
-
-
-XalanDOMString
-StylesheetExecutionContextDefault::getUniqueNamespaceValue() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getUniqueNamespaceValue();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::getUniqueNamespaceValue(XalanDOMString&	theValue) const
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->getUniqueNamespaceValue(theValue);
-}
-
-
-
-FormatterListener*
-StylesheetExecutionContextDefault::getFormatterListener() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getFormatterListener();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setFormatterListener(FormatterListener*	flistener)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->setFormatterListener(flistener);
-}
-
-
-
-int
-StylesheetExecutionContextDefault::getIndent() const
-{
-	if (m_indentAmount != -1)
-	{
-		return m_indentAmount;
-	}
-	else
-	{
-		assert(m_xsltProcessor != 0);
-
-		return m_xsltProcessor->getXMLParserLiaison().getIndent();
-	}
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setIndent(int	indentAmount)
-{
-	m_indentAmount = indentAmount;
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::executeXPath(
-			const XalanDOMString&	str,
-			XalanNode*				contextNode,
-			const XalanElement&		resolver)
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->evalXPathStr(str,
-										contextNode,
-										resolver,
-										*this);
-}
-
-
-
-const XPath*
-StylesheetExecutionContextDefault::createMatchPattern(
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver)
-{
-	assert(m_xsltProcessor != 0);
-
-	const XPath*	theResult = 0;
-
-	// We won't cache any xpath that has a namespace, since
-	// we have no idea how that might be resolved.  We could
-	// enhance XPath so that we can tell if str would match
-	// the XPath, once the namespace is resolved, but it may
-	// not be worth it...
-	const XalanDOMString::size_type		index = indexOf(str, XalanUnicode::charColon);
-	const XalanDOMString::size_type		len = length(str);
-
-	// If we found a ':' before the end of the string, and
-	// it's by itself (:: would indicate an axis), don't
-	// try to cache the XPath...
-	if (index < len - 1 && (charAt(str, index + 1) != XalanUnicode::charColon))
-	{
-		theResult = m_xsltProcessor->createMatchPattern(str, resolver);
-	}
-	else
-	{
-		const XPathCacheMapType::iterator	i =
-			m_matchPatternCache.find(str);
-
-		if (i != m_matchPatternCache.end())
-		{
-			// Update hit time...
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			(*i).second.second = std::clock();
-#else
-			(*i).second.second = clock();
-#endif
-
-			theResult = (*i).second.first;
-		}
-		else
-		{
-			theResult = m_xsltProcessor->createMatchPattern(str, resolver);
-
-			addToXPathCache(str, theResult);
-		}
-	}
-
-	return theResult;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::returnXPath(const XPath*		xpath)
-{
-	assert(m_xsltProcessor != 0);
-
-	if (isCached(xpath) == false)
-	{
-		m_xsltProcessor->returnXPath(xpath);
-	}
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushTopLevelVariables(const ParamVectorType&		topLevelParams)
-{
-	assert(m_stylesheetRoot != 0);
-
-	m_stylesheetRoot->pushTopLevelVariables(*this, topLevelParams);
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::createVariable(
-			const ElemTemplateElement*	/* element */,
-			const XPath&				xpath,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver)
-{
-	return xpath.execute(contextNode, resolver, *this);
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::createVariable(
-			const ElemTemplateElement*	/* element */,
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode)
-{
-	return createXResultTreeFrag(templateChild, sourceNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const XalanDOMString&		str,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver)
-{
-	assert(m_xsltProcessor != 0);
-
-	if (length(str) > 0)
-	{
-		m_variablesStack.pushVariable(
-			name,
-			m_xsltProcessor->evalXPathStr(
-							str,
-							contextNode,
-							resolver,
-							*this),
-			element);
-	}
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushVariable(
-			const XalanQName&			name,
-			const XObjectPtr			val,
-			const ElemTemplateElement*	element)
-{
-	m_variablesStack.pushVariable(name, val, element);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushVariable(
-			const XalanQName&			name,
-			const ElemVariable*			var,
-			const ElemTemplateElement*	element)
-{
-	m_variablesStack.pushVariable(name, var, element);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const XPath&				xpath,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver)
-{
-	m_variablesStack.pushVariable(name, xpath.execute(contextNode, resolver, *this), element);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode)
-{
-	m_variablesStack.pushVariable(name, createXResultTreeFrag(templateChild, sourceNode), element);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushContextMarker()
-{
-	m_variablesStack.pushContextMarker();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::popContextMarker()
-{
-	m_variablesStack.popContextMarker();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::resolveTopLevelParams()
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->resolveTopLevelParams(*this);
-
-	m_variablesStack.markGlobalStackFrame();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::clearTopLevelParams()
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->clearTopLevelParams();
-
-	m_variablesStack.unmarkGlobalStackFrame();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushParams(
-			const ElemTemplateElement&	xslCallTemplateElement,
-			XalanNode*					sourceNode,
-			const ElemTemplateElement*	targetTemplate)
-{
-	// We have a params vector that we reuse, but occasionally, a
-	// param will result in recursive execution, so we'll use a
-	// temporary when we detect such a situation.
-	if(m_paramsVector.size() == 0)
-	{
-		// This will ensure that the contents of m_paramsVector are
-		// cleared.
-		CollectionClearGuard<ParamsVectorType>	theGuard(m_paramsVector);
-
-		// Make sure we have the default capacity for the params
-		// vector...
-		if (m_paramsVector.capacity() == 0)
-		{
-			 m_paramsVector.reserve(eDefaultParamsVectorSize);
-		}
-
-		getParams(xslCallTemplateElement, sourceNode, m_paramsVector);
-
-		m_variablesStack.pushParams(
-					m_paramsVector,
-					targetTemplate);
-	}
-	else
-	{
-		ParamsVectorType	tempParams;
-
-		getParams(xslCallTemplateElement, sourceNode, tempParams);
-
-		m_variablesStack.pushParams(
-					tempParams,
-					targetTemplate);
-	}
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::getParamVariable(const XalanQName&	theName)
-{
-	bool				fFound;
-
-	const XObjectPtr	theValue(m_variablesStack.getParamVariable(theName, *this, fFound));
-
-	return theValue;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushElementFrame(const ElemTemplateElement*	elem)
-{
-	m_variablesStack.pushElementFrame(elem);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::popElementFrame(const ElemTemplateElement*	elem)
-{
-	m_variablesStack.popElementFrame(elem);
-}
-
-
-
-int
-StylesheetExecutionContextDefault::getGlobalStackFrameIndex() const
-{
-	return m_variablesStack.getGlobalStackFrameIndex();
-}
-
-
-
-int
-StylesheetExecutionContextDefault::getCurrentStackFrameIndex() const
-{
-	return m_variablesStack.getCurrentStackFrameIndex();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setCurrentStackFrameIndex(int	currentStackFrameIndex)
-{
-	m_variablesStack.setCurrentStackFrameIndex(currentStackFrameIndex);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::startDocument()
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->startDocument();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::endDocument()
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->endDocument();
-
-	cleanUpTransients();
-
-	setFormatterListener(0);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::characters(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->characters(ch, start, length);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::charactersRaw(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->charactersRaw(ch, start, length);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::comment(const XalanDOMChar*	data)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->comment(data);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::processingInstruction(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->processingInstruction(target, data);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::startElement(const XalanDOMChar*		name)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->startElement(name);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::endElement(const XalanDOMChar*	name)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->endElement(name);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::flushPending()
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->flushPending();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::cloneToResultTree(
-			XalanNode&					node,
-			XalanNode::NodeType			nodeType,
-			bool						isLiteral,
-			bool						overrideStrip,
-			bool						shouldCloneAttributes,
-			const ElemTemplateElement*	styleNode)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->cloneToResultTree(
-			node,
-			nodeType,
-			isLiteral,
-			overrideStrip,
-			shouldCloneAttributes,
-			styleNode);
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::createXResultTreeFrag(
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode)
-{
-	assert(m_xsltProcessor != 0);
-
-	XalanSourceTreeDocument* const	theDocument = m_usePerInstanceDocumentFactory == true ?
-		m_documentAllocator.create(
-			eDefaultAttributeAllocatorBlockSize,
-			eDefaultAttributeNSAllocatorBlockSize,
-			eDefaultCommentAllocatorBlockSize,
-			eDefaultElementAllocatorBlockSize,
-			eDefaultElementNSAllocatorBlockSize,
-			eDefaultPIAllocatorBlockSize,
-			eDefaultTextAllocatorBlockSize,
-			eDefaultTextIWSAllocatorBlockSize) :
-		getSourceTreeFactory();
-	assert(theDocument != 0);
-
-	XalanSourceTreeDocumentFragment* const	theDocumentFragment =
-		m_documentFragmentAllocator.create(*theDocument);
-	assert(theDocumentFragment != 0);
-
-	ResultTreeFragBase* const	theResultTreeFrag =
-		m_resultTreeFragAllocator.create(theDocumentFragment);
-	assert(theResultTreeFrag != 0);
-
-	GuardCachedObject<FormatterToSourceTreeCacheType>	theGuard(m_formatterToSourceTreeCache);
-
-	FormatterToSourceTree* const	theFormatter = theGuard.get();
-	assert(theFormatter != 0);
-
-	theFormatter->setDocument(theDocument);
-
-	theFormatter->setDocumentFragment(theDocumentFragment);
-
-	theFormatter->setPrefixResolver(m_xsltProcessor);
-
-	StylesheetExecutionContext::OutputContextPushPop	theOutputContextPushPop(
-				*this,
-				theFormatter);
-
-	theFormatter->startDocument();
-
-	templateChild.executeChildren(*this, sourceNode);
-
-	theFormatter->endDocument();
-
-	XResultTreeFrag* const	theXResultTreeFrag =
-		m_xresultTreeFragAllocator.create(*theResultTreeFrag);
-
-	theXResultTreeFrag->setExecutionContext(this);
-
-	return XObjectPtr(theXResultTreeFrag);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::outputToResultTree(const XObject&	xobj)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->outputToResultTree(xobj);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::outputResultTreeFragment(const XObject&	theTree)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->outputResultTreeFragment(theTree);
-}
-
-
-
-const XalanDOMString&
-StylesheetExecutionContextDefault::getXSLNameSpaceURL() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getXSLNameSpaceURL();
-}
-
-
-
-const XalanDOMString&
-StylesheetExecutionContextDefault::getXalanXSLNameSpaceURL() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getXalanXSLNameSpaceURL();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::getTraceSelects() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getTraceSelects();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::traceSelect(
-			const XalanElement&		theTemplate,
-			const NodeRefListBase&	nl) const
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->traceSelect(theTemplate, nl);
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::findOnElementRecursionStack(const ElemTemplateElement*	theElement) const
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	const ElementRecursionStackType::const_iterator	i =
-				find(m_elementRecursionStack.begin(),
-					 m_elementRecursionStack.end(),
-					 theElement);
-
-	return i == m_elementRecursionStack.end() ? false : true;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::pushOnElementRecursionStack(const ElemTemplateElement*	theElement)
-{
-	if (findOnElementRecursionStack(theElement) == true)
-	{
-		XalanDOMString	theMessage(XALAN_STATIC_UCODE_STRING("Infinite recursion detected for element: "));
-
-		theMessage += theElement->getNodeName();
-
-		throw XSLTProcessorException(theMessage);
-	}
-
-	m_elementRecursionStack.push_back(theElement);
-}
-
-
-
-const ElemTemplateElement*
-StylesheetExecutionContextDefault::popElementRecursionStack()
-{
-	assert(m_elementRecursionStack.empty() == false);
-
-	const ElemTemplateElement* const	theTemp =
-		m_elementRecursionStack.back();
-
-	m_elementRecursionStack.pop_back();
-
-	return theTemp;
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::returnXResultTreeFrag(XResultTreeFrag*	theXResultTreeFrag)
-{
-	assert(theXResultTreeFrag != 0);
-
-	if (m_xresultTreeFragAllocator.ownsObject(theXResultTreeFrag) == false)
-	{
-		return false;
-	}
-	else
-	{
-		ResultTreeFragBase* const	theResultTreeFragBase =
-			theXResultTreeFrag->release();
-
-		m_xresultTreeFragAllocator.destroy(theXResultTreeFrag);
-
-		ResultTreeFrag* const	theResultTreeFrag =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(ResultTreeFrag*)theResultTreeFragBase;
-#else
-			static_cast<ResultTreeFrag*>(theResultTreeFragBase);
-#endif
-
-		XalanSourceTreeDocumentFragment* const	theDocumentFragment =
-			theResultTreeFrag->getDocumentFragment();
-		assert(theDocumentFragment != 0);
-
-		m_resultTreeFragAllocator.destroy(theResultTreeFrag);
-
-		if (m_usePerInstanceDocumentFactory == true)
-		{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-#if defined(XALAN_OLD_STYLE_CASTS)
-			m_documentAllocator.destroy((XalanSourceTreeDocument*)theDocumentFragment->getOwnerDocument());
-#else
-			m_documentAllocator.destroy(static_cast<XalanSourceTreeDocument*>(theDocumentFragment->getOwnerDocument()));
-#endif
-#else
-			m_documentAllocator.destroy(theDocumentFragment->getOwnerDocument());
-#endif
-		}
-
-		m_documentFragmentAllocator.destroy(theDocumentFragment);
-
-        return true;
-	}
-}
-
-
-	
-FormatterToXML*
-StylesheetExecutionContextDefault::createFormatterToXML(
-			Writer&					writer,
-			const XalanDOMString&	version,
-			bool					doIndent,
-			int						indent,
-			const XalanDOMString&	encoding,
-			const XalanDOMString&	mediaType,
-			const XalanDOMString&	doctypeSystem,
-			const XalanDOMString&	doctypePublic,
-			bool					xmlDecl,
-			const XalanDOMString&	standalone)
-{
-	FormatterToXML* const	theFormatter =
-		new FormatterToXML(
-			writer,
-			version,
-			doIndent,
-			indent,
-			encoding,
-			mediaType,
-			doctypeSystem,
-			doctypePublic,
-			xmlDecl,
-			standalone);
-
-	m_formatterListeners.push_back(theFormatter);
-
-	return theFormatter;
-}
-
-
-
-FormatterToHTML*
-StylesheetExecutionContextDefault::createFormatterToHTML(
-			Writer&					writer,
-			const XalanDOMString&	encoding,
-			const XalanDOMString&	mediaType,
-			const XalanDOMString&	doctypeSystem,
-			const XalanDOMString&	doctypePublic,
-			bool					doIndent,
-			int						indent,
-			const XalanDOMString&	version,
-			const XalanDOMString&	standalone,
-			bool					xmlDecl)
-{
-	FormatterToHTML* const	theFormatter =
-		new FormatterToHTML(
-			writer,
-			encoding,
-			mediaType,
-			doctypeSystem,
-			doctypePublic,
-			doIndent,
-			indent,
-			version,
-			standalone,
-			xmlDecl);
-
-	// Check to see if the user has asked us to ignore
-	// namespaces in HTML output.
-	if (m_ignoreHTMLElementNamespaces == false)
-	{
-		// Nope, so give the formatter a prefix resolver...
-		theFormatter->setPrefixResolver(m_xsltProcessor);
-	}
-
-	m_formatterListeners.push_back(theFormatter);
-
-	return theFormatter;
-}
-
-
-
-FormatterToDOM*
-StylesheetExecutionContextDefault::createFormatterToDOM(
-			XalanDocument*			doc,
-			XalanDocumentFragment*	docFrag,
-			XalanElement*			currentElement)
-{
-	FormatterToDOM* const	theFormatter =
-		new FormatterToDOM(
-			doc,
-			docFrag,
-			currentElement);
-
-	m_formatterListeners.push_back(theFormatter);
-
-	theFormatter->setPrefixResolver(m_xsltProcessor);
-
-	return theFormatter;
-}
-
-
-
-FormatterToDOM*
-StylesheetExecutionContextDefault::createFormatterToDOM(
-			XalanDocument*	doc,
-			XalanElement*	elem)
-{
-	FormatterToDOM* const	theFormatter =
-		new FormatterToDOM(
-			doc,
-			elem);
-
-	m_formatterListeners.push_back(theFormatter);
-
-	theFormatter->setPrefixResolver(m_xsltProcessor);
-
-	return theFormatter;
-}
-
-
-
-FormatterToText*
-StylesheetExecutionContextDefault::createFormatterToText(
-			Writer&					writer,
-			const XalanDOMString&	encoding)
-{
-	FormatterToText* const	theFormatter =
-		new FormatterToText(writer, encoding);
-
-	m_formatterListeners.push_back(theFormatter);
-
-	return theFormatter;
-}
-
-
-
-FormatterToText*
-StylesheetExecutionContextDefault::borrowFormatterToText()
-{
-	return m_formatterToTextCache.get();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::returnFormatterToText(FormatterToText*	theFormatter)
-{
-	return m_formatterToTextCache.release(theFormatter);
-}
-
-
-
-NodeSorter*
-StylesheetExecutionContextDefault::borrowNodeSorter()
-{
-	return m_nodeSorterCache.get();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::returnNodeSorter(NodeSorter*		theSorter)
-{
-	return m_nodeSorterCache.release(theSorter);
-}
-
-
-
-StylesheetExecutionContextDefault::XalanNumberFormatAutoPtr
-StylesheetExecutionContextDefault::createXalanNumberFormat()
-{
-	return XalanNumberFormatAutoPtr(s_xalanNumberFormatFactory->create());
-}
-
-
-
-StylesheetExecutionContextDefault::XalanNumberFormatFactory::XalanNumberFormatFactory()
-{
-}
-
-
-
-StylesheetExecutionContextDefault::XalanNumberFormatFactory::~XalanNumberFormatFactory()
-{
-}
-
-
-
-XalanNumberFormat*
-StylesheetExecutionContextDefault::XalanNumberFormatFactory::create()
-{
-	return new XalanNumberFormat();
-}
-
-
-
-StylesheetExecutionContextDefault::XalanNumberFormatFactory*
-StylesheetExecutionContextDefault::installXalanNumberFormatFactory(XalanNumberFormatFactory*	theFactory)
-{
-	XalanNumberFormatFactory* const		theOldFactory =
-		s_xalanNumberFormatFactory;
-
-	if (theFactory == 0)
-	{
-		s_xalanNumberFormatFactory = &s_defaultXalanNumberFormatFactory;
-	}
-	else
-	{
-		s_xalanNumberFormatFactory = theFactory;
-	}
-
-	return theOldFactory;
-}
-
-
-
-int
-StylesheetExecutionContextDefault::collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	if (m_collationCompareFunctor == 0)
-	{
-		return s_defaultCollationFunctor(c_wstr(theLHS), c_wstr(theRHS));
-	}
-	else
-	{
-		return (*m_collationCompareFunctor)(c_wstr(theLHS), c_wstr(theRHS));
-	}
-}
-
-
-
-int
-StylesheetExecutionContextDefault::collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS,
-			const XalanDOMString&	theLocale)
-{
-	if (m_collationCompareFunctor == 0)
-	{
-		return s_defaultCollationFunctor(c_wstr(theLHS), c_wstr(theRHS), c_wstr(theLocale));
-	}
-	else
-	{
-		return (*m_collationCompareFunctor)(c_wstr(theLHS), c_wstr(theRHS), c_wstr(theLocale));
-	}
-}
-
-
-
-int
-StylesheetExecutionContextDefault::collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	assert(theLHS != 0 && theRHS != 0);
-
-	if (m_collationCompareFunctor == 0)
-	{
-		return s_defaultCollationFunctor(theLHS, theRHS);
-	}
-	else
-	{
-		return (*m_collationCompareFunctor)(theLHS, theRHS);
-	}
-}
-
-
-
-int
-StylesheetExecutionContextDefault::collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale)
-{
-	assert(theLHS != 0 && theRHS != 0);
-
-	if (m_collationCompareFunctor == 0)
-	{
-		return s_defaultCollationFunctor(theLHS, theRHS, theLocale);
-	}
-	else
-	{
-		return (*m_collationCompareFunctor)(theLHS, theRHS, theLocale);
-	}
-}
-
-
-
-StylesheetExecutionContextDefault::CollationCompareFunctor::CollationCompareFunctor()
-{
-}
-
-
-
-StylesheetExecutionContextDefault::CollationCompareFunctor::~CollationCompareFunctor()
-{
-}
-
-
-
-StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::DefaultCollationCompareFunctor()
-{
-}
-
-
-
-StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::~DefaultCollationCompareFunctor()
-{
-}
-
-
-
-int
-StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const
-{
-	return ::collationCompare(theLHS, theRHS);
-}
-
-
-
-int
-StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		/* theLocale */) const
-{
-	return (*this)(theLHS, theRHS);
-}
-
-
-
-const StylesheetExecutionContextDefault::CollationCompareFunctor*
-StylesheetExecutionContextDefault::installCollationCompareFunctor(const CollationCompareFunctor*	theFunctor)
-{
-	assert(theFunctor != 0);
-
-	const CollationCompareFunctor* const	temp = m_collationCompareFunctor;
-
-	m_collationCompareFunctor = theFunctor;
-
-	return temp;
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::getInConstruction(const KeyDeclaration&	keyDeclaration) const
-{
-	return m_keyDeclarationSet.count(&keyDeclaration) != 0 ? true : false;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::beginConstruction(const KeyDeclaration&	keyDeclaration)
-{	
-	m_keyDeclarationSet.insert(&keyDeclaration);
-}
-
-	
-
-void
-StylesheetExecutionContextDefault::endConstruction(const KeyDeclaration&	keyDeclaration)
-{
-	m_keyDeclarationSet.erase(&keyDeclaration);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::reset()
-{
-	assert(m_elementRecursionStack.size() == 0);
-
-	m_variablesStack.reset();
-
-	if (m_xsltProcessor != 0)
-	{
-		m_xsltProcessor->reset();
-	}
-
-	m_mode = 0;
-	m_currentTemplate = 0;
-
-	m_formatterToTextCache.reset();
-	m_formatterToSourceTreeCache.reset();
-	m_nodeSorterCache.reset();
-	m_documentAllocator.reset();
-	m_documentFragmentAllocator.reset();
-	m_resultTreeFragAllocator.reset();
-	m_xresultTreeFragAllocator.reset();
-
-	// Just in case endDocument() was not called,
-	// clean things up...
-	cleanUpTransients();
-
-	// Destroy the source tree factory, which
-	// will destroy all result tree fragment nodes
-	// that were generated...
-	m_sourceTreeResultTreeFactory.reset();
-
-	// Reset the default execution context...
-	m_xpathExecutionContextDefault.reset();
-}
-
-
-
-XalanNode*
-StylesheetExecutionContextDefault::getCurrentNode() const
-{
-	return m_xpathExecutionContextDefault.getCurrentNode();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setCurrentNode(XalanNode*	theCurrentNode)
-{
-	m_xpathExecutionContextDefault.setCurrentNode(theCurrentNode);
-}
-
-
-
-XObjectPtr
-StylesheetExecutionContextDefault::createNodeSet(XalanNode&	theNode)
-{
-	return m_xpathExecutionContextDefault.createNodeSet(theNode);
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-{
-	return m_xpathExecutionContextDefault.isNodeAfter(node1, node2);
-}
-
-
-
-const NodeRefListBase&
-StylesheetExecutionContextDefault::getContextNodeList() const
-{
-	return m_xpathExecutionContextDefault.getContextNodeList();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setContextNodeList(const NodeRefListBase&	theContextNodeList)
-{
-	m_xpathExecutionContextDefault.setContextNodeList(theContextNodeList);
-}
-
-
-
-StylesheetExecutionContextDefault::size_type
-StylesheetExecutionContextDefault::getContextNodeListLength() const
-{
-	return m_xpathExecutionContextDefault.getContextNodeListLength();
-}
-
-
-
-StylesheetExecutionContextDefault::size_type
-StylesheetExecutionContextDefault::getContextNodeListPosition(const XalanNode&	contextNode) const
-{
-	return m_xpathExecutionContextDefault.getContextNodeListPosition(contextNode);
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const
-{
-	if (equals(theNamespace, XSLTEngineImpl::getXSLNameSpaceURL()) == true)
-	{
-		const int	xslToken = XSLTEngineImpl::getElementToken(elementName);
-
-		return xslToken == -2 ? false : true;
-	}
-	else
-	{
-		return m_xpathExecutionContextDefault.elementAvailable(theNamespace, elementName);
-	}
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const
-{
-	return m_xpathExecutionContextDefault.functionAvailable(theNamespace, functionName);
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::extFunction(
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator)
-{
-	return m_xpathExecutionContextDefault.extFunction(theNamespace, functionName, context, argVec, locator);
-}
-
-
-
-XalanDocument*
-StylesheetExecutionContextDefault::parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) const
-{
-	return m_xpathExecutionContextDefault.parseXML(urlString, base);
-}
-
-
-
-MutableNodeRefList*
-StylesheetExecutionContextDefault::borrowMutableNodeRefList()
-{
-	return m_xpathExecutionContextDefault.borrowMutableNodeRefList();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::returnMutableNodeRefList(MutableNodeRefList*		theList)
-{
-	return m_xpathExecutionContextDefault.returnMutableNodeRefList(theList);
-}
-
-
-
-MutableNodeRefList*
-StylesheetExecutionContextDefault::createMutableNodeRefList() const
-{
-	return m_xpathExecutionContextDefault.createMutableNodeRefList();
-}
-
-
-
-XalanDOMString&
-StylesheetExecutionContextDefault::getCachedString()
-{
-	return m_xpathExecutionContextDefault.getCachedString();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::releaseCachedString(XalanDOMString&	theString)
-{
-	return m_xpathExecutionContextDefault.releaseCachedString(theString);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::getNodeSetByKey(
-			XalanNode*				doc,
-			const XalanDOMString&	name,
-			const XalanDOMString&	ref,
-			const PrefixResolver&	resolver,
-			MutableNodeRefList&		nodelist)
-{
-	assert(m_stylesheetRoot != 0);
-
-	m_stylesheetRoot->getNodeSetByKey(doc, name, ref, resolver, nodelist, *this, m_keyTables);
-}
-
-
-
-const XObjectPtr
-StylesheetExecutionContextDefault::getVariable(
-			const XalanQName&	name,
-			const Locator*		locator)
-{
-	bool				fFound;
-
-	const XObjectPtr	theValue(m_variablesStack.getVariable(name, *this, fFound));
-
-	if(fFound == true)
-	{
-		assert(theValue.null() == false);
-
-		return theValue;
-	}
-	else
-	{
-		error(
-			TranscodeFromLocalCodePage("Variable reference given for variable out of context or without definition!  Name = '") +
-			name.getLocalPart() + "'",
-			getCurrentNode(),
-			locator);
-
-		return getXObjectFactory().createUnknown(name.getLocalPart());
-	}
-}
-
-
-
-const PrefixResolver*
-StylesheetExecutionContextDefault::getPrefixResolver() const
-{
-	return m_xpathExecutionContextDefault.getPrefixResolver();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setPrefixResolver(const PrefixResolver*	thePrefixResolver)
-{
-	m_xpathExecutionContextDefault.setPrefixResolver(thePrefixResolver);
-}
-
-
-
-const XalanDOMString*
-StylesheetExecutionContextDefault::getNamespaceForPrefix(const XalanDOMString&	prefix) const
-{
-	return m_xpathExecutionContextDefault.getNamespaceForPrefix(prefix);
-}
-
-
-
-XalanDOMString
-StylesheetExecutionContextDefault::findURIFromDoc(const XalanDocument*	owner) const
-{
-	return m_xpathExecutionContextDefault.findURIFromDoc(owner);
-}
-
-
-
-const XalanDOMString&
-StylesheetExecutionContextDefault::getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const
-{
-	return m_xpathExecutionContextDefault.getUnparsedEntityURI(theName, theDocument);
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::shouldStripSourceNode(const XalanNode&	node)
-{
-	if (m_xsltProcessor == 0)
-	{
-		return m_xpathExecutionContextDefault.shouldStripSourceNode(node);
-	}
-	else
-	{
-		return m_xsltProcessor->shouldStripSourceNode(*this, node);
-	}
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::getThrowFoundIndex() const
-{
-	return m_xpathExecutionContextDefault.getThrowFoundIndex();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setThrowFoundIndex(bool 	fThrow)
-{
-	m_xpathExecutionContextDefault.setThrowFoundIndex(fThrow);
-}
-
-
-
-XalanDocument*
-StylesheetExecutionContextDefault::getSourceDocument(const XalanDOMString&	theURI) const
-{
-	return m_xpathExecutionContextDefault.getSourceDocument(theURI);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument)
-{
-	m_xpathExecutionContextDefault.setSourceDocument(theURI, theDocument);
-}
-
-
-
-const XalanDecimalFormatSymbols*
-StylesheetExecutionContextDefault::getDecimalFormatSymbols(const XalanQName&	qname)
-{
-	if (m_stylesheetRoot == 0)
-	{
-		return m_xpathExecutionContextDefault.getDecimalFormatSymbols(qname);
-	}
-	else
-	{
-		return m_stylesheetRoot->getDecimalFormatSymbols(qname);
-	}
-}
-
-
-
-PrintWriter*
-StylesheetExecutionContextDefault::createPrintWriter(XalanOutputStream*	theTextOutputStream)
-{
-	assert(theTextOutputStream != 0);
-
-	PrintWriter* const	thePrintWriter =
-		new XalanOutputStreamPrintWriter(*theTextOutputStream);
-
-	m_printWriters.push_back(thePrintWriter);
-
-	return thePrintWriter;
-}
-
-
-
-PrintWriter*
-StylesheetExecutionContextDefault::createPrintWriter(
-			const XalanDOMString&		theFileName,
-			const XalanDOMString&		/* theEncoding */)
-{
-	XalanOutputStream* const	theOutputStream =
-		new XalanFileOutputStream(theFileName);
-
-	m_outputStreams.push_back(theOutputStream);
-
-	return createPrintWriter(theOutputStream);
-}
-
-
-
-PrintWriter*
-#if defined(XALAN_NO_NAMESPACES)
-StylesheetExecutionContextDefault::createPrintWriter(ostream&	theStream)
-#else
-StylesheetExecutionContextDefault::createPrintWriter(std::ostream&	theStream)
-#endif
-{
-	XalanOutputStream* const		theOutputStream =
-		new XalanStdOutputStream(theStream);
-
-	m_outputStreams.push_back(theOutputStream);
-
-	return createPrintWriter(theOutputStream);
-}
-
-
-
-CountersTable&
-StylesheetExecutionContextDefault::getCountersTable()
-{
-	return m_countersTable;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::characters(const XalanNode&	node)
-{
-	m_xsltProcessor->characters(node);
-}
-
-
-void
-StylesheetExecutionContextDefault::characters(const XObjectPtr&		xobject)
-{
-	m_xsltProcessor->characters(xobject);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::charactersRaw(const XalanNode&	node)
-{
-	m_xsltProcessor->charactersRaw(node);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::charactersRaw(const XObjectPtr&	xobject)
-{
-	m_xsltProcessor->charactersRaw(xobject);
-}
-
-
-
-StylesheetExecutionContextDefault::size_type
-StylesheetExecutionContextDefault::getTraceListeners() const
-{
-	assert(m_xsltProcessor != 0);
-
-	return m_xsltProcessor->getTraceListeners();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::fireGenerateEvent(const GenerateEvent&	ge)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->fireGenerateEvent(ge);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::fireTraceEvent(const TracerEvent&	te)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->fireTraceEvent(te);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::fireSelectEvent(const SelectionEvent&	se)
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->fireSelectEvent(se);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const XalanNode*		styleNode) const
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->error(msg, sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator*			locator) const
-{
-	assert(m_xsltProcessor != 0);
-
-	if (locator != 0)
-	{
-		m_xsltProcessor->error(msg, *locator, sourceNode);
-	}
-	else
-	{
-		m_xsltProcessor->error(msg, sourceNode);
-	}
-}
-
-
-
-void
-StylesheetExecutionContextDefault::error(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::error(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const Locator*		locator) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const XalanNode*		styleNode) const
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->warn(msg, sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator*			locator) const
-{
-	assert(m_xsltProcessor != 0);
-
-	if (locator != 0)
-	{
-		m_xsltProcessor->warn(msg, *locator, sourceNode);
-	}
-	else
-	{
-		m_xsltProcessor->warn(msg, sourceNode);
-	}
-}
-
-
-
-void
-StylesheetExecutionContextDefault::warn(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::warn(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const Locator*		locator) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const XalanNode*		styleNode) const
-{
-	assert(m_xsltProcessor != 0);
-
-	m_xsltProcessor->message(msg, sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator*			locator) const
-{
-	assert(m_xsltProcessor != 0);
-
-	if (locator != 0)
-	{
-		m_xsltProcessor->message(msg, *locator, sourceNode);
-	}
-	else
-	{
-		m_xsltProcessor->message(msg, sourceNode);
-	}
-}
-
-
-
-void
-StylesheetExecutionContextDefault::message(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-StylesheetExecutionContextDefault::message(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const Locator*		locator) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, locator);
-}
-
-
-
-class PopAndPushContextMarker
-{
-public:
-
-	PopAndPushContextMarker(StylesheetExecutionContext&	theExecutionContext) :
-		m_executionContext(theExecutionContext)
-	{
-		m_executionContext.popContextMarker();
-	}
-
-	~PopAndPushContextMarker()
-	{
-		m_executionContext.pushContextMarker();
-	}
-
-private:
-
-	StylesheetExecutionContext&		m_executionContext;
-};
-
-
-
-void
-StylesheetExecutionContextDefault::getParams(
-			const ElemTemplateElement&	xslCallTemplateElement,
-			XalanNode*					sourceNode,
-			ParamsVectorType&			params)
-{
-	assert(params.size() == 0);
-
-	const ElemTemplateElement*	child =
-			xslCallTemplateElement.getFirstChildElem();
-
-	if (0 != child)
-	{
-		// This object will take care of popping, then
-		// pushing the context marker at the top of the
-		// stack, even if an exception is thrown.
-		PopAndPushContextMarker		thePopPush(*this);
-
-		while(0 != child)
-		{
-			if(Constants::ELEMNAME_WITHPARAM == child->getXSLToken())
-			{
-				const ElemWithParam* const	xslParamElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(ElemWithParam*)child;
-#else
-						static_cast<const ElemWithParam*>(child);
-#endif
-
-				const XPath* const	pxpath = xslParamElement->getSelectPattern();
-
-				XObjectPtr	theXObject;
-
-				if(0 != pxpath)
-				{
-					theXObject =
-						createVariable(
-							&xslCallTemplateElement,
-							*pxpath,
-							sourceNode,
-							*xslParamElement);
-				}
-				else
-				{
-					theXObject =
-						createVariable(
-							&xslCallTemplateElement,
-							*xslParamElement,
-							sourceNode);
-				}
-
-				params.push_back(ParamsVectorType::value_type(&xslParamElement->getQName(), theXObject));
-			}
-
-			child = child->getNextSiblingElem();
-		}
-	}
-}
-
-
-
-XalanSourceTreeDocument*
-StylesheetExecutionContextDefault::getSourceTreeFactory() const
-{
-	assert(m_xsltProcessor != 0);
-
-	if(m_sourceTreeResultTreeFactory.get() == 0)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((StylesheetExecutionContextDefault*)this)->m_sourceTreeResultTreeFactory.reset(
-#else
-		m_sourceTreeResultTreeFactory.reset(
-#endif
-			new XalanSourceTreeDocument);
-	}
-
-	return m_sourceTreeResultTreeFactory.get();
-}
-
-
-
-bool
-StylesheetExecutionContextDefault::isCached(const XPath*	theXPath)
-{
-	XPathCacheMapType::const_iterator	i =
-		m_matchPatternCache.begin();
-
-	const XPathCacheMapType::const_iterator		theEnd =
-		m_matchPatternCache.end();
-
-	while(i != theEnd)
-	{
-		if ((*i).second.first == theXPath)
-		{
-			return true;
-		}
-		else
-		{
-			++i;
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-StylesheetExecutionContextDefault::XPathCacheReturnFunctor::operator()(const XPathCacheMapType::value_type&		theCacheEntry)
-{
-	m_xsltProcessor.returnXPath(theCacheEntry.second.first);
-}
-
-
-
-
-void
-StylesheetExecutionContextDefault::clearXPathCache()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	assert(m_matchPatternCache.size() == 0 || m_xsltProcessor != 0);
-
-	if (m_xsltProcessor != 0)
-	{
-		for_each(m_matchPatternCache.begin(),
-				 m_matchPatternCache.end(),
-				 XPathCacheReturnFunctor(*m_xsltProcessor));
-	}
-
-	m_matchPatternCache.clear();
-}
-
-
-
-void
-StylesheetExecutionContextDefault::addToXPathCache(
-			const XalanDOMString&	pattern,
-			const XPath*			theXPath)
-{
-	assert(m_xsltProcessor != 0);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	ClockType	addClock = std::clock();
-#else
-	ClockType	addClock = clock();
-#endif
-
-	if (m_matchPatternCache.size() == eXPathCacheMax)
-	{
-		// OK, we need to clear something out of the cache...
-
-		// Initialize the lowest clock time found so far
-		// with the current clock...
-		ClockType	lowest = addClock;
-
-		// Get some iterators ready to search the cache...
-		XPathCacheMapType::iterator		i =
-			m_matchPatternCache.begin();
-
-		const XPathCacheMapType::iterator	theEnd =
-			m_matchPatternCache.end();
-
-		XPathCacheMapType::iterator		earliest(theEnd);
-
-		while(i != theEnd)
-		{
-			const ClockType		current = (*i).second.second;
-
-			if (current < lowest)
-			{
-				// OK, found a lower clock time, so
-				// update the everything...
-				lowest = current;
-
-				earliest = i;
-			}
-			else
-			{
-				++i;
-			}
-		}
-		assert(earliest != theEnd);
-
-		// Return the XPath and erase it from the cache.
-		m_xsltProcessor->returnXPath((*earliest).second.first);
-
-		m_matchPatternCache.erase(earliest);
-	}
-
-	// Add the XPath with the current clock
-	m_matchPatternCache.insert(XPathCacheMapType::value_type(pattern, XPathCacheEntry(theXPath, addClock)));
-}
-
-
-
-void
-StylesheetExecutionContextDefault::cleanUpTransients()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_formatterListeners.begin(),
-			 m_formatterListeners.end(),
-			 DeleteFunctor<FormatterListener>());
-
-	m_formatterListeners.clear();
-
-	for_each(m_printWriters.begin(),
-			 m_printWriters.end(),
-			 DeleteFunctor<PrintWriter>());
-
-	m_printWriters.clear();
-
-	for_each(m_outputStreams.begin(),
-			 m_outputStreams.end(),
-			 DeleteFunctor<XalanOutputStream>());
-
-	m_outputStreams.clear();
-
-	// Clean up the key table vector
-	for_each(m_keyTables.begin(),
-			 m_keyTables.end(),
-			 makeMapValueDeleteFunctor(m_keyTables));
-
-	m_keyTables.clear();
-
-	m_countersTable.reset();
-
-	// Clear any cached XPaths...
-	clearXPathCache();
-
-	assert(m_matchPatternCache.size() == 0);
-}
diff --git a/src/XSLT/StylesheetExecutionContextDefault.hpp b/src/XSLT/StylesheetExecutionContextDefault.hpp
deleted file mode 100644
index b8f2c2f..0000000
--- a/src/XSLT/StylesheetExecutionContextDefault.hpp
+++ /dev/null
@@ -1,1137 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
-#define STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base class include file.
-#include <XSLT/StylesheetExecutionContext.hpp>
-
-
-
-#include <ctime>
-#include <deque>
-#include <memory>
-#include <set>
-#include <vector>
-
-
-
-#include <Include/XalanObjectCache.hpp>
-
-
-
-#include <XPath/XPathExecutionContextDefault.hpp>
-
-
-
-#include <XMLSupport/FormatterToText.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-#endif
-#include <XalanSourceTree/FormatterToSourceTree.hpp>
-#include <XalanSourceTree/XalanSourceTreeDocumentFragment.hpp>
-
-
-
-#include <XSLT/CountersTable.hpp>
-#include <XSLT/NodeSorter.hpp>
-#include <XSLT/ResultTreeFrag.hpp>
-#include <XSLT/ResultTreeFragAllocator.hpp>
-#include <XSLT/Stylesheet.hpp>
-#include <XSLT/VariablesStack.hpp>
-#include <XSLT/XResultTreeFragAllocator.hpp>
-#include <XSLT/XalanSourceTreeDocumentAllocator.hpp>
-#include <XSLT/XalanSourceTreeDocumentFragmentAllocator.hpp>
-
-
-
-class XalanSourceTreeDocument;
-class XPathProcessor;
-class XSLTEngineImpl;
-
-
-
-//
-// An class which provides support for executing stylesheets.
-//
-class XALAN_XSLT_EXPORT StylesheetExecutionContextDefault : public StylesheetExecutionContext
-{
-public:
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	typedef std::clock_t	ClockType;
-#else
-	typedef clock_t			ClockType;
-#endif
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef deque<const ElemTemplateElement*>			ElementRecursionStackType;
-	typedef vector<FormatterListener*>					FormatterListenerVectorType;
-	typedef vector<PrintWriter*>						PrintWriterVectorType;
-	typedef vector<XalanOutputStream*>					OutputStreamVectorType;
-	typedef set<const KeyDeclaration*,
-				less<const KeyDeclaration*> >			KeyDeclarationSetType;
-	typedef pair<const XPath*, ClockType>				XPathCacheEntry;
-	typedef map<XalanDOMString,
-				XPathCacheEntry,
-				less<XalanDOMString> >					XPathCacheMapType;
-#else
-	typedef std::deque<const ElemTemplateElement*>		ElementRecursionStackType;
-	typedef std::vector<FormatterListener*>				FormatterListenerVectorType;
-	typedef std::vector<PrintWriter*>					PrintWriterVectorType;
-	typedef std::vector<XalanOutputStream*>				OutputStreamVectorType;
-	typedef std::set<const KeyDeclaration*>				KeyDeclarationSetType;
-	typedef std::pair<const XPath*, ClockType>			XPathCacheEntry;
-	typedef std::map<XalanDOMString, XPathCacheEntry>	XPathCacheMapType;
-#endif
-
-	typedef Stylesheet::KeyTablesTableType				KeyTablesTableType;
-	typedef VariablesStack::ParamsVectorType			ParamsVectorType;
-
-
-	/**
-	 * Construct a StylesheetExecutionContextDefault object
-	 *
-	 * @param theXPathEnvSupport XPath environment support class instance
-	 * @param theDOMSupport		 DOMSupport class instance
-	 * @param theXobjectFactory  factory class instance for XObjects
-	 * @param theCurrentNode     current node in the source tree
-	 * @param theContextNodeList node list for current context
-	 * @param thePrefixResolver  pointer to prefix resolver to use
-	 */	
-	StylesheetExecutionContextDefault(
-			XSLTEngineImpl&			xsltProcessor,
-			XPathEnvSupport&		theXPathEnvSupport,
-			DOMSupport&				theDOMSupport,
-			XObjectFactory&			theXObjectFactory,
-			XalanNode*				theCurrentNode = 0,
-			const NodeRefListBase*	theContextNodeList = 0,
-			const PrefixResolver*	thePrefixResolver = 0);
-
-	/**
-	 * Construct a StylesheetExecutionContextDefault object
-	 *
-	 * @param theXPathEnvSupport XPath environment support class instance
-	 * @param theDOMSupport		 DOMSupport class instance
-	 * @param theXobjectFactory  factory class instance for XObjects
-	 * @param theCurrentNode     current node in the source tree
-	 * @param theContextNodeList node list for current context
-	 * @param thePrefixResolver  pointer to prefix resolver to use
-	 */
-	explicit
-	StylesheetExecutionContextDefault(
-			XalanNode*				theCurrentNode = 0,
-			const NodeRefListBase*	theContextNodeList = 0,
-			const PrefixResolver*	thePrefixResolver = 0);
-
-	virtual
-	~StylesheetExecutionContextDefault();
-
-
-	/**
-	 * Set the value of the flag that controls whether HTML output will
-	 * check for namespace declarations on HTML elements.
-	 *
-	 * Set this to true if you want the HTML output formatter to skip
-	 * checking for namespaces on elements.  This makes HTML output more
-	 * efficient, but can result in non-conforming behavior, since the XSLT
-	 * recommendation requires XML output for elements with namespaces.
-	 *
-	 * @param theValue The boolean value
-	 */
-	bool
-	setIgnoreHTMLElementNamespaces() const
-	{
-		return m_ignoreHTMLElementNamespaces;
-	}
-
-	/**
-	 * Set the value of the flag that controls whether HTML output will
-	 * check for namespace declarations on HTML elements.
-	 *
-	 * @return The value
-	 */
-	void
-	setIgnoreHTMLElementNamespaces(bool		theValue)
-	{
-		m_ignoreHTMLElementNamespaces = theValue;
-	}
-
-	/**
-	 * Set the XPathEnvSupport instance.
-	 *
-	 * @param theSupport a reference to the instance to use.
-	 */
-	void
-	setXPathEnvSupport(XPathEnvSupport*		theSupport)
-	{
-		m_xpathExecutionContextDefault.setXPathEnvSupport(theSupport);
-	}
-
-	/**
-	 * Set the DOMSupport instance.
-	 *
-	 * @param theDOMSupport a reference to the instance to use.
-	 */
-	void
-	setDOMSupport(DOMSupport*	theDOMSupport)
-	{
-		m_xpathExecutionContextDefault.setDOMSupport(theDOMSupport);
-	}
-
-	/**
-	 * Set the XObjectFactory instance.
-	 *
-	 * @param theFactory a reference to the instance to use.
-	 */
-	void
-	setXObjectFactory(XObjectFactory*	theXObjectFactory)
-	{
-		m_xpathExecutionContextDefault.setXObjectFactory(theXObjectFactory);
-
-		m_xobjectFactory = theXObjectFactory;
-	}
-
-
-	/**
-	 * Set the DOMSupport instance.
-	 *
-	 * @param theDOMSupport a reference to the instance to use.
-	 */
-	void
-	setXSLTProcessor(XSLTEngineImpl*	theProcessor)
-	{
-		m_xsltProcessor = theProcessor;
-	}
-
-	bool
-	getUsePerInstanceDocumentFactory() const
-	{
-		return m_usePerInstanceDocumentFactory;
-	}
-
-	void
-	setUsePerInstanceDocumentFactory(bool	fValue)
-	{
-		m_usePerInstanceDocumentFactory = fValue;
-	}
-
-
-	// These interfaces are inherited from StylesheetExecutionContext...
-
-	virtual bool
-	getQuietConflictWarnings() const;
-
-	virtual XalanNode*
-	getRootDocument() const;
-
-	virtual void
-	setRootDocument(XalanNode*	theDocument);
-
-	virtual XalanDocument*
-	createDocument() const;
-
-	virtual void
-	setStylesheetRoot(const StylesheetRoot*		theStylesheet);
-
-	virtual const XalanQName*
-	getCurrentMode() const;
-
-	virtual	void
-	setCurrentMode(const XalanQName*	theMode); 
-
-	virtual const ElemTemplate*
-	getCurrentTemplate() const;
-
-	virtual	void
-	setCurrentTemplate(const ElemTemplate*	theTemplate); 
-
-	virtual bool
-	doDiagnosticsOutput() const;
-
-	virtual void
-	diag(const XalanDOMString&	theString);
-
-	virtual void
-	pushTime(const void*	theKey);
-
-	virtual void
-	displayDuration(
-			const XalanDOMString&	theMessage,
-			const void*				theKey);
-
-	virtual bool
-	isElementPending() const;
-
-	virtual void
-	replacePendingAttribute(
-			const XalanDOMChar*		theName,
-			const XalanDOMChar*		theNewType,
-			const XalanDOMChar*		theNewValue);
-
-	virtual void
-	pushOutputContext(FormatterListener*	flistener = 0);
-
-	virtual void
-	popOutputContext();
-
-	virtual void
-	addResultAttribute(
-			const XalanDOMString&	aname,
-			const XalanDOMString&	value);
-
-	virtual void
-	copyNamespaceAttributes(const XalanNode&	src);
-
-	virtual const XalanDOMString*
-	getResultPrefixForNamespace(const XalanDOMString&	theNamespace) const;
-
-	virtual const XalanDOMString*
-	getResultNamespaceForPrefix(const XalanDOMString&	thePrefix) const;
-
-	virtual bool
-	isPendingResultPrefix(const XalanDOMString&	thePrefix);
-
-	virtual XalanDOMString
-	getUniqueNamespaceValue() const;
-
-	virtual void
-	getUniqueNamespaceValue(XalanDOMString&		theValue) const;
-
-	virtual FormatterListener*
-	getFormatterListener() const;
-
-	virtual void
-	setFormatterListener(FormatterListener*		flistener);
-
-	virtual int
-	getIndent() const;
-
-	virtual void
-	setIndent(int	indentAmount);
-
-	// $$$ ToDo: Get rid of this!!!!
-	virtual const XObjectPtr
-	executeXPath(
-			const XalanDOMString&	str,
-			XalanNode*				contextNode,
-			const XalanElement&		resolver);
-
-	virtual const XPath*
-	createMatchPattern(
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver);
-
-	virtual void
-	returnXPath(const XPath*	xpath);
-
-	virtual void
-	pushTopLevelVariables(const ParamVectorType&	topLevelParams);
-
-	virtual const XObjectPtr
-	createVariable(
-			const ElemTemplateElement*	element,
-			const XPath&				xpath,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver);
-
-	virtual const XObjectPtr
-	createVariable(
-			const ElemTemplateElement*	element,
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode);
-
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const XalanDOMString&		str,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver);
-
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const XObjectPtr			val,
-			const ElemTemplateElement*	element);
-
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemVariable*			var,
-			const ElemTemplateElement*	element);
-
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const XPath&				xpath,
-			XalanNode*					contextNode,
-			const PrefixResolver&		resolver);
-
-	virtual void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemTemplateElement*	element,
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode);
-
-	virtual void
-	pushContextMarker();
-
-	virtual void
-	popContextMarker();
-
-	virtual void
-	resolveTopLevelParams();
-
-	virtual void
-	clearTopLevelParams();
-
-	virtual	void
-	pushParams(
-			const ElemTemplateElement&	xslCallTemplateElement,
-			XalanNode*					sourceNode,
-			const ElemTemplateElement*	targetTemplate);
-
-	virtual const XObjectPtr
-	getParamVariable(const XalanQName&	theName);
-
-	virtual void
-	pushElementFrame(const ElemTemplateElement*		elem);
-
-	virtual void
-	popElementFrame(const ElemTemplateElement*	elem);
-
-	virtual int
-	getGlobalStackFrameIndex() const;
-
-	virtual int
-	getCurrentStackFrameIndex() const;
-
-	virtual void
-	setCurrentStackFrameIndex(int currentStackFrameIndex = -1);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(const XalanDOMChar*	name);
-
-	virtual void
-	endElement(const XalanDOMChar*	name);
-
-	virtual void
-	characters(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	virtual void
-	charactersRaw(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	virtual void
-	comment(const XalanDOMChar*		data);
-
-	virtual void
-	processingInstruction(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data);
-
-	virtual void
-	flushPending();
-
-	virtual void
-	cloneToResultTree(
-			XalanNode&					node,
-			XalanNode::NodeType			nodeType,
-			bool						isLiteral,
-			bool						overrideStrip,
-			bool						shouldCloneAttributes,
-			const ElemTemplateElement*	styleNode = 0);
-
-	virtual const XObjectPtr
-	createXResultTreeFrag(
-			const ElemTemplateElement&	templateChild,
-			XalanNode*					sourceNode);
-
-	virtual void
-	outputToResultTree(const XObject&	xobj);
-
-	virtual void
-	outputResultTreeFragment(const XObject&		theTree);
-
-	virtual const XalanDOMString&
-	getXSLNameSpaceURL() const;
-
-	virtual const XalanDOMString&
-	getXalanXSLNameSpaceURL() const;
-
-	virtual bool
-	findOnElementRecursionStack(const ElemTemplateElement*	theElement) const;
-
-	virtual void
-	pushOnElementRecursionStack(const ElemTemplateElement*	theElement);
-
-	virtual const ElemTemplateElement*
-	popElementRecursionStack();
-
-	virtual bool
-	returnXResultTreeFrag(XResultTreeFrag*	theXResultTreeFrag);
-
-	virtual FormatterToXML*
-	createFormatterToXML(
-			Writer&					writer,
-			const XalanDOMString&	version = XalanDOMString(),
-			bool					doIndent = false,
-			int						indent = 0,
-			const XalanDOMString&	encoding = XalanDOMString(),
-			const XalanDOMString&	mediaType = XalanDOMString(),
-			const XalanDOMString&	doctypeSystem = XalanDOMString(),
-			const XalanDOMString&	doctypePublic = XalanDOMString(),
-			bool					xmlDecl = true,
-			const XalanDOMString&	standalone = XalanDOMString());
-
-	virtual FormatterToHTML*
-	createFormatterToHTML(
-			Writer&					writer,
-			const XalanDOMString&	encoding = XalanDOMString(),
-			const XalanDOMString&	mediaType = XalanDOMString(),
-			const XalanDOMString&	doctypeSystem = XalanDOMString(),
-			const XalanDOMString&	doctypePublic = XalanDOMString(),
-			bool					doIndent = true,
-			int						indent = 4,
-			const XalanDOMString&	version = XalanDOMString(),
-			const XalanDOMString&	standalone = XalanDOMString(),
-			bool					xmlDecl = false);
-
-	virtual FormatterToDOM*
-	createFormatterToDOM(
-			XalanDocument*			doc,
-			XalanDocumentFragment*	docFrag,
-			XalanElement*			currentElement);
-
-	virtual FormatterToDOM*
-	createFormatterToDOM(
-			XalanDocument*	doc,
-			XalanElement*	elem);
-
-	virtual FormatterToText*
-	createFormatterToText(
-			Writer&					writer,
-			const XalanDOMString&	encoding);
-
-	virtual FormatterToText*
-	borrowFormatterToText();
-
-	virtual bool
-	returnFormatterToText(FormatterToText*	theFormatter);
-
-	virtual NodeSorter*
-	borrowNodeSorter();
-
-	virtual bool
-	returnNodeSorter(NodeSorter*	theSorter);
-
-	virtual XalanNumberFormatAutoPtr
-	createXalanNumberFormat();
-
-	// A basic class to create XalanNumberFormat instances...
-	class XALAN_XSLT_EXPORT XalanNumberFormatFactory
-	{
-	public:
-
-		explicit
-		XalanNumberFormatFactory();
-
-		virtual
-		~XalanNumberFormatFactory();
-
-		virtual XalanNumberFormat*
-		create();
-	};
-
-	static XalanNumberFormatFactory&
-	getDefaultXalanNumberFormatFactory()
-	{
-		return s_defaultXalanNumberFormatFactory;
-	}
-
-	/**
-	 * Static function to install a new XalanNumberFormatFactory.
-	 * The caller owns the XalanNumberFormatFactory instance.
-	 *
-	 * @param a pointer to the new factory instance to use.
-	 * @return a pointer to the old factory instance.
-	 */
-	static XalanNumberFormatFactory*
-	installXalanNumberFormatFactory(XalanNumberFormatFactory*	theFactory);
-
-
-	virtual size_type
-	getTraceListeners() const;
-
-	virtual void
-	fireGenerateEvent(const GenerateEvent&	ge);
-
-	virtual void
-	fireTraceEvent(const TracerEvent&	te);
-
-	virtual void
-	fireSelectEvent(const SelectionEvent&	se);
-
-	virtual bool
-	getTraceSelects() const;
-
-	virtual void
-	traceSelect(
-			const XalanElement&		theTemplate,
-			const NodeRefListBase&	nl) const;
-
-	virtual int
-	collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS);
-
-	virtual int
-	collationCompare(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS,
-			const XalanDOMString&	theLocale);
-
-	virtual int
-	collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS);
-
-	virtual int
-	collationCompare(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale);
-
-	class XALAN_XSLT_EXPORT CollationCompareFunctor
-	{
-	public:
-
-		CollationCompareFunctor();
-
-		virtual
-		~CollationCompareFunctor();
-
-		// Const version is suitable for use by
-		// multiple threads.
-		virtual int
-		operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const = 0;
-
-		// Const version is suitable for use by
-		// multiple threads.
-		virtual int
-		operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) const = 0;
-	};
-
-	class XALAN_XSLT_EXPORT DefaultCollationCompareFunctor : public CollationCompareFunctor
-	{
-	public:
-
-		DefaultCollationCompareFunctor();
-
-		virtual
-		~DefaultCollationCompareFunctor();
-
-		virtual int
-		operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS) const;
-
-		virtual int
-		operator()(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS,
-			const XalanDOMChar*		theLocale) const;
-	};
-
-	const CollationCompareFunctor*
-	installCollationCompareFunctor(const CollationCompareFunctor*	theFunctor);
-
-	virtual	bool
-	getInConstruction(const KeyDeclaration&		keyDeclaration) const;
-
-	virtual	void
-	beginConstruction(const KeyDeclaration&		keyDeclaration);
-
-	virtual	void
-	endConstruction(const KeyDeclaration&	keyDeclaration);
-
-	virtual const XalanDecimalFormatSymbols*
-	getDecimalFormatSymbols(const XalanQName&	qname);
-
-	virtual PrintWriter*
-	createPrintWriter(XalanOutputStream*		theTextOutputStream);
-
-	virtual PrintWriter*
-	createPrintWriter(
-			const XalanDOMString&		theFileName,
-			const XalanDOMString&		theEncoding);
-
-	virtual PrintWriter*
-#if defined(XALAN_NO_NAMESPACES)
-	createPrintWriter(ostream&			theStream);
-#else
-	createPrintWriter(std::ostream&		theStream);
-#endif
-
-	virtual CountersTable&
-	getCountersTable();
-
-	virtual void
-	characters(const XalanNode&		node);
-
-	virtual void
-	characters(const XObjectPtr&	xobject);
-
-	virtual void
-	charactersRaw(const XalanNode&	node);
-
-	virtual void
-	charactersRaw(const XObjectPtr&		xobject);
-
-
-	// These interfaces are inherited from XPathExecutionContext...
-
-	virtual void
-	reset();
-
-	virtual XalanNode*
-	getCurrentNode() const;
-
-	virtual void
-	setCurrentNode(XalanNode*	theCurrentNode);
-
-	virtual XObjectPtr
-	createNodeSet(XalanNode&	theNode);
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const;
-
-	virtual const NodeRefListBase&
-	getContextNodeList() const;
-
-	virtual void	
-	setContextNodeList(const NodeRefListBase&	theList);
-
-	virtual size_type
-	getContextNodeListLength() const;
-
-	virtual size_type
-	getContextNodeListPosition(const XalanNode&		contextNode) const;
-
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const;
-
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const;
-
-	virtual const XObjectPtr
-	extFunction(
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator);
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) const;
-
-	virtual MutableNodeRefList*
-	borrowMutableNodeRefList();
-
-	virtual bool
-	returnMutableNodeRefList(MutableNodeRefList*	theList);
-
-	virtual MutableNodeRefList*
-	createMutableNodeRefList() const;
-
-	virtual XalanDOMString&
-	getCachedString();
-
-	virtual bool
-	releaseCachedString(XalanDOMString&		theString);
-
-	virtual void
-	getNodeSetByKey(			
-			XalanNode*				doc,
-			const XalanDOMString&	name,
-			const XalanDOMString&	ref,
-			const PrefixResolver&	resolver,
-			MutableNodeRefList&		nodelist);
-
-	virtual const XObjectPtr
-	getVariable(
-			const XalanQName&	name,
-			const Locator*		locator = 0);
-
-	virtual const PrefixResolver*
-	getPrefixResolver() const;
-
-	virtual void
-	setPrefixResolver(const PrefixResolver*		thePrefixResolver);
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const;
-
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const;
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const;
-
-	virtual bool
-	shouldStripSourceNode(const XalanNode&	node);
-
-	virtual bool
-	getThrowFoundIndex() const;
-
-	virtual void
-	setThrowFoundIndex(bool 	fThrow);
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const;
-
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument);
-
-
-	// These interfaces are inherited from ExecutionContext...
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const;
-
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode,
-			const Locator* 			locator) const;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const;
-
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 		sourceNode = 0,
-			const XalanNode* 		styleNode = 0) const;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode = 0,
-			const XalanNode* 	styleNode = 0) const;
-
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode* 	sourceNode,
-			const Locator* 		locator) const;
-
-
-	class XPathCacheReturnFunctor
-	{
-	public:
-
-		XPathCacheReturnFunctor(XSLTEngineImpl&		xsltProcessor) :
-			m_xsltProcessor(xsltProcessor)
-		{
-		}
-
-		void
-		operator()(const XPathCacheMapType::value_type&		theCacheEntry);
-
-	private:
-
-		XSLTEngineImpl&		m_xsltProcessor;
-	};
-
-	/**
-	 * Get a XalanSourceTreeDocument, primarily for creating result 
-	 * tree fragments.
-	 */
-	XalanSourceTreeDocument*
-	getSourceTreeFactory() const;
-
-private:
-
-	/**
-	 * Given a context, create the params for a template
-	 * call.
-	 *
-	 * @param xslCallTemplateElement "call-template" element
-	 * @param sourceNode             source node
-	 * @param params The params
-	 */
-	void
-	getParams(
-			const ElemTemplateElement&	xslCallTemplateElement,
-			XalanNode*					sourceNode,
-			ParamsVectorType&			params);
-
-	/**
-	 * Determine if the XPath is one that we have cached.
-	 *
-	 * @param theXPath the XPath instance to check
-	 * @return true if the instance has been cached, false if not.
-	 */
-	bool
-	isCached(const XPath*	theXPath);
-
-	/**
-	 * Clear out the cache of XPath instances.
-	 */
-	void
-	clearXPathCache();
-
-	/**
-	 * Add an XPath instance to the cache, clearing out an old entry
-	 * if the cache is full.
-	 *
-	 * @param pattern the key for looking up the XPath instance in the cache.
-	 * @param theXPath the XPath instance to cache
-	 */
-	void
-	addToXPathCache(
-			const XalanDOMString&	pattern,
-			const XPath*			theXPath);
-
-
-	/**
-	 * Clean up anything that was created for use only during the transformation.
-	 */
-	void
-	cleanUpTransients();
-
-	XPathExecutionContextDefault	m_xpathExecutionContextDefault;
-
-	XSLTEngineImpl*					m_xsltProcessor;
-
-	XalanNode*						m_rootDocument;
-
-	enum { eXPathCacheMax = 50,
-		   eDefaultParamsVectorSize = 10,
-		   eXResultTreeFragAllocatorBlockSize = 10,
-		   eResultTreeFragAllocatorBlockSize = 10,
-		   eDocumentAllocatorBlockSize = 10,
-		   eDocumentFragmentAllocatorBlockSize = 10,
-		   eDefaultAttributeAllocatorBlockSize = 10,
-		   eDefaultAttributeNSAllocatorBlockSize = 10,
-		   eDefaultCommentAllocatorBlockSize = 10,
-		   eDefaultElementAllocatorBlockSize = 10,
-		   eDefaultElementNSAllocatorBlockSize = 10,
-		   eDefaultPIAllocatorBlockSize = 10,
-		   eDefaultTextAllocatorBlockSize = 20,
-		   eDefaultTextIWSAllocatorBlockSize = 20 };
-
-	ElementRecursionStackType			m_elementRecursionStack;
-
-	const PrefixResolver*				m_prefixResolver;
-
-	const StylesheetRoot*				m_stylesheetRoot;
-
-	FormatterListenerVectorType			m_formatterListeners;
-
-	PrintWriterVectorType				m_printWriters;
-
-	OutputStreamVectorType				m_outputStreams;
-
-	const CollationCompareFunctor*		m_collationCompareFunctor;
-
-	/**
-	 * Holds all information about variables during execution.
-	 */
-	VariablesStack						m_variablesStack;
-
-	ParamsVectorType					m_paramsVector;
-
-	XPathCacheMapType					m_matchPatternCache;
-
-	KeyTablesTableType					m_keyTables;
-
-	KeyDeclarationSetType				m_keyDeclarationSet;
-
-	CountersTable						m_countersTable;
-
-	// If true, we will not check HTML output for elements with
-	// namespaces.  This is an optimization which can lead to
-	// non-conforming behavior.
-	bool								m_ignoreHTMLElementNamespaces;
-
-	/**
-	 * The factory that will be used to create result tree fragments based on our
-	 * proprietary source tree.
-	 */
-	mutable XalanAutoPtr<XalanSourceTreeDocument>	m_sourceTreeResultTreeFactory;
-
-	// Holds the current mode.
-	const XalanQName*					m_mode;
-
-	const ElemTemplate*					m_currentTemplate;
-
-	typedef XalanObjectCacheDefault<FormatterToText>		FormatterToTextCacheType;
-	typedef XalanObjectCacheDefault<FormatterToSourceTree>	FormatterToSourceTreeCacheType;
-	typedef XalanObjectCacheDefault<NodeSorter>				NodeSorterCacheType;
-
-	FormatterToTextCacheType			m_formatterToTextCache;
-
-	FormatterToSourceTreeCacheType		m_formatterToSourceTreeCache;
-
-	NodeSorterCacheType					m_nodeSorterCache;
-
-	int									m_indentAmount;
-
-	XResultTreeFragAllocator			m_xresultTreeFragAllocator;
-
-	ResultTreeFragAllocator				m_resultTreeFragAllocator;
-
-	XalanSourceTreeDocumentFragmentAllocator	m_documentFragmentAllocator;
-
-	XalanSourceTreeDocumentAllocator	m_documentAllocator;
-
-	// If true, we will use a separate document factory for
-	// result tree fragments.
-	bool								m_usePerInstanceDocumentFactory;
-
-	static XalanNumberFormatFactory		s_defaultXalanNumberFormatFactory;
-
-	static XalanNumberFormatFactory*	s_xalanNumberFormatFactory;
-
-	static const DefaultCollationCompareFunctor		s_defaultCollationFunctor;
-};
-
-
-
-#endif	// STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/StylesheetHandler.cpp b/src/XSLT/StylesheetHandler.cpp
deleted file mode 100644
index 1c933dc..0000000
--- a/src/XSLT/StylesheetHandler.cpp
+++ /dev/null
@@ -1,2008 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "StylesheetHandler.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include <xercesc/sax/Locator.hpp>
-#include <xercesc/sax/SAXParseException.hpp>
-#include <xercesc/util/XMLURL.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/StringTokenizer.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemApplyImport.hpp"
-#include "ElemApplyTemplates.hpp"
-#include "ElemAttribute.hpp"
-#include "ElemAttributeSet.hpp"
-#include "ElemCallTemplate.hpp"
-#include "ElemChoose.hpp"
-#include "ElemComment.hpp"
-#include "ElemCopy.hpp"
-#include "ElemCopyOf.hpp"
-#include "ElemDecimalFormat.hpp"
-#include "ElemElement.hpp"
-#include "ElemEmpty.hpp"
-#include "ElemExtensionCall.hpp"
-#include "ElemFallback.hpp"
-#include "ElemForEach.hpp"
-#include "ElemIf.hpp"
-#include "ElemLiteralResult.hpp"
-#include "ElemMessage.hpp"
-#include "ElemNumber.hpp"
-#include "ElemOtherwise.hpp"
-#include "ElemParam.hpp"
-#include "ElemPI.hpp"
-#include "ElemSort.hpp"
-#include "ElemTemplate.hpp"
-#include "ElemText.hpp"
-#include "ElemTextLiteral.hpp"
-#include "ElemUse.hpp"
-#include "ElemValueOf.hpp"
-#include "ElemWhen.hpp"
-#include "ElemWithParam.hpp"
-#include "ExtensionNSHandler.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetRoot.hpp"
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-StylesheetHandler::StylesheetHandler(
-			Stylesheet&						stylesheetTree,
-			StylesheetConstructionContext&	constructionContext) :
-	FormatterListener(OUTPUT_METHOD_OTHER),
-	m_stylesheet(stylesheetTree),
-	m_constructionContext(constructionContext),
-	m_elemStack(),
-	m_elemStackParentedElements(),
-	m_strayElements(),
-	m_whiteSpaceElems(),
-	m_pTemplate(0),
-	m_lastPopped(0),	
-	m_inTemplate(false),
-	m_foundStylesheet(false),
-	m_foundNotImport(false),
-	m_accumulateText(),
-	m_includeBase(stylesheetTree.getBaseIdentifier()),
-	m_inExtensionElementStack(),
-	m_inLXSLTScript(false),
-	m_LXSLTScriptBody(),
-	m_LXSLTScriptLang(),
-	m_LXSLTScriptSrcURL(),
-	m_pLXSLTExtensionNSH(0),
-	m_locatorsPushed(0)
-{
-}
-
-
-
-StylesheetHandler::~StylesheetHandler()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Clean up the element stack vector...
-	ElemTemplateStackType::const_iterator	i = m_elemStack.begin();
-
-	while(i != m_elemStack.end())
-	{
-		// See if the element is in the set of elements that have
-		// already been parented, so we don't try to delete it after
-		// it's parent has already deleted it...
-		const ElemTemplateSetType::iterator		j =
-				m_elemStackParentedElements.find(*i);
-
-		if (j == m_elemStackParentedElements.end())
-		{
-			// Not found, so delete it...
-			delete *i;
-		}
-		else
-		{
-			// Found, so erase it from the set...
-			m_elemStackParentedElements.erase(j);
-		}
-
-		++i;
-	}
-
-	doCleanup();
-
-	// Clean up the whitespace elements.
-	for_each(m_whiteSpaceElems.begin(),
-			 m_whiteSpaceElems.end(),
-			 DeleteFunctor<ElemTextLiteral>());
-
-	// Clean up the stray elements.
-	for_each(m_strayElements.begin(),
-			 m_strayElements.end(),
-			 DeleteFunctor<ElemTemplateElement>());
-
-	m_elemStackParentedElements.clear();
-}
-
-
-
-void StylesheetHandler::setDocumentLocator(const Locator* const		locator)
-{
-	m_constructionContext.pushLocatorOnStack(locator);
-
-	++m_locatorsPushed;
-}
-
-
-void StylesheetHandler::startDocument()
-{
-}
-
-
-void StylesheetHandler::endDocument()
-{
-	m_constructionContext.popLocatorStack();
-
-	if (m_locatorsPushed > 0)
-	{
-		--m_locatorsPushed;
-	}
-
-	m_inExtensionElementStack.clear();
-}
-
-
-
-bool
-StylesheetHandler::isAttrOK(
-			const XalanDOMChar*		attrName,
-			const AttributeList&	atts,
-			int						which)
-{
-	return m_stylesheet.isAttrOK(attrName, atts, which, m_constructionContext);
-}
-
-
-
-bool
-StylesheetHandler::processSpaceAttr(
-			const XalanDOMChar*		aname,
-			const AttributeList&	atts,
-			int						which,
-			const Locator*			locator,
-			bool&					fPreserve)
-{
-	const XalanDOMString		theAttributeName(aname);
-
-	const XalanQNameByValue		theName(theAttributeName, m_stylesheet.getNamespaces());
-
-	const bool					isSpaceAttr = s_spaceAttrQName.equals(theName);
-
-	if(isSpaceAttr == false)
-	{
-		fPreserve = false;
-	}
-	else
-	{
-		const XalanDOMChar*	const	spaceVal = atts.getValue(which);
-
-		if(equals(spaceVal, Constants::ATTRVAL_DEFAULT))
-		{
-			fPreserve = false;
-		}
-		else if(equals(spaceVal, Constants::ATTRVAL_PRESERVE))
-		{
-			fPreserve = true;
-		}
-		else
-		{
-			error("xml:space has an illegal value", locator);
-		}
-	}
-
-	return isSpaceAttr;
-}
-
-
-
-inline int
-getLineNumber(const Locator*	theLocator)
-{
-	return theLocator == 0 ? -1 : theLocator->getLineNumber();
-}
-
-
-
-inline int
-getColumnNumber(const Locator*	theLocator)
-{
-	return theLocator == 0 ? -1 : theLocator->getColumnNumber();
-}
-
-
-
-bool
-StylesheetHandler::processSpaceAttr(
-			const AttributeList&	atts,
-			const Locator*			locator,
-			bool&					fPreserve)
-{
-	const unsigned int	len = atts.getLength();
-
-	for (unsigned int i = 0; i < len; ++i)
-	{
-		if (processSpaceAttr(atts.getName(i), atts, i, locator, fPreserve) == true)
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-StylesheetHandler::startElement(
-			const XMLCh* const	name,
-			AttributeList&		atts)
-{
-	m_inExtensionElementStack.push_back(false);
-
-	if (m_preserveSpaceStack.empty() == true)
-	{
-		m_preserveSpaceStack.push_back(false);
-	}
-	else
-	{
-		m_preserveSpaceStack.push_back(m_preserveSpaceStack.back());
-	}
-
-	try
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::for_each;
-#endif
-
-		// By default, space is not preserved...
-		bool	fPreserveSpace = false;
-		bool	fSpaceAttrProcessed = false;
-
-		processAccumulatedText();
-
-		// Clean up the whitespace elements.
-		for_each(m_whiteSpaceElems.begin(),
-				 m_whiteSpaceElems.end(),
-				 DeleteFunctor<ElemTextLiteral>());
-
-		m_whiteSpaceElems.clear();
-
-		const Locator* const	locator = m_constructionContext.getLocatorFromStack();
-
-		const int	lineNumber = getLineNumber(locator);
-		const int	columnNumber = getColumnNumber(locator);
-
-		// First push namespaces
-		m_stylesheet.pushNamespaces(atts);
-
-		const XalanDOMString&	ns = getNamespaceFromStack(name);
-
-		const XalanDOMString::size_type		nameLength = length(name);
-		const XalanDOMString::size_type		index = indexOf(name, XalanUnicode::charColon);
-
-		if(length(ns) == 0 && index < nameLength)
-		{
-			error("Could not resolve prefix.", locator);
-		}
-
-		XalanDOMString	localName(name, nameLength);
-
-		if (index < nameLength)
-		{
-			localName.erase(0, index + 1);
-		}
-
-		ElemTemplateElement* elem = 0;
-
-		const ElemTemplateStackType::size_type	origStackSize = m_elemStack.size();
-
-		if(equals(ns, m_constructionContext.getXSLTNamespaceURI()))
-		{
-			if(!isEmpty(m_stylesheet.getXSLTNamespaceURI()))
-				m_stylesheet.setXSLTNamespaceURI(ns);
-
-			if(false == m_foundStylesheet)
-			{
-				m_stylesheet.getStylesheetRoot().initDefaultRule(m_constructionContext);
-				m_stylesheet.setWrapperless(false);
-			}
-
-			const int	xslToken = m_constructionContext.getElementToken(localName);
-
-			if(!m_inTemplate)
-			{
-				processTopLevelElement(name, localName, ns, atts, xslToken, locator, fPreserveSpace, fSpaceAttrProcessed);
-			}
-			else
-			{
-				switch(xslToken)
-				{            
-				case Constants::ELEMNAME_APPLY_TEMPLATES:
-					elem = new ElemApplyTemplates(m_constructionContext,
-												m_stylesheet,
-												atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_CALLTEMPLATE:
-					elem = new ElemCallTemplate(m_constructionContext,
-											  m_stylesheet,
-											  atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_WITHPARAM:
-					elem = new ElemWithParam(m_constructionContext,
-										   m_stylesheet,
-										   atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_FOREACH:
-					elem = new ElemForEach(m_constructionContext,
-										 m_stylesheet,
-										 atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_SORT:
-					{
-						if (m_elemStack.empty() == true)
-						{
-							error("Misplaced xsl:sort.", locator);
-						}
-
-						ElemTemplateElement* const	theElement =
-								m_elemStack.back();
-						assert(theElement != 0);
-
-						const int	xslToken = theElement->getXSLToken();
-
-						if (xslToken != Constants::ELEMNAME_FOREACH &&
-							xslToken != Constants::ELEMNAME_APPLY_TEMPLATES)
-						{
-							error("Misplaced xsl:sort.", locator);
-						}
-
-						ElemForEach* foreach =
-#if defined(XALAN_OLD_STYLE_CASTS)
-								(ElemForEach*)theElement;
-#else
-								static_cast<ElemForEach*>(theElement);
-#endif
-
-						ElemSort* sortElem = new ElemSort(m_constructionContext,
-														 m_stylesheet,
-														 atts, lineNumber, columnNumber);
-
-						// Note: deleted in ElemForEach destructor
-						foreach->getSortElems().push_back(sortElem);
-
-						sortElem->setParentNodeElem(foreach);
-
-						m_elemStackParentedElements.insert(foreach);
-
-						m_elemStack.push_back(new ElemEmpty(m_constructionContext,
-									 m_stylesheet,
-									 lineNumber, columnNumber, &Constants::ELEMNAME_SORT_WITH_PREFIX_STRING));
-					}
-					break;
-
-				case Constants::ELEMNAME_APPLY_IMPORTS:
-					{
-						if (m_elemStack.empty() == true)
-						{
-							error("xsl:apply-imports is not allowed at this position in the stylesheet", locator);
-						}
-
-						ElemTemplateElement* const	theElement =
-								m_elemStack.back();
-						assert(theElement != 0);
-
-						const int	xslToken = theElement->getXSLToken();
-
-						if (xslToken == Constants::ELEMNAME_FOREACH)
-						{
-							error("xsl:apply-imports is not allowed at this position in the stylesheet", locator);
-						}
-
-						elem = new ElemApplyImport(m_constructionContext,
-												 m_stylesheet,
-												 atts, lineNumber, columnNumber);
-					}
-					break;
-          
-				case Constants::ELEMNAME_VALUEOF:
-					elem = new ElemValueOf(m_constructionContext,
-										 m_stylesheet,
-										 atts, lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_NUMBER:
-					elem = new ElemNumber(m_constructionContext,
-										m_stylesheet,
-										atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_VARIABLE:
-					elem = new ElemVariable(m_constructionContext,
-										  m_stylesheet,
-										  atts, lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_PARAMVARIABLE:
-					elem = new ElemParam(m_constructionContext,
-									   m_stylesheet,
-									   atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_IF:
-					elem = new ElemIf(m_constructionContext,
-									m_stylesheet,
-									atts, lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_FALLBACK:
-					elem = new ElemFallback(
-							m_constructionContext,
-							m_stylesheet,
-							atts,
-							lineNumber,
-							columnNumber);
-					break;
-
-				case Constants::ELEMNAME_CHOOSE:
-					elem = new ElemChoose(m_constructionContext,
-										m_stylesheet,
-										atts, lineNumber, columnNumber);
-					break;
-          
-				case Constants::ELEMNAME_WHEN:
-					{
-						ElemTemplateElement* const	parent = m_elemStack.back();
-
-						if(Constants::ELEMNAME_CHOOSE == parent->getXSLToken())
-						{
-							ElemTemplateElement* const	lastChild = parent->getLastChildElem();
-
-							if(0 == lastChild ||
-								Constants::ELEMNAME_WHEN == lastChild->getXSLToken() ||
-								lastChild->isWhitespace() == true)
-							{
-								elem = new ElemWhen(m_constructionContext,
-											m_stylesheet,
-											atts, lineNumber, columnNumber);
-							}
-							else
-							{
-								error("(StylesheetHandler) misplaced xsl:when.", locator);
-							}
-						}
-						else
-						{
-							error("(StylesheetHandler) xsl:when not parented by xsl:choose.", locator);
-						}
-					}
-					break;
-          
-				case Constants::ELEMNAME_OTHERWISE:
-					{
-						ElemTemplateElement* parent = m_elemStack.back();
-
-						if(Constants::ELEMNAME_CHOOSE == parent->getXSLToken())
-						{
-							ElemTemplateElement* lastChild = parent->getLastChildElem();
-
-							if(0 == lastChild ||
-								Constants::ELEMNAME_WHEN == lastChild->getXSLToken() ||
-								lastChild->isWhitespace() == true)
-							{
-								elem = new ElemOtherwise(m_constructionContext,
-												 m_stylesheet,
-												 atts, lineNumber, columnNumber);
-							}
-							else
-							{
-								error("Misplaced xsl:otherwise.", locator);
-							}
-						}
-						else
-						{
-							error("xsl:otherwise not parented by xsl:choose.", locator);
-						}
-					}
-					break;
-
-				case Constants::ELEMNAME_COPY_OF:
-					elem = new ElemCopyOf(m_constructionContext,
-										m_stylesheet,
-										atts, lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_COPY:
-					elem = new ElemCopy(m_constructionContext,
-									  m_stylesheet,
-									  atts, lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_TEXT:
-				  // Just push the element on the stack to signal
-				  // that space should be preserved.
-					m_elemStack.push_back(new ElemText(m_constructionContext,
-											m_stylesheet,
-											atts, lineNumber, columnNumber));
-					break;
-
-				case Constants::ELEMNAME_USE:
-					elem = new ElemUse(m_constructionContext,
-									 m_stylesheet,
-									 lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_ATTRIBUTE:
-					elem = new ElemAttribute(m_constructionContext,
-										   m_stylesheet,
-										   atts, lineNumber, columnNumber);
-					break;
-
-				case Constants::ELEMNAME_ELEMENT:
-					elem = new ElemElement(m_constructionContext,
-										 m_stylesheet,
-										 atts, lineNumber, columnNumber);
-				  break;
-          
-				case Constants::ELEMNAME_PI:
-					elem = new ElemPI(m_constructionContext,
-									m_stylesheet,
-									atts, lineNumber, columnNumber);
-				  break;
-
-				case Constants::ELEMNAME_COMMENT:
-					elem = new ElemComment(m_constructionContext,
-										 m_stylesheet,
-										 atts, lineNumber, columnNumber);
-				  break;
-          
-				case Constants::ELEMNAME_MESSAGE:
-					elem = new ElemMessage(m_constructionContext,
-										 m_stylesheet,
-										 atts, lineNumber, columnNumber);
-
-					break;
-          
-				case Constants::ELEMNAME_TEMPLATE:
-				case Constants::ELEMNAME_LOCALE:
-				case Constants::ELEMNAME_DEFINEATTRIBUTESET:
-				case Constants::ELEMNAME_DEFINESCRIPT:
-				case Constants::ELEMNAME_EXTENSION:
-				case Constants::ELEMNAME_EXTENSIONHANDLER:
-				case Constants::ELEMNAME_KEY:
-				case Constants::ELEMNAME_IMPORT:
-				case Constants::ELEMNAME_INCLUDE:
-				case Constants::ELEMNAME_PRESERVESPACE:
-				case Constants::ELEMNAME_STRIPSPACE:
-					{
-						const XalanDOMString	msg(XalanDOMString(name) + " is not allowed inside a template.");
-
-						error(msg, locator);
-					}
-					break;
-
-				default:
-					{
-						const XalanDOMString	msg("Unknown XSL element: " + localName);
-
-						// If this stylesheet is declared to be of a higher version than the one
-						// supported, don't flag an error.
-						if(m_constructionContext.getXSLTVersionSupported() < m_stylesheet.getXSLTVerDeclared())
-						{
-							m_constructionContext.warn(msg);
-						}
-						else
-						{
-							error(msg, locator);
-						}
-					}
-				}
-			}
-		}
-		else if (!m_inTemplate && startsWith(ns, m_constructionContext.getXalanXSLNameSpaceURL()))
-		{
-			processExtensionElement(name, localName, atts, locator);
-		}
-		else
-		{
-			if(!m_inTemplate)
-			{
-				// If it's a top level 
-				if (!m_foundStylesheet)
-				{
-					elem = initWrapperless(name, atts, lineNumber, columnNumber);
-				}
-				else if (length(ns) == 0 && m_elemStack.size() == 1)
-				{
-					error("Illegal top level element", locator);
-				}
-				else
-				{
-					m_inExtensionElementStack.back() = true;
-				}
-			}
-			else
-			{
-				// BEGIN SANJIVA CODE
-				// is this an extension element call?
-				ExtensionNSHandler*		nsh = 0;
-
-				if (!isEmpty(ns) && 
-					((nsh = m_stylesheet.lookupExtensionNSHandler(ns)) != 0)) 
-				{
-					elem = new ElemExtensionCall (m_constructionContext,
-											m_stylesheet,
-											name,
-											atts,
-											lineNumber,
-											columnNumber,
-											*nsh,
-											localName);
-
-					assert(m_inExtensionElementStack.empty() == false);
-
-					m_inExtensionElementStack.back() = true;
-				}
-				else 
-				{
-					elem = new ElemLiteralResult(m_constructionContext,
-										   m_stylesheet,
-										   name,
-										   atts,
-										   lineNumber,
-										   columnNumber);
-				}
-			}
-		}
-
-		if(m_inTemplate && 0 != elem)
-		{
-			if(!m_elemStack.empty())
-			{
-				// Guard against an exception in appendChildElem()...
-				XalanAutoPtr<ElemTemplateElement>	theGuard(elem);
-
-				appendChildElementToParent(elem, locator);
-
-				// The element is parented and will now be
-				// deleted when the parent is delete...
-				theGuard.release();
-			}
-
-			m_elemStack.push_back(elem);
-		}
-
-		// If we haven't processed an xml:space attribute already, look for one...
-		if (fSpaceAttrProcessed == false)
-		{
-			fSpaceAttrProcessed = processSpaceAttr(atts, locator, fPreserveSpace);
-		}
-
-		// Only update the stack if we actually processed an xml:space attribute...
-		if (fSpaceAttrProcessed == true)
-		{
-			// Set the preserve value...
-			m_preserveSpaceStack.back() = fPreserveSpace;
-		}
-
-		// If for some reason something didn't get pushed, push an empty 
-		// object.
-		if(origStackSize == m_elemStack.size())
-		{
-			m_elemStack.push_back(new ElemEmpty(m_constructionContext,
-									 m_stylesheet,
-									 lineNumber, columnNumber));
-
-			if (elem != 0)
-			{
-				delete elem;
-
-				m_elemStackParentedElements.erase(elem);
-			}
-		}
-	} // end try
-	catch(...)
-	{
-		doCleanup();
-
-		throw;
-	}
-}
-
-
-
-ElemTemplateElement*
-StylesheetHandler::initWrapperless(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			int						lineNumber,
-			int						columnNumber)
-{
-	m_stylesheet.getStylesheetRoot().initDefaultRule(m_constructionContext);
-
-	AttributeListImpl	templateAttrs;
-
-	templateAttrs.addAttribute(c_wstr(Constants::ATTRNAME_NAME),
-							   c_wstr(Constants::ATTRTYPE_CDATA),
-							   c_wstr(Constants::ATTRVAL_SIMPLE));
-
-	m_pTemplate = new ElemTemplate(m_constructionContext,
-								   m_stylesheet,
-								   templateAttrs,
-								   lineNumber,
-								   columnNumber);
-
-	ElemTemplateElement* const	pElem =
-				new ElemLiteralResult(m_constructionContext,
-									  m_stylesheet,
-									  name,
-									  atts,
-									  lineNumber,
-									  columnNumber);
-
-	m_pTemplate->appendChildElem(pElem);
-	m_inTemplate = true;
-	
-	m_stylesheet.setWrapperlessTemplate(m_pTemplate);
-
-	m_foundStylesheet = true;
-	m_stylesheet.setWrapperless(true);
-
-	// This attempts to optimize for a literal result element with
-	// the name HTML, so we don't have to switch on-the-fly.
-	if(equalsIgnoreCaseASCII(name, Constants::ELEMNAME_HTML_STRING) == true)
-	{
-		// If there's a default namespace, then we must output XML.
-		// Otherwise, we'll set the output method to HTML.
-		if (atts.getValue(c_wstr(DOMServices::s_XMLNamespace)) == 0)
-		{
-			m_stylesheet.getStylesheetRoot().setIndentResult(true);
-			m_stylesheet.getStylesheetRoot().setOutputMethod(OUTPUT_METHOD_HTML);
-		}
-	}
-
-	return pElem;
-}
-
-
-
-const XalanDOMString&
-StylesheetHandler::getNamespaceFromStack(const XalanDOMChar*	theName) const
-{
-	const XalanDOMString* const		theNamespace =
-		m_stylesheet.getNamespaceFromStack(theName);
-
-	if (theNamespace == 0)
-	{
-		return s_emptyString;
-	}
-	else
-	{
-		return *theNamespace;
-	}
-}
-
-
-
-const XalanDOMString&
-StylesheetHandler::getNamespaceForPrefixFromStack(const XalanDOMString&		thePrefix) const
-{
-	const XalanDOMString* const		theNamespace =
-		m_stylesheet.getNamespaceForPrefixFromStack(thePrefix);
-
-	if (theNamespace == 0)
-	{
-		return s_emptyString;
-	}
-	else
-	{
-		return *theNamespace;
-	}
-}
-
-
-
-void
-StylesheetHandler::processTopLevelElement(
-			const XalanDOMChar*		name,
-			const XalanDOMString&	localName,
-			const XalanDOMString&	ns,
-			const AttributeList&	atts,
-			int						xslToken,
-			const Locator*			locator,
-			bool&					fPreserveSpace,
-			bool&					fSpaceAttrProcessed)
-{
-	if(m_foundStylesheet && Constants::ELEMNAME_IMPORT != xslToken)
-	{
-		m_foundNotImport = true;
-	}
-
-	const int	lineNumber = getLineNumber(locator);
-	const int	columnNumber = getColumnNumber(locator);
-
-	switch(xslToken)
-	{
-	case Constants::ELEMNAME_TEMPLATE:
-		m_pTemplate = new ElemTemplate(
-				m_constructionContext,
-				m_stylesheet,
-				atts,
-				lineNumber,
-				columnNumber);
-	
-		m_elemStack.push_back(m_pTemplate);
-		m_elemStackParentedElements.insert(m_pTemplate);
-		m_inTemplate = true;
-		m_stylesheet.addTemplate(m_pTemplate, m_constructionContext);
-		break;
-
-	case Constants::ELEMNAME_EXTENSION:
-		if(!equalsIgnoreCaseASCII(ns, m_constructionContext.getXalanXSLNameSpaceURL()))
-		{
-			m_constructionContext.warn("Old syntax: the functions instruction should use a url of " + m_constructionContext.getXalanXSLNameSpaceURL());
-		}
-		break;
-
-	case Constants::ELEMNAME_VARIABLE:
-	case Constants::ELEMNAME_PARAMVARIABLE:
-		{
-			ElemVariable* varelem = (Constants::ELEMNAME_PARAMVARIABLE == xslToken) 
-									   ? new ElemParam(m_constructionContext,
-													   m_stylesheet,
-													   atts, 
-													   lineNumber, columnNumber)
-										 : new ElemVariable(m_constructionContext,
-															m_stylesheet,
-															atts, 
-															lineNumber, columnNumber);
-
-			m_elemStack.push_back(varelem);
-			m_inTemplate = true; // fake it out
-			m_stylesheet.setTopLevelVariable(varelem);
-			m_elemStackParentedElements.insert(varelem);
-			varelem->setTopLevel(true);
-		}
-	break;
-
-	case Constants::ELEMNAME_LOCALE:
-		m_constructionContext.warn(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("xsl:locale not yet supported.")));
-		break;
-
-	case Constants::ELEMNAME_PRESERVESPACE:
-	case Constants::ELEMNAME_STRIPSPACE:
-		processPreserveStripSpace(name, atts, locator, xslToken);
-		break;
-
-	case Constants::ELEMNAME_KEY:
-		{
-			ElemEmpty nsContext(m_constructionContext, m_stylesheet, lineNumber, columnNumber);
-
-			m_stylesheet.processKeyElement(&nsContext, atts, m_constructionContext);
-		}
-		break;
-
-	case Constants::ELEMNAME_DEFINEATTRIBUTESET:
-		{
-			m_inTemplate = true; // fake it out
-
-			ElemAttributeSet* attrSet = new ElemAttributeSet(m_constructionContext,
-															   m_stylesheet,
-															   atts,
-															   lineNumber,
-															   columnNumber);
-		
-			m_elemStack.push_back(attrSet);
-		}
-		break;
-
-	case Constants::ELEMNAME_INCLUDE:
-		processInclude(name, atts, locator);
-		break;
-
-	case Constants::ELEMNAME_IMPORT:
-		processImport(name, atts, locator);
-		break;
-
-	case Constants::ELEMNAME_OUTPUT:
-		m_stylesheet.getStylesheetRoot().processOutputSpec(name, atts, m_constructionContext);
-		break;
-
-	case Constants::ELEMNAME_DECIMALFORMAT:
-		m_stylesheet.processDecimalFormatElement(
-					new ElemDecimalFormat(
-							m_constructionContext,
-							m_stylesheet,
-							atts,
-							lineNumber,
-							columnNumber));
-		break;
-
-	case Constants::ELEMNAME_NSALIAS:
-		m_stylesheet.processNSAliasElement(name, atts, m_constructionContext);
-		break;
-
-	case Constants::ELEMNAME_WITHPARAM:
-	case Constants::ELEMNAME_ATTRIBUTE:
-	case Constants::ELEMNAME_APPLY_TEMPLATES:
-	case Constants::ELEMNAME_USE:
-	case Constants::ELEMNAME_CHILDREN:
-	case Constants::ELEMNAME_CHOOSE:
-	case Constants::ELEMNAME_COMMENT:
-	case Constants::ELEMNAME_CONSTRUCT:
-	case Constants::ELEMNAME_CONTENTS:
-	case Constants::ELEMNAME_COPY:
-	case Constants::ELEMNAME_COPY_OF:
-	case Constants::ELEMNAME_DISPLAYIF:
-	case Constants::ELEMNAME_EVAL:
-	case Constants::ELEMNAME_EXPECTEDCHILDREN:
-	case Constants::ELEMNAME_FOREACH:
-	case Constants::ELEMNAME_IF:
-	case Constants::ELEMNAME_CALLTEMPLATE:
-	case Constants::ELEMNAME_MESSAGE:
-	case Constants::ELEMNAME_NUMBER:
-	case Constants::ELEMNAME_OTHERWISE:
-	case Constants::ELEMNAME_PI:
-	case Constants::ELEMNAME_REMOVEATTRIBUTE:
-	case Constants::ELEMNAME_SORT:
-	case Constants::ELEMNAME_TEXT:
-	case Constants::ELEMNAME_VALUEOF:
-	case Constants::ELEMNAME_WHEN:
-	case Constants::ELEMNAME_ELEMENT:
-	case Constants::ELEMNAME_APPLY_IMPORTS:
-		if (inExtensionElement() == false)
-		{
-			const XalanDOMString	msg("(StylesheetHandler) " + XalanDOMString(name) + " not allowed inside a stylesheet.");
-				
-			error(msg, locator);
-		}
-		break;
-
-	case Constants::ELEMNAME_STYLESHEET:
-		processStylesheet(name, atts, locator, fPreserveSpace, fSpaceAttrProcessed);
-		break;
-
-	default:
-		if (inExtensionElement() == false)
-		{
-			const XalanDOMString	msg("Unknown XSL element: " + localName);
-
-			error(msg, locator);
-		}
-		break;
-	}
-}
-
-
-void
-StylesheetHandler::processStylesheet(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator,
-			bool&					fPreserveSpace,
-			bool&					fSpaceAttrProcessed)
-{
-	m_stylesheet.setWrapperless(false);
-	m_foundStylesheet = true;
-
-	const unsigned int	nAttrs = atts.getLength();
-
-	bool				fVersionFound = false;
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_EXCLUDE_RESULT_PREFIXES))
-		{
-			m_stylesheet.processExcludeResultPrefixes(atts.getValue(i), m_constructionContext);
-		}
-		else if(equals(aname, Constants::ATTRNAME_EXTENSIONELEMENTPREFIXES))
-		{
-			StringTokenizer tokenizer(atts.getValue(i),
-									  Constants::DEFAULT_WHITESPACE_SEPARATOR_STRING);
-
-			XalanDOMString	prefix;
-
-			while(tokenizer.hasMoreTokens() == true)
-			{
-				tokenizer.nextToken(prefix);
-
-				const XalanDOMString&	extns = getNamespaceForPrefixFromStack(prefix);
-
-				ExtensionNSHandler* const	nsh = new ExtensionNSHandler(extns);
-
-				m_stylesheet.addExtensionNamespace(extns, nsh);
-			}
-		}
-		else if(equals(aname, Constants::ATTRNAME_ID))
-		{
-			//
-		}
-		else if(equals(aname, Constants::ATTRNAME_VERSION))
-		{
-			const XalanDOMChar* const	versionStr = atts.getValue(i);
-			assert(versionStr != 0);
-
-			m_stylesheet.setXSLTVerDeclared(DoubleSupport::toDouble(versionStr));
-
-			fVersionFound = true;
-		}
-		else if(processSpaceAttr(aname, atts, i, locator, fPreserveSpace) == true)
-		{
-			fSpaceAttrProcessed = true;
-		}
-		else if(isAttrOK(aname, atts, i) == false)
-		{
-			if(false == m_stylesheet.isWrapperless())
-			{
-				const XalanDOMString	msg(
-					"(StylesheetHandler) " +
-					XalanDOMString(name) + 
-					" has an illegal attribute: " +
-					aname);
-
-				error(msg, locator);
-			}
-		}
-
-		if(!m_stylesheet.getNamespaces().empty())
-		{
-			m_stylesheet.setNamespaceDecls(m_stylesheet.getNamespaces().back());
-		}
-	}
-
-	if (fVersionFound == false)
-	{
-		error("The stylesheet element did not specify a version attribute.", locator);
-	}
-}
-
-
-
-void
-StylesheetHandler::processExtensionElement(
-			const XalanDOMChar*		name,
-			const XalanDOMString&	localName,
-			const AttributeList&	atts,
-			const Locator*			locator)
-{
-	if (equals(localName, Constants::ATTRNAME_COMPONENTS))
-	{
-		XalanDOMString	prefix;
-		XalanDOMString	elements;
-		XalanDOMString	functions;
-
-		const int nAttrs = atts.getLength();
-
-		for (int i = 0; i < nAttrs; i++)
-		{
-			const XalanDOMChar* const	aname = atts.getName (i);
-
-			if (equals(aname, Constants::ATTRNAME_PREFIX))
-			{
-				prefix = atts.getValue(i);
-			}
-			else if (equals(aname, Constants::ATTRNAME_ELEMENTS))
-			{
-				elements = atts.getValue(i);
-			}
-			else if (equals(aname, Constants::ATTRNAME_FUNCTIONS))
-			{
-				functions = atts.getValue(i);
-			}
-			else if(!isAttrOK(aname, atts, i))
-			{
-				const XalanDOMString	msg(XalanDOMString(name) + " has an illegal attribute: " + aname);
-
-				error(msg, locator);
-			}
-		}
-
-		if (isEmpty(prefix) == true) 
-		{
-			const XalanDOMString	msg("StylesheetHandler) " + XalanDOMString(name) + " attribute 'prefix' is missing");
-
-			error(msg, locator);
-		}
-
-		// SCOTT: is the line below correct?
-		const XalanDOMString&	extns = getNamespaceForPrefixFromStack(prefix);
-
-		ExtensionNSHandler* nsh = m_stylesheet.lookupExtensionNSHandler(extns);
-
-		if (nsh == 0) 
-		{
-			// The extension namespace might not yet be known...
-			nsh = new ExtensionNSHandler(extns);
-
-			m_stylesheet.addExtensionNamespace(extns, nsh);
-
-			assert(m_inExtensionElementStack.empty() == false);
-
-			m_inExtensionElementStack.back() = true;
-		}
-
-		if (!isEmpty(elements)) 
-		{
-			nsh->setElements(elements);
-		}
-
-		if (!isEmpty(functions)) 
-		{
-			nsh->setFunctions(functions);
-		}
-
-		m_pLXSLTExtensionNSH = nsh; // hang on to it for processing 
-		// endElement on lxslt:script
-	}
-	else if (equals(localName, Constants::ATTRNAME_SCRIPT)) 
-	{
-		// process this in end element so that I can see whether I had 
-		// a body as well. The default pushing logic will save the 
-		// attributes for me. The body will be accumulated into the
-		// following string buffer
-		m_inLXSLTScript = true;
-		clear(m_LXSLTScriptBody);
-
-		const int	nAttrs = atts.getLength();
-
-		for (int i = 0; i < nAttrs; i++) 
-		{
-			const XalanDOMChar* const	aname = atts.getName(i);
-
-			if (equals(aname, Constants::ATTRNAME_LANG))
-			{
-				m_LXSLTScriptLang = atts.getValue (i);
-			}
-			else if (equals(aname, Constants::ATTRNAME_SRC))
-			{
-				m_LXSLTScriptSrcURL = atts.getValue (i);
-			}
-			else if(!isAttrOK(aname, atts, i))
-			{
-				const XalanDOMString	msg(XalanDOMString(name) + " has an illegal attribute: " + aname);
-
-				error(msg, locator);
-			}
-		}
-	}
-	else 
-	{
-		// other xslt4j: element. Not my business.
-	}
-}
-
-
-
-void
-StylesheetHandler::processPreserveStripSpace(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator,
-			int						xslToken)
-{
-	ElemEmpty nsNode(m_constructionContext, m_stylesheet, getLineNumber(locator), getColumnNumber(locator));
-
-	const unsigned int	nAttrs = atts.getLength();
-
-	bool foundIt = false;
-
-	const bool	isPreserveSpace = Constants::ELEMNAME_PRESERVESPACE == xslToken? true : false;
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_ELEMENTS))
-		{
-			foundIt = true;
-
-			StringTokenizer		tokenizer(atts.getValue(i),
-										  Constants::DEFAULT_WHITESPACE_SEPARATOR_STRING);
-
-			while(tokenizer.hasMoreTokens())
-			{
-				// Use only the root, at least for right now.
-				const XalanDOMString	wildcardName = tokenizer.nextToken();
-
-				/**
-				 * Creating a match pattern is too much overhead, but it's a reasonably 
-				 * easy and safe way to do this right now.
-				 */
-				const XPath* const	matchPat =
-						m_constructionContext.createMatchPattern(0, wildcardName, nsNode);
-
-				if(isPreserveSpace == true)
-				{
-					m_stylesheet.getStylesheetRoot().pushWhitespacePreservingElement(matchPat);
-				}
-				else
-				{
-					m_stylesheet.getStylesheetRoot().pushWhitespaceStrippingElement(matchPat);
-				}
-			}
-		}
-		else if(!isAttrOK(aname, atts, i))
-		{
-			const XalanDOMString	msg(XalanDOMString(name) + " has an illegal attribute: " + aname);
-
-			error(msg, locator);
-		}
-	}
-
-	if(!foundIt && inExtensionElement() == false)
-	{
-		const XalanDOMString	msg("(StylesheetHandler) " + XalanDOMString(name) +
-			" requires a " + Constants::ATTRNAME_ELEMENTS + " attribute.");
-
-		error(msg, locator);
-	}
-}
-
-
-
-void
-StylesheetHandler::appendChildElementToParent(
-			ElemTemplateElement*	elem,
-			const Locator*			locator)
-{
-	ElemTemplateElement* const	parent = m_elemStack.back();
-
-	try
-	{
-		parent->appendChildElem(elem);
-	}
-	catch(const XalanDOMException&	e)
-	{
-		if (e.getExceptionCode() == XalanDOMException::HIERARCHY_REQUEST_ERR)
-		{
-			// $$$ ToDo: There is a bug in the version of gcc that
-			// we're using when the optimizer is enabled.  Constructing
-			// this error message from the parameter results in an internal
-			// compiler error, so I'm using a local variable instead.
-#if defined(__GNUC__)
-			const ElemTemplateElement* const	localElem = elem;
-
-			XalanDOMString	theMessage(localElem->getElementName());
-
-#else
-			XalanDOMString	theMessage(elem->getElementName());
-#endif
-
-			append(theMessage, " is not a valid child of ");
-			append(theMessage, parent->getElementName());
-
-			error(theMessage, locator);
-		}
-
-		throw;
-	}
-
-	m_elemStackParentedElements.insert(elem);
-}
-
-
-
-void
-StylesheetHandler::doCleanup()
-{
-	if (m_locatorsPushed > 0)
-	{
-		m_constructionContext.popLocatorStack();
-
-		--m_locatorsPushed;
-	}
-
-	// Pop anything that's not an empty element...
-	while(m_elemStack.empty() == false &&
-		  m_elemStack.back()->getXSLToken() != Constants::ELEMNAME_UNDEFINED)
-	{
-		m_elemStackParentedElements.erase(m_elemStack.back());
-		m_elemStack.pop_back();
-	}
-}
-
-
-
-static bool
-stackContains(
-			const Stylesheet::URLStackType&		stack, 
-			const XalanDOMString&				urlString)
-{
-	const Stylesheet::URLStackType::size_type	n = stack.size();
-
-	bool				contains = false;
-
-	for(Stylesheet::URLStackType::size_type i = 0; i < n && contains == false; ++i)
-	{
-		if(equals(stack[i], urlString))
-		{
-			contains = true;
-		}
-	}
-
-	return contains;	
-}
-
-
-
-void
-StylesheetHandler::processImport(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	bool				foundIt = false;
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_HREF))
-		{
-			foundIt = true;
-			
-			if(m_foundNotImport)
-			{
-				error("Imports can only occur as the first elements in the stylesheet.", locator);
-			}
-
-			const XalanDOMString	saved_XSLNameSpaceURL = m_stylesheet.getXSLTNamespaceURI();
-
-			const XalanDOMString	href(atts.getValue(i));
-
-			Stylesheet::URLStackType&	includeStack = m_stylesheet.getIncludeStack();
-			assert(includeStack.size() > 0);
-
-			const XalanDOMString	hrefUrl = m_constructionContext.getURLStringFromString(href, includeStack.back());
-			assert(length(hrefUrl) != 0);
-
-			Stylesheet::URLStackType&	importStack = m_stylesheet.getStylesheetRoot().getImportStack();
-
-			if(stackContains(importStack, hrefUrl))
-			{
-				const XalanDOMString	msg(hrefUrl + " is directly or indirectly importing itself.");
-
-				error(msg, locator);
-			}
-
-			importStack.push_back(hrefUrl);
-			
-			// This will take care of cleaning up the stylesheet if an exception
-			// is thrown.
-			XalanAutoPtr<Stylesheet>	importedStylesheet( 
-				m_constructionContext.create(
-				m_stylesheet.getStylesheetRoot(), 
-				hrefUrl));
-
-			StylesheetHandler tp(*importedStylesheet.get(), m_constructionContext);
-
-			m_constructionContext.parseXML(hrefUrl, &tp, 0);
-
-			// Add it to the front of the imports, releasing the XalanAutoPtr...
-			m_stylesheet.addImport(importedStylesheet.release(), true);
-
-			assert(equals(importStack.back(), hrefUrl));
-			importStack.pop_back();		
-
-			m_stylesheet.setXSLTNamespaceURI(saved_XSLNameSpaceURL);
-		}
-		else if(!isAttrOK(aname, atts, i))
-		{
-			const XalanDOMString	msg(XalanDOMString(name) + " has an illegal attribute: " + aname);
-
-			error(msg, locator);
-		}
-	}
-
-	if(!foundIt)
-	{
-		const XalanDOMString	msg("Could not find href attribute for " + XalanDOMString(name));
-
-		error(msg, locator);
-	}
-}
-
-
-void
-StylesheetHandler::processInclude(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	bool				foundIt = false;
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar* const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_HREF))
-		{
-			foundIt = true;
-
-			PushPopIncludeState		theStateHandler(*this);
-
-			const XalanDOMString	href(atts.getValue(i));
-		
-			assert(c_wstr(m_stylesheet.getIncludeStack().back()) != 0);
-			const XalanDOMString	hrefUrl = m_constructionContext.getURLStringFromString(href, m_stylesheet.getIncludeStack().back());
-
-			if(stackContains(m_stylesheet.getIncludeStack(), hrefUrl))
-			{
-				XalanDOMString msg(hrefUrl + " is directly or indirectly including itself.");
-
-				error(msg, locator);
-			}
-
-			m_stylesheet.getIncludeStack().push_back(hrefUrl);
-
-			m_constructionContext.parseXML(hrefUrl, this, 0);
-
-			assert(equals(m_stylesheet.getIncludeStack().back(), hrefUrl));
-			m_stylesheet.getIncludeStack().pop_back();
-		}
-		else if(!isAttrOK(aname, atts, i))
-		{
-			const XalanDOMString	msg(XalanDOMString(name) + " has an illegal attribute: " + aname);
-
-			error(msg, locator);
-		}
-	}
-
-	if(!foundIt)
-	{
-		const XalanDOMString	msg("Could not find href attribute for " + XalanDOMString(name));
-
-		error(msg, locator);
-	}
-}
-
-
-
-void
-StylesheetHandler::endElement(const XMLCh* const name)
-{
-	const Locator* const	locator = m_constructionContext.getLocatorFromStack();
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	processAccumulatedText();
-
-	// Clean up the whitespace elements.
-	for_each(m_whiteSpaceElems.begin(),
-			 m_whiteSpaceElems.end(),
-			 DeleteFunctor<ElemTextLiteral>());
-
-	m_whiteSpaceElems.clear();
-
-	m_stylesheet.popNamespaces();
-
-	assert(m_elemStack.empty() == false);
-
-	m_lastPopped = m_elemStack.back();
-	m_elemStack.pop_back();
-	m_elemStackParentedElements.erase(m_lastPopped);
-	m_lastPopped->finishedConstruction();
-
-	const int tok = m_lastPopped->getXSLToken();
-
-	if(Constants::ELEMNAME_TEMPLATE == tok)
-	{
-		m_inTemplate = false;
-	}
-	else if((Constants::ELEMNAME_PARAMVARIABLE == tok) ||
-		Constants::ELEMNAME_VARIABLE == tok)
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		const ElemVariable* const	var = (const ElemVariable*)m_lastPopped;
-#else
-		const ElemVariable* const	var = static_cast<const ElemVariable*>(m_lastPopped);
-#endif
-
-		if(var->isTopLevel() == true)
-		{
-			// Top-level param or variable
-			m_inTemplate = false;
-		}
-	}
-	else if(Constants::ELEMNAME_DEFINEATTRIBUTESET == tok)
-	{
-		m_inTemplate = false;
-	}
-	else if (tok == Constants::ELEMNAME_UNDEFINED ||
-		tok == Constants::ELEMNAME_TEXT)
-	{
-		// These are stray elements, so stuff them away
-		// to be deleted when we're finished...
-		m_strayElements.push_back(m_lastPopped);
-	}
-
-	// BEGIN SANJIVA CODE
-	if (m_inLXSLTScript) 
-	{
-		if (isEmpty(m_LXSLTScriptLang)) 
-		{
-			const XalanDOMString	msg(XalanDOMString(name) + " attribute \'lang\' is missing");
-
-			error(msg, locator);
-		}
-		if (m_pLXSLTExtensionNSH == 0) 
-		{
-			const XalanDOMString	msg("(StylesheetHandler) misplaced " + XalanDOMString(name) + " element?? Missing container element " + "'component'");
-
-			error(msg, locator);
-		}
-
-		m_pLXSLTExtensionNSH->setScript(m_LXSLTScriptLang, m_LXSLTScriptSrcURL, m_LXSLTScriptBody);
-		
-		// reset state
-		m_inLXSLTScript = false;
-		clear(m_LXSLTScriptLang);
-		clear(m_LXSLTScriptSrcURL);
-		clear(m_LXSLTScriptBody);
-		m_pLXSLTExtensionNSH = 0;
-	}
-	// END SANJIVA CODE
-
-	assert(m_inExtensionElementStack.empty() == false);
-
-	m_inExtensionElementStack.pop_back();
-
-	assert(m_preserveSpaceStack.empty() == false);
-
-	m_preserveSpaceStack.pop_back();
-}
-
-
-
-void
-StylesheetHandler::characters(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	accumulateText(chars, length);
-}
-
-
-
-void
-StylesheetHandler::cdata(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	accumulateText(chars, length);
-
-	processText(chars, length);
-
-	m_lastPopped = 0;
-}
-
-
-
-void
-StylesheetHandler::ignorableWhitespace(
-			const XMLCh* const	/*chars*/,
-			const unsigned int	/*length*/)
-{
-	// Ignore!
-	m_lastPopped = 0;
-}
-
-
-
-void
-StylesheetHandler::processingInstruction(
-			const XMLCh* const	/*target*/,
-			const XMLCh* const	/*data*/)
-{
-	if (isXMLWhitespace(m_accumulateText) == false)
-	{
-		processAccumulatedText();
-	}
-	else
-	{
-		clear(m_accumulateText);
-	}
-}
-
-
-
-void
-StylesheetHandler::comment(const XMLCh* const /*data*/)
-{
-	processAccumulatedText();
-}
-
-
-
-void
-StylesheetHandler::entityReference(const XMLCh* const /*name*/)
-{
-	processAccumulatedText();
-}
-
-
-
-void
-StylesheetHandler::resetDocument()
-{
-	clear(m_accumulateText);
-}
-
-
-
-void
-StylesheetHandler::charactersRaw(
-			const XMLCh* const	/* chars */,
-			const unsigned int	/* length */)
-{
-  // No action for the moment.
-}
-
-
-
-void
-StylesheetHandler::processText(
-			const XMLCh*				chars,
-			XalanDOMString::size_type	length)
-{
-	if(m_inTemplate)
-	{
-		ElemTemplateElement*	parent = m_elemStack.back();
-		assert(parent != 0);
-
-		assert(m_preserveSpaceStack.empty() == false);
-
-		bool	preserveSpace = m_preserveSpaceStack.back();
-		bool	disableOutputEscaping = false;
-
-		if (preserveSpace == false && parent->getXSLToken() == Constants::ELEMNAME_TEXT)
-		{
-#if defined(XALAN_OLD_STYLE_CASTS)
-			disableOutputEscaping = ((ElemText*)parent)->getDisableOutputEscaping();
-#else
-			disableOutputEscaping = static_cast<ElemText*>(parent)->getDisableOutputEscaping();
-#endif
-			preserveSpace = true;
-
-			parent = m_elemStack[m_elemStack.size() - 2];
-		}
-
-		const Locator* const	locator = m_constructionContext.getLocatorFromStack();
-
-		const int	lineNumber = (0 != locator) ? locator->getLineNumber() : 0;
-		const int	columnNumber = (0 != locator) ? locator->getColumnNumber() : 0;
-
-		XalanAutoPtr<ElemTextLiteral>	elem(new ElemTextLiteral(m_constructionContext,
-			m_stylesheet,
-			lineNumber,
-			columnNumber,
-			chars,
-			0,
-			length,
-			true,
-			preserveSpace, 
-			disableOutputEscaping));
-
-		const bool	isWhite = elem->isWhitespace();
-
-		if(preserveSpace || (!preserveSpace && !isWhite))
-		{
-			while(!m_whiteSpaceElems.empty())
-			{
-				parent->appendChildElem(m_whiteSpaceElems.back());
-
-				m_whiteSpaceElems.pop_back();
-			}
-
-			parent->appendChildElem(elem.get());
-
-			elem.release();
-		}
-		else if(isWhite)
-		{
-			bool						shouldPush = true;
-
-			ElemTemplateElement* const	last = parent->getLastChildElem();
-
-			if(0 != last)
-			{
-				// If it was surrounded by xsl:text, it will count as an element.
-				const bool	isPrevCharData =
-					Constants::ELEMNAME_TEXTLITERALRESULT == last->getXSLToken();
-
-				const bool	isLastPoppedXSLText = (m_lastPopped != 0) &&
-						(Constants::ELEMNAME_TEXT == m_lastPopped->getXSLToken());
-
-				if(isPrevCharData && ! isLastPoppedXSLText)
-				{
-					parent->appendChildElem(elem.get());
-
-					elem.release();
-
-					shouldPush = false;
-				}
-			}
-
-			if(shouldPush)
-			{
-				m_whiteSpaceElems.push_back(elem.get());
-
-				elem.release();
-			}
-		}
-	}
-	else if (m_inLXSLTScript)
-	{
-		append(m_LXSLTScriptBody, chars);
-	}
-
-	// TODO: Flag error if text inside of stylesheet
-}
-
-
-
-void
-StylesheetHandler::accumulateText(
-			const XMLCh*				chars,
-			XalanDOMString::size_type	length)
-{	
-	if(m_inTemplate)
-	{
-		append(m_accumulateText, chars, length);
-	}
-}
-
-
-
-void
-StylesheetHandler::processAccumulatedText()
-{
-	if (isEmpty(m_accumulateText) == false)
-	{
-		processText(m_accumulateText.c_str(), length(m_accumulateText));
-
-		clear(m_accumulateText);
-	}	
-}
-
-
-
-bool
-StylesheetHandler::inExtensionElement() const
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	if (find(
-			m_inExtensionElementStack.rbegin(),
-			m_inExtensionElementStack.rend(),
-			true) != m_inExtensionElementStack.rend())
-	{
-		return true;
-	}
-	else
-	{
-		return false;
-	}
-}
-
-
-
-void
-StylesheetHandler::error(
-			const char*		theMessage,
-			const Locator*	theLocator) const
-{
-	m_constructionContext.error(theMessage, 0, theLocator);
-}
-
-
-
-void
-StylesheetHandler::error(
-			const XalanDOMString&	theMessage,
-			const Locator*			theLocator) const
-{
-	m_constructionContext.error(theMessage, 0, theLocator);
-}
-
-
-
-StylesheetHandler::PushPopIncludeState::PushPopIncludeState(StylesheetHandler&	theHandler) :
-	m_handler(theHandler),
-	m_elemStack(theHandler.m_elemStack),
-	m_elemStackParentedElements(theHandler.m_elemStackParentedElements),
-	m_pTemplate(theHandler.m_pTemplate),
-	m_lastPopped(theHandler.m_lastPopped),
-	m_inTemplate(theHandler.m_inTemplate),
-	m_foundStylesheet(theHandler.m_foundStylesheet),
-	m_XSLNameSpaceURL(theHandler.m_stylesheet.getXSLTNamespaceURI()),
-	m_foundNotImport(theHandler.m_foundNotImport),
-	m_namespaceDecls(),
-	m_namespaces(),
-	m_namespacesHandler(),
-	m_inExtensionElementStack()
-{
-	clear(m_handler.m_accumulateText);
-	m_handler.m_elemStack.clear();
-	m_handler.m_pTemplate = 0;
-	m_handler.m_lastPopped = 0;
-	m_handler.m_inTemplate = false;
-	m_handler.m_foundStylesheet = false;
-	m_handler.m_foundNotImport = false;
-
-	// This is much more efficient, since we're just swapping
-	// underlying data.  This clears out the stack as well...
-	m_namespaceDecls.swap(theHandler.m_stylesheet.getNamespaceDecls());
-	m_namespaces.swap(theHandler.m_stylesheet.getNamespaces());
-	m_namespacesHandler.swap(theHandler.m_stylesheet.getNamespacesHandler());
-	m_inExtensionElementStack.swap(theHandler.m_inExtensionElementStack);
-	m_preserveSpaceStack.swap(theHandler.m_preserveSpaceStack);
-}
-
-
-
-StylesheetHandler::PushPopIncludeState::~PushPopIncludeState()
-{
-	// Clean up the element stack vector
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Clean up the element stack vector
-	for_each(m_handler.m_elemStack.begin(),
-			 m_handler.m_elemStack.end(),
-			 DeleteFunctor<ElemTemplateElement>());
-
-	clear(m_handler.m_accumulateText);
-	m_handler.m_elemStack = m_elemStack;
-	m_handler.m_elemStackParentedElements = m_elemStackParentedElements;
-	m_handler.m_pTemplate = m_pTemplate;
-	m_handler.m_lastPopped = m_lastPopped;
-	m_handler.m_inTemplate = m_inTemplate;
-	m_handler.m_foundStylesheet = m_foundStylesheet;
-	m_handler.m_stylesheet.setXSLTNamespaceURI(m_XSLNameSpaceURL);
-	m_handler.m_foundNotImport = m_foundNotImport;
-
-	// This is much more efficient, since we're just swapping
-	// underlying data.
-	m_handler.m_stylesheet.getNamespaceDecls().swap(m_namespaceDecls);
-	m_handler.m_stylesheet.getNamespaces().swap(m_namespaces);
-	m_handler.m_stylesheet.getNamespacesHandler().swap(m_namespacesHandler);
-	m_handler.m_inExtensionElementStack.swap(m_inExtensionElementStack);
-	m_handler.m_preserveSpaceStack.swap(m_preserveSpaceStack);
-}
-
-
-
-const XalanDOMString			StylesheetHandler::s_emptyString;
-
-XalanDOMString					s_localPart;
-
-XalanQNameByReference			s_spaceAttrQName;
-
-const XalanQName&				StylesheetHandler::s_spaceAttrQName = ::s_spaceAttrQName;
-
-
-
-void
-StylesheetHandler::initialize()
-{
-	::s_localPart = XALAN_STATIC_UCODE_STRING("space");
-
-	::s_spaceAttrQName.setLocalPart(::s_localPart);
-
-	::s_spaceAttrQName.setNamespace(DOMServices::s_XMLNamespaceURI);
-}
-
-
-
-void
-StylesheetHandler::terminate()
-{
-	releaseMemory(::s_localPart);
-
-	::s_spaceAttrQName.clear();
-}
diff --git a/src/XSLT/StylesheetHandler.hpp b/src/XSLT/StylesheetHandler.hpp
deleted file mode 100644
index 98ee1a1..0000000
--- a/src/XSLT/StylesheetHandler.hpp
+++ /dev/null
@@ -1,661 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_STYLESHEETHANDLER_HEADER_GUARD)
-#define XALAN_STYLESHEETHANDLER_HEADER_GUARD
-
-// Base include file.	Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <vector>
-#include <set>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-#include <XSLT/NamespacesHandler.hpp>
-#include <XSLT/Stylesheet.hpp>
-
-
-
-class ElemTemplate;
-class ElemTemplateElement;
-class ElemTextLiteral;
-class ExtensionNSHandler;
-class StylesheetConstructionContext;
-class XalanQName;
-
-
-
-/**
- * This class processes a stylesheet via SAX events, and inits
- * the given stylesheet.	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.
- */
-class XALAN_XSLT_EXPORT StylesheetHandler : public FormatterListener
-{
-
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<ElemTemplateElement*>		ElemTemplateStackType;
-	typedef vector<ElemTextLiteral*>			ElemTextLiteralStackType;
-	typedef set<ElemTemplateElement*,
-				less<ElemTemplateElement*> >	ElemTemplateSetType;
-	typedef vector<bool>						BoolStackType;
-#else
-	typedef std::vector<ElemTemplateElement*>	ElemTemplateStackType;
-	typedef std::vector<ElemTextLiteral*>		ElemTextLiteralStackType;
-	typedef std::set<ElemTemplateElement*>		ElemTemplateSetType;
-	typedef std::vector<bool>					BoolStackType;
-#endif
-
-	/**
-	 * Perform static initialization.  See class XMLSupportInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XMLSupportInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Construct a StylesheetHandler ... it will add the DOM nodes 
-	 * to the document fragment.
-	 */
-	StylesheetHandler(
-			Stylesheet&						stylesheetTree,
-			StylesheetConstructionContext&	constructionContext);
-
-	virtual
-	~StylesheetHandler();
-
-	/**
-	 * 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 chars  pointer to characters from the XML document
-	 * @param length number of characters to read from the array
-	 * @exception SAXException
-	 * @see #ignorableWhitespace 
-	 * @see org.xml.sax.Locator
-	 */
-	virtual void characters (const XMLCh* const chars, const unsigned int length);
-
-	/**
-	 * Receive notification of character data. If available, when the
-	 * disable-output-escaping attribute is used, output raw text without
-	 * escaping.
-	 *
-	 * @param ch pointer to characters from the XML document
-	 * @param start start position in the array
-	 * @param length number of characters to read from the array
-	 * @exception SAXException
-	 */
-	virtual void charactersRaw(const XMLCh* const chars, const unsigned int	length);
-
-	/**
-	 * Receive notification of cdata.
-	 *
-	 * <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     pointer to characters from the XML document
-	 * @param start  start position in the array
-	 * @param length number of characters to read from the array
-	 * @exception SAXException
-	 * @see #ignorableWhitespace 
-	 */
-	virtual void cdata(const XMLCh* const ch, const unsigned int 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 chars  characters from the XML document
-	 * @param start  start position in the array
-	 * @param length  number of characters to read from the array
-	 * @exception SAXException
-	 * @see #characters
-	 */
-	virtual void ignorableWhitespace (const XMLCh* const chars, const unsigned int 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 pointer to processing instruction target
-	 * @param data   pointer to processing instruction data, or null if none
-	 *               was supplied
-	 * @exception SAXException
-	 */
-	virtual void processingInstruction (const XMLCh* const target, const XMLCh* const data);
-
-	/**
-	 * Called when a Comment is to be constructed.
-	 *
-	 * @param data comment data
-	 * @exception SAXException
-	 */
-	virtual void comment(const XMLCh* const data);
-
-	/**
-	 * Receive notification of a entityReference.
-	 *
-	 * @param data pointer to characters from the XML document
-	 * @exception SAXException
-	 */
-	virtual void entityReference(const XMLCh* const data);
-
-	// These methods are inherited DocumentHandler ...
-	
-	// $$$ Theoretically, shouldn't need javadoc for these, since they are
-	// inherited from DocumentHandler, but let's leave them in for now -- JMD
-
-	/**
-	 * 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 object that can return the location of
-	 *                any SAX document event.
-	 * @see org.xml.sax.Locator
-	 */
-	virtual void setDocumentLocator(const Locator* const	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 SAXException
-	 */
-	virtual void 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 SAXException
-	 */
-	virtual void 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   element type name
-	 * @param atts   attributes attached to the element, if any
-	 * @exception SAXException
-	 * @see #endElement
-	 * @see org.xml.sax.AttributeList
-	 */
-	virtual void startElement (const XMLCh* const name, AttributeList& attrs);
-	
-	/**
-	 * 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 element type name
-	 * @exception SAXException
-	 */
-	virtual void endElement(const XMLCh* const name);
-	
-	/**
-	 * This method allows the user installed Document Handler to 'reset'
-	 * itself, freeing all the memory resources. The scanner calls this
-	 * method before starting a new parse event.
-	 */
-	virtual void resetDocument();
-
-protected:
-
-	/** 
-	 * See if this is a xmlns attribute, and, if so, process it.
-	 * 
-	 * @param attrName Qualified name of attribute.
-	 * @param atts The attribute list where the element comes from (not used at 
-	 *      this time).
-	 * @param which The index into the attribute list (not used at this time).
-	 * @return True if this is a namespace name.
-	 */
-	bool
-	isAttrOK(
-			const XalanDOMChar*		attrName,
-			const AttributeList&	atts,
-			int						which);
-
-	/** 
-	 * Tell whether or not this is a xml:space attribute and, if so, process it.
-	 * 
-	 * @param aname The name of the attribute in question.
-	 * @param atts The attribute list that owns the attribute.
-	 * @param which The index of the attribute into the attribute list.
-	 * @param locator A Locator instance for error reporting.
-	 * @param fPreserve set to true if the attribute value is "preserve"
-	 * @return True if this is a xml:space attribute.
-	 */
-	bool
-	processSpaceAttr(
-			const XalanDOMChar*		aname,
-			const AttributeList&	atts,
-			int						which,
-			const Locator*			locator,
-			bool&					fPreserve);
-
-	/** 
-	 * Tell whether or not this is a xml:space attribute and, if so, process it.
-	 * 
-	 * @param atts The attribute list that owns the attribute.
-	 * @param locator A Locator instance for error reporting.
-	 * @param fPreserve set to true if an xml:space attribute value is "preserve"
-	 * @return True if this is a xml:space attribute.
-	 */
-	bool
-	processSpaceAttr(
-			const AttributeList&	atts,
-			const Locator*			locator,
-			bool&					fPreserve);
-
-	/**
-	 * Process xsl:import.
-	 */
-	void
-	processImport(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator);
-
-	/**
-	 * Process xsl:include.
-	 */
-	void
-	processInclude(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator);
-
-	void
-	doCleanup();
-
-private:
-
-	// not implemented
-	StylesheetHandler(const StylesheetHandler&);
-
-	StylesheetHandler&
-	operator=(const StylesheetHandler&);
-
-	// Utility functions...
-	void
-	error(
-			const char*		theMessage,
-			const Locator*	theLocator) const;
-
-	void
-	error(
-			const XalanDOMString&	theMessage,
-			const Locator*			theLocator) const;
-
-	void
-	processText(
-			const XMLCh*				chars,
-			XalanDOMString::size_type	length);
-
-	void
-	accumulateText(
-			const XMLCh*				chars,
-			XalanDOMString::size_type	length);
-
-	void
-	processAccumulatedText();
-
-	void
-	processTopLevelElement(
-			const XalanDOMChar*		name,
-			const XalanDOMString&	localName,
-			const XalanDOMString&	ns,
-			const AttributeList&	atts,
-			int						xslToken,
-			const Locator*			locator,
-			bool&					fPreserveSpace,
-			bool&					fSpaceAttrProcessed);
-
-	void
-	processStylesheet(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator,
-			bool&					fPreserveSpace,
-			bool&					fSpaceAttrProcessed);
-
-	void
-	processPreserveStripSpace(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			const Locator*			locator,
-			int						xslToken);
-
-	void
-	appendChildElementToParent(
-			ElemTemplateElement*	elem,
-			const Locator*			locator);
-
-	bool
-	inExtensionElement() const;
-
-	void
-	processExtensionElement(
-			const XalanDOMChar*		name,
-			const XalanDOMString&	localName,
-			const AttributeList&	atts,
-			const Locator*			locator);
-
-	// Data members...
-
-	/**
-	 * The owning stylesheet.
-	 */
-	Stylesheet&		m_stylesheet;
-
-	/**
-	 * The construction context.
-	 */
-	StylesheetConstructionContext&	m_constructionContext;
-
-	/**
-	 * The stack of elements, pushed and popped as events occur.
-	 */
-	ElemTemplateStackType	m_elemStack;
-
-	/**
-	 * The set of elements in m_elemStack which have already
-	 * been parented.  This prevents us from deleting them
-	 * twice if an exception is thrown.
-	 */
-	ElemTemplateSetType		m_elemStackParentedElements;
-
-	/**
-	 * The stack of stray elements, to be delete when finished.
-	 */
-	ElemTemplateStackType	m_strayElements;
-
-	/**
-	 * Need to keep a stack of found whitespace elements so that 
-	 * whitespace elements next to non-whitespace elements can 
-	 * be merged.  For instance: &lt;out> &lt;![CDATA[test]]> &lt;/out>
-	 */
-	ElemTextLiteralStackType m_whiteSpaceElems;
-
-	/**
-	 * The current template.
-	 */
-	ElemTemplate* m_pTemplate;
-	
-	/**
-	 * The last element popped from the stack.  I'm not totally clear 
-	 * anymore as to why this is needed.
-	 */
-	ElemTemplateElement* m_lastPopped;
-	
-	/**
-	 * True if the process is in a template context.
-	 */
-	bool m_inTemplate;
-	
-	/**
-	 * True if the stylesheet element was found, or if it was determined that 
-	 * the stylesheet is wrapperless.
-	 */
-	bool m_foundStylesheet;
-	
-	/**
-	 * Flag to let us know when we've found an element inside the 
-	 * stylesheet that is not an xsl:import, so we can restrict imports 
-	 * to being the first elements.
-	 */
-	bool m_foundNotImport;
-
-	/**
-	 * Accumulate character buffer to create contiguous character data
-	 * where possible.
-	 */
-	XalanDOMString	m_accumulateText;
-
-	XalanDOMString	m_includeBase;
-
-	BoolStackType	m_inExtensionElementStack;
-
-	BoolStackType	m_preserveSpaceStack;
-
-	bool					m_inLXSLTScript;
-
-	XalanDOMString			m_LXSLTScriptBody;
-	XalanDOMString			m_LXSLTScriptLang;
-	XalanDOMString			m_LXSLTScriptSrcURL;
-	ExtensionNSHandler*		m_pLXSLTExtensionNSH;
-
-	// Note that this variable must not be saved by
-	// PushPopIncludeState...
-	unsigned long	m_locatorsPushed;
-
-	/**
-	 * Init the wrapperless template
-	 */
-	ElemTemplateElement*
-	initWrapperless(
-			const XalanDOMChar*		name,
-			const AttributeList&	atts,
-			int						lineNumber,
-			int						columnNumber);
-
-	const XalanDOMString&
-	getNamespaceFromStack(const XalanDOMChar*	theName) const;
-
-	const XalanDOMString&
-	getNamespaceForPrefixFromStack(const XalanDOMString&	thePrefix) const;
-
-	class PushPopIncludeState
-	{
-	public:
-
-		PushPopIncludeState(StylesheetHandler&		theHandler);
-
-		~PushPopIncludeState();
-
-	private:
-
-		StylesheetHandler&					m_handler;
-
-		ElemTemplateStackType				m_elemStack;
-
-		ElemTemplateSetType					m_elemStackParentedElements;
-
-		ElemTemplate* const					m_pTemplate;
-
-		ElemTemplateElement* const			m_lastPopped;		
-
-		const bool							m_inTemplate;		
-
-		const bool							m_foundStylesheet;
-
-		const XalanDOMString				m_XSLNameSpaceURL;
-
-		const bool							m_foundNotImport;
-
-		Stylesheet::NamespaceVectorType		m_namespaceDecls;
-
-		Stylesheet::NamespacesStackType		m_namespaces;
-
-		NamespacesHandler					m_namespacesHandler;
-
-		BoolStackType						m_inExtensionElementStack;
-
-		BoolStackType						m_preserveSpaceStack;
-	};
-
-	friend class PushPopIncludeState;
-
-	static const XalanDOMString				s_emptyString;
-
-	static const XalanQName&				s_spaceAttrQName;
-};
-
-
-
-#endif	// XALAN_STYLESHEETHANDLER_HEADER_GUARD
diff --git a/src/XSLT/StylesheetRoot.cpp b/src/XSLT/StylesheetRoot.cpp
deleted file mode 100644
index 30a6aa4..0000000
--- a/src/XSLT/StylesheetRoot.cpp
+++ /dev/null
@@ -1,667 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-// Class header file
-#include "StylesheetRoot.hpp"
-
-
-
-#include <algorithm>
-#include <memory>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/sax/SAXException.hpp>
-#include <xercesc/util/XMLURL.hpp>
-
-
-
-#include <XalanDOM/XalanDocumentFragment.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/StringTokenizer.hpp>
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-#include <XPath/XalanQNameByReference.hpp>
-#include <XPath/XPathFactory.hpp>
-#include <XPath/XPathProcessor.hpp>
-
-
-
-#include <XMLSupport/FormatterToHTML.hpp>
-#include <XMLSupport/FormatterToText.hpp>
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterToDOM.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemApplyTemplates.hpp" 
-#include "ElemTemplate.hpp" 
-#include "ElemValueOf.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "TraceListener.hpp"
-#include "XSLTResultTarget.hpp"
-
-
-
-//#define XALAN_VQ_SPECIAL_TRACE
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-#include "C:/Program Files/Rational/Quantify/pure.h"
-#endif
-
-
-
-StylesheetRoot::StylesheetRoot(
-        const XalanDOMString&			baseIdentifier,
-		StylesheetConstructionContext&	constructionContext) :
-	Stylesheet(*this,
-			   baseIdentifier,
-			   constructionContext),	
-	m_version(),
-	m_indentResult(false),
-	m_encoding(),
-	m_mediatype(),
-	m_doctypeSystem(),
-	m_doctypePublic(),
-	m_omitxmlDecl(false),
-	m_standalone(),
-	m_resultNameSpaceURL(),
-	m_outputMethod(FormatterListener::OUTPUT_METHOD_NONE),
-	m_cdataSectionElems(),
-	m_hasCdataSectionElems(false),
-	m_importStack(),
-	m_defaultTextRule(0),
-	m_defaultRule(0),
-	m_defaultRootRule(0),
-	m_needToBuildKeysTable(false)
-
-{
-	// Our base class has already resolved the URI and pushed it on
-	// the back of the include stack, so get it from there...
-	assert(getIncludeStack().empty() == false);
-
-	m_importStack.push_back(getIncludeStack().back());
-}				
-
-
-
-StylesheetRoot::~StylesheetRoot()
-{
-	delete m_defaultRule;
-	delete m_defaultTextRule;
-	delete m_defaultRootRule;
-}
-
-
-
-void
-StylesheetRoot::postConstruction(StylesheetConstructionContext&		constructionContext)
-{
-	// Chain-up first...
-	Stylesheet::postConstruction(constructionContext);
-
-	// We may need to build keys, since we may have inherited them from
-	// our imports.
-	if (m_needToBuildKeysTable == false && m_keyDeclarations.size() > 0)
-	{
-		m_needToBuildKeysTable = true;
-	}
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::sort;
-	using std::less;
-#endif
-
-	sort(
-			m_cdataSectionElems.begin(),
-			m_cdataSectionElems.end(),
-			less<XalanQName>());
-
-	if (m_cdataSectionElems.size() != 0)
-	{
-		m_hasCdataSectionElems = true;
-	}
-}
-
-
-
-void
-StylesheetRoot::process(
-			XalanNode*						sourceTree, 
-			XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext&		executionContext) const
-{
-	// Find the root pattern in the XSL.
-	const ElemTemplate*		rootRule =
-			findTemplate(executionContext, sourceTree);
-
-	if(0 == rootRule)
-	{
-		rootRule = m_defaultRootRule;
-	}
-	assert(rootRule != 0);
-
-	executionContext.setStylesheetRoot(this);
-
-	setupFormatterListener(outputTarget, executionContext);
-
-	executionContext.setRootDocument(sourceTree);
-
-	if(executionContext.doDiagnosticsOutput())
-	{
-		executionContext.diag(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("=============================")));
-		executionContext.diag(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Transforming...")));
-		executionContext.pushTime(&sourceTree);
-	}
-
-	typedef StylesheetExecutionContext::PushAndPopContextMarker	PushAndPopContextMarker;
-	typedef StylesheetExecutionContext::PushAndPopElementFrame	PushAndPopElementFrame;
-	typedef StylesheetExecutionContext::ResolveAndClearTopLevelParams	ResolveAndClearTopLevelParams;
-
-	PushAndPopContextMarker		thePushAndPopContextMarker(executionContext);
-
-	PushAndPopElementFrame		thePushAndPopElementFrame(
-				executionContext,
-				0);
-
-	ResolveAndClearTopLevelParams	theResolveAndClearTopLevelParams(executionContext);
-
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-	QuantifyStartRecordingData();
-#endif
-
-	executionContext.startDocument();
-
-	executionContext.setCurrentMode(&s_emptyQName);
-
-	XPathExecutionContext::CurrentNodeSetAndRestore theCurrentNodeSetAndRestore(executionContext, sourceTree);
-
-	// Output the action of the found root rule.  All processing
-	// occurs from here.
-	rootRule->execute(executionContext);
-
-	// At this point, anything transient during the tranformation
-	// may have been deleted, so we may not refer to anything the
-	// execution context may have created for us.
-	executionContext.endDocument();
-
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-	QuantifyStopRecordingData();
-#endif
-
-	if(executionContext.doDiagnosticsOutput())
-	{
-		executionContext.diag(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("")));
-		executionContext.displayDuration(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("transform")), &sourceTree);
-		executionContext.diag(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("")));
-	}
-}
-
-
-
-FormatterListener*
-StylesheetRoot::setupFormatterListener(
-			XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext&		executionContext) const
-{
-	FormatterListener*	flistener = outputTarget.getFormatterListener();
-
-	if(flistener == 0)
-	{
-		flistener = outputTarget.getDocumentHandler();
-	}
-
-	if (flistener != 0)
-	{
-		// Do encoding stuff here...
-	}
-	else if(0 != outputTarget.getCharacterStream() ||
-			0 != outputTarget.getByteStream() ||
-			0 != length(outputTarget.getFileName()))
-	{
-		/*
-		 * Output target has a character or byte stream or file
-		 */
-		Writer*		pw = 0;
-
-		if(0 != outputTarget.getCharacterStream())
-		{
-			pw = outputTarget.getCharacterStream();
-		}
-		else
-		{
-			if(0 != outputTarget.getByteStream())
-			{
-				pw = executionContext.createPrintWriter(*outputTarget.getByteStream());
-			}
-			else if(!isEmpty(outputTarget.getFileName()))
-			{
-				pw = executionContext.createPrintWriter(
-							outputTarget.getFileName(),
-							XalanDOMString());
-			}
-			else
-			{
-#if !defined(XALAN_NO_NAMESPACES)
-				using std::cout;
-#endif
-
-				pw = executionContext.createPrintWriter(cout);
-			}
-		}
-
-		int			indentAmount = executionContext.getIndent();
-
-		const bool	doIndent = (indentAmount > -1) ? true : m_indentResult;
-
-		switch(m_outputMethod)
-		{
-		case FormatterListener::OUTPUT_METHOD_HTML:
-			if (doIndent == true && indentAmount < 0)
-			{
-				indentAmount = FormatterToHTML::eDefaultIndentAmount;
-			}
-
-			flistener = executionContext.createFormatterToHTML(
-						*pw, m_encoding, m_mediatype, m_doctypeSystem, m_doctypePublic,
-						doIndent, indentAmount, m_version, m_standalone, !m_omitxmlDecl);
-			break;
-
-		case FormatterListener::OUTPUT_METHOD_TEXT:
-			flistener = executionContext.createFormatterToText(*pw, m_encoding);
-			break;
-
-		case FormatterListener::OUTPUT_METHOD_NONE:
-		case FormatterListener::OUTPUT_METHOD_XML:
-		default:
-			// Make sure we don't have a negative indent amount if we're
-			// indenting
-			if (doIndent == true && indentAmount < 0)
-			{
-				indentAmount = FormatterToXML::eDefaultIndentAmount;
-			}
-
-			flistener = executionContext.createFormatterToXML(
-						*pw, m_version, doIndent, indentAmount, m_encoding, m_mediatype,
-						m_doctypeSystem, m_doctypePublic, !m_omitxmlDecl, m_standalone);
-			break;
-		}
-
-		executionContext.setFormatterListener(flistener);
-	}
-	else if(outputTarget.hasDOMTarget() == true)
-	{
-		/*
-		 * Output target has a node
-		 */
-		if (outputTarget.getDocument() != 0)
-		{
-			flistener = executionContext.createFormatterToDOM(outputTarget.getDocument(), 0);
-		}
-		else if (outputTarget.getDocumentFragment() != 0)
-		{
-			XalanDocumentFragment* const	theFragment =
-					outputTarget.getDocumentFragment();
-
-			flistener = executionContext.createFormatterToDOM(
-								theFragment->getOwnerDocument(),
-								theFragment,
-								0);
-		}
-		else if (outputTarget.getElement() != 0)
-		{
-			XalanElement* const		theElement =
-					outputTarget.getElement();
-
-				flistener = executionContext.createFormatterToDOM(
-								theElement->getOwnerDocument(),
-								theElement);
-		}
-		else
-		{
-			assert(0);
-		}
-	}
-	else
-	{
-		/*
-		 * Create an empty document and set the output target node to this
-		 */
-		XalanDocument* const	theDocument = executionContext.createDocument();
-
-		outputTarget.setDocument(theDocument);
-
-		flistener = executionContext.createFormatterToDOM(theDocument, 0);
-	}
-
-	executionContext.setFormatterListener(flistener);
-
-	return flistener;
-}
-
-
-
-void 
-StylesheetRoot::processOutputSpec(
-			const XalanDOMChar*				name, 
-			const AttributeList&			atts,
-			StylesheetConstructionContext&	constructionContext)
-{
-	const unsigned int	nAttrs = atts.getLength();
-
-	bool				didSpecifyIndent = false;
-
-	for(unsigned int i = 0; i < nAttrs; i++)
-	{
-		const XalanDOMChar*	const	aname = atts.getName(i);
-
-		if(equals(aname, Constants::ATTRNAME_OUTPUT_METHOD))
-		{
-			const XalanDOMChar*	const	method = atts.getValue(i);
-
-			if(equals(method, Constants::ATTRVAL_OUTPUT_METHOD_HTML))
-				m_outputMethod = FormatterListener::OUTPUT_METHOD_HTML;
-			else if(equals(method, Constants::ATTRVAL_OUTPUT_METHOD_XML))
-				m_outputMethod = FormatterListener::OUTPUT_METHOD_XML;
-			else if(equals(method, Constants::ATTRVAL_OUTPUT_METHOD_TEXT))
-				m_outputMethod = FormatterListener::OUTPUT_METHOD_TEXT;
-		}
-		else if(equals(aname, Constants::ATTRNAME_OUTPUT_VERSION))
-		{
-			m_version = atts.getValue(i);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_INDENT))
-		{
-			m_indentResult = getYesOrNo(aname, atts.getValue(i), constructionContext);
-			didSpecifyIndent = true;
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_ENCODING))
-		{
-			m_encoding = atts.getValue(i);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_MEDIATYPE))
-		{
-			m_mediatype = atts.getValue(i);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_DOCTYPE_SYSTEM))
-		{
-			m_doctypeSystem = atts.getValue(i);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_DOCTYPE_PUBLIC))
-		{
-			m_doctypePublic = atts.getValue(i);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_OMITXMLDECL))
-		{
-			m_omitxmlDecl = getYesOrNo(aname, atts.getValue(i), constructionContext);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_STANDALONE))
-		{
-			m_standalone = atts.getValue(i);
-		}
-		else if(equals(aname,Constants::ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS))
-		{
-			StringTokenizer	theTokenizer(atts.getValue(i));
-
-			StringTokenizer::size_type	theTokenCount =
-				theTokenizer.countTokens();
-
-			m_cdataSectionElems.reserve(theTokenCount);
-
-			XalanDOMString	theToken;
-
-			const Locator* const	theLocator = constructionContext.getLocatorFromStack();
-
-			while(theTokenCount > 0)
-			{
-				theTokenizer.nextToken(theToken);
-
-				--theTokenCount;
-
-				m_cdataSectionElems.push_back(
-					XalanQNameByValue(theToken, getNamespaces(), theLocator, true));
-			}
-
-			assert(theTokenizer.hasMoreTokens() == false);
-		}
-		else if (isAttrOK(aname, atts, i, constructionContext) == false)
-		{
-			constructionContext.error(XalanDOMString(name) + " has an illegal attribute: " + aname);
-		}
-	}
-
-	if(FormatterListener::OUTPUT_METHOD_HTML == m_outputMethod &&
-	   false == didSpecifyIndent)
-	{
-		m_indentResult = true;
-	}
-}
-
-
-
-void 
-StylesheetRoot::initDefaultRule(StylesheetConstructionContext&	constructionContext)
-{
-	if (m_defaultRule == 0)
-	{
-		assert(m_defaultTextRule == 0);
-		assert(m_defaultRootRule == 0);
-
-		const int				lineNumber = 0;
-		const int				columnNumber = 0;
-
-		AttributeListImpl		attrs;
-
-		attrs.addAttribute(c_wstr(Constants::ATTRNAME_MATCH),
-	 					   c_wstr(Constants::ATTRTYPE_CDATA),
-						   c_wstr(Constants::PSEUDONAME_ANY));
-
-		m_defaultRule = new ElemTemplate(constructionContext,
-										 *this,
-										 attrs,
-										 lineNumber,
-										 columnNumber);
-
-		attrs.clear();
-
-		ElemApplyTemplates* childrenElement 
-		  = new ElemApplyTemplates(constructionContext,
-								   *this,
-								   attrs,
-								   lineNumber,
-								   columnNumber);
-
-		childrenElement->setDefaultTemplate(true);
-		m_defaultRule->appendChildElem(childrenElement);
-
-		// -----------------------------
-
-		attrs.clear();
-		attrs.addAttribute(c_wstr(Constants::ATTRNAME_MATCH),
-	 					   c_wstr(Constants::ATTRTYPE_CDATA),
-						   c_wstr(Constants::ATTRVAL_DEFAULT_TEXT_RULE));
-
-		m_defaultTextRule = new ElemTemplate(constructionContext,
-											 *this,
-											 attrs,
-											 lineNumber,
-											 columnNumber);
-
-		attrs.clear();
-		attrs.addAttribute(c_wstr(Constants::ATTRNAME_SELECT),
-	 					   c_wstr(Constants::ATTRTYPE_CDATA),
-						   c_wstr(Constants::ATTRVAL_THIS));
-
-		ElemValueOf* elemValueOf =
-			new ElemValueOf(constructionContext,
-							*this,
-							attrs,
-							lineNumber,
-							columnNumber);
-
-		m_defaultTextRule->appendChildElem(elemValueOf);
-
-		//--------------------------------
-    
-		attrs.clear();
-		attrs.addAttribute(c_wstr(Constants::ATTRNAME_MATCH),
-	 					   c_wstr(Constants::ATTRTYPE_CDATA),
-						   c_wstr(Constants::PSEUDONAME_ROOT));
-
-		m_defaultRootRule =
-			new ElemTemplate(constructionContext,
-							 *this,
-							 attrs,
-							 lineNumber,
-							 columnNumber);
-
-		attrs.clear();
-
-		childrenElement =
-			new ElemApplyTemplates(constructionContext,
-								   *this,
-								   attrs,
-								   lineNumber,
-								   columnNumber);
-
-		childrenElement->setDefaultTemplate(true);
-
-		m_defaultRootRule->appendChildElem(childrenElement);
-	}
-
-	assert(m_defaultRule != 0);
-	assert(m_defaultTextRule != 0);
-	assert(m_defaultRootRule != 0);
-}
-
-
-
-bool
-StylesheetRoot::isCDATASectionElementName(const XalanQName&		theQName) const
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	return find(
-			m_cdataSectionElems.begin(),
-			m_cdataSectionElems.end(),
-			theQName) != m_cdataSectionElems.end() ? true : false;
-}
-
-
-
-void
-StylesheetRoot::getNodeSetByKey(
-			XalanNode*						doc,
-			const XalanDOMString&			name,
-			const XalanDOMString&			ref,
-			const PrefixResolver&			resolver,
-			MutableNodeRefList&				nodelist,
-			StylesheetExecutionContext&		executionContext,
-			KeyTablesTableType& 			theKeysTable) const
-{
-	if(m_needToBuildKeysTable == true)
-	{
-		assert(0 != m_keyDeclarations.size());
-
-		const KeyTablesTableType::const_iterator	i =
-			theKeysTable.find(doc);
-
-		const XalanQNameByValue		theQName(name, &resolver);
-
-		if (i != theKeysTable.end())
-		{
-			const NodeRefListBase&	nl = (*i).second->getNodeSetByKey(theQName, ref);
-
-			nodelist.addNodesInDocOrder(nl, executionContext);
-		}
-		else
-		{
-			KeyTable* const kt =
-				new KeyTable(doc,
-							 doc,
-							 resolver,
-							 m_keyDeclarations,
-							 executionContext);
-			assert(doc == kt->getDocKey());
-
-			theKeysTable[doc] = kt;
-
-			const NodeRefListBase&	nl = kt->getNodeSetByKey(theQName, ref);
-
-			nodelist.addNodesInDocOrder(nl, executionContext);
-		}
-	}
-}
diff --git a/src/XSLT/StylesheetRoot.hpp b/src/XSLT/StylesheetRoot.hpp
deleted file mode 100644
index 2ee7d57..0000000
--- a/src/XSLT/StylesheetRoot.hpp
+++ /dev/null
@@ -1,509 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_STYLESHEETROOT_HEADER_GUARD)
-#define XALAN_STYLESHEETROOT_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include "Stylesheet.hpp"
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-class StylesheetConstructionContext;
-class XSLTResultTarget;
-
-
-
-/**
- * This acts as the stylesheet root of the stylesheet 
- * tree, and holds values that are shared by all 
- * stylesheets in the tree.
- */
-class XALAN_XSLT_EXPORT StylesheetRoot : public Stylesheet
-{
-public:
-
-	/**
-	 * Construct a Stylesheet from a Document.
-	 *
-	 * @param baseIdentifier document identifier
-	 * @param constructionContext context for construction of object
-	 */
-	StylesheetRoot(
-        const XalanDOMString&			baseIdentifier,
-		StylesheetConstructionContext&	constructionContext);    
-
-	virtual 
-	~StylesheetRoot();
-
-	/**
-	 * Called after construction is completed.
-	 */
-	virtual void
-	postConstruction(StylesheetConstructionContext&		constructionContext);
-
-	/**
-	 * Transform the source tree to the output in the given result tree target.
-	 *
-	 * @param inputSource  The input source tree
-	 * @param outputTarget The output source tree
-	 * @param constructionContext context for construction of object
-	 */
-	void
-	process(
-			XalanNode*						sourceTree,
-			XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext&		executionContext) const;
-
-	/**
-	 * Have the stylesheet create the appropriate FormatterListener,
-	 * based on the XSLTResultTarget provided.  setupFormatterListener
-	 * also calls setFormatterListener() on the execution context
-	 * instance.  setupFormatterListener() is done automatically by
-	 * process(), but this is provided as an escape, to allow for
-	 * changing the FormatterListener on-the-fly.
-	 *
-	 * @param outputTarget The output source tree
-	 * @param constructionContext context for construction of object
-	 * @return a pointer to the new FormatterListener instance.
-	 */
-	FormatterListener*
-	setupFormatterListener(
-			XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext&		executionContext) const;
-
-	/** 
-	 * Return the output method that was specified in the stylesheet. 
-	 * The returned value is one of FormatterLister::eFormat values.
-	 *
-	 * @return value of output method
-	 */
-	FormatterListener::eFormat
-	getOutputMethod() const
-	{
-		return m_outputMethod;
-	}
-
-	bool
-	isOutputMethodSet() const
-	{
-		return getOutputMethod() == FormatterListener::OUTPUT_METHOD_NONE ? false : true;
-	}
-
-	/**
-	 * Get the output version string that was specified in the
-	 * xsl:output element
-	 *
-	 * @return output version string
-	 */
-	XalanDOMString
-	getOutputVersion() const
-	{ 
-		return m_version;
-	}
-
-	/**
-	 * Determine if output indenting was specified in the
-	 * xsl:output element
-	 *
-	 * @return true to indent
-	 */
-	bool 
-	getOutputIndent() const
-	{
-		return m_indentResult;
-	}
-
-	/**
-	 * Get the output encoding string that was specified in the
-	 * xsl:output element
-	 *
-	 * @return encoding string
-	 */
-	XalanDOMString 
-	getOutputEncoding() const
-	{
-		return m_encoding;
-	}
-
-	/**
-	 * Get the media-type string that was specified in the 
-	 * xsl:output element
-	 *
-	 * @return media type string
-	 */
-	XalanDOMString 
-	getOutputMediaType() const
-	{
-		return m_mediatype;
-	}
-
-	/**
-	 * Get the doctype-system-id string that was specified in the 
-	 * xsl:output element
-	 *
-	 * @return document type string
-	 */
-	XalanDOMString 
-	getOutputDoctypeSystem() const
-	{
-		return m_doctypeSystem;
-	}
-
-	/**
-	 * Get the doctype-public-id string that was specified in the 
-	 * xsl:output element
-	 *
-	 * @return document type public id string
-	 */
-	XalanDOMString 
-	getOutputDoctypePublic() const
-	{
-		return m_doctypePublic;
-	}
-
-	/**
-	 * Determine whether to output XML declarations.
-	 *
-	 * @return true to output declarations
-	 */
-	bool
-	getOmitOutputXMLDecl() const
-	{
-		return m_omitxmlDecl;
-	}
-
-	/**
-	 * Get the standalone string that was specified in the 
-	 * xsl:output element.(either "yes" or "no")
-	 *
-	 * @return standalone string
-	 */
-	XalanDOMString
-	getOutputStandalone() const
-	{
-		return m_standalone;
-	}
-
-	/**
-	 * Get the template representing the default rule for text.
-	 *
-	 * @return pointer to template rule for text
-	 */
-	ElemTemplate* 
-	getDefaultTextRule() const
-	{
-		return m_defaultTextRule;
-	}
-
-	/**
-	 * Get the template representing the default rule.
-	 *
-	 * @return pointer to default template rule
-	 */
-	ElemTemplate* 
-	getDefaultRule() const
-	{
-		return m_defaultRule;
-	}
-
-	/**
-	 * Get the template representing the default root rule.
-	 *
-	 * @return pointer to default root template rule
-	 */
-	ElemTemplate* 
-	getDefaultRootRule() const
-	{
-		return m_defaultRootRule;
-	}
-
-	/**
-	 * Process the "xsl:output" element.
-	 *
-	 * @param name                name of element
-	 * @param atts                attribute list for element
-	 * @param constructionContext context for construction of object
-	 */
-	void 
-	processOutputSpec(
-			const XalanDOMChar*				name, 
-			const AttributeList&			atts,
-			StylesheetConstructionContext&	constructionContext);
-
-	/**
-	 * Create the default rule if needed.
-	 *
-	 * @param constructionContext context for construction of object
-	 */
-	void 
-	initDefaultRule(StylesheetConstructionContext&	constructionContext);
-
-	/**
-	 * The version tells the version of XML to be used for outputting the result tree,
-	 * as specified in xsl:output.
-	 */
-	XalanDOMString	m_version;
-
-	/**
-	 * indent-result is by default no, which means an XSL processor must not
-	 * change the whitespace on output.
-	 */
-	bool			m_indentResult;
-
-	/**
-	 * The encoding attribute specifies the preferred encoding to use 
-	 * for outputting the result tree. 
-	 */
-	XalanDOMString	m_encoding;
-
-	/**
-	 * The media-type attribute is applicable for the xml output method. 
-	 * The default value for the media-type attribute is text/xml.
-	 */
-	XalanDOMString	m_mediatype;
-
-	/**
-	 * If the doctype-system-id attribute is specified, the xml output method should 
-	 * output a document type declaration immediately before the first element. 
-	 * The name following <!DOCTYPE should be the name of the first element. 
-	 */
-	XalanDOMString	m_doctypeSystem;
-
-	/**
-	 * If doctype-public-id attribute is also specified, then the xml output 
-	 * method should output PUBLIC followed by the public identifier and then 
-	 * the system identifier; otherwise, it should output SYSTEM followed by 
-	 * the system identifier. The internal subset should be empty. The 
-	 * doctype-public-id attribute should be ignored unless the doctype-system-id 
-	 * attribute is specified.
-	 */
-	XalanDOMString	m_doctypePublic;
-
-	/**
-	 * Tells whether or not to output an XML declaration.
-	 */
-	bool			m_omitxmlDecl;
-
-	/**
-	 * Tells what the xmldecl should specify for the standalone value.
-     */
-	XalanDOMString	m_standalone;
-
-	/**
-	 * Retrieve the stack of imported stylesheets.
-	 * 
-	 * @return stack of URIs for stylesheets
-	 */
-	URLStackType&
-	getImportStack()
-	{
-		return m_importStack;
-	}
-
-	/**
-	 * Retrieve the stack of imported stylesheets.
-	 * 
-	 * @return const stack of URIs for stylesheets
-	 */
-	const URLStackType&
-	getImportStack() const
-	{
-		return m_importStack;
-	}
-
-	/**
-	 * Change the value of the flag for indenting results.
-	 * 
-	 * @param bIndent true to indent results
-	 */
-	void
-	setIndentResult(bool bIndent)
-	{
-		m_indentResult = bIndent;
-	}
-
-	/**
-	 * Change the value of the output method, one of the
-	 * FormatterListener::eFormat values.
-	 * 
-	 * @param meth new method number
-	 */
-	void
-	setOutputMethod(FormatterListener::eFormat	meth)
-	{
-		m_outputMethod = meth;
-	}
-
-	bool
-	hasCDATASectionElements() const
-	{
-		assert(m_hasCdataSectionElems == false && m_cdataSectionElems.size() == 0 ||
-			   m_hasCdataSectionElems == true && m_cdataSectionElems.size() != 0);
-
-		return m_hasCdataSectionElems;
-	}
-
-	/**
-	 * Determine if a QName is in the list of CDATA section
-	 * element QNames.
-	 * 
-	 * @param theQName The QName of the element to check.
-	 * @return true or false
-	 */
-	bool
-	isCDATASectionElementName(const XalanQName&		theQName) const;
-
-	/**
-	 * Given a valid element key, return the corresponding node list.
-	 *
-	 * @param doc			   source document
-	 * @param name			   name of the key, which must match the 'name'
-	 *						   attribute on xsl:key
-	 * @param ref			   value that must match the value found by the
-	 *						   'match' attribute on xsl:key
-	 * @param resolver		   resolver for namespace resolution
-	 * @param nodelist         A node list to contain the nodes found
-	 * @param executionContext current execution context
-	 */
-	void
-	getNodeSetByKey(
-			XalanNode*						doc,
-			const XalanDOMString&			name,
-			const XalanDOMString&			ref,
-			const PrefixResolver&			resolver,
-			MutableNodeRefList&				nodelist,
-			StylesheetExecutionContext&		executionContext,
-			KeyTablesTableType&				theKeysTable) const;
-
-private:
-
-	/**
-	 * The URL that belongs to the result namespace.
-	 * @serial
-	 */
-	XalanDOMString				m_resultNameSpaceURL;
-
-	/**
-	 * The output method as specified in xsl:output.
-	 */
-	FormatterListener::eFormat	m_outputMethod;
-
-	/**
-	 * List of qnames that specifies elements that should be formatted 
-	 * as CDATA.
-	 */
-	QNameVectorType				m_cdataSectionElems;
-
-	bool						m_hasCdataSectionElems;
-
-	/**
-	 * A stack of who's importing whom is needed in order to detect 
-	 * a recursive include or import, which is an error.
-	 */
-	URLStackType				m_importStack;
-
-
-	/**
-	 * The default template to use for text nodes if we don't find 
-	 * anything else.  This is initialized in initDefaultRule().
-	 */
-	ElemTemplate*				m_defaultTextRule;
-
-	/**
-	 * The default template to use if we don't find anything
-	 * else.  This is initialized in initDefaultRule().
-	 */
-	ElemTemplate*				m_defaultRule;
-
-	/**
-	 * The default template to use for the root if we don't find 
-	 * anything else.  This is initialized in initDefaultRule().
-	 */
-	ElemTemplate*				m_defaultRootRule;
-
-	/**
-	 * This is set to true if an xsl:key directive is found.
-	 */
-	bool						m_needToBuildKeysTable;
-
-    // Not implemented...
-    StylesheetRoot(const StylesheetRoot&);
-
-    StylesheetRoot&
-    operator=(const StylesheetRoot&);
-
-    bool
-    operator==(const StylesheetRoot&) const;
-};
-
-
-
-#endif	// XALAN_STYLESHEETROOT_HEADER_GUARD
diff --git a/src/XSLT/TopLevelArg.cpp b/src/XSLT/TopLevelArg.cpp
deleted file mode 100644
index 7d03606..0000000
--- a/src/XSLT/TopLevelArg.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#include "TopLevelArg.hpp"
-
-
-
-TopLevelArg::TopLevelArg(
-		const XalanQName&		name,
-		const XalanDOMString&	expr) :
-	m_qname(name),
-	m_expression(expr),
-	m_xobject(0)
-{
-}
-
-
-
-TopLevelArg::TopLevelArg(
-		const XalanQName&	name,
-		const XObjectPtr	variable) :
-	m_qname(name),
-	m_expression(),
-	m_xobject(variable)
-{
-}
-
-
-
-TopLevelArg::TopLevelArg(const TopLevelArg&		theSource) :
-	m_qname(theSource.m_qname),
-	m_expression(theSource.m_expression),
-	m_xobject(theSource.m_xobject)
-{
-}
-
-
-
-TopLevelArg::~TopLevelArg()
-{
-}
diff --git a/src/XSLT/TopLevelArg.hpp b/src/XSLT/TopLevelArg.hpp
deleted file mode 100644
index 3e2d23d..0000000
--- a/src/XSLT/TopLevelArg.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_TOPLEVELARG_HEADER_GUARD)
-#define XALAN_TOPLEVELARG_HEADER_GUARD
-
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-#include <XPath/XObject.hpp>
-
-
-
-class XObjectPtr;
-
-
-
-/**
- * This class holds an instance of an argument on the stack.
- */
-class XALAN_XSLT_EXPORT TopLevelArg
-{
-public:
-
-	/**
-	 * Construct an argument object from a string expression
-	 * 
-	 * @param name	name of argument
-	 * @param expr	expression argument represents
-	 */
-	TopLevelArg(
-		const XalanQName&		name,
-		const XalanDOMString&	expr);
-
-	/**
-	 * Construct an argument object from an XObject instance.
-	 * 
-	 * @param name	name of argument
-	 * @param variable	the XObject instance.
-	 */
-	TopLevelArg(
-		const XalanQName&	name = XalanQNameByValue(),
-		const XObjectPtr	variable = XObjectPtr());
-
-	/**
-	 * Copy constructor
-	 * 
-	 * @param theSource	the TopLevelArg to copy.
-	 */
-	TopLevelArg(const TopLevelArg&	theSource);
-
-	/**
-	 * Destructor
-	 */
-	~TopLevelArg();
-
-	/**
-	 * Retrieve object name
-	 * 
-	 * @return qualified name of object
-	 */
-	const XalanQName&
-	getName() const
-	{
-		return m_qname;
-	}
-
-	/**
-	 * Retrieve object's expression
-	 * 
-	 * @return string representation of expression
-	 */
-	const XalanDOMString&
-	getExpression() const
-	{
-		return m_expression;
-	};
-
-	/**
-	 * Retrieve object's XObject variable.
-	 * 
-	 * @return pointer to the XObject instance
-	 */
-	const XObjectPtr
-	getXObject() const
-	{
-		return m_xobject;
-	}
-
-	/**
-	 * Assignment operator
-	 */
-	TopLevelArg&
-	operator=(const TopLevelArg&	theRHS)
-	{
-		if (&theRHS != this)
-		{
-			m_qname = theRHS.m_qname;
-
-			m_expression = theRHS.m_expression;
-		}
-
-		return *this;
-	}
-
-private:
-
-	XalanQNameByValue	m_qname;
-
-	XalanDOMString		m_expression;
-
-	const XObjectPtr	m_xobject;
-};
-
-
-
-#endif	// XALAN_TOPLEVELARG_HEADER_GUARD
diff --git a/src/XSLT/TraceListener.cpp b/src/XSLT/TraceListener.cpp
deleted file mode 100644
index b1371ae..0000000
--- a/src/XSLT/TraceListener.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "TraceListener.hpp"
-
-
-
-TraceListener::TraceListener()
-{
-}
-
-
-
-TraceListener::~TraceListener()
-{
-}
diff --git a/src/XSLT/TraceListener.hpp b/src/XSLT/TraceListener.hpp
deleted file mode 100644
index 92ab13f..0000000
--- a/src/XSLT/TraceListener.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_TraceListener_HEADER_GUARD)
-#define XALAN_TraceListener_HEADER_GUARD 
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-class TracerEvent;
-class SelectionEvent;
-class GenerateEvent;
-
-class XALAN_XSLT_EXPORT TraceListener
-{
-public:
-
-	TraceListener();
-
-	virtual
-	~TraceListener();
-
-	/**
-	 * Method that is called when a trace event occurs. The method is blocking.
-	 * It must return before processing continues.
-	 *
-	 * @param ev trace event
-	 */
-	virtual void
-	trace(const TracerEvent&	ev) = 0;
-
-	/**
-	 * Method that is called just after the formatter listener is called.
-	 *
-	 * @param ev generate event
-	 */
-	virtual void
-	selected(const SelectionEvent&	ev) = 0;
-
-	/**
-	 * Method that is called just after the formatter listener is called.
-	 *
-	 * @param ev generate event
-	 */
-	virtual void
-	generated(const GenerateEvent&	ev) = 0;
-
-	struct TraceListenerTraceFunctor
-	{
-		TraceListenerTraceFunctor(const TracerEvent&	theEvent) :
-			m_event(theEvent)
-		{
-		}
-
-		void
-		operator()(TraceListener*	theListener) const
-		{
-			theListener->trace(m_event);
-		}
-
-		const TracerEvent&	m_event;
-	};
-
-	struct TraceListenerSelectFunctor
-	{
-		TraceListenerSelectFunctor(const SelectionEvent&		theEvent) :
-			m_event(theEvent)
-		{
-		}
-
-		void
-		operator()(TraceListener*	theListener) const
-		{
-			theListener->selected(m_event);
-		}
-
-		const SelectionEvent&	m_event;
-	};
-
-	struct TraceListenerGenerateFunctor
-	{
-		TraceListenerGenerateFunctor(const GenerateEvent&	theEvent) :
-			m_event(theEvent)
-		{
-		}
-
-		void
-		operator()(TraceListener*	theListener) const
-		{
-			theListener->generated(m_event);
-		}
-
-		const GenerateEvent&	m_event;
-	};
-
-};
-
-
-
-#endif //XALAN_TraceListener_HEADER_GUARD 
diff --git a/src/XSLT/TraceListenerDefault.cpp b/src/XSLT/TraceListenerDefault.cpp
deleted file mode 100644
index 5621130..0000000
--- a/src/XSLT/TraceListenerDefault.cpp
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "TraceListenerDefault.hpp"
-
-
-
-#include <PlatformSupport/PrintWriter.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-#include <XPath/XPath.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemTextLiteral.hpp"
-#include "ElemTemplate.hpp"
-#include "GenerateEvent.hpp"
-#include "SelectionEvent.hpp"
-#include "StylesheetRoot.hpp"
-#include "TracerEvent.hpp"
-
-
-
-TraceListenerDefault::TraceListenerDefault(
-			PrintWriter&	thePrintWriter,
-			bool			traceTemplates,
-			bool			traceElements,
-			bool			traceGeneration,
-			bool			traceSelection) :
-	m_printWriter(thePrintWriter),
-	m_traceTemplates(traceTemplates),
-	m_traceElements(traceElements),
-	m_traceGeneration(traceGeneration),
-	m_traceSelection(traceSelection)
-{
-}
-
-
-
-TraceListenerDefault::~TraceListenerDefault()
-{
-}
-
-
-
-void
-TraceListenerDefault::trace(const TracerEvent&	ev)
-{
-	switch(ev.m_styleNode.getXSLToken())
-	{
-	case Constants::ELEMNAME_TEXTLITERALRESULT:
-		if(m_traceElements == true)
-		{
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Line #"));
-			m_printWriter.print(ev.m_styleNode.getLineNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(", "));
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Column #"));
-			m_printWriter.print(ev.m_styleNode.getColumnNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(": "));
-			m_printWriter.print(ev.m_styleNode.getElementName());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("    "));
-
-			const ElemTextLiteral&	etl =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const ElemTextLiteral&)ev.m_styleNode;
-#else
-				static_cast<const ElemTextLiteral&>(ev.m_styleNode);
-#endif
-
-			m_printWriter.println(etl.getText());
-		}
-		break;
-
-	case Constants::ELEMNAME_TEMPLATE:
-		if(m_traceTemplates == true || m_traceElements == true)
-		{
-			const ElemTemplate&		et =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const ElemTemplate&)ev.m_styleNode;
-#else
-				static_cast<const ElemTemplate&>(ev.m_styleNode);
-#endif
-
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Line #"));
-			m_printWriter.print(ev.m_styleNode.getLineNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(", "));
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Column #"));
-			m_printWriter.print(ev.m_styleNode.getColumnNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(": "));
-			m_printWriter.print(ev.m_styleNode.getElementName());
-
-			const XPath* const	theMatchPattern =
-				et.getMatchPattern();
-
-			if(0 != theMatchPattern)
-			{
-				m_printWriter.print(XALAN_STATIC_UCODE_STRING(" match=\""));
-				m_printWriter.print(theMatchPattern->getExpression().getCurrentPattern());
-				m_printWriter.print(XALAN_STATIC_UCODE_STRING("\" "));
-			}
-
-			const XalanQName&	theName = et.getName();
-
-			if(theName.isEmpty() == false)
-			{
-				m_printWriter.print(XALAN_STATIC_UCODE_STRING("name=\""));
-
-				const XalanDOMString&	theNamespace =
-					theName.getNamespace();
-
-				if (isEmpty(theNamespace) == false)
-				{
-					m_printWriter.print(theNamespace);
-					m_printWriter.print(XalanUnicode::charColon);
-				}
-
-				m_printWriter.print(theName.getLocalPart());
-				m_printWriter.print(XALAN_STATIC_UCODE_STRING("\" "));
-			}
-
-			m_printWriter.println();
-		}
-		break;
-
-	default:
-		if(m_traceElements == true)
-		{
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Line #"));
-			m_printWriter.print(ev.m_styleNode.getLineNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(", Column #"));
-			m_printWriter.print(ev.m_styleNode.getColumnNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(": "));
-			m_printWriter.println(ev.m_styleNode.getElementName());
-		}
-		break;
-	}
-}
-
-
-
-void
-TraceListenerDefault::selected(const SelectionEvent&	ev)
-{
-    if(m_traceSelection == true)
-    {
-		const ElemTemplateElement&	ete = ev.m_styleNode;
-
-		if(ev.m_styleNode.getLineNumber() == 0)
-		{
-			// You may not have line numbers if the selection is occuring from a
-			// default template.
-
-			ElemTemplateElement* const	parent = ete.getParentNodeElem();
-
-			if(parent == ete.getStylesheet().getStylesheetRoot().getDefaultRootRule())
-			{
-				m_printWriter.print("(default root rule) ");
-			}
-			else if(parent == ete.getStylesheet().getStylesheetRoot().getDefaultTextRule())
-			{
-				m_printWriter.print("(default text rule) ");
-			}
-			else if(parent == ete.getStylesheet().getStylesheetRoot().getDefaultRule())
-			{
-				m_printWriter.print("(default rule) ");
-			}
-		}
-		else
-		{
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Line #"));
-			m_printWriter.print(ev.m_styleNode.getLineNumber());
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(", "));
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("Column #"));
-			m_printWriter.print(ev.m_styleNode.getColumnNumber());
-			m_printWriter.print(", ");
-		}
-
-		m_printWriter.print(ete.getElementName());
-		m_printWriter.print(XALAN_STATIC_UCODE_STRING(", "));
-		m_printWriter.print(ev.m_attributeName);
-		m_printWriter.print(XALAN_STATIC_UCODE_STRING("=\""));
-		m_printWriter.print(ev.m_xpath.getExpression().getCurrentPattern());
-		m_printWriter.print(XALAN_STATIC_UCODE_STRING("\": "));
-
-		if (ev.m_selection.null() == true)
-		{
-			assert(ev.m_sourceNode != 0);
-			m_printWriter.println();
-
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("     "));
-			m_printWriter.println(DOMServices::getNodeData(*ev.m_sourceNode));
-		}
-		else if(ev.m_selection->getType() == XObject::eTypeNodeSet)
-		{
-			m_printWriter.println();
-
-			const NodeRefListBase&	nl = ev.m_selection->nodeset();
-
-			const NodeRefListBase::size_type	n = nl.getLength();
-
-			if(n == 0)
-			{
-				m_printWriter.println(XALAN_STATIC_UCODE_STRING("     [empty node list]"));
-			}
-			else
-			{
-				for(NodeRefListBase::size_type i = 0; i < n; i++)
-				{
-					assert(nl.item(i) != 0);
-
-					m_printWriter.print(XALAN_STATIC_UCODE_STRING("     "));
-					m_printWriter.println(DOMServices::getNodeData(*nl.item(i)));
-				}
-			}
-		}
-		else
-		{
-			m_printWriter.println(ev.m_selection->str());
-		}
-    }
-}
-
-
-
-void
-TraceListenerDefault::generated(const GenerateEvent&	ev)
-{
-	if(m_traceGeneration == true)
-	{
-		switch(ev.m_eventType)
-		{
-		case GenerateEvent::EVENTTYPE_STARTDOCUMENT:
-			m_printWriter.println(XALAN_STATIC_UCODE_STRING("STARTDOCUMENT"));
-			break;
-
-		case GenerateEvent::EVENTTYPE_ENDDOCUMENT:
-			m_printWriter.println();
-			m_printWriter.println(XALAN_STATIC_UCODE_STRING("ENDDOCUMENT"));
-			break;
-
-		case GenerateEvent::EVENTTYPE_STARTELEMENT:
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("STARTELEMENT: "));
-			m_printWriter.println(ev.m_name);
-			break;
-
-		case GenerateEvent::EVENTTYPE_ENDELEMENT:
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("ENDELEMENT: "));
-			m_printWriter.println(ev.m_name);
-			break;
-
-		case GenerateEvent::EVENTTYPE_CHARACTERS:
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("CHARACTERS: "));
-			m_printWriter.println(ev.m_characters);
-			break;
-
-		case GenerateEvent::EVENTTYPE_CDATA:
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("CDATA: "));
-			m_printWriter.println(ev.m_characters);
-			break;
-
-		case GenerateEvent::EVENTTYPE_COMMENT:
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("COMMENT: "));
-			m_printWriter.println(ev.m_data);
-			break;
-
-		case GenerateEvent::EVENTTYPE_PI:
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING("PI: "));
-			m_printWriter.print(ev.m_name);
-			m_printWriter.print(XALAN_STATIC_UCODE_STRING(", "));
-			m_printWriter.println(ev.m_data);
-			break;
-
-		case GenerateEvent::EVENTTYPE_ENTITYREF:
-			m_printWriter.println(XALAN_STATIC_UCODE_STRING("ENTITYREF: "));
-			m_printWriter.println(ev.m_name);
-			break;
-
-		case GenerateEvent::EVENTTYPE_IGNORABLEWHITESPACE:
-			m_printWriter.println(XALAN_STATIC_UCODE_STRING("IGNORABLEWHITESPACE"));
-			break;
-		}
-	}
-}
diff --git a/src/XSLT/TraceListenerDefault.hpp b/src/XSLT/TraceListenerDefault.hpp
deleted file mode 100644
index e78ef8d..0000000
--- a/src/XSLT/TraceListenerDefault.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_TraceListenerDefault_HEADER_GUARD)
-#define XALAN_TraceListenerDefault_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XSLT/TraceListener.hpp>
-
-
-
-class DOMSupport;
-class PrintWriter;
-
-
-
-class XALAN_XSLT_EXPORT TraceListenerDefault : public TraceListener
-{
-public:
-
-	TraceListenerDefault(
-			PrintWriter&	thePrintWriter,
-			bool			traceTemplates = false,
-			bool			traceElements = false,
-			bool			traceGeneration = false,
-			bool			traceSelection = false);
-
-	virtual
-	~TraceListenerDefault();
-
-	virtual void
-	trace(const TracerEvent&	ev);
-
-	virtual void
-	selected(const SelectionEvent&	ev);
-
-	virtual void
-	generated(const GenerateEvent&	ev);
-
-	bool
-	getTraceTemplates() const
-	{
-		return m_traceTemplates;
-	}
-
-	void
-	setTraceTemplates(bool	b)
-	{
-		m_traceTemplates = b;
-	}
-
-	bool
-	getTraceElement() const
-	{
-		return m_traceElements;
-	}
-
-	void
-	setTraceElements(bool	b)
-	{
-		m_traceElements = b;
-	}
-
-	bool
-	getTraceGeneration() const
-	{
-		return m_traceGeneration;
-	}
-
-	void
-	setTraceGeneration(bool		b)
-	{
-		m_traceGeneration = b;
-	}
-
-	bool
-	getTraceSelection() const
-	{
-		return m_traceSelection;
-	}
-
-	void
-	setTraceSelection(bool	b)
-	{
-		m_traceSelection = b;
-	}
-
-private:
-
-	PrintWriter&	m_printWriter;
-
-	bool			m_traceTemplates;
-
-	bool			m_traceElements;
-
-	bool			m_traceGeneration;
-
-	bool			m_traceSelection;
-};
-
-
-
-#endif //XALAN_TraceListenerDefault_HEADER_GUARD 
diff --git a/src/XSLT/TracerEvent.cpp b/src/XSLT/TracerEvent.cpp
deleted file mode 100644
index aecead4..0000000
--- a/src/XSLT/TracerEvent.cpp
+++ /dev/null
@@ -1,170 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "TracerEvent.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-TracerEvent::TracerEvent(
-			const StylesheetExecutionContext&	executionContext,
-			const ElemTemplateElement&			styleNode) :
-	m_executionContext(executionContext),
-	m_styleNode(styleNode)
-{
-}
-
-
-
-TracerEvent::~TracerEvent()
-{
-}
-
-
-
-XalanDOMString
-TracerEvent::printNode(const XalanNode&		n)
-{
-	XalanDOMString	r;
-
-	PointerToDOMString(&n, r);
-
-	append(r, XALAN_STATIC_UCODE_STRING(" "));
-
-	if (n.getNodeType() == XalanNode::ELEMENT_NODE)
-	{
-		r += XALAN_STATIC_UCODE_STRING("<") + n.getNodeName();
-
-		const XalanNode*	c = n.getFirstChild();
-
-		while (c != 0)
-		{
-			if (c->getNodeType() == XalanNode::ATTRIBUTE_NODE)
-			{
-				r += printNode(*c) + XALAN_STATIC_UCODE_STRING(" ");
-			}
-
-			c = c->getNextSibling();
-		}
-
-		r += XALAN_STATIC_UCODE_STRING(">");
-	}
-	else
-	{
-		if (n.getNodeType() == XalanNode::ATTRIBUTE_NODE)
-		{
-			r += n.getNodeName() + XALAN_STATIC_UCODE_STRING("=") + n.getNodeValue();
-		}
-		else
-		{
-			r += n.getNodeName();
-		}
-	}
-	
-	return r;
-}
-
-  /**
-   Returns a string representation of the node list.
-   The string will contain the list of nodes inside square braces.
-   Elements will contain the element name
-   and any attributes enclosed in angle brackets.
-   Attributes will be of form, "name=value."
-
-   @param l any DOM node list. Must not be null.
-
-   @return a string representation of the given node list.
-   */
-XalanDOMString
-TracerEvent::printNodeList(const XalanNodeList&	l)
-{
-	XalanDOMString	r;
-
-	PointerToDOMString(&l, r);
-
-	append(r, XALAN_STATIC_UCODE_STRING("["));
-
-	unsigned int	len = l.getLength();
-	unsigned int	i = 0;
-
-	while (i < len)
-	{
-		XalanNode* const	n = l.item(i);
-
-		if (n != 0)
-		{
-			r += printNode(*n);
-
-			if (i != len - 1)
-			{
-				r += XALAN_STATIC_UCODE_STRING(", ");
-			}
-		}
-
-		++i;
-	}
-
-	return r + XALAN_STATIC_UCODE_STRING("]");
-}
diff --git a/src/XSLT/TracerEvent.hpp b/src/XSLT/TracerEvent.hpp
deleted file mode 100644
index 3351788..0000000
--- a/src/XSLT/TracerEvent.hpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_TracerEvent_HEADER_GUARD)
-#define XALAN_TracerEvent_HEADER_GUARD 
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// $$$ ToDo: This is necessary while XalanDOMString is a typedef.
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanNode;
-class XalanNodeList;
-class XalanQName;
-class StylesheetExecutionContext;
-class ElemTemplateElement;
-
-
-
-/**
- * This is the parent class of events generated for tracing the
- * progress of the XSL processor.
- */
-class XALAN_XSLT_EXPORT TracerEvent
-{
-public:
-
-	/**
-	 * Construct a tracer event.
-	 * 
-	 * @param executionContext    XSLT processor instance
-	 * @param sourceNode current  context node
-	 * @param styleNode           node in the style tree where the event occurs
-	 */
-	TracerEvent(
-			const StylesheetExecutionContext&	executionContext,
-			const ElemTemplateElement&			styleNode);
-
-	virtual
-	~TracerEvent();
-
-	/**
-	 * Returns a string representation of the node. The string returned for
-	 * elements will contain the element name and any attributes enclosed in
-	 * angle brackets. The string returned for attributes will be of form,
-	 * "name=value."
-	 *
-	 * @param n any DOM node
-	 * @return string representation of the given node
-	 */
-	static XalanDOMString
-	printNode(const XalanNode&	n);
-
-	/**
-	 * Returns a string representation of the node list. The string will contain
-	 * the list of nodes inside square braces. Elements will contain the element
-	 * name and any attributes enclosed in angle brackets. Attributes will be of
-	 * form, "name=value."
-	 *
-	 * @param l any DOM node list
-	 * @return string representation of the given node list
-	 */
-	static XalanDOMString
-	printNodeList(const XalanNodeList&	l);
-
-	/**
-	 * The XSLT processor instance.
-	 */
-	const StylesheetExecutionContext&		m_executionContext;
- 
-	/**
-	 * The node in the style tree where the event occurs.
-	 */
-	const ElemTemplateElement&				m_styleNode;
-  
-private:
-
-	// not implemented
-	TracerEvent& operator=(const TracerEvent &);
-
-};
-
-
-#endif	//XALAN_TracerEvent_HEADER_GUARD
diff --git a/src/XSLT/VariablesStack.cpp b/src/XSLT/VariablesStack.cpp
deleted file mode 100644
index cba9361..0000000
--- a/src/XSLT/VariablesStack.cpp
+++ /dev/null
@@ -1,777 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-
-// Class header file.
-#include "VariablesStack.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include "ElemVariable.hpp"
-#include "StylesheetExecutionContext.hpp"
-
-
-
-VariablesStack::VariablesStack() :
-	m_stack(),
-	m_globalStackFrameIndex(-1),
-	m_globalStackFrameMarked(false),
-	m_currentStackFrameIndex(0),
-	m_guardStack()
-{
-	m_stack.reserve(eDefaultStackSize);
-}
-
-
-
-VariablesStack::~VariablesStack()
-{
-}
-
-
-
-void
-VariablesStack::reset()
-{
-	while(m_stack.size() > 0)
-	{
-		pop();
-	}
-
-	m_stack.clear();
-	m_guardStack.clear();
-
-	m_globalStackFrameMarked = false;
-	m_globalStackFrameIndex = -1;
-}
-
-
-
-bool
-VariablesStack::elementFrameAlreadyPushed(const ElemTemplateElement*	elem) const
-{
-	const VariableStackStackType::size_type		nElems = m_stack.size();
-	assert(nElems > 0);
-
-	// There is guaranteed to be a context marker at
-	// the bottom of the stack, so i should stop at
-	// 1.
-	for(VariableStackStackType::size_type i = nElems - 1; i > 0; --i)
-	{
-		const StackEntry&	theEntry = m_stack[i];
-
-		if(theEntry.getType() == StackEntry::eElementFrameMarker)
-		{
-			if(theEntry.getElement() == elem)
-			{
-				return true;
-			}
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-VariablesStack::pushContextMarker()
-{
-	push(StackEntry());
-}
-
-
-
-void
-VariablesStack::popContextMarker()
-{
-	const VariableStackStackType::size_type		nElems = m_stack.size();
-
-	for(VariableStackStackType::size_type i = nElems; i > 0 && m_stack.empty() == false; --i)
-	{
-		const StackEntry&			theEntry = m_stack[i - 1];
-		assert(theEntry == back());
-
-		const StackEntry::eType		type = theEntry.getType();
-		assert(type < StackEntry::eNextValue && type >= 0);
-
-		pop();
-
-		if (type == StackEntry::eContextMarker)
-		{
-			break;
-		}
-	}
-}
-
-
-
-class CommitPushElementFrame
-{
-public:
-
-	CommitPushElementFrame(
-			VariablesStack&								theVariableStack,
-			const ElemTemplateElement*					targetTemplate) :
-		m_variableStack(&theVariableStack),
-		m_targetTemplate(targetTemplate)
-	{
-		theVariableStack.pushElementFrame(targetTemplate);
-	}
-
-	~CommitPushElementFrame()
-	{
-		if (m_variableStack != 0)
-		{
-			m_variableStack->popElementFrame(m_targetTemplate);
-		}
-	}
-
-	void
-	commit()
-	{
-		m_variableStack = 0;
-	}
-
-private:
-
-	VariablesStack*						m_variableStack;
-
-	const ElemTemplateElement* const	m_targetTemplate;
-};
-
-
-
-void
-VariablesStack::push(const StackEntry&	theEntry)
-{
-	assert(theEntry.getType() < StackEntry::eNextValue && theEntry.getType() >= 0);
-
-	if(m_currentStackFrameIndex == m_stack.size())
-	{
-		++m_currentStackFrameIndex;
-	}
-
-	m_stack.push_back(theEntry);
-
-	// Increment the global stack frame index as long as we're pushing variables, and
-	// it already hasn't been marked.  This is a temporary work-around for problems
-	// with evaluating top-level variables as they're pushed, rather than as they're
-	// used.
-	if (m_globalStackFrameMarked == false && theEntry.getType() == StackEntry::eVariable)
-	{
-		m_globalStackFrameIndex = m_currentStackFrameIndex;
-	}
-}
-
-
-
-void
-VariablesStack::pop()
-{
-	assert(m_stack.empty() == false);
-
-	if(m_currentStackFrameIndex == m_stack.size())
-	{
-		--m_currentStackFrameIndex;
-	}
-
-	m_stack.pop_back();
-}
-
-
-
-const void
-VariablesStack::PushParamFunctor::operator()(const VariablesStack::ParamsVectorType::value_type&	theEntry)
-{
-	assert(theEntry.m_qname != 0);
-
-	if (theEntry.m_value.null() == false)
-	{
-		m_variablesStack.push(VariablesStack::StackEntry(theEntry.m_qname, theEntry.m_value, true));
-	}
-	else
-	{
-		assert(theEntry.m_variable != 0);
-
-		m_variablesStack.push(VariablesStack::StackEntry(theEntry.m_qname, theEntry.m_variable, true));
-	}
-}
-
-
-
-void
-VariablesStack::pushParams(
-			const ParamsVectorType&		theParams,
-			const ElemTemplateElement*	targetTemplate)
-{
-	// This object will push an element marker, and pop it
-	// if we don't call it's commit() member function.  So
-	// if an exception is thrown while transferring the
-	// parameters, the element marker will be popped.
-	// This keeps the stack in a consistent state.
-	// It will also delete things left in the temp stack
-	// as well.
-	CommitPushElementFrame		thePusher(*this,
-										  targetTemplate);
-
-#if !defined (XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(theParams.begin(), theParams.end(), PushParamFunctor(*this));
-
-	thePusher.commit();
-}
-
-
-
-void
-VariablesStack::pushVariable(
-			const XalanQName&			name,
-			const ElemVariable*			var,
-			const ElemTemplateElement*	e)
-{
-	if(elementFrameAlreadyPushed(e) == false)
-	{
-		pushElementFrame(e);
-	}
-
-	push(StackEntry(&name, var));
-}
-
-
-
-void
-VariablesStack::pushVariable(
-			const XalanQName&			name,
-			const XObjectPtr&			val,
-			const ElemTemplateElement*	e)
-{
-	if(elementFrameAlreadyPushed(e) == false)
-	{
-		throw InvalidStackContextException();
-	}
-
-	push(StackEntry(&name, val));
-}
-
-
-
-void
-VariablesStack::start()
-{
-}
-
-
-
-void
-VariablesStack::resetParams()
-{
-	const unsigned int	nElems = getCurrentStackFrameIndex();
-
-	// There is guaranteed to be a context marker at
-	// the bottom of the stack, so i should stop at
-	// 1.
-	for(unsigned int i = nElems - 1; i > 0; --i)
-	{
-		StackEntry&		theEntry = m_stack[i];
-
-		if(theEntry.getType() == StackEntry::eContextMarker)
-		{
-			break;
-		}
-		else
-		{
-			theEntry.deactivate();
-		}
-	}
-}
-
-
-
-void
-VariablesStack::markGlobalStackFrame()
-{
-	m_globalStackFrameIndex = m_stack.size();
-
-	m_globalStackFrameMarked = true;
-
-	pushContextMarker();
-}
-
-
-
-void
-VariablesStack::unmarkGlobalStackFrame()
-{
-	popContextMarker();
-
-	m_globalStackFrameIndex = -1;
-
-	m_globalStackFrameMarked = false;
-}
-
-
-
-const XObjectPtr
-VariablesStack::findXObject(
-			const XalanQName&				name,
-			StylesheetExecutionContext&		executionContext,
-			bool							fIsParam,
-			bool							fSearchGlobalSpace,
-			bool&							fNameFound)
-{
-	typedef VariableStackStackType::size_type	size_type;
-
-	// findEntry() returns an index into the stack.  We should
-	// _never_ take the address of anything in the stack, since
-	// the address could change at unexpected times.
-	size_type	theEntryIndex =
-		findEntry(name, fIsParam, fSearchGlobalSpace);
-
-	if (theEntryIndex == m_stack.size())
-	{
-		fNameFound = false;
-
-		return XObjectPtr();
-	}
-	else
-	{
-		assert(theEntryIndex < m_stack.size());
-
-		fNameFound = true;
-
-		assert(m_stack[theEntryIndex].getType() == StackEntry::eVariable ||
-			   m_stack[theEntryIndex].getType() == StackEntry::eParam ||
-			   m_stack[theEntryIndex].getType() == StackEntry::eActiveParam);
-
-		const XObjectPtr&	theValue = m_stack[theEntryIndex].getValue();
-
-		if (theValue.null() == false)
-		{
-			return theValue;
-		}
-		else
-		{
-			const ElemVariable* const	var = m_stack[theEntryIndex].getVariable();
-
-			XObjectPtr					theNewValue;
-
-			if (var != 0)
-			{
-				XalanNode* const	doc = executionContext.getRootDocument();
-				assert(doc != 0);
-
-#if !defined (XALAN_NO_NAMESPACES)
-				using std::find;
-#endif
-
-				// See if the ElemVariable instance is already being evaluated...
-				if (find(m_guardStack.begin(), m_guardStack.end(), var) != m_guardStack.end())
-				{
-					executionContext.error(
-						"A circular variable definition was detected",
-						doc,
-						var->getLocator());
-				}
-
-				m_guardStack.push_back(var);
-
-				// We need to set up a stack frame for the variable's execution...
-				typedef StylesheetExecutionContext::PushAndPopContextMarker	PushAndPopContextMarker;
-
-				const PushAndPopContextMarker	theContextMarkerPushPop(executionContext);
-
-				theNewValue = var->getValue(executionContext, doc);
-				assert(theNewValue.null() == false);
-
-				assert(m_guardStack.empty() == false);
-
-				m_guardStack.pop_back();
-
-				m_stack[theEntryIndex].setValue(theNewValue);
-				m_stack[theEntryIndex].activate();
-			}
-
-			return theNewValue;
-		}
-	}
-}
-
-
-
-VariablesStack::VariableStackStackType::size_type
-VariablesStack::findEntry(
-			const XalanQName&	qname,
-			bool				fIsParam,
-			bool				fSearchGlobalSpace)
-{
-	typedef VariableStackStackType::size_type	size_type;
-
-	size_type	theEntryIndex = m_stack.size();
-
-	const unsigned int	nElems = getCurrentStackFrameIndex();
-
-	// There is guaranteed to be a context marker at
-	// the bottom of the stack, so i should stop at
-	// 1.
-	for(unsigned int i = nElems - 1; i > 0; --i)
-	{
-		StackEntry&					theEntry = m_stack[i];
-
-		const StackEntry::eType		theType = theEntry.getType();
-
-		if(theType == StackEntry::eVariable ||
-		   theType == StackEntry::eActiveParam)
-		{
-			assert(theEntry.getName() != 0);
-
-			if(theEntry.getName()->equals(qname))
-			{
-				theEntryIndex = size_type(i);
-
-				break;
-			}
-		}
-		else if (theType == StackEntry::eParam)
-		{
-			if (fIsParam == true)
-			{
-				if(theEntry.getName()->equals(qname))
-				{
-					theEntry.activate();
-
-					theEntryIndex = size_type(i);
-
-					break;
-				}
-			}
-		}
-		else if(theType == StackEntry::eContextMarker)
-		{
-			break;
-		}
-	}
-
-	if(theEntryIndex == m_stack.size() && fIsParam == false && true == fSearchGlobalSpace && m_globalStackFrameIndex > 1)
-	{
-		// Look in the global space
-		for(unsigned int i = m_globalStackFrameIndex - 1; i > 0; i--)
-		{
-			StackEntry&		theEntry = m_stack[i];
-
-			const StackEntry::eType		theType = theEntry.getType();
-
-			if(theType == StackEntry::eVariable)
-			{
-				assert(theEntry.getName() != 0);
-
-				if(theEntry.getName()->equals(qname))
-				{
-					theEntryIndex = size_type(i);
-
-					break;
-				}
-			}
-			else if(theType == StackEntry::eContextMarker)
-			{
-				break;
-			}
-		}
-	}
-
-	return theEntryIndex;
-}
-
-
-
-void
-VariablesStack::pushElementFrame(const ElemTemplateElement*	elem)
-{
-	push(StackEntry(elem));
-}
-
-
-
-class EnsurePop
-{
-public:
-
-	EnsurePop(VariablesStack&	theVariablesStack) :
-		m_variablesStack(theVariablesStack)
-	{
-	}
-
-	~EnsurePop()
-	{
-		m_variablesStack.pop();
-	}
-
-private:
-
-	VariablesStack&		m_variablesStack;
-};
-
-
-
-void
-VariablesStack::popElementFrame(const ElemTemplateElement*	elem)
-{
-	const VariableStackStackType::size_type		nElems = m_stack.size();
-	assert(nElems > 0);
-
-	// There is guaranteed to be a context marker at
-	// the bottom of the stack, so i should stop at
-	// 1.
-	for(VariableStackStackType::size_type i = nElems - 1; i > 0; --i)
-	{
-		const StackEntry&	theEntry = m_stack[i];
-
-		// Guarantee that it will be popped when we're done.
-		EnsurePop	theEnsurePop(*this);
-
-		if(theEntry.getType() == StackEntry::eContextMarker)
-		{
-			throw InvalidStackContextException();
-		}
-		else if (theEntry.getType() == StackEntry::eElementFrameMarker)
-		{
-			const ElemTemplateElement* const	theElement =
-				theEntry.getElement();
-
-			if (theElement != elem)
-			{
-				throw InvalidStackContextException();
-			}
-
-			break;
-		}
-    }
-}
-
-
-
-VariablesStack::StackEntry::StackEntry() :
-	m_type(eContextMarker),
-	m_qname(0),
-	m_value(),
-	m_variable(0),
-	m_element(0)
-{
-}
-
-
-
-VariablesStack::StackEntry::StackEntry(
-			const XalanQName*	name,
-			const XObjectPtr&	val,
-			bool				isParam) :
-	m_type(isParam == true ? eParam : eVariable),
-	m_qname(name),
-	m_value(val),
-	m_variable(0),
-	m_element(0)
-{
-}
-
-
-
-VariablesStack::StackEntry::StackEntry(
-			const XalanQName*		name,
-			const ElemVariable*		var,
-			bool					isParam) :
-	m_type(isParam == true ? eParam : eVariable),
-	m_qname(name),
-	m_value(),
-	m_variable(var),
-	m_element(0)
-{
-}
-
-
-
-VariablesStack::StackEntry::StackEntry(const ElemTemplateElement*	elem) :
-	m_type(eElementFrameMarker),
-	m_qname(0),
-	m_value(),
-	m_variable(0),
-	m_element(elem)
-{
-}
-
-
-
-VariablesStack::StackEntry::StackEntry(const StackEntry&	theSource) :
-	m_type(theSource.m_type),
-	m_qname(theSource.m_qname),
-	m_value(theSource.m_value),
-	m_variable(theSource.m_variable),
-	m_element(theSource.m_element)
-{
-}
-
-
-
-VariablesStack::StackEntry::~StackEntry()
-{
-}
-
-
-
-VariablesStack::StackEntry&
-VariablesStack::StackEntry::operator=(const StackEntry&		theRHS)
-{
-	if (this != &theRHS)
-	{
-		m_type = theRHS.m_type;
-
-		m_qname = theRHS.m_qname;
-
-		m_value = theRHS.m_value;
-
-		m_variable = theRHS.m_variable;
-
-		m_element = theRHS.m_element;
-	}
-
-	return *this;
-}
-
-
-
-// Equality for StackEntry instances is probably bogus,
-// so it might be worthwhile to just get rid of this.
-bool
-VariablesStack::StackEntry::operator==(const StackEntry&	theRHS) const
-{
-	bool	fResult = false;
-
-	if (m_type == theRHS.m_type)
-	{
-		if (m_type == eContextMarker)
-		{
-			if (&theRHS == this)
-			{
-				fResult = true;
-			}
-		}
-		else if (m_type == eVariable || m_type == eParam || m_type == eActiveParam)
-		{
-			// We only need to compare the variable related members...
-			if (m_value == theRHS.m_value ||
-				m_variable == theRHS.m_variable)
-			{
-				fResult = true;
-			}
-		}
-		else if (m_type == eElementFrameMarker)
-		{
-			if (m_element == theRHS.m_element)
-			{
-				fResult = true;
-			}
-		}
-		else
-		{
-			assert(0);
-		}
-	}
-
-	return fResult;
-}
-
-
-
-void
-VariablesStack::StackEntry::activate()
-{
-	if (m_type == eParam)
-	{
-		m_type = eActiveParam;
-	}
-}
-
-
-
-void
-VariablesStack::StackEntry::deactivate()
-{
-	if (m_type == eActiveParam)
-	{
-		m_type = eParam;
-	}
-}
-
-
-
-VariablesStack::InvalidStackContextException::InvalidStackContextException() :
-	XSLTProcessorException(TranscodeFromLocalCodePage("Invalid stack context"),
-						   TranscodeFromLocalCodePage("InvalidStackContextException"))
-{
-}
-
-
-
-VariablesStack::InvalidStackContextException::~InvalidStackContextException()
-{
-}
diff --git a/src/XSLT/VariablesStack.hpp b/src/XSLT/VariablesStack.hpp
deleted file mode 100644
index b6d6c65..0000000
--- a/src/XSLT/VariablesStack.hpp
+++ /dev/null
@@ -1,594 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_VARIABLESSTACK_HEADER_GUARD)
-#define XALAN_VARIABLESSTACK_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <vector>
-
-
-
-#include <XPath/XalanQName.hpp>
-#include <XPath/XObject.hpp>
-
-
-
-#include <XSLT/XSLTProcessorException.hpp>
-
-
-
-class Arg;
-class ElemTemplateElement;
-class ElemVariable;
-class StylesheetExecutionContext;
-class XalanNode;
-
-
-
-/**
- * Defines a class to keep track of a stack for macro arguments.
- */
-class XALAN_XSLT_EXPORT VariablesStack
-{
-public:
-
-	/**
-	 * Constructor for a variable stack.
-	 */
-	explicit
-	VariablesStack();
-
-	~VariablesStack();
-
-	
-	/**
-	 * Reset the stack.
-	 */
-	void
-	reset();
-
-	/**
-	 * Push a frame marker for an element.
-	 *
-	 * @param elem the element
-	 */
-	void
-	pushElementFrame(const ElemTemplateElement*		elem);
-
-	/**
-	 * Pop a frame marker for an element.
-	 *
-	 * @param elem the element
-	 */
-	void
-	popElementFrame(const ElemTemplateElement*	elem);
-
-	/**
-	 * Push a context marker onto the stack to let us know when to stop
-	 * searching for a var.
-	 *
-	 * @param caller	 caller node
-	 * @param sourceNode source node
-	 */
-	void
-	pushContextMarker();
-
-	/**
-	 * Pop the current context from the current context stack.
-	 */
-	void
-	popContextMarker();
-
-	struct ParamsVectorEntry
-	{
-		ParamsVectorEntry() :
-			m_qname(0),
-			m_value(),
-			m_variable(0)
-		{
-		}
-
-		ParamsVectorEntry(
-				const XalanQName*	qname,
-				const XObjectPtr	value) :
-			m_qname(qname),
-			m_value(value),
-			m_variable(0)
-		{
-		}
-
-		ParamsVectorEntry(
-				const XalanQName*		qname,
-				const ElemVariable*		variable) :
-			m_qname(qname),
-			m_value(),
-			m_variable(variable)
-		{
-		}
-
-		const XalanQName*		m_qname;
-
-		XObjectPtr				m_value;
-
-		const ElemVariable*		m_variable;
-	};
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<ParamsVectorEntry>		ParamsVectorType;
-	typedef vector<const ElemVariable*>		RecursionGuardStackType;
-#else
-	typedef std::vector<ParamsVectorEntry>		ParamsVectorType;
-	typedef std::vector<const ElemVariable*>	RecursionGuardStackType;
-#endif
-
-	/**
-	 * Push the provided objects as parameters.  You must call
-	 * popContextMarker() when you are done with the arguments.
-	 *
-	 * @param theParam The vector containing the parameters.
-	 * @param targetTemplate target template for the parameters
-	 */
-	void
-	pushParams(
-			const ParamsVectorType&		theParams,
-			const ElemTemplateElement*	targetTemplate);
-
-	/**
-	 * Given a name, return a string representing the value, but don't look
-	 * in the global space.  Since the variable may not yet have been
-	 * evaluated, this may return a null XObjectPtr.
-	 *
-	 * @param theName name of variable
-	 * @param exeuctionContext the current execution context
-	 * @param fNameFound set to true if the name was found, false if not.
-	 * @return pointer to XObject for variable
-	 */
-	const XObjectPtr
-	getParamVariable(
-			const XalanQName&				qname,
-			StylesheetExecutionContext&		executionContext,
-			bool&							fNameFound)
-	{
-		return findXObject(qname, executionContext, true, false, fNameFound);
-	}
-
-	/**
-	 * Given a name, find the corresponding XObject.  If the variable
-	 * exists, but has not yet been evaluated, the variable will be
-	 * evaluated and the result returned.  This may return a null XObjectPtr,
-	 * if the variable was not found.
-	 *
-	 * @param qname name of variable
-	 * @param exeuctionContext the current execution context
-	 * @param fNameFound set to true if the name was found, false if not.
-	 * @return pointer to the corresponding XObject
-	 */
-	const XObjectPtr
-	getVariable(
-			const XalanQName& 				qname,
-			StylesheetExecutionContext&		executionContext,
-			bool&							fNameFound)
-	{
-		return findXObject(qname, executionContext, false, true, fNameFound);
-	}
-
-	/**
-	 * Push a named variable onto the processor variable stack. Don't forget
-	 * to call startContext before pushing a series of arguments for a given
-	 * template.
-	 *
-	 * @param name	  name of variable
-	 * @param val	  pointer to ElemVariable
-	 * @param e 	  element marker for variable
-	 */
-	void
-	pushVariable(
-			const XalanQName&			name,
-			const ElemVariable*			var,
-			const ElemTemplateElement*	e);
-
-	/**
-	 * Push a named variable onto the processor variable stack. Don't forget
-	 * to call startContext before pushing a series of arguments for a given
-	 * template.
-	 *
-	 * @param name	  name of variable
-	 * @param val	  pointer to XObject value
-	 * @param e 	  element marker for variable
-	 */
-	void
-	pushVariable(
-			const XalanQName&			name,
-			const XObjectPtr&			val,
-			const ElemTemplateElement*	e);
-
-	/**
-	 * Mark the top of the stack.
-	 */
-	void
-	start();
-
-	/**
-	 * Reset all params in the current stack frame.
-	 */
-	void
-	resetParams();
-
-	/**
-	 * Mark the top of the global stack frame.
-	 */
-	void
-	markGlobalStackFrame();
-
-	/**
-	 * Clear the marking of the global stack frame.
-	 */
-	void
-	unmarkGlobalStackFrame();
-
-	/**
-	 * Set the top of the stack frame from where a search for a variable or
-	 * param should take place.  Calling with no parameter will cause the
-	 * index to be set to the size of the stack.
-	 *
-	 * @param currentStackFrameIndex new value of index
-	 */
-	void
-	setCurrentStackFrameIndex(int	currentStackFrameIndex = -1)
-	{
-		if (currentStackFrameIndex == -1)
-			m_currentStackFrameIndex = m_stack.size();
-		else
-			m_currentStackFrameIndex = currentStackFrameIndex;
-	}
-
-	/**
-	 * Get the top of the stack frame from where a search 
-	 * for a variable or param should take place.
-	 *
-	 * @return current value of index
-	 */
-	int
-	getCurrentStackFrameIndex() const
-	{
-		return m_currentStackFrameIndex;
-	}
-
-	/**
-	 * Get the top of the global stack frame.
-	 *
-	 * @return current value of index
-	 */
-	int
-	getGlobalStackFrameIndex() const
-	{
-		return m_globalStackFrameIndex;
-	}
-
-	class InvalidStackContextException : public XSLTProcessorException
-	{
-	public:
-
-		InvalidStackContextException();
-
-		virtual
-		~InvalidStackContextException();
-
-	private:
-
-	};
-
-	class PushParamFunctor
-	{
-	public:
-
-		PushParamFunctor(VariablesStack&	theVariablesStack) :
-			m_variablesStack(theVariablesStack)
-		{
-		}
-
-		const void
-		operator()(const ParamsVectorType::value_type&	theEntry);
-
-	private:
-
-		VariablesStack&		m_variablesStack;
-	};
-
-	class XALAN_XSLT_EXPORT StackEntry
-	{
-	public:
-
-		/**
-		 * Enumeration for types of stack entries, one of context state, context
-		 * marker, element marker, or argument.
-		 */
-		enum eType { eContextMarker,
-				    eVariable,
-					eParam,
-					eActiveParam,
-					eElementFrameMarker,
-					eNextValue };
-
-		/**
-		 * Construct a context marker.
-		 */
-		explicit
-		StackEntry();
-
-		/**
-		 * Construct a variable that is already evaluated.
-		 */
-		StackEntry(
-			const XalanQName*	name,
-			const XObjectPtr&	val,
-			bool				isParam = false);
-
-		/**
-		 * Construct a variable that has not been evaluated yet.
-		 */
-		StackEntry(
-			const XalanQName*		name,
-			const ElemVariable*		var,
-			bool					isParam = false);
-
-		/**
-		 * Construct an element frame marker.
-		 */
-		StackEntry(const ElemTemplateElement*	elem);
-
-
-		/**
-		 * Copy constructor...
-		 */
-		StackEntry(const StackEntry&	theSource);
-
-		/**
-		 * Destructor...
-		 */
-		~StackEntry();
-
-		/**
-		 * Determine type of stack entry
-		 * 
-		 * @return enumeration value for type
-		 */
-		eType
-		getType() const
-		{
-			return m_type;
-		}
-
-		/**
-		 * Retrieve object name.  Valid only for variables
-		 * 
-		 * @return qualified name of object
-		 */
-		const XalanQName*
-		getName() const
-		{
-			return m_qname;
-		}
-
-		/**
-		 * Retrieve object's XObject pointer.  Valid only for variables
-		 * 
-		 * @return pointer to XObject
-		 */
-		const XObjectPtr&
-		getValue() const
-		{
-			return m_value;
-		}
-
-		/**
-		 * Retrieve object's XObject pointer.  Valid only for variables
-		 * 
-		 * @return pointer to XObject
-		 */
-		void
-		setValue(const XObjectPtr&	theValue)
-		{
-			m_value = theValue;
-		}
-
-		/**
-		 * Retrieve object's XObject pointer.  Valid only for variables
-		 * 
-		 * @return pointer to XObject
-		 */
-		const ElemVariable*
-		getVariable() const
-		{
-			return m_variable;
-		}
-
-		void
-		activate();
-
-		void
-		deactivate();
-
-		/**
-		 * Retrieve the ElemTemplateElem where frame begins.  Valid only for element frame markers
-		 *
-		 * @return ElemTemplateElement corresponding to marker
-		 */
-		const ElemTemplateElement*
-		getElement() const
-		{
-			return m_element;
-		}
-
-		StackEntry&
-		operator=(const StackEntry&		theRHS);
-
-		bool
-		operator==(const StackEntry&	theRHS) const;
-
-	private:
-
-		// Data members...
-		eType						m_type;
-
-		const XalanQName*			m_qname;
-
-		XObjectPtr					m_value;
-
-		const ElemVariable*			m_variable;
-
-		const ElemTemplateElement*	m_element;
-	};
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<StackEntry>			VariableStackStackType;
-#else
-	typedef std::vector<StackEntry>		VariableStackStackType;
-#endif
-
-	enum { eDefaultStackSize = 100 };
-
-private:
-
-	/**
-	 * Check to see if an element frame for the particular element has already
-	 * been pushed.
-	 * 
-	 * @param elem element in question
-	 * @return true if it has been pushed already
-	 */
-	bool
-	elementFrameAlreadyPushed(const ElemTemplateElement*	elem) const;
-
-	/**
-	 * Push an entry onto the stack.
-	 *
-	 * @param stack entry to push
-	 */
-	void
-	push(const StackEntry&	theEntry);
-
-	/**
-	 * Pop an entry from the top of the stack.
-	 */
-	void
-	pop();
-
-	/**
-	 * Get a reference to the entry at the back (top) of the stack.
-	 *
-	 * @return a reference to the back of the stack.
-	 */
-	const StackEntry&
-	back() const
-	{
-		assert(m_stack.empty() == false);
-
-		return m_stack.back();
-	}
-
-	friend class CommitPushElementFrame;
-	friend class EnsurePop;
-	friend class PushParamFunctor;
-	friend class SetAndRestoreForceGlobalSearch;
-
-	const XObjectPtr
-	findXObject(
-			const XalanQName&				name,
-			StylesheetExecutionContext&		executionContext,
-			bool							fIsParam,
-			bool							fSearchGlobalSpace,
-			bool&							fNameFound);
-
-	VariableStackStackType::size_type
-	findEntry(
-			const XalanQName&	name,
-			bool				fIsParam,
-			bool				fSearchGlobalSpace);
-
-
-	VariableStackStackType		m_stack;
-
-	int							m_globalStackFrameIndex;
-
-	bool						m_globalStackFrameMarked;
-
-	/**
-	 * This is the top of the stack frame from where a search 
-	 * for a variable or param should take place.  It may not 
-	 * be the real stack top.
-	 */
-	unsigned int				m_currentStackFrameIndex;	
-
-	/**
-	 * This will be a stack for any variable definitions
-	 * that are being evaluated dynamically, to protect
-	 * against circular definitions.
-	 */
-	RecursionGuardStackType		m_guardStack;
-};
-
-
-
-#endif	// #if !defined(XALAN_VARIABLESSTACK_HEADER_GUARD)
diff --git a/src/XSLT/XResultTreeFrag.cpp b/src/XSLT/XResultTreeFrag.cpp
deleted file mode 100644
index e43e373..0000000
--- a/src/XSLT/XResultTreeFrag.cpp
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XResultTreeFrag.hpp"
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DoubleSupport.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/NodeRefListBase.hpp>
-#include <XPath/ResultTreeFragBase.hpp>
-#include <XPath/XObjectTypeCallback.hpp>
-
-
-
-#include <XSLT/StylesheetExecutionContext.hpp>
-
-
-
-XResultTreeFrag::XResultTreeFrag(ResultTreeFragBase&	value) :
-	XObject(eTypeResultTreeFrag),
-	m_value(&value),
-	m_executionContext(0),
-	m_cachedStringValue(),
-	m_cachedNumberValue(0.0)
-{
-}
-
-
-
-XResultTreeFrag::XResultTreeFrag(
-			const XResultTreeFrag&	source,
-			bool					/* deepClone */) :
-	XObject(source),
-	m_value(source.m_value),
-	m_executionContext(0),
-	m_cachedStringValue(source.m_cachedStringValue),
-	m_cachedNumberValue(source.m_cachedNumberValue)
-{
-	assert(m_value != 0);
-}
-
-
-
-XResultTreeFrag::~XResultTreeFrag()
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XObject*
-#else
-XResultTreeFrag*
-#endif
-XResultTreeFrag::clone(void*	theAddress) const
-{
-	return theAddress == 0 ? new XResultTreeFrag(*this) : new (theAddress) XResultTreeFrag(*this);
-}
-
-
-
-XalanDOMString
-XResultTreeFrag::getTypeString() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("#RESULT_TREE_FRAG"));
-}
-
-
-
-double
-XResultTreeFrag::num() const
-{
-	if (m_cachedNumberValue == 0.0)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XResultTreeFrag*)this)->m_cachedNumberValue = DoubleSupport::toDouble(str());
-#else
-		m_cachedNumberValue = DoubleSupport::toDouble(str());
-#endif
-	}
-
-	return m_cachedNumberValue;
-}
-
-
-
-bool
-XResultTreeFrag::boolean() const
-{
-	// Result tree fragments always evaluate to true.
-	return true;
-}
-
-
-
-const XalanDOMString&
-XResultTreeFrag::str() const
-{
-	if (isEmpty(m_cachedStringValue) == true)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		DOMServices::getNodeData(*m_value, ((XResultTreeFrag*)this)->m_cachedStringValue);
-#else
-		DOMServices::getNodeData(*m_value, m_cachedStringValue);
-#endif
-	}
-
-	return m_cachedStringValue;
-}
-
-
-
-void
-XResultTreeFrag::str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const
-{
-	if (isEmpty(m_cachedStringValue) == false)
-	{
-		assert(length(m_cachedStringValue) == FormatterListener::size_type(length(m_cachedStringValue)));
-
-		(formatterListener.*function)(c_wstr(m_cachedStringValue), FormatterListener::size_type(length(m_cachedStringValue)));
-	}
-	else
-	{
-		DOMServices::getNodeData(*m_value, formatterListener, function);
-	}
-}
-
-
-
-void
-XResultTreeFrag::str(XalanDOMString&	theBuffer) const
-{
-	if (isEmpty(m_cachedStringValue) == false)
-	{
-		append(theBuffer, m_cachedStringValue);
-	}
-	else
-	{
-		DOMServices::getNodeData(*m_value, theBuffer);
-	}
-}
-
-
-
-const ResultTreeFragBase&
-XResultTreeFrag::rtree() const
-{
-	assert(m_value != 0);
-
-	return *m_value;
-}
-
-
-
-const NodeRefListBase&
-XResultTreeFrag::nodeset() const
-{
-	return ParentType::nodeset();
-}
-
-
-
-void
-XResultTreeFrag::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject)
-{
-	theCallbackObject.ResultTreeFragment(*this,
-										 rtree());
-}
-
-
-
-void
-XResultTreeFrag::ProcessXObjectTypeCallback(XObjectTypeCallback&	theCallbackObject) const
-{
-	theCallbackObject.ResultTreeFragment(*this,
-										 rtree());
-}
-
-
-
-XalanNode*
-XResultTreeFrag::item(unsigned int	index) const
-{
-	assert(m_value != 0);
-
-	return index == 0 ? m_value->getNodesetRoot() : 0;
-}
-
-
-
-unsigned int
-XResultTreeFrag::getLength() const
-{
-	return 1;
-}
-
-
-
-unsigned int
-XResultTreeFrag::indexOf(const XalanNode*	theNode) const
-{
-	return theNode == m_value->getNodesetRoot() ? 0 : NodeRefListBase::npos;
-}
-
-
-
-XResultTreeFrag::NodeRefListBaseProxy::NodeRefListBaseProxy(const XResultTreeFrag&	theXResultTreeFrag) :
-	NodeRefListBase(),
-	m_xresultTreeFrag(theXResultTreeFrag)
-{
-}
-
-
-
-XResultTreeFrag::NodeRefListBaseProxy::~NodeRefListBaseProxy()
-{
-}
-
-
-
-XalanNode*
-XResultTreeFrag::NodeRefListBaseProxy::item(size_type	index) const
-{
-	return m_xresultTreeFrag.item(index);
-}
-
-
-
-XResultTreeFrag::NodeRefListBaseProxy::size_type
-XResultTreeFrag::NodeRefListBaseProxy::getLength() const
-{
-	return m_xresultTreeFrag.getLength();
-}
-
-
-
-XResultTreeFrag::NodeRefListBaseProxy::size_type
-XResultTreeFrag::NodeRefListBaseProxy::indexOf(const XalanNode*	theNode) const
-{
-	return m_xresultTreeFrag.indexOf(theNode);
-}
-
-
-
-ResultTreeFragBase*
-XResultTreeFrag::release()
-{
-	clear(m_cachedStringValue);
-
-	m_cachedNumberValue = 0.0;
-
-	ResultTreeFragBase* const	temp = m_value;
-
-	m_value = 0;
-
-	return temp;
-}
-
-
-
-void
-XResultTreeFrag::set(ResultTreeFragBase*	theValue)
-{
-	release();
-
-	m_value = theValue;
-}
-
-
-
-void
-XResultTreeFrag::dereferenced()
-{
-	if (m_executionContext == 0 ||
-		// We're dead after we call this, if it returns true;
-		m_executionContext->returnXResultTreeFrag(this) == false)
-	{
-		delete m_value;
-
-		delete this;
-	}
-}
diff --git a/src/XSLT/XResultTreeFrag.hpp b/src/XSLT/XResultTreeFrag.hpp
deleted file mode 100644
index 467b723..0000000
--- a/src/XSLT/XResultTreeFrag.hpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XRESULTTREEFRAG_HEADER_GUARD_1357924680)
-#define XRESULTTREEFRAG_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <XPath/ResultTreeFragBase.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-// Base class header file.
-#include <XPath/NodeRefListBase.hpp>
-#include <XPath/XObject.hpp>
-
-
-
-#include <XSLT/StylesheetExecutionContext.hpp>
-
-
-
-class ResultTreeFrag;
-
-
-
-class XALAN_XSLT_EXPORT XResultTreeFrag : public XObject
-{
-public:
-
-	typedef XObject													ParentType;
-
-
-	/**
-	 * Construct an XResultTreeFrag object from a result tree fragment
-	 * 
-	 * @param val source result tree fragment.
-	 */
-	XResultTreeFrag(ResultTreeFragBase&		value);
-
-	/**
-	 * Construct an XResultTreeFrag object from another
-	 * 
-	 * @param source     source XResultTreeFrag
-	 * @param deepClone  true to copy all subobjects, default is false
-	 */
-	XResultTreeFrag(
-			const XResultTreeFrag&	source,
-			bool					deepClone = false);
-
-	virtual
-	~XResultTreeFrag();
-
-
-	void
-	setExecutionContext(StylesheetExecutionContext*		theExecutionContext)
-	{
-		m_executionContext = theExecutionContext;
-	}
-
-	// These methods are inherited from XObject ...
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XResultTreeFrag*
-#endif
-	clone(void*		theAddress = 0) const;
-
-	virtual XalanDOMString
-	getTypeString() const;
-  
-	virtual double
-	num() const;
-
-	virtual bool
-	boolean() const;
-
-	virtual const XalanDOMString&
-	str() const;
-
-	virtual void
-	str(
-			FormatterListener&	formatterListener,
-			MemberFunctionPtr	function) const;
-
-	virtual void
-	str(XalanDOMString&	theBuffer) const;
-
-	virtual const ResultTreeFragBase&
-	rtree() const;
-
-	virtual const NodeRefListBase&
-	nodeset() const;
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject);
-
-	virtual void
-	ProcessXObjectTypeCallback(XObjectTypeCallback&		theCallbackObject) const;
-
-	/**
-	 * Release the ResultTreeFrag held by the instance.
-	 */
-	ResultTreeFragBase*
-	release();
-
-	/**
-	 * Change the value of an XResultTreeFrag
-	 *
-	 * @param theValue The new value.
-	 */
-	void
-	set(ResultTreeFragBase*		theValue);
-
-	// This is a proxy class for result tree fragment to node-set
-	// conversion.
-	class XALAN_XSLT_EXPORT NodeRefListBaseProxy : public NodeRefListBase
-	{
-	public:
-
-		NodeRefListBaseProxy(const XResultTreeFrag&		theXResultTreeFrag);
-
-		virtual
-		~NodeRefListBaseProxy();
-
-		virtual XalanNode*
-		item(size_type	index) const;
-
-		virtual size_type
-		getLength() const;
-
-		virtual size_type
-		indexOf(const XalanNode*	theNode) const;
-
-	private:
-
-		// Not implemented...
-		NodeRefListBaseProxy(const NodeRefListBaseProxy&);
-
-		const XResultTreeFrag&	m_xresultTreeFrag;		
-	};
-
-	friend class NodeRefListBaseProxy;
-
-protected:
-
-	virtual void 
-	dereferenced();
-
-private:
-
-	// New member functions for node list compatibility...
-	XalanNode*
-	item(unsigned int	index) const;
-
-	unsigned int
-	getLength() const;
-
-	unsigned int
-	indexOf(const XalanNode*	theNode) const;
-
-
-	// Data members...
-	ResultTreeFragBase*				m_value;	
-
-	StylesheetExecutionContext*		m_executionContext;
-
-	mutable XalanDOMString			m_cachedStringValue;
-
-	mutable double					m_cachedNumberValue;
-};
-
-
-
-#endif	// XRESULTTREEFRAG_HEADER_GUARD_1357924680
diff --git a/src/XSLT/XResultTreeFragAllocator.cpp b/src/XSLT/XResultTreeFragAllocator.cpp
deleted file mode 100644
index af6ed79..0000000
--- a/src/XSLT/XResultTreeFragAllocator.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XResultTreeFragAllocator.hpp"
-
-
-
-XResultTreeFragAllocator::XResultTreeFragAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XResultTreeFragAllocator::~XResultTreeFragAllocator()
-{
-}
-
-
-
-
-XResultTreeFragAllocator::data_type*
-XResultTreeFragAllocator::create(ResultTreeFragBase&	theValue)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theValue);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XResultTreeFragAllocator::data_type*
-XResultTreeFragAllocator::create(const data_type&	theSource)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) data_type(theSource);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool
-XResultTreeFragAllocator::destroy(data_type*	theObject)
-{
-	return m_allocator.destroyObject(theObject);
-}
-
-
-
-void 
-XResultTreeFragAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XSLT/XResultTreeFragAllocator.hpp b/src/XSLT/XResultTreeFragAllocator.hpp
deleted file mode 100644
index cc1f975..0000000
--- a/src/XSLT/XResultTreeFragAllocator.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XRESULTTREEFRAGALLOCATOR_INCLUDE_GUARD_12455133)
-#define XRESULTTREEFRAGALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XSLT/XResultTreeFrag.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XSLT_EXPORT XResultTreeFragAllocator
-{
-public:
-
-	typedef XResultTreeFrag						data_type;
-
-	typedef ReusableArenaAllocator<data_type>	ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type		size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XResultTreeFragAllocator(size_type	theBlockCount);
-
-	~XResultTreeFragAllocator();
-	
-	/**
-	 * Create an XResultTreeFrag object.
-	 * 
-	 * @param theValue	source value
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(ResultTreeFragBase&	theValue);
-
-	/**
-	 * Create an XResultTreeFrag object.
-	 * 
-	 * @param theSource	source XResultTreeFrag
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(const data_type&		theSource);
-
-	/**
-	 * Clone an XResultTreeFrag object.
-	 * 
-	 * @param theSource	source XResultTreeFrag
-	 *
-	 * @return pointer to an XResultTreeFrag
-	 */
-	data_type*
-	clone(const XResultTreeFrag&	theSource);
-
-	/**
-	 * Delete an XResultTreeFrag object from allocator.	 
-	 */
-	bool
-	destroy(data_type*	theObject);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const data_type*		theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XResultTreeFrag objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XResultTreeFragAllocator(const XResultTreeFragAllocator&);
-
-	XResultTreeFragAllocator&
-	operator=(const XResultTreeFragAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XRESULTTREEFRAGALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XSLT/XSLTDefinitions.hpp b/src/XSLT/XSLTDefinitions.hpp
deleted file mode 100644
index 595dc1c..0000000
--- a/src/XSLT/XSLTDefinitions.hpp
+++ /dev/null
@@ -1,71 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSLTDEFINITIONS_HEADER_GUARD_1357924680)
-#define XSLTDEFINITIONS_HEADER_GUARD_1357924680
-
-#include <Include/PlatformDefinitions.hpp>
-
-#if defined(XALAN_XSLT_BUILD_DLL)
-#	define XALAN_XSLT_EXPORT XALAN_PLATFORM_EXPORT
-#	define XALAN_XSLT_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-#else
-#	define XALAN_XSLT_EXPORT XALAN_PLATFORM_IMPORT
-#	define XALAN_XSLT_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-#endif
-
-
-#endif	// XSLTDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XSLT/XSLTEngineImpl.cpp b/src/XSLT/XSLTEngineImpl.cpp
deleted file mode 100644
index f1b5bb2..0000000
--- a/src/XSLT/XSLTEngineImpl.cpp
+++ /dev/null
@@ -1,3527 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-
-// Class header file.
-#include "XSLTEngineImpl.hpp"
-
-
-
-#include <xercesc/sax/DocumentHandler.hpp>
-#include <xercesc/sax/EntityResolver.hpp>
-#include <xercesc/sax/Locator.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanComment.hpp>
-#include <XalanDOM/XalanCDATASection.hpp>
-#include <XalanDOM/XalanNodeList.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <PlatformSupport/PrintWriter.hpp>
-#include <PlatformSupport/StringTokenizer.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-#include <XMLSupport/FormatterToDOM.hpp>
-#include <XMLSupport/FormatterToText.hpp>
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterToHTML.hpp>
-#include <XMLSupport/FormatterTreeWalker.hpp>
-#include <XMLSupport/XMLParserLiaison.hpp>
-#include <XMLSupport/FormatterTreeWalker.hpp>
-
-
-
-#include <XPath/ElementPrefixResolverProxy.hpp>
-#include <XPath/XalanQNameByReference.hpp>
-#include <XPath/ResultTreeFragBase.hpp>
-#include <XPath/XObject.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathEnvSupport.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPathFactory.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-
-
-
-#include "Constants.hpp"
-#include "ElemWithParam.hpp"
-#include "FunctionCurrent.hpp"
-#include "FunctionDocument.hpp"
-#include "FunctionElementAvailable.hpp"
-#include "FunctionFunctionAvailable.hpp"
-#include "FunctionFormatNumber.hpp"
-#include "FunctionGenerateID.hpp"
-#include "FunctionKey.hpp"
-#include "FunctionSystemProperty.hpp"
-#include "FunctionUnparsedEntityURI.hpp"
-#include "GenerateEvent.hpp"
-#include "ProblemListener.hpp"
-#include "ProblemListenerDefault.hpp"
-#include "Stylesheet.hpp"
-#include "StylesheetConstructionContext.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "StylesheetHandler.hpp"
-#include "StylesheetRoot.hpp"
-#include "TraceListener.hpp"
-#include "XSLTInputSource.hpp"
-#include "XSLTProcessorException.hpp"
-#include "XSLTResultTarget.hpp"
-
-
-
-//#define XALAN_VQ_SPECIAL_TRACE
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-#include "C:/Program Files/Rational/Quantify/pure.h"
-#endif
-
-
-
-const XalanDOMString	XSLTEngineImpl::s_emptyString;
-
-
-
-//==========================================================
-// SECTION: Constructors
-//==========================================================
-
-XSLTEngineImpl::XSLTEngineImpl(
-			XMLParserLiaison&	parserLiaison,
-			XPathEnvSupport&	xpathEnvSupport,
-			DOMSupport&			domSupport,
-			XObjectFactory&		xobjectFactory,
-			XPathFactory&		xpathFactory) :
-	XSLTProcessor(),
-	PrefixResolver(),
-	m_useDOMResultTreeFactory(false),
-	m_domResultTreeFactory(0),
-	m_resultNameSpacePrefix(),
-	m_resultNameSpaceURL(),
-	m_xpathFactory(xpathFactory),
-	m_xobjectFactory(xobjectFactory),
-	m_xpathProcessor(new XPathProcessorImpl),
-	m_cdataStack(),
-	m_stylesheetLocatorStack(),
-	m_defaultProblemListener(),
-	m_problemListener(&m_defaultProblemListener),
-	m_stylesheetRoot(0),
-	m_traceSelects(false),
-	m_quietConflictWarnings(false),
-	m_diagnosticsPrintWriter(0),
-	m_durationsTable(),
-	m_traceListeners(),
-	m_uniqueNSValue(0),
-	m_topLevelParams(),
-	m_parserLiaison(parserLiaison),
-	m_xpathEnvSupport(xpathEnvSupport),
-	m_domSupport(domSupport),
-	m_executionContext(0),
-	m_outputContextStack(),
-	m_resultNamespacesStack(),
-	m_dummyAttributesList(),
-	m_scratchString(),
-	m_hasStripOrPreserveSpace(false)
-{
-	m_outputContextStack.pushContext();
-}
-
-
-
-void
-XSLTEngineImpl::reset()
-{
-	m_topLevelParams.clear();
-	m_durationsTable.clear();
-	m_stylesheetLocatorStack.clear();
-	m_cdataStack.clear();
-
-	if (m_domResultTreeFactory != 0)
-	{
-		m_parserLiaison.destroyDocument(m_domResultTreeFactory);
-		m_domResultTreeFactory = 0;
-	}
-
-	m_stylesheetRoot = 0;
-
-	m_outputContextStack.reset();
-
-	m_outputContextStack.pushContext();
-
-	m_xpathEnvSupport.reset();
-	m_xpathFactory.reset();
-	m_xobjectFactory.reset();
-	m_domSupport.reset();
-
-	m_resultNamespacesStack.clear();
-
-	m_hasStripOrPreserveSpace = false;
-}
-
-
-
-XSLTEngineImpl::~XSLTEngineImpl()
-{
-	reset();
-}
-
-
-
-//==========================================================
-// SECTION: Main API Functions
-//==========================================================
-
-
-
-static const XalanDOMChar	s_dummyString = 0;
-
-
-void
-XSLTEngineImpl::process(
-			const XSLTInputSource&			inputSource, 
-	        const XSLTInputSource&			stylesheetSource,
-	        XSLTResultTarget&				outputTarget,
-			StylesheetConstructionContext&	constructionContext,
-			StylesheetExecutionContext&		executionContext)
-{
-	XalanDOMString	xslIdentifier;
-
-	if (0 == stylesheetSource.getSystemId())
-	{
-		xslIdentifier = XalanDOMString(XALAN_STATIC_UCODE_STRING("Input XSL"));
-	}
-	else
-	{
-		xslIdentifier = stylesheetSource.getSystemId();
-	}
-
-	bool totalTimeID = true;
-
-	pushTime(&totalTimeID);
-
-	XalanNode*	sourceTree = getSourceTreeFromInput(inputSource);
-
-	m_stylesheetRoot = processStylesheet(stylesheetSource, constructionContext);
-
-	if(0 != sourceTree && m_stylesheetRoot == 0)
-	{
-		// Didn't get a stylesheet from the input source, so look for a
-		// stylesheet processing instruction...
-
-		// The PI must be a child of the document...
-		const XalanNode*	child = sourceTree->getFirstChild();
-
-		XalanDOMString		theCurrentToken;
-		XalanDOMString		theStylesheetURI;
-
-		bool			isOK = false;
-
-		while(child != 0 && isOK == false && theStylesheetURI.empty() == true)
-		{
-			if(XalanNode::PROCESSING_INSTRUCTION_NODE == child->getNodeType())
-			{
-				const XalanDOMString&	nodeName = child->getNodeName();
-
-				if(equals(nodeName, s_stylesheetNodeName))
-				{
-					StringTokenizer 	tokenizer(child->getNodeValue(), s_piTokenizerString);
-
-					while(tokenizer.hasMoreTokens() == true && (isOK == false || theStylesheetURI.empty() == true))
-					{
-						tokenizer.nextToken(theCurrentToken);
-
-						if(equals(theCurrentToken, s_typeString))
-						{
-							tokenizer.nextToken(theCurrentToken);
-
-
-							const XalanDOMString::size_type		theLength =
-									theCurrentToken.length();
-
-							if (theLength > 2)
-							{
-								theCurrentToken.erase(theLength - 1, 1);
-								theCurrentToken.erase(0, 1);
-
-								if(equals(theCurrentToken, s_typeValueString1) ||
-									equals(theCurrentToken, s_typeValueString2) ||
-									equals(theCurrentToken, s_typeValueString3) ||
-									equals(theCurrentToken, s_typeValueString4))
-								{
-									isOK = true;
-								}
-							}
-						}
-						else if(equals(theCurrentToken, s_hrefString))
-						{
-							tokenizer.nextToken(theCurrentToken);
-
-							const XalanDOMString::size_type		theLength =
-									theCurrentToken.length();
-
-							if (theLength > 2)
-							{
-								// Trim of the starting and trailing delimiters...
-								theStylesheetURI.assign(theCurrentToken, 1, theLength - 2);
-							}
-						}
-					}
-				}
-			}
-
-			child = child->getNextSibling();
-		}
-
-		if (isOK == true && theStylesheetURI.empty() == false)
-		{
-			const XalanDOMChar* const	pxch = inputSource.getSystemId();
-
-			const XalanDOMString		sysid(pxch == 0 ? &s_dummyString : pxch); 
-
-			getStylesheetFromPIURL(
-					theStylesheetURI,
-					*sourceTree,
-					sysid,
-					true,
-					constructionContext);
-		}
-	}
-
-	if(0 == m_stylesheetRoot)
-	{
-		error("Failed to process stylesheet!");
-	}
-	else if(0 != sourceTree)
-	{
-		executionContext.setStylesheetRoot(m_stylesheetRoot);
-
-		FormatterListener* const	theFormatter =
-				outputTarget.getDocumentHandler();
-
-		if (theFormatter != 0 && theFormatter->getPrefixResolver() == 0)
-		{
-			theFormatter->setPrefixResolver(this);
-		}
-
-		m_hasStripOrPreserveSpace = m_stylesheetRoot->getWhitespacePreservingElements().size() > 0 ||
-			m_stylesheetRoot->getWhitespaceStrippingElements().size() > 0;
-
-		m_stylesheetRoot->process(sourceTree, outputTarget, executionContext);
-	}
-
-	if(0 != m_diagnosticsPrintWriter)
-	{
-		displayDuration(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Total time")), &totalTimeID);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::process(
-			const XSLTInputSource&			inputSource, 
-	        XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext&		executionContext)
-{
-	bool	totalTimeID = true;
-
-	if(0 != m_diagnosticsPrintWriter)
-	{
-		pushTime(&totalTimeID);
-	}
-
-	XalanNode* const	sourceTree = getSourceTreeFromInput(inputSource);
-
-	if(0 != sourceTree)
-	{
-		if (m_stylesheetRoot == 0)
-		{
-			error("No stylesheet is available to process!");
-		}
-
-		FormatterListener* const	theFormatter =
-				outputTarget.getDocumentHandler();
-
-		if (theFormatter != 0 && theFormatter->getPrefixResolver() == 0)
-		{
-			theFormatter->setPrefixResolver(this);
-		}
-
-		m_hasStripOrPreserveSpace = m_stylesheetRoot->getWhitespacePreservingElements().size() > 0 ||
-			m_stylesheetRoot->getWhitespaceStrippingElements().size() > 0;
-
-		m_stylesheetRoot->process(sourceTree, outputTarget, executionContext);
-	}
-
-	if(0 != m_diagnosticsPrintWriter)
-	{
-		displayDuration(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Total time")), &totalTimeID);
-	}
-}
-
-
-
-StylesheetRoot*
-XSLTEngineImpl::processStylesheet(
-			const XalanDOMString&			xsldocURLString,
-			StylesheetConstructionContext&	constructionContext)
-{
-	const XSLTInputSource	input(c_wstr(xsldocURLString));
-
-	return processStylesheet(input, constructionContext);
-}
-
-
-
-StylesheetRoot*
-XSLTEngineImpl::processStylesheet(
-  			const XSLTInputSource&			stylesheetSource,
-			StylesheetConstructionContext&	constructionContext)
-{
-	StylesheetRoot*		theStylesheet = 0;
-
-	const XalanDOMChar* const	systemID = stylesheetSource.getSystemId();
-	XalanNode* const			stylesheetNode = stylesheetSource.getNode();
-
-	if (systemID != 0 || stylesheetNode != 0 || stylesheetSource.getStream() != 0)
-	{
-		XalanDOMString	xslIdentifier;
-
-		theStylesheet = constructionContext.create(stylesheetSource);
-
-		StylesheetHandler	stylesheetProcessor(*theStylesheet, constructionContext);
-
-		if(stylesheetNode != 0)
-		{
-			xslIdentifier = XALAN_STATIC_UCODE_STRING("Input XSL");
-
-			FormatterTreeWalker tw(stylesheetProcessor);
-
-			tw.traverse(stylesheetSource.getNode());
-		}
-		else
-		{
-			if (systemID != 0)
-			{
-				xslIdentifier = systemID;
-			}
-
-			diag(XALAN_STATIC_UCODE_STRING("========= Parsing ") + xslIdentifier + XALAN_STATIC_UCODE_STRING(" =========="));
-
-			pushTime(&xslIdentifier);
-
-			m_parserLiaison.parseXMLStream(stylesheetSource,
-										   stylesheetProcessor);
-
-			if(0 != m_diagnosticsPrintWriter)
-				displayDuration(XALAN_STATIC_UCODE_STRING("Parse of ") + xslIdentifier, &xslIdentifier);
-		}
-
-		theStylesheet->postConstruction(constructionContext);
-	}
-
-	return theStylesheet;
-}
-
-
-
-//==========================================================
-// SECTION: XML Parsing Functions
-//==========================================================
-
-XalanNode*
-XSLTEngineImpl::getSourceTreeFromInput(const XSLTInputSource&	inputSource)
-{
-	XalanNode*		sourceTree = inputSource.getNode();
-
-	if(0 == sourceTree)
-	{
-		const XalanDOMString	xmlIdentifier = 0 != inputSource.getSystemId() ?
-												XalanDOMString(inputSource.getSystemId()) :
-												StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Input XML"));
-
-		// In case we have a fragment identifier, go ahead and 
-		// try to parse the XML here.
-		diag(XALAN_STATIC_UCODE_STRING("========= Parsing ") +
-					xmlIdentifier +
-					XALAN_STATIC_UCODE_STRING(" =========="));
-
-		pushTime(&xmlIdentifier);
-
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-		QuantifyStartRecordingData();
-#endif
-
-		XalanDocument* const	theDocument =
-						m_parserLiaison.parseXMLStream(inputSource,
-													   xmlIdentifier);
-		assert(theDocument != 0);
-
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-		QuantifyStopRecordingData();
-#endif
-		if(0 != m_diagnosticsPrintWriter)
-		{
-			displayDuration(
-				XALAN_STATIC_UCODE_STRING("Parse of ") + xmlIdentifier,
-				&xmlIdentifier);
-		}
-
-		m_xpathEnvSupport.setSourceDocument(xmlIdentifier, theDocument);
-
-		sourceTree = theDocument;
-	}
-
-	return sourceTree;
-}
-
-
-
-const XalanDOMString*
-XSLTEngineImpl::getNamespaceForPrefix(const XalanDOMString&		prefix) const
-{
-	return m_resultNamespacesStack.getNamespaceForPrefix(prefix);
-}
-
-
-
-const XalanDOMString&
-XSLTEngineImpl::getURI() const
-{
-	return s_emptyString;
-}
-
-
-
-XalanDocument*
-XSLTEngineImpl::parseXML(
-			const XalanDOMString&	urlString,
-			DocumentHandler*		docHandler,
-			XalanDocument*			docToRegister)
-{
-	
-	XalanDocument*	doc =
-			m_xpathEnvSupport.getSourceDocument(urlString);
-
-	if(doc == 0)
-	{
-		EntityResolver* const	theResolver = 
-			m_parserLiaison.getEntityResolver();
-
-		if (theResolver == 0)
-		{
-			const XSLTInputSource	inputSource(c_wstr(urlString));
-
-			doc = parseXML(inputSource, docHandler, docToRegister);
-		}
-		else
-		{
-			const XalanAutoPtr<InputSource>		resolverInputSource =
-				theResolver->resolveEntity(0, c_wstr(urlString));
-
-			if (resolverInputSource.get() != 0)
-			{
-				doc = parseXML(*resolverInputSource.get(), docHandler, docToRegister);
-			}
-			else
-			{
-				const XSLTInputSource	inputSource(c_wstr(urlString));
-
-				doc = parseXML(inputSource, docHandler, docToRegister);
-			}
-		}
-
-		if (doc != 0)
-		{
-			m_xpathEnvSupport.setSourceDocument(urlString, doc);
-		}
-	}
-
-	return doc;
-}
-
-
-
-XalanDocument*
-XSLTEngineImpl::parseXML(
-			const InputSource&	inputSource,
-			DocumentHandler*	docHandler,
-			XalanDocument*		docToRegister)
-{
-	if(0 != docHandler)
-	{
-		m_parserLiaison.parseXMLStream(inputSource, *docHandler);
-
-		return docToRegister;
-	}
-	else
-	{
-		return m_parserLiaison.parseXMLStream(inputSource);
-	}
-}
-
-
-
-Stylesheet*
-XSLTEngineImpl::getStylesheetFromPIURL(
-			const XalanDOMString&			xslURLString,
-			XalanNode&						fragBase,
-			const XalanDOMString&			xmlBaseIdent,
-			bool							isRoot,
-			StylesheetConstructionContext&	constructionContext)
-{
-	Stylesheet*				stylesheet = 0;
-
-	XalanDOMString			stringHolder;
-
-	XalanDOMString			localXSLURLString = trim(xslURLString);
-
-	const XalanDOMString::size_type		fragIndex = indexOf(localXSLURLString, XalanUnicode::charNumberSign);
-
-	const XalanDocument*	stylesheetDoc = 0;
-
-	if(fragIndex == 0)
-	{
-		diag("Locating stylesheet from fragment identifier...");
-
-		const XalanDOMString	fragID(localXSLURLString, 1);
-
-		const XalanElement*		nsNode = 0;
-
-		const XalanNode::NodeType	theType = fragBase.getNodeType();
-
-		if (theType == XalanNode::DOCUMENT_NODE)
-		{
-			const XalanDocument&	doc =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanDocument&)fragBase;
-#else
-				static_cast<const XalanDocument&>(fragBase);
-#endif
-
-			nsNode = doc.getDocumentElement(); 
-		}
-		else if	(theType == XalanNode::ELEMENT_NODE)
-		{
-#if defined(XALAN_OLD_STYLE_CASTS)
-			nsNode = (const XalanElement*)&fragBase;
-#else
-			nsNode = static_cast<const XalanElement*>(&fragBase);
-#endif
-		}
-		else
-		{
-			XalanNode* const	node = fragBase.getParentNode();
-
-			if	(node->getNodeType() == XalanNode::ELEMENT_NODE) 
-			{
-#if defined(XALAN_OLD_STYLE_CASTS)
-				nsNode = (const XalanElement*)&fragBase;
-#else
-				nsNode = static_cast<XalanElement*>(node);
-#endif
-			}
-			else
-			{
-				error("Could not identify fragment: " + fragID);
-			}
-		}
-
-		// Try a bunch of really ugly stuff to find the fragment.
-		// What's the right way to do this?
-		XalanDOMString	ds(XALAN_STATIC_UCODE_STRING("id("));
-
-		ds += fragID;
-		ds += XALAN_STATIC_UCODE_STRING(")");
-
-		ElementPrefixResolverProxy		theProxy(nsNode, m_xpathEnvSupport, m_domSupport);
-
-		XPathExecutionContextDefault	theExecutionContext(m_xpathEnvSupport,
-															m_domSupport,
-															m_xobjectFactory,
-															&fragBase,
-															0,
-															&theProxy);
-
-		const XObjectPtr	xobj(evalXPathStr(ds, theExecutionContext));
-		assert(xobj.null() == false);
-
-		NodeRefList		nl(xobj->nodeset());
-
-		if(nl.getLength() == 0)
-		{
-			NodeRefList		theEmptyList;
-
-			ds = XALAN_STATIC_UCODE_STRING("//*[@id='");
-			ds += fragID;
-			ds += XALAN_STATIC_UCODE_STRING("']");
-
-			theExecutionContext.setContextNodeList(theEmptyList);
-
-			const XObjectPtr	xobj(evalXPathStr(ds, theExecutionContext));
-			assert(xobj.null() == false);
-
-			nl = xobj->nodeset();
-
-			if(nl.getLength() == 0)
-			{
-				ds = XALAN_STATIC_UCODE_STRING("//*[@name='");
-				ds += fragID;
-				ds += XALAN_STATIC_UCODE_STRING("']");
-
-				theExecutionContext.setContextNodeList(theEmptyList);
-
-				const XObjectPtr	xobj(evalXPathStr(ds, theExecutionContext));
-				assert(xobj.null() == false);
-
-				nl = xobj->nodeset();
-
-				if(nl.getLength() == 0)
-				{
-					// Well, hell, maybe it's an XPath...
-					theExecutionContext.setContextNodeList(theEmptyList);
-
-					const XObjectPtr	xobj(evalXPathStr(fragID, theExecutionContext));
-					assert(xobj.null() == false);
-
-					nl = xobj->nodeset();
-				}
-			}
-		}
-
-		if(nl.getLength() == 0)
-		{
-			error("Could not find fragment: " + fragID);
-		}
-
-		XalanNode* const	frag = nl.item(0);
-
-		if(XalanNode::ELEMENT_NODE == frag->getNodeType())
-		{
-			pushTime(frag);
-
-			XalanAutoPtr<Stylesheet>	theGuard;
-
-			if(isRoot)
-			{
-				StylesheetRoot* const	theLocalRoot =
-					constructionContext.create(stringHolder);
-
-				stylesheet = theLocalRoot;
-
-				m_stylesheetRoot = theLocalRoot;
-			}
-			else
-			{
-#if defined(XALAN_OLD_STYLE_CASTS)
-				stylesheet = constructionContext.create(*((StylesheetRoot*)m_stylesheetRoot), stringHolder);
-#else
-				stylesheet = constructionContext.create(*const_cast<StylesheetRoot*>(m_stylesheetRoot), stringHolder);
-#endif
-
-				theGuard.reset(stylesheet);
-			}
-
-			StylesheetHandler stylesheetProcessor(*stylesheet, constructionContext);
-
-			FormatterTreeWalker tw(stylesheetProcessor);
-
-			tw.traverse(frag, frag->getParentNode());
-
-			displayDuration(
-					XalanDOMString(XALAN_STATIC_UCODE_STRING("Setup of ")) +
-					localXSLURLString,
-					frag);
-
-			stylesheet->postConstruction(constructionContext);
-
-			theGuard.release();
-		}
-		else
-		{
-			stylesheetDoc = 0;
-			error("Node pointed to by fragment identifier was not an element: " + fragID);
-		}
-	}
-	else
-	{
-		diag(XalanDOMString(XALAN_STATIC_UCODE_STRING("========= Parsing and preparing ")) +
-				localXSLURLString +
-				XALAN_STATIC_UCODE_STRING(" =========="));
-		pushTime(&localXSLURLString);
-
-		XalanAutoPtr<Stylesheet>	theGuard;
-
-		const XalanDocument* const	theOwnerDocument =
-				fragBase.getNodeType() == XalanNode::DOCUMENT_NODE ?
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanDocument*)&fragBase :
-#else
-				static_cast<const XalanDocument*>(&fragBase) :
-#endif
-				fragBase.getOwnerDocument();
-		assert(theOwnerDocument != 0);
-
-		// Catch any XMLExceptions thrown, since we may not
-		// be able to resolve the URL.  In that case, the
-		// parser will throw an error.  We do this because
-		// we don't know what sort of EntityResolvers might
-		// be active, so we never want to error out here.
-		try
-		{
-			if (length(xmlBaseIdent) == 0)
-			{
-				URISupport::getURLStringFromString(
-							localXSLURLString,
-							m_xpathEnvSupport.findURIFromDoc(theOwnerDocument),
-							localXSLURLString);
-			}
-			else
-			{
-				URISupport::getURLStringFromString(
-							localXSLURLString,
-							xmlBaseIdent,
-							localXSLURLString);
-			}
-		}
-		catch(const XMLException&)
-		{
-		}
-
-		if(isRoot)
-		{
-			StylesheetRoot* const	theLocalRoot =
-					constructionContext.create(localXSLURLString);
-
-			stylesheet = theLocalRoot;
-
-			m_stylesheetRoot = theLocalRoot;
-		}
-		else
-		{
-#if defined(XALAN_OLD_STYLE_CASTS)
-			stylesheet = new Stylesheet(*(StylesheetRoot*)m_stylesheetRoot, localXSLURLString, constructionContext);
-#else
-			stylesheet = new Stylesheet(*const_cast<StylesheetRoot*>(m_stylesheetRoot), localXSLURLString, constructionContext);
-#endif
-
-			theGuard.reset(stylesheet);
-		}
-
-		StylesheetHandler stylesheetProcessor(*stylesheet, constructionContext);
-
-		typedef StylesheetConstructionContext::URLAutoPtrType	URLAutoPtrType;
-
-		URLAutoPtrType	xslURL(constructionContext.getURLFromString(localXSLURLString));
-
-		XSLTInputSource		inputSource(xslURL->getURLText());
-
-		m_parserLiaison.parseXMLStream(inputSource, stylesheetProcessor);
-
-		stylesheet->postConstruction(constructionContext);
-
-		theGuard.release();
-
-		displayDuration("Parsing and init of " + localXSLURLString, &localXSLURLString);
-	}
-
-	return stylesheet;
-}
-
-
-//==========================================================
-// SECTION: Stylesheet Tables
-//==========================================================
-
-
-double
-XSLTEngineImpl::getXSLTVerSupported()
-{
-	return s_XSLTVerSupported;
-}
-
-
-//==========================================================
-// SECTION: XSL directive handling functions
-//==========================================================  
-
-
-
-int
-XSLTEngineImpl::getXSLToken(const XalanNode&	node) const
-{
-	int 	tok = -2;
-
-	if(XalanNode::ELEMENT_NODE != node.getNodeType()) return tok;
-
-	const XalanDOMString& 	ns = node.getNamespaceURI();
-
-	if(equals(ns, s_XSLNameSpaceURL))
-	{
-		const XalanDOMString& 	localName =
-			DOMServices::getLocalNameOfNode(node);
-
-		const ElementKeysMapType::const_iterator		j =
-						s_elementKeys.find(localName);
-
-		if(j != s_elementKeys.end())
-		{
-			tok = (*j).second;
-		}
-	}
-
-	return tok;
-}
-
-
-
-void
-XSLTEngineImpl::outputToResultTree(const XObject&	value)
-{
-	const XObject::eObjectType	type = value.getType();
-
-	switch(type)
-	{
-	case XObject::eTypeBoolean:
-	case XObject::eTypeNumber:
-	case XObject::eTypeString:
-		{
-			const XalanDOMString&	s = value.str();
-
-			characters(toCharArray(s), 0, length(s));
-		}
-		break;				
-
-	case XObject::eTypeNodeSet:
-		{
-			const NodeRefListBase&	nl = value.nodeset();
-
-			const NodeRefListBase::size_type	nChildren = nl.getLength();
-
-			for(NodeRefListBase::size_type i = 0; i < nChildren; i++)
-			{
-				XalanNode*			pos = nl.item(i);
-				assert(pos != 0);
-
-				XalanNode* const	top = pos;
-
-				while(0 != pos)
-				{
-					flushPending();
-
-					XalanNode::NodeType		posNodeType = pos->getNodeType();
-
-					cloneToResultTree(*pos, posNodeType, false, false, true);
-
-					XalanNode*	nextNode = pos->getFirstChild();
-
-					while(0 == nextNode)
-					{
-						if(XalanNode::ELEMENT_NODE == posNodeType)
-						{
-							endElement(c_wstr(pos->getNodeName()));
-						}
-
-						if(top == pos)
-							break;
-
-						nextNode = pos->getNextSibling();
-
-						if(0 == nextNode)
-						{
-							pos = pos->getParentNode();
-							assert(pos != 0);
-
-							posNodeType = pos->getNodeType();
-
-							if(top == pos)
-							{
-								if(XalanNode::ELEMENT_NODE == posNodeType)
-								{
-									endElement(c_wstr(pos->getNodeName()));
-								}
-
-								nextNode = 0;
-								break;
-							}
-						}
-					}
-
-					pos = nextNode;
-
-					if (pos != 0)
-					{
-						posNodeType = pos->getNodeType();
-					}
-				}
-			}
-		}
-		break;
-		
-	case XObject::eTypeResultTreeFrag:
-		outputResultTreeFragment(value);
-		break;
-
-	case XObject::eTypeNull:
-	case XObject::eTypeUnknown:
-	case XObject::eUnknown:
-	default:
-		assert(0);
-	}
-}
-
-
-
-const StylesheetRoot*
-XSLTEngineImpl::getStylesheetRoot() const
-{
-	return m_stylesheetRoot;
-}
-
-
-
-void
-XSLTEngineImpl::setStylesheetRoot(const StylesheetRoot*		theStylesheet)
-{
-	m_stylesheetRoot = theStylesheet;
-}
-
-
-
-void
-XSLTEngineImpl::setExecutionContext(StylesheetExecutionContext*		theExecutionContext)
-{
-	m_executionContext = theExecutionContext;
-}
-
-
-
-//==========================================================
-// SECTION: Diagnostic functions
-//==========================================================
-
-XSLTEngineImpl::size_type
-XSLTEngineImpl::getTraceListeners() const
-{
-	return m_traceListeners.size();
-}
-
-
-
-void
-XSLTEngineImpl::addTraceListener(TraceListener* tl)
-{
-	if (tl != 0)
-	{
-		m_traceListeners.push_back(tl);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::removeTraceListener(TraceListener*	tl)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::remove;
-#endif
-
-	const TraceListenerVectorType::iterator		i =
-		remove(
-			m_traceListeners.begin(),
-			m_traceListeners.end(),
-			tl);
-
-	m_traceListeners.erase(i);
-}
-
-
-
-void
-XSLTEngineImpl::fireGenerateEvent(const GenerateEvent&	ge)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(
-		m_traceListeners.begin(),
-		m_traceListeners.end(),
-		TraceListener::TraceListenerGenerateFunctor(ge));
-}
-
-
-
-void
-XSLTEngineImpl::fireSelectEvent(const SelectionEvent&	se)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(
-		m_traceListeners.begin(),
-		m_traceListeners.end(),
-		TraceListener::TraceListenerSelectFunctor(se));
-}
-
-
-
-void
-XSLTEngineImpl::fireTraceEvent(const TracerEvent& te)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(
-		m_traceListeners.begin(),
-		m_traceListeners.end(),
-		TraceListener::TraceListenerTraceFunctor(te));
-}
-
-
-
-bool
-XSLTEngineImpl::getTraceSelects() const
-{
-	return m_traceSelects;
-}
-
-
-
-void
-XSLTEngineImpl::setTraceSelects(bool	b)
-{
-	m_traceSelects = b;
-}
-
-
-
-void
-XSLTEngineImpl::message(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode) const
-{
-	problem(msg, ProblemListener::eMESSAGE, sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::message(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	problem(msg, ProblemListener::eMESSAGE, sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::message(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode) const
-{
-	problem(msg, ProblemListener::eMESSAGE, locator, sourceNode);
-}
-
-
-
-void
-XSLTEngineImpl::message(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	message(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::problem(
-			const XalanDOMString&				msg, 
-			ProblemListener::eClassification	classification,
-			const XalanNode*					sourceNode,
-			const XalanNode*					styleNode) const
-{
-	const Locator* const	locator = getLocatorFromStack();
-
-	const XalanDOMChar*		id = 0;
-
-	XalanDOMString			uri;
-
-	int						lineNumber = -1;
-	int 					columnNumber = -1;
-
-	if (locator != 0)
-	{
-		id = locator->getPublicId();
-
-		if (id == 0)
-		{
-			id = locator->getSystemId();
-		}
-
-		if (id != 0)
-		{
-			uri = id;
-		}
-
-		lineNumber = locator->getLineNumber();
-		columnNumber = locator->getColumnNumber();
-	}
-
-	if (m_problemListener != 0)
-	{
-		m_problemListener->problem(
-					ProblemListener::eXSLPROCESSOR,
-					classification,
-					sourceNode,
-					styleNode,
-					msg,
-					id,
-					lineNumber,
-					columnNumber);
-	}
-
-	if (classification == ProblemListener::eERROR)
-	{
-		throw XSLTProcessorException(msg, uri, lineNumber, columnNumber);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::problem(
-			const XalanDOMString&				msg, 
-			ProblemListener::eClassification	classification,
-			const XalanNode*					sourceNode,
-			const ElemTemplateElement*			styleNode) const
-{
-	const XalanDOMChar*		id = 0;
-
-	XalanDOMString			uri;
-
-	int						lineNumber = -1;
-	int 					columnNumber = -1;
-
-	const Locator*			locator = getLocatorFromStack();
-
-	if (locator == 0 && styleNode != 0)
-	{
-		locator = styleNode->getLocator();
-	}
-
-	if (locator != 0)
-	{
-		id = locator->getPublicId();
-
-		if (id == 0)
-		{
-			id = locator->getSystemId();
-		}
-
-		if (id != 0)
-		{
-			uri = id;
-		}
-
-		lineNumber = locator->getLineNumber();
-		columnNumber = locator->getColumnNumber();
-	}
-	else if (styleNode != 0)
-	{
-		lineNumber = styleNode->getLineNumber();
-		columnNumber = styleNode->getColumnNumber();
-
-		uri = styleNode->getURI();
-	}
-
-	if (m_problemListener != 0)
-	{
-		m_problemListener->problem(
-					ProblemListener::eXSLPROCESSOR,
-					classification,
-					sourceNode,
-					styleNode,
-					msg,
-					id,
-					lineNumber,
-					columnNumber);
-	}
-
-	if (classification == ProblemListener::eERROR)
-	{
-		throw XSLTProcessorException(msg, uri, lineNumber, columnNumber);
-	}
-}
-
-
-
-static const XalanDOMChar	theDummy = 0;
-
-void
-XSLTEngineImpl::problem(
-			const XalanDOMString&				msg, 
-			ProblemListener::eClassification	classification,
-			const Locator&						locator,
-			const XalanNode*					sourceNode) const
-{
-	const XalanDOMChar*			id = locator.getSystemId();
-
-	if (id == 0)
-	{
-		id = &theDummy;
-	}
-
-	const int					lineNumber = locator.getLineNumber();
-	const int 					columnNumber = locator.getColumnNumber();
-
-	if (m_problemListener != 0)
-	{
-		m_problemListener->problem(
-					ProblemListener::eXSLPROCESSOR,
-					classification,
-					sourceNode,
-					0,
-					msg,
-					id,
-					lineNumber,
-					columnNumber);
-	}
-
-	if (classification == ProblemListener::eERROR)
-	{
-		throw XSLTProcessorException(msg, XalanDOMString(id), lineNumber, columnNumber);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::warn(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode) const
-{
-	problem(msg, ProblemListener::eWARNING, sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::warn(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	problem(msg, ProblemListener::eWARNING, sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::warn(
-			const XalanDOMString&		msg,
-			const Locator&				locator,
-			const XalanNode*			sourceNode) const
-{
-	problem(msg, ProblemListener::eWARNING, locator, sourceNode);
-}
-
-
-
-void
-XSLTEngineImpl::warn(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	warn(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::error(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode) const
-{
-	problem(msg, ProblemListener::eERROR, sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::error(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const
-{
-	problem(msg, ProblemListener::eERROR, sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::error(
-			const XalanDOMString&		msg,
-			const Locator&				locator,
-			const XalanNode*			sourceNode) const
-{
-	problem(msg, ProblemListener::eERROR, locator, sourceNode);
-}
-
-
-
-void
-XSLTEngineImpl::error(
-			const char*			msg,
-			const XalanNode*	sourceNode,
-			const XalanNode*	styleNode) const
-{
-	error(TranscodeFromLocalCodePage(msg), sourceNode, styleNode);
-}
-
-
-
-void
-XSLTEngineImpl::pushTime(const void*	key)
-{
-	if(0 != key)
-	{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		m_durationsTable[key] = std::clock();
-#else
-		m_durationsTable[key] = clock();
-#endif
-	}
-}
-
-
-
-XSLTEngineImpl::ClockType
-XSLTEngineImpl::popDuration(const void*		key)
-{
-	ClockType 	clockTicksDuration = 0;
-
-	if(0 != key)
-	{
-		const DurationsTableMapType::iterator	i =
-				m_durationsTable.find(key);
-
-		if (i != m_durationsTable.end())
-		{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			clockTicksDuration = std::clock() - (*i).second;
-#else
-			clockTicksDuration = clock() - (*i).second;
-#endif
-
-			m_durationsTable.erase(i);
-		}
-	}
-
-	return clockTicksDuration;
-}
-
-
-
-void
-XSLTEngineImpl::displayDuration(
-			const XalanDOMString&	info,
-			const void*				key)
-{
-	if(0 != key)
-	{
-		const ClockType	theDuration = popDuration(key);
-
-		if(0 != m_diagnosticsPrintWriter)
-		{
-			const double	millis = (double(theDuration) / CLOCKS_PER_SEC) * 1000.0;
-
-			m_diagnosticsPrintWriter->print(info);
-
-			m_diagnosticsPrintWriter->print(" took ");
-			m_diagnosticsPrintWriter->print(millis);
-			m_diagnosticsPrintWriter->println(" milliseconds.");
-		}
-	}
-}
-
-
-
-void
-XSLTEngineImpl::setDiagnosticsOutput(PrintWriter*	pw)
-{
-	m_diagnosticsPrintWriter = pw;
-
-	m_problemListener->setPrintWriter(pw);
-}
-
-
-
-void
-XSLTEngineImpl::diag(const XalanDOMString& 	s) const
-{
-	if (0 != m_diagnosticsPrintWriter)
-	{
-		m_diagnosticsPrintWriter->println(s);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::diag(const char*	s) const
-{
-	diag(TranscodeFromLocalCodePage(s));
-}
-
-
-
-void
-XSLTEngineImpl::setQuietConflictWarnings(bool	b)
-{
-	m_quietConflictWarnings = b;
-}
-
-
-
-void
-XSLTEngineImpl::setDocumentLocator(const Locator*	/* locator */)
-{
-	// Do nothing for now
-}
-
-
-
-void
-XSLTEngineImpl::traceSelect(
-			const XalanElement& 	theTemplate,
-			const NodeRefListBase&	nl) const
-{
-	if (0 != m_diagnosticsPrintWriter)
-	{
-		XalanDOMString	msg = theTemplate.getNodeName() + XalanDOMString(XALAN_STATIC_UCODE_STRING(": "));
-
-		XalanAttr*		attr = theTemplate.getAttributeNode(Constants::ATTRNAME_SELECT);
-
-		if(0 != attr)
-		{
-			msg += attr->getValue();
-			msg += XALAN_STATIC_UCODE_STRING(", ");
-			msg += UnsignedLongToDOMString(nl.getLength());
-			msg += XALAN_STATIC_UCODE_STRING(" selected");
-		}
-		else
-		{
-			msg += XALAN_STATIC_UCODE_STRING("*|text(), (default select), ");
-			msg += UnsignedLongToDOMString(nl.getLength());
-			msg += XALAN_STATIC_UCODE_STRING(" selected");
-		}
-
-		attr = theTemplate.getAttributeNode(Constants::ATTRNAME_MODE);
-
-		if(0 != attr)
-		{
-			msg += XalanDOMString(XALAN_STATIC_UCODE_STRING(", mode = ")) + attr->getValue();
-		}
-
-		m_diagnosticsPrintWriter->println(msg);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::startDocument()
-{
-	assert(getFormatterListener() != 0);
-	assert(m_executionContext != 0);
-
-	if (getHasPendingStartDocument() == false)
-	{
-		m_resultNamespacesStack.pushContext();
-
-		setHasPendingStartDocument(true);
-
-		setMustFlushPendingStartDocument(false);
-	}
-	else if (getMustFlushPendingStartDocument() == true)
-	{
-		getFormatterListener()->startDocument();
-
-		if(getTraceListeners() > 0)
-		{
-			const GenerateEvent		ge(GenerateEvent::EVENTTYPE_STARTDOCUMENT);
-
-			fireGenerateEvent(ge);
-		}
-
-		// Reset this, but leave getMustFlushPendingStartDocument() alone,
-		// since it will still be needed.
-		setHasPendingStartDocument(false);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::endDocument()
-{
-	assert(getFormatterListener() != 0);
-	assert(m_executionContext != 0);
-
-	setMustFlushPendingStartDocument(true);
-
-	flushPending();
-
-	getFormatterListener()->endDocument();
-
-	if(getTraceListeners() > 0)
-	{
-		const GenerateEvent		ge(GenerateEvent::EVENTTYPE_ENDDOCUMENT);
-
-		fireGenerateEvent(ge);
-	}
-
-	m_resultNamespacesStack.popContext();
-
-	assert(m_resultNamespacesStack.size() == 0);
-}
-
-
-
-void
-XSLTEngineImpl::addResultNamespaceDecl(
-			const XalanDOMString&	prefix, 
-	        const XalanDOMString&	namespaceVal)
-{
-	m_resultNamespacesStack.addDeclaration(prefix, namespaceVal);
-}
-
-
-
-void
-XSLTEngineImpl::addResultAttribute(
-			AttributeListImpl&	attList,
-			const XalanDOMString&	aname,
-			const XalanDOMString&	value)
-{
-	// Always exclude the implicit XML declaration...
-	if (equals(aname, DOMServices::s_XMLNamespacePrefix) == false) 
-	{
-		bool	fExcludeAttribute = false;
-
-		if (equals(aname, DOMServices::s_XMLNamespace) == true)
-		{
-			// OK, we're adding a default namespace declaration.  So see if the length
-			// of the namespace is 0.  If it's not, go ahead and add the declaration.
-			// If it's not, it means we're "turning off" the previous default
-			// declaration.
-
-			const XalanDOMString* const		currentDefaultNamespace =
-						getNamespaceForPrefix(s_emptyString);
-
-			// Note that we use an empty string for the prefix, instead of "xmlns", since the
-			// prefix really is "".
-			if (length(value) != 0)
-			{
-				if (currentDefaultNamespace != 0 &&
-					equals(*currentDefaultNamespace, value) == true)
-				{
-					fExcludeAttribute = true;
-				}
-				else
-				{
-					addResultNamespaceDecl(s_emptyString, value);
-				}
-			}
-			else
-			{
-				// OK, we're turning of the previous default namespace declaration.
-				// Check to see if there is one, and if there isn't, don't add
-				// the namespace declaration _and_ don't add the attribute.
-				if (currentDefaultNamespace != 0 && length(*currentDefaultNamespace) != 0)
-				{
-					addResultNamespaceDecl(s_emptyString, value);
-				}
-				else
-				{
-					fExcludeAttribute = true;
-				}
-			}
-		}
-		else if (startsWith(aname, DOMServices::s_XMLNamespaceWithSeparator) == true)
-		{
-			assert(m_executionContext != 0);
-
-			StylesheetExecutionContext::GetAndReleaseCachedString	prefixGuard(*m_executionContext);
-
-			XalanDOMString&		prefix = prefixGuard.get();
-
-			substring(aname, prefix, DOMServices::s_XMLNamespaceWithSeparatorLength);
-
-			const XalanDOMString* const	theNamespace = getResultNamespaceForPrefix(prefix);
-
-			if (theNamespace == 0 || equals(*theNamespace, value) == false)
-			{
-				addResultNamespaceDecl(prefix, value);
-			}
-			else
-			{
-				fExcludeAttribute = true;
-			}
-		}
-
-		if (fExcludeAttribute == false)
-		{
-			attList.addAttribute(
-				c_wstr(aname),
-				c_wstr(Constants::ATTRTYPE_CDATA),
-				c_wstr(value));
-		}
-	}
-}
-
-
-
-bool
-XSLTEngineImpl::pendingAttributesHasDefaultNS() const
-{
-	const AttributeListImpl&	thePendingAttributes =
-		getPendingAttributes();
-
-	const unsigned int	n = thePendingAttributes.getLength();
-
-	for(unsigned int i = 0; i < n; i++)
-	{
-		if(equals(thePendingAttributes.getName(i),
-				  DOMServices::s_XMLNamespace) == true)
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-void
-XSLTEngineImpl::flushPending()
-{
-	if(getHasPendingStartDocument() == true && 0 != length(getPendingElementName()))
-	{
-		assert(getFormatterListener() != 0);
-		assert(m_executionContext != 0);
-
-		if (m_stylesheetRoot->isOutputMethodSet() == false)
-		{
-			if (equalsIgnoreCaseASCII(getPendingElementName(),
-								 Constants::ELEMNAME_HTML_STRING) == true &&
-				pendingAttributesHasDefaultNS() == false)
-			{
-				if (getFormatterListener()->getOutputFormat() == FormatterListener::OUTPUT_METHOD_XML)
-				{
-					// Yuck!!! Ugly hack to switch to HTML on-the-fly.
-					FormatterToXML* const	theFormatter =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(FormatterToXML*)getFormatterListener();
-#else
-						static_cast<FormatterToXML*>(getFormatterListener());
-#endif
-
-					setFormatterListenerImpl(
-						m_executionContext->createFormatterToHTML(
-							*theFormatter->getWriter(),
-							theFormatter->getEncoding(),
-							theFormatter->getMediaType(),
-							theFormatter->getDoctypeSystem(),
-							theFormatter->getDoctypePublic(),
-							true,	// indent
-							theFormatter->getIndent() > 0 ? theFormatter->getIndent() :
-											StylesheetExecutionContext::eDefaultHTMLIndentAmount));
-				}
-			}
-		}
-	}
-
-	XalanDOMString&		thePendingElementName = getPendingElementNameImpl();
-
-	if(getHasPendingStartDocument() == true && getMustFlushPendingStartDocument() == true)
-	{
-		startDocument();
-	}
-
-	if(0 != length(thePendingElementName) && getMustFlushPendingStartDocument() == true)
-	{
-		assert(getFormatterListener() != 0);
-		assert(m_executionContext != 0);
-
-		m_cdataStack.push_back(isCDataResultElem(thePendingElementName) ? true : false);
-
-		AttributeListImpl&	thePendingAttributes =
-				getPendingAttributesImpl();
-
-		getFormatterListener()->startElement(c_wstr(thePendingElementName), thePendingAttributes);
-
-		if(getTraceListeners() > 0)
-		{
-			const GenerateEvent		ge(
-				GenerateEvent::EVENTTYPE_STARTELEMENT,
-				thePendingElementName,
-				&thePendingAttributes);
-
-			fireGenerateEvent(ge);
-		}
-
-		thePendingAttributes.clear();
-
-		clear(thePendingElementName);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::startElement(const XalanDOMChar*	name)
-{
-	assert(getFormatterListener() != 0);
-	assert(name != 0);
-
-	flushPending();
-
-	m_resultNamespacesStack.pushContext();
-
-	setPendingElementName(name);
-
-	setMustFlushPendingStartDocument(true);
-}
-
-
-
-void
-XSLTEngineImpl::startElement(
-			const XalanDOMChar*		name,
-			AttributeList&			atts)
-{
-	assert(getFormatterListener() != 0);
-	assert(name != 0);
-
-	flushPending();
-
-	const unsigned int	nAtts = atts.getLength();
-
-	assert(m_outputContextStack.size() > 0);
-
-	AttributeListImpl&	thePendingAttributes =
-		getPendingAttributesImpl();
-
-	thePendingAttributes.clear();
-
-	for(unsigned int i = 0; i < nAtts; i++)
-	{
-		thePendingAttributes.addAttribute(
-			atts.getName(i),
-			atts.getType(i),
-			atts.getValue(i));
-	}
-
-	m_resultNamespacesStack.pushContext();
-
-	setPendingElementName(name);
-}
-
-
-
-void
-XSLTEngineImpl::endElement(const XalanDOMChar*	name)
-{
-	assert(getFormatterListener() != 0);
-	assert(name != 0);
-
-	flushPending();
-
-	getFormatterListener()->endElement(name);
-
-	if(getTraceListeners() > 0)
-	{
-		const GenerateEvent		ge(GenerateEvent::EVENTTYPE_ENDELEMENT, name);
-
-		fireGenerateEvent(ge);
-	}
-
-	m_resultNamespacesStack.popContext();
-
-	if(m_stylesheetRoot->hasCDATASectionElements() == true)
-	{
-		m_cdataStack.pop_back();
-	}
-}
-
-
-
-void
-XSLTEngineImpl::characters(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type 	length)
-{
-	characters(ch,
-			   0,
-			   length);
-}
-
-
-
-void
-XSLTEngineImpl::characters(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	assert(getFormatterListener() != 0);
-	assert(ch != 0);
-
-	doFlushPending();
-
-	if(generateCDATASection() == true)
-	{
-		getFormatterListener()->cdata(ch + start, length);
-
-		if(getTraceListeners() > 0)
-		{
-			fireCharacterGenerateEvent(ch, start, length, true);
-		}
-	}
-	else
-	{
-		getFormatterListener()->characters(ch + start, length);
-
-		if(getTraceListeners() > 0)
-		{
-			fireCharacterGenerateEvent(ch, start, length, false);
-		}
-	}
-}
-
-
-
-void
-XSLTEngineImpl::characters(const XalanNode&		node)
-{
-	assert(getFormatterListener() != 0);
-
-	doFlushPending();
-
-	if(generateCDATASection() == true)
-	{
-		DOMServices::getNodeData(node, *getFormatterListener(), &FormatterListener::cdata);
-
-		if(getTraceListeners() > 0)
-		{
-			fireCharacterGenerateEvent(node, true);
-		}
-	}
-	else
-	{
-		DOMServices::getNodeData(node, *getFormatterListener(), &FormatterListener::characters);
-
-		if(getTraceListeners() > 0)
-		{
-			fireCharacterGenerateEvent(node, false);
-		}
-	}
-}
-
-
-
-void
-XSLTEngineImpl::characters(const XObjectPtr&	xobject)
-{
-	assert(getFormatterListener() != 0);
-	assert(xobject.null() == false);
-
-	doFlushPending();
-
-	if(generateCDATASection() == true)
-	{
-		xobject->str(*getFormatterListener(), &FormatterListener::cdata);
-
-		if(getTraceListeners() > 0)
-		{
-			fireCharacterGenerateEvent(xobject, true);
-		}
-	}
-	else
-	{
-		xobject->str(*getFormatterListener(), &FormatterListener::characters);
-
-		if(getTraceListeners() > 0)
-		{
-			fireCharacterGenerateEvent(xobject, false);
-		}
-	}
-}
-
-
-
-void 
-XSLTEngineImpl::charactersRaw(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	assert(ch != 0);
-
-	doFlushPending();
-
-	getFormatterListener()->charactersRaw(ch, length);
-
-	if(getTraceListeners() > 0)
-	{
-		fireCharacterGenerateEvent(ch, start, length, false);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::charactersRaw(const XalanNode&	node)
-{
-	doFlushPending();
-
-	DOMServices::getNodeData(node, *getFormatterListener(), &FormatterListener::charactersRaw);
-
-	if(getTraceListeners() > 0)
-	{
-		fireCharacterGenerateEvent(node, false);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::charactersRaw(const XObjectPtr&		xobject)
-{
-	doFlushPending();
-
-	xobject->str(*getFormatterListener(), &FormatterListener::charactersRaw);
-
-	if(getTraceListeners() > 0)
-	{
-		fireCharacterGenerateEvent(xobject, false);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::resetDocument()
-{
-	assert(getFormatterListener() != 0);
-
-	flushPending();
-	
-	getFormatterListener()->resetDocument();
-}
-
-
-
-void
-XSLTEngineImpl::ignorableWhitespace(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	length)
-{
-	assert(getFormatterListener() != 0);
-	assert(ch != 0);
-
-	doFlushPending();
-
-	getFormatterListener()->ignorableWhitespace(ch, length);
-
-	if(getTraceListeners() > 0)
-	{
-		GenerateEvent ge(GenerateEvent::EVENTTYPE_IGNORABLEWHITESPACE,
-					ch, 0, length);
-
-		fireGenerateEvent(ge);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::processingInstruction(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data)
-{
-	assert(getFormatterListener() != 0);
-	assert(target != 0);
-	assert(data != 0);
-
-	doFlushPending();
-
-	getFormatterListener()->processingInstruction(target, data);
-
-	if(getTraceListeners() > 0)
-	{
-		GenerateEvent ge(
-				GenerateEvent::EVENTTYPE_PI,
-                target,
-				data);
-
-		fireGenerateEvent(ge);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::comment(const XalanDOMChar*		data)
-{
-	assert(getFormatterListener() != 0);
-	assert(data != 0);
-
-	doFlushPending();
-
-	getFormatterListener()->comment(data);
-
-	if(getTraceListeners() > 0)
-	{
-		GenerateEvent ge(GenerateEvent::EVENTTYPE_COMMENT,
-                                          data);
-		fireGenerateEvent(ge);
-	}
-}
-
-
-void
-XSLTEngineImpl::entityReference(const XalanDOMChar*		name)
-{
-	assert(getFormatterListener() != 0);
-	assert(name != 0);
-
-	doFlushPending();
-
-	getFormatterListener()->entityReference(name);
-
-	if(getTraceListeners() > 0)
-	{
-		GenerateEvent ge(GenerateEvent::EVENTTYPE_ENTITYREF,
-                                          name);
-
-		fireGenerateEvent(ge);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::cdata(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length)
-{
-	assert(getFormatterListener() != 0);
-	assert(ch != 0);
-
-	setMustFlushPendingStartDocument(true);
-
-	flushPending();
-
-	if(m_stylesheetRoot->hasCDATASectionElements() == true &&
-	   0 != m_cdataStack.size())
-	{
-		getFormatterListener()->cdata(ch, length);
-
-		if(getTraceListeners() > 0)
-		{
-			GenerateEvent ge(GenerateEvent::EVENTTYPE_CDATA, ch, start,
-					length);
-
-			fireGenerateEvent(ge);
-		}
-	}
-	else
-	{
-		getFormatterListener()->characters(ch, length);
-
-		if(getTraceListeners() > 0)
-		{
-			GenerateEvent ge(GenerateEvent::EVENTTYPE_CHARACTERS, ch,
-					start, length);
-
-			fireGenerateEvent(ge);
-		}
-	}
-}
-
-
-
-void
-XSLTEngineImpl::checkDefaultNamespace(
-			const XalanDOMString&	theElementName,
-			const XalanDOMString&	theElementNamespaceURI)
-{
-	// Check for elements with no prefix...
-	if (indexOf(theElementName, XalanUnicode::charColon) == theElementName.length())
-	{
-		// Get the current default namespace URI..
-		const XalanDOMString* const		theResultNamespace =
-			getResultNamespaceForPrefix(s_emptyString);
-
-		// If there is one, and the URIs are different, add a new declaration.  This
-		// will also "turn-off" the default namespace, if necessary.
-		if (theResultNamespace != 0 && theElementNamespaceURI != *theResultNamespace)
-		{
-			addResultAttribute(DOMServices::s_XMLNamespace, theElementNamespaceURI);
-		}
-	}
-}
-
-
-
-void
-XSLTEngineImpl::cloneToResultTree(
-			XalanNode&					node,
-			XalanNode::NodeType			nodeType,
-			bool						isLiteral,
-			bool						overrideStrip,
-			bool						shouldCloneAttributes,
-			const ElemTemplateElement*	styleNode)
-{
-	assert(nodeType == node.getNodeType());
-	assert(m_executionContext != 0);
-
-	switch(nodeType)
-	{
-	case XalanNode::TEXT_NODE:
-		{
-			bool	stripWhiteSpace = false;
-
-			// If stripWhiteSpace is false, then take this as an override and 
-			// just preserve the space, otherwise use the XSL whitespace rules.
-			if(!overrideStrip)
-			{
-				stripWhiteSpace = isLiteral ? true : false;
-				// stripWhiteSpace = isLiteral ? true : shouldStripSourceNode(*m_executionContext, node);
-			}
-
-			const XalanText& 	tx =
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(const XalanText&)node;
-#else
-				static_cast<const XalanText&>(node);
-#endif
-
-			const bool	isIgnorableWhitespace = tx.isIgnorableWhitespace();
-
-			if(stripWhiteSpace == false || isIgnorableWhitespace == false)
-			{
-				assert(tx.getParentNode() == 0 ||
-					   tx.getParentNode()->getNodeType() != XalanNode::DOCUMENT_NODE);
-
-				const XalanDOMString&	data = tx.getData();
-
-				if(0 != length(data))
-				{
-					if(isIgnorableWhitespace == true)
-					{
-						ignorableWhitespace(toCharArray(data), length(data));
-					}
-					else
-					{
-						characters(toCharArray(data), 0, length(data));
-					}
-				}
-			}			
-		}
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		{
-			const XalanDOMString&	theElementName =
-				node.getNodeName();
-
-			startElement(c_wstr(theElementName));
-
-			if(shouldCloneAttributes == true)
-			{
-				copyAttributesToAttList(
-					node,
-					getPendingAttributesImpl());
-
-				copyNamespaceAttributes(node);
-			}
-
-			checkDefaultNamespace(theElementName, node.getNamespaceURI());
-		}
-		break;
-
-	case XalanNode::CDATA_SECTION_NODE:
-		{
-			const XalanDOMString& 	data = node.getNodeValue();
-
-			cdata(toCharArray(data), 0, length(data));
-		}
-		break;
-
-	case XalanNode::ATTRIBUTE_NODE:
-		if (length(getPendingElementName()) != 0)
-		{
-			addResultAttribute(
-					getPendingAttributesImpl(),
-					node.getNodeName(),
-					node.getNodeValue());
-		}
-		else
-		{
-			const Locator*		theLocator = 0;
-			const char* const	theErrorMessage =
-				"Attempting to add an attribute when there is no open element.  The attribute will be ignored";
-
-			if (styleNode != 0)
-			{
-				theLocator = styleNode->getLocator();
-			}
-
-			if (theLocator != 0)
-			{
-				warn(
-					XalanDOMString(theErrorMessage),
-					*theLocator,
-					&node);
-			}
-			else
-			{
-				warn(
-					XalanDOMString(theErrorMessage),
-					&node,
-					styleNode);
-			}
-		}
-		break;
-
-	case XalanNode::COMMENT_NODE:
-		comment(c_wstr(node.getNodeValue()));
-		break;
-
-	case XalanNode::DOCUMENT_FRAGMENT_NODE:
-		error("No clone of a document fragment!");
-		break;
-	
-	case XalanNode::ENTITY_REFERENCE_NODE:
-		entityReference(c_wstr(node.getNodeName()));
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		processingInstruction(
-				c_wstr(node.getNodeName()),
-				c_wstr(node.getNodeValue()));
-		break;
-
-	// Can't really do this, but we won't throw an error so that copy-of will
-	// work
-	case XalanNode::DOCUMENT_NODE:
-	case XalanNode::DOCUMENT_TYPE_NODE:
-	break;
-
-	default:
-		error("Cannot create item in result tree: " + node.getNodeName());
-	break;
-
-	}
-}
-
-
-
-void
-XSLTEngineImpl::outputResultTreeFragment(const XObject&		theTree)
-{
-	const ResultTreeFragBase&	docFrag = theTree.rtree();
-
-	const XalanNodeList* const	nl = docFrag.getChildNodes();
-	assert(nl != 0);
-
-	const unsigned int			nChildren = nl->getLength();
-
-	for(unsigned int i = 0; i < nChildren; i++)
-	{
-		XalanNode*				pos = nl->item(i);
-		assert(pos != 0);
-
-		XalanNode::NodeType		posNodeType = pos->getNodeType();
-
-		XalanNode* const		top = pos;
-
-		while(0 != pos)
-		{
-			flushPending();
-
-			cloneToResultTree(*pos, posNodeType, false, false, true);
-
-			XalanNode*	nextNode = pos->getFirstChild();
-
-			while(0 == nextNode)
-			{
-				if(XalanNode::ELEMENT_NODE == posNodeType)
-				{
-					endElement(c_wstr(pos->getNodeName()));
-				}
-
-				if(top == pos)
-					break;
-
-				nextNode = pos->getNextSibling();
-
-				if(0 == nextNode)
-				{
-					pos = pos->getParentNode();
-
-					if(0 == pos)
-					{
-						nextNode = 0;
-
-						break;
-					}
-					else
-					{
-						assert(0 != pos);
-
-						posNodeType = pos->getNodeType();
-
-						if(top == pos)
-						{
-							if(XalanNode::ELEMENT_NODE == posNodeType)
-							{
-								endElement(c_wstr(pos->getNodeName()));
-							}
-
-							nextNode = 0;
-
-							break;
-						}
-					}
-				}
-			}
-
-			pos = nextNode;
-
-			if (pos != 0)
-			{
-				posNodeType = pos->getNodeType();
-			}
-		}
-	}
-}
-
-
-
-bool
-XSLTEngineImpl::isCDataResultElem(const XalanDOMString&		elementName) const
-{
-	assert(m_executionContext != 0);
-
-	if(m_stylesheetRoot->hasCDATASectionElements() == false)
-	{
-		return false;
-	}
-	else
-	{
-		bool	fResult = false;
-
-		const XalanDOMString::size_type		indexOfNSSep = indexOf(elementName, XalanUnicode::charColon);
-
-		if(indexOfNSSep == length(elementName))
-		{
-			const XalanDOMString* const		elemNS =
-					getResultNamespaceForPrefix(s_emptyString);
-
-			if (elemNS != 0)
-			{
-				fResult = m_stylesheetRoot->isCDATASectionElementName(XalanQNameByReference(*elemNS, elementName));
-			}
-			else
-			{
-				fResult = m_stylesheetRoot->isCDATASectionElementName(XalanQNameByReference(s_emptyString, elementName));
-			}
-		}
-		else
-		{
-			typedef StylesheetExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-			GetAndReleaseCachedString	elemLocalNameGuard(*m_executionContext);
-			GetAndReleaseCachedString	prefixGuard(*m_executionContext);
-
-			XalanDOMString&		elemLocalName = elemLocalNameGuard.get();
-			XalanDOMString&		prefix = prefixGuard.get();
-
-			substring(elementName, prefix, 0, indexOfNSSep);
-			substring(elementName, elemLocalName, indexOfNSSep + 1);
-
-			if(equals(prefix, DOMServices::s_XMLString))
-			{
-				fResult =
-					m_stylesheetRoot->isCDATASectionElementName(XalanQNameByReference(DOMServices::s_XMLNamespaceURI, elemLocalName));
-			}
-			else
-			{
-				const XalanDOMString* const		elemNS =
-					getResultNamespaceForPrefix(prefix);
-
-				if(elemNS == 0)
-				{
-					error("Prefix must resolve to a namespace: " + prefix);
-				}
-				else
-				{
-					fResult =
-						m_stylesheetRoot->isCDATASectionElementName(XalanQNameByReference(*elemNS, elemLocalName));
-				}
-			}
-		}
-
-		return fResult;
-	}
-}
-	
-
-
-const XalanDOMString*
-XSLTEngineImpl::getResultNamespaceForPrefix(const XalanDOMString&	prefix) const
-{
-	return m_resultNamespacesStack.getNamespaceForPrefix(prefix);
-}
-  
-
-
-const XalanDOMString*
-XSLTEngineImpl::getResultPrefixForNamespace(const XalanDOMString&	theNamespace) const
-{
-	return m_resultNamespacesStack.getPrefixForNamespace(theNamespace);
-}
-
-
-
-inline bool
-isPrefixUsed(
-			const XalanDOMString&		thePrefix,
-			XalanDOMString::size_type	thePrefixLength,
-			const XalanDOMChar*			theName,
-			XalanDOMString::size_type	theNameLength)
-{
-	assert(thePrefixLength != 0);
-
-	// The name must be greater than the length of the prefix + 1, since
-	// there must be a ':' to separate the prefix from the local part...
-	if (theNameLength <= thePrefixLength + 1)
-	{
-		return false;
-	}
-	else
-	{
-		assert(theName != 0);
-
-		const XalanDOMString::size_type		theIndex = indexOf(
-			theName,
-			XalanUnicode::charColon);
-
-		// OK, if the index of the ':' is the same as the length of the prefix,
-		// and theElementName starts with thePrefix, then the prefix is in use.
-		if (theIndex == thePrefixLength &&
-			startsWith(theName, thePrefix) == true)
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-}
-
-
-
-inline bool
-isPrefixUsed(
-			const XalanDOMString&		thePrefix,
-			XalanDOMString::size_type	thePrefixLength,
-			const XalanDOMString&		theName)
-{
-	return isPrefixUsed(thePrefix, thePrefixLength, c_wstr(theName), length(theName));
-}
-
-
-
-inline bool
-isPrefixUsedOrDeclared(
-			const XalanDOMString&		thePrefix,
-			XalanDOMString::size_type	thePrefixLength,
-			const XalanDOMChar*			theName,
-			XalanDOMString::size_type	theNameLength)
-{
-	if (isPrefixUsed(thePrefix, thePrefixLength, theName, theNameLength) == true)
-	{
-		return true;
-	}
-	else
-	{
-		const XalanDOMString::size_type		theDeclarationLength =
-			thePrefixLength + DOMServices::s_XMLNamespaceWithSeparatorLength;
-
-		// If this is a namespace declaration for this prefix, then all of
-		// these conditions must be true...
-		if (theDeclarationLength == theNameLength &&
-			startsWith(theName, DOMServices::s_XMLNamespaceWithSeparator) == true &&
-			endsWith(theName, c_wstr(thePrefix)) == true)
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-}
-
-
-
-inline bool
-isPendingAttributePrefix(
-			const AttributeList&		thePendingAttributes,
-			const XalanDOMString&		thePrefix,
-			XalanDOMString::size_type	thePrefixLength)
-{
-	const unsigned int	thePendingAttributesCount =
-				thePendingAttributes.getLength();
-
-	if (thePendingAttributesCount == 0)
-	{
-		// No attributes, no problem...
-		return false;
-	}
-	else
-	{
-		bool	fResult = false;
-
-		// Check each attribute...
-		for (unsigned int i = 0; i < thePendingAttributesCount; ++i)
-		{
-			const XalanDOMChar* const	thePendingAttributeName =
-							thePendingAttributes.getName(i);
-			assert(thePendingAttributeName != 0);
-
-			if (isPrefixUsedOrDeclared(
-					thePrefix,
-					thePrefixLength,
-					thePendingAttributeName,
-					length(thePendingAttributeName)) == true)
-			{
-				fResult = true;
-
-				break;
-			}
-		}
-
-		return fResult;
-	}
-}
-
-
-
-bool
-XSLTEngineImpl::isPendingResultPrefix(const XalanDOMString&		thePrefix) const
-{
-	const XalanDOMString::size_type		thePrefixLength = length(thePrefix);
-	assert(thePrefixLength > 0);
-
-	// The element name must be greater than the length of the prefix + 1, since
-	// there must be a ':' to separate the prefix from the local part...
-	if (isPrefixUsed(thePrefix, thePrefixLength, getPendingElementName()) == true)
-	{
-		return true;
-	}
-	else
-	{
-		// The element is not using the prefix, so check the
-		// pending attributes...
-		return isPendingAttributePrefix(
-						getPendingAttributes(),
-						thePrefix,
-						thePrefixLength);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::addResultNamespace(
-			const XalanDOMString&	thePrefix,
-			const XalanDOMString&	theName,
-			const XalanNode&		theNode,
-			AttributeListImpl&		thePendingAttributes,
-			bool					fOnlyIfPrefixNotPresent)
-{
-	if (fOnlyIfPrefixNotPresent == false ||
-		m_resultNamespacesStack.prefixIsPresentLocal(thePrefix) == false)
-	{
-		const XalanDOMString* const 	desturi = getResultNamespaceForPrefix(thePrefix);
-		const XalanDOMString&			srcURI = theNode.getNodeValue();
-
-		if(desturi == 0 || equals(srcURI, *desturi) == false)
-		{
-			addResultAttribute(thePendingAttributes, theName, srcURI);
-		}
-	}
-}
-
-
-
-void
-XSLTEngineImpl::addResultNamespace(
-			const XalanNode&	theNode,
-			AttributeListImpl&	thePendingAttributes,
-			bool				fOnlyIfPrefixNotPresent)
-{
-	assert(m_executionContext != 0);
-	assert(theNode.getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
-	const XalanDOMString& 	aname = theNode.getNodeName();
-
-	if (equals(aname, DOMServices::s_XMLNamespace) == true)
-	{
-		// Default namespace declaration...
-		addResultNamespace(s_emptyString, aname, theNode, thePendingAttributes, fOnlyIfPrefixNotPresent);
-	}
-	else if (startsWith(aname, DOMServices::s_XMLNamespaceWithSeparator))
-	{
-		StylesheetExecutionContext::GetAndReleaseCachedString	prefixGuard(*m_executionContext);
-
-		XalanDOMString& 	thePrefix = prefixGuard.get();
-
-		substring(aname, thePrefix, DOMServices::s_XMLNamespaceWithSeparatorLength);
-
-		addResultNamespace(thePrefix, aname, theNode, thePendingAttributes, fOnlyIfPrefixNotPresent);
-	}
-}
-
-
-
-void
-XSLTEngineImpl::copyNamespaceAttributes(const XalanNode&	src) 
-{
-	const XalanNode*	parent = &src;
-
-	while (parent != 0 &&
-		   parent->getNodeType() == XalanNode::ELEMENT_NODE) 
-	{
-		const XalanNamedNodeMap* const	nnm =
-				parent->getAttributes();
-		assert(nnm != 0);
-
-		const unsigned int	nAttrs = nnm->getLength();
-
-		assert(m_outputContextStack.size() > 0);
-
-		AttributeListImpl&	thePendingAttributes =
-				getPendingAttributesImpl();
-
-		for (unsigned int i = 0;  i < nAttrs; i++) 
-		{
-			const XalanNode* const	attr = nnm->item(i);
-			assert(attr != 0);
-
-			addResultNamespace(*attr, thePendingAttributes, true);
-		}
-
-		parent = parent->getParentNode();
-	}
-}
-
-
-
-const XObjectPtr
-XSLTEngineImpl::evalXPathStr(
-			const XalanDOMString&	str,
-			XPathExecutionContext&	executionContext)
-{
-	assert(executionContext.getPrefixResolver() != 0);
-
-	XPath* const	theXPath = m_xpathFactory.create();
-
-	XPathGuard	theGuard(m_xpathFactory,
-						 theXPath);
-
-    m_xpathProcessor->initXPath(*theXPath,
-								str,
-								*executionContext.getPrefixResolver(),
-								getLocatorFromStack());
-
-    return theXPath->execute(executionContext.getCurrentNode(),
-							 *executionContext.getPrefixResolver(),
-							 executionContext);
-}
-
-
-
-const XObjectPtr
-XSLTEngineImpl::evalXPathStr(
-			const XalanDOMString&	str,
-			XalanNode*				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext)
-{
-	XPath* const	theXPath = m_xpathFactory.create();
-
-	XPathGuard	theGuard(m_xpathFactory,
-						 theXPath);
-
-    m_xpathProcessor->initXPath(*theXPath,
-								str,
-								prefixResolver,
-								getLocatorFromStack());
-
-    return theXPath->execute(contextNode, prefixResolver, executionContext);
-}
-
-
-
-const XObjectPtr
-XSLTEngineImpl::evalXPathStr(
-			const XalanDOMString&	str,
-			XalanNode*				contextNode,
-			const XalanElement&		prefixResolver,
-			XPathExecutionContext&	executionContext)
-{
-	ElementPrefixResolverProxy	theProxy(&prefixResolver,
-										 m_xpathEnvSupport,
-										 m_domSupport);
-
-	return evalXPathStr(str, contextNode, theProxy, executionContext);
-}
-
-
-
-
-/**
- * Create and initialize an xpath and return it.
- */
-const XPath*
-XSLTEngineImpl::createMatchPattern(
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver)
-{
-	XPath* const	xpath = m_xpathFactory.create();
-
-	m_xpathProcessor->initMatchPattern(*xpath, str, resolver, getLocatorFromStack());
-
-	return xpath;
-}
-
-
-
-void
-XSLTEngineImpl::returnXPath(const XPath*	xpath)
-{
-	m_xpathFactory.returnObject(xpath);
-}
-
-
-
-inline void
-XSLTEngineImpl::copyAttributeToTarget(
-			const XalanDOMString&	attrName,
-			const XalanDOMString&	attrValue,
-			AttributeListImpl&		attrList)
-{
-	addResultAttribute(attrList, attrName, attrValue);
-}
-
-
-
-void
-XSLTEngineImpl::copyAttributesToAttList(
-			const XalanNode& 	node,
-			AttributeListImpl&	attList)
-{
-	assert(m_stylesheetRoot != 0);
-
-	const XalanNamedNodeMap* const	attributes =
-		node.getAttributes();
-
-	if (attributes != 0)
-	{
-		const unsigned int	nAttributes = attributes->getLength();
-
-		for(unsigned int i = 0; i < nAttributes; ++i)  
-		{	
-			const XalanNode* const 	attr = attributes->item(i);
-			assert(attr != 0);
-
-			copyAttributeToTarget(
-				attr->getNodeName(),
-				attr->getNodeValue(),
-				attList);
-		}
-	}
-}
-
-
-
-bool
-XSLTEngineImpl::shouldStripSourceNode(
-			XPathExecutionContext&	executionContext,
-			const XalanNode&		textNode) const
-{
-	if (m_hasStripOrPreserveSpace == false || m_stylesheetRoot == 0)
-	{
-		return false;
-	}
-	else
-	{
-		bool	strip = false; // return value
-
-		assert(m_stylesheetRoot->getWhitespacePreservingElements().size() > 0 ||
-			   m_stylesheetRoot->getWhitespaceStrippingElements().size() > 0);
-
-		const XalanNode::NodeType	type = textNode.getNodeType();
-
-		if(XalanNode::TEXT_NODE == type || XalanNode::CDATA_SECTION_NODE == type)
-		{
-			const XalanText& 	theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-					(const XalanText&)textNode;
-#else
-					static_cast<const XalanText&>(textNode);
-#endif
-
-			if(!theTextNode.isIgnorableWhitespace())
-			{
-				const XalanDOMString&	data = theTextNode.getData();
-
-				if(0 == length(data))
-				{
-					return true;
-				}
-				else if(!isXMLWhitespace(data))
-				{
-					return false;
-				}
-			}
-
-			XalanNode*	parent = DOMServices::getParentOfNode(textNode);
-
-			while(0 != parent)
-			{
-				if(parent->getNodeType() == XalanNode::ELEMENT_NODE)
-				{
-					const XalanElement*	const	parentElem =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const XalanElement*)parent;
-#else
-						static_cast<const XalanElement*>(parent);
-#endif
-
-					XPath::eMatchScore	highPreserveScore = XPath::eMatchScoreNone;
-					XPath::eMatchScore	highStripScore = XPath::eMatchScoreNone;
-
-					ElementPrefixResolverProxy	theProxy(parentElem, m_xpathEnvSupport, m_domSupport);
-
-					{
-						// $$$ ToDo:  All of this should be moved into a member of
-						// Stylesheet, so as not to expose these two data members...
-						typedef Stylesheet::XPathVectorType		XPathVectorType;
-
-						const XPathVectorType&	theElements =
-								m_stylesheetRoot->getWhitespacePreservingElements();
-
-						const XPathVectorType::size_type	nTests =
-								theElements.size();
-
-						for(XPathVectorType::size_type i = 0; i < nTests; i++)
-						{
-							const XPath* const	matchPat = theElements[i];
-							assert(matchPat != 0);
-
-							const XPath::eMatchScore	score = matchPat->getMatchScore(parent, theProxy, executionContext);
-
-							if(score > highPreserveScore)
-								highPreserveScore = score;
-						}
-					}
-
-					{
-						typedef Stylesheet::XPathVectorType		XPathVectorType;
-
-						const XPathVectorType&	theElements =
-								m_stylesheetRoot->getWhitespaceStrippingElements();
-
-						const XPathVectorType::size_type	nTests =
-							theElements.size();
-
-						for(XPathVectorType::size_type i = 0; i < nTests; i++)
-						{
-							const XPath* const	matchPat =
-									theElements[i];
-							assert(matchPat != 0);
-
-							const XPath::eMatchScore	score = matchPat->getMatchScore(parent, theProxy, executionContext);
-
-							if(score > highStripScore)
-								highStripScore = score;
-						}
-					}
-
-					if(highPreserveScore > XPath::eMatchScoreNone ||
-					   highStripScore > XPath::eMatchScoreNone)
-					{
-						if(highPreserveScore > highStripScore)
-						{
-							strip = false;
-						}
-						else if(highStripScore > highPreserveScore)
-						{
-							strip = true;
-						}
-						else
-						{
-							warn("Match conflict between xsl:strip-space and xsl:preserve-space");
-						}
-						break;
-					}
-				}
-
-				parent = parent->getParentNode();
-			}
-		}
-
-		return strip;
-	}
-}
-
-
-
-XMLParserLiaison&
-XSLTEngineImpl::getXMLParserLiaison() const
-{
-	return m_parserLiaison;
-}
-
-
-
-const XalanDOMString
-XSLTEngineImpl::getUniqueNamespaceValue()
-{
-	XalanDOMString	theResult;
-
-	getUniqueNamespaceValue(theResult);
-
-	return theResult;
-}
-
-
-
-void
-XSLTEngineImpl::getUniqueNamespaceValue(XalanDOMString&		theValue)
-{
-	do
-	{
-		assign(m_scratchString, s_uniqueNamespacePrefix);
-
-		UnsignedLongToDOMString(m_uniqueNSValue++, m_scratchString);
-	} while(getResultNamespaceForPrefix(m_scratchString) != 0);
-
-	append(theValue, m_scratchString);
-}
-
-
-
-XalanDocument*
-XSLTEngineImpl::getDOMFactory() const
-{
-	if(m_domResultTreeFactory == 0)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XSLTEngineImpl*)this)->m_domResultTreeFactory = m_parserLiaison.createDOMFactory();
-#else
-		m_domResultTreeFactory = m_parserLiaison.createDOMFactory();
-#endif
-	}
-
-	return m_domResultTreeFactory;
-}
-
-
-
-void
-XSLTEngineImpl::setStylesheetParam(
-			const XalanDOMString&	theName,
-			const XalanDOMString&	expression)
-{
-	const XalanQNameByValue		qname(theName, 0, m_xpathEnvSupport, m_domSupport);
-
-	m_topLevelParams.push_back(ParamVectorType::value_type(qname, expression));
-}
-
-
-
-void
-XSLTEngineImpl::setStylesheetParam(
-			const XalanDOMString&	theName,
-			XObjectPtr				theValue)
-{
-	const XalanQNameByValue		qname(theName, 0, m_xpathEnvSupport, m_domSupport);
-
-	m_topLevelParams.push_back(ParamVectorType::value_type(qname, theValue));
-}
-
-
-
-void
-XSLTEngineImpl::resolveTopLevelParams(StylesheetExecutionContext&	executionContext)
-{
-	executionContext.pushTopLevelVariables(m_topLevelParams);
-}
-
-
-
-FormatterListener*
-XSLTEngineImpl::getFormatterListener() const
-{
-	return getFormatterListenerImpl();
-}
-
-
-
-void
-XSLTEngineImpl::setFormatterListener(FormatterListener*		flistener)
-{
-	if (getHasPendingStartDocument() == true && getFormatterListener() != 0)
-	{
-		setMustFlushPendingStartDocument(true);
-
-		flushPending();
-	}
-
-	setFormatterListenerImpl(flistener);
-}
-
-
-
-void
-XSLTEngineImpl::fireCharacterGenerateEvent(
-			const XalanNode&	theNode,
-			bool				isCDATA)
-{
-	fireCharacterGenerateEvent(DOMServices::getNodeData(theNode), isCDATA);
-}
-
-
-
-void
-XSLTEngineImpl::fireCharacterGenerateEvent(
-			const XObjectPtr&	theXObject,
-			bool				isCDATA)
-{
-	fireCharacterGenerateEvent(theXObject->str(), isCDATA);
-}
-
-
-
-void
-XSLTEngineImpl::fireCharacterGenerateEvent(
-			const XalanDOMString&	theString,
-			bool					isCDATA)
-{
-	fireCharacterGenerateEvent(c_wstr(theString), 0, length(theString), isCDATA);
-}
-
-
-
-void
-XSLTEngineImpl::fireCharacterGenerateEvent(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length,
-			bool						isCDATA)
-{
-	const GenerateEvent		ge(
-		isCDATA == true ? GenerateEvent::EVENTTYPE_CDATA : GenerateEvent::EVENTTYPE_CHARACTERS,
-		ch,
-		start,
-		length);
-
-	fireGenerateEvent(ge);
-}
-
-
-
-void
-XSLTEngineImpl::installFunctions()
-{
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("current")), FunctionCurrent());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("document")), FunctionDocument());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("element-available")), FunctionElementAvailable());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("function-available")), FunctionFunctionAvailable());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")), FunctionFormatNumber());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("generate-id")), FunctionGenerateID());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("key")), FunctionKey());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("system-property")), FunctionSystemProperty());
-	XPath::installFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("unparsed-entity-uri")), FunctionUnparsedEntityURI());
-}
-
-
-
-void
-XSLTEngineImpl::uninstallFunctions()
-{
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("current")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("document")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("element-available")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("function-available")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("generate-id")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("key")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("system-property")));
-	XPath::uninstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("unparsed-entity-uri")));
-}
-
-
-
-void
-XSLTEngineImpl::initializeAttributeKeysTable(AttributeKeysMapType&	theAttributeKeys)
-{
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_METHOD] = Constants::TATTRNAME_OUTPUT_METHOD;
-	theAttributeKeys[Constants::ATTRNAME_AMOUNT] = Constants::TATTRNAME_AMOUNT;
-	theAttributeKeys[Constants::ATTRNAME_ANCESTOR] = Constants::TATTRNAME_ANCESTOR;
-	theAttributeKeys[Constants::ATTRNAME_ATTRIBUTE] = Constants::TATTRNAME_ATTRIBUTE;
-	theAttributeKeys[Constants::ATTRNAME_ATTRIBUTE_SET] = Constants::TATTRNAME_ATTRIBUTE_SET;
-	theAttributeKeys[Constants::ATTRNAME_CASEORDER] = Constants::TATTRNAME_CASEORDER;
-	theAttributeKeys[Constants::ATTRNAME_CLASS] = Constants::TATTRNAME_CLASS;
-	theAttributeKeys[Constants::ATTRNAME_CLASSID] = Constants::TATTRNAME_CLASSID;
-	theAttributeKeys[Constants::ATTRNAME_CODEBASE] = Constants::TATTRNAME_CODEBASE;
-	theAttributeKeys[Constants::ATTRNAME_CODETYPE] = Constants::TATTRNAME_CODETYPE;
-	theAttributeKeys[Constants::ATTRNAME_CONDITION] = Constants::TATTRNAME_CONDITION;
-	theAttributeKeys[Constants::ATTRNAME_COPYTYPE] = Constants::TATTRNAME_COPYTYPE;
-	theAttributeKeys[Constants::ATTRNAME_COUNT] = Constants::TATTRNAME_COUNT;
-	theAttributeKeys[Constants::ATTRNAME_DATATYPE] = Constants::TATTRNAME_DATATYPE;
-	theAttributeKeys[Constants::ATTRNAME_DEFAULT] = Constants::TATTRNAME_DEFAULT;
-	theAttributeKeys[Constants::ATTRNAME_DEFAULTSPACE] = Constants::TATTRNAME_DEFAULTSPACE;
-	theAttributeKeys[Constants::ATTRNAME_DEPTH] = Constants::TATTRNAME_DEPTH;
-	theAttributeKeys[Constants::ATTRNAME_DIGITGROUPSEP] = Constants::TATTRNAME_DIGITGROUPSEP;
-	theAttributeKeys[Constants::ATTRNAME_DISABLE_OUTPUT_ESCAPING] = Constants::TATTRNAME_DISABLE_OUTPUT_ESCAPING;
-	theAttributeKeys[Constants::ATTRNAME_ELEMENT] = Constants::TATTRNAME_ELEMENT;
-	theAttributeKeys[Constants::ATTRNAME_ELEMENTS] = Constants::TATTRNAME_ELEMENTS;
-	theAttributeKeys[Constants::ATTRNAME_EXPR] = Constants::TATTRNAME_EXPR;
-	theAttributeKeys[Constants::ATTRNAME_EXTENSIONELEMENTPREFIXES] = Constants::TATTRNAME_EXTENSIONELEMENTPREFIXES;
-	theAttributeKeys[Constants::ATTRNAME_FORMAT] = Constants::TATTRNAME_FORMAT;
-	theAttributeKeys[Constants::ATTRNAME_FROM] = Constants::TATTRNAME_FROM;
-	theAttributeKeys[Constants::ATTRNAME_GROUPINGSEPARATOR] = Constants::TATTRNAME_GROUPINGSEPARATOR;
-	theAttributeKeys[Constants::ATTRNAME_GROUPINGSIZE] = Constants::TATTRNAME_GROUPINGSIZE;
-	theAttributeKeys[Constants::ATTRNAME_HREF] = Constants::TATTRNAME_HREF;
-	theAttributeKeys[Constants::ATTRNAME_ID] = Constants::TATTRNAME_ID;
-	theAttributeKeys[Constants::ATTRNAME_IMPORTANCE] = Constants::TATTRNAME_IMPORTANCE;
-	theAttributeKeys[Constants::ATTRNAME_INDENTRESULT] = Constants::TATTRNAME_INDENTRESULT;
-	theAttributeKeys[Constants::ATTRNAME_LANG] = Constants::TATTRNAME_LANG;
-	theAttributeKeys[Constants::ATTRNAME_LETTERVALUE] = Constants::TATTRNAME_LETTERVALUE;
-	theAttributeKeys[Constants::ATTRNAME_LEVEL] = Constants::TATTRNAME_LEVEL;
-	theAttributeKeys[Constants::ATTRNAME_MATCH] = Constants::TATTRNAME_MATCH;
-	theAttributeKeys[Constants::ATTRNAME_METHOD] = Constants::TATTRNAME_METHOD;
-	theAttributeKeys[Constants::ATTRNAME_MODE] = Constants::TATTRNAME_MODE;
-	theAttributeKeys[Constants::ATTRNAME_NAME] = Constants::TATTRNAME_NAME;
-	theAttributeKeys[Constants::ATTRNAME_NAMESPACE] = Constants::TATTRNAME_NAMESPACE;
-	theAttributeKeys[Constants::ATTRNAME_NDIGITSPERGROUP] = Constants::TATTRNAME_NDIGITSPERGROUP;
-	theAttributeKeys[Constants::ATTRNAME_NS] = Constants::TATTRNAME_NS;
-	theAttributeKeys[Constants::ATTRNAME_ONLY] = Constants::TATTRNAME_ONLY;
-	theAttributeKeys[Constants::ATTRNAME_ORDER] = Constants::TATTRNAME_ORDER;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS] = Constants::TATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_DOCTYPE_PUBLIC] = Constants::TATTRNAME_OUTPUT_DOCTYPE_PUBLIC;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_DOCTYPE_SYSTEM] = Constants::TATTRNAME_OUTPUT_DOCTYPE_SYSTEM;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_ENCODING] = Constants::TATTRNAME_OUTPUT_ENCODING;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_INDENT] = Constants::TATTRNAME_OUTPUT_INDENT;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_MEDIATYPE] = Constants::TATTRNAME_OUTPUT_MEDIATYPE;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_STANDALONE] = Constants::TATTRNAME_OUTPUT_STANDALONE;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_VERSION] = Constants::TATTRNAME_OUTPUT_VERSION;
-	theAttributeKeys[Constants::ATTRNAME_OUTPUT_OMITXMLDECL] = Constants::TATTRNAME_OUTPUT_OMITXMLDECL;
-	theAttributeKeys[Constants::ATTRNAME_PRIORITY] = Constants::TATTRNAME_PRIORITY;
-	theAttributeKeys[Constants::ATTRNAME_REFID] = Constants::TATTRNAME_REFID;
-	theAttributeKeys[Constants::ATTRNAME_RESULTNS] = Constants::TATTRNAME_RESULTNS;
-	theAttributeKeys[Constants::ATTRNAME_SELECT] = Constants::TATTRNAME_SELECT;
-	theAttributeKeys[Constants::ATTRNAME_SEQUENCESRC] = Constants::TATTRNAME_SEQUENCESRC;
-	theAttributeKeys[Constants::ATTRNAME_STYLE] = Constants::TATTRNAME_STYLE;
-	theAttributeKeys[Constants::ATTRNAME_TEST] = Constants::TATTRNAME_TEST;
-	theAttributeKeys[Constants::ATTRNAME_TOSTRING] = Constants::TATTRNAME_TOSTRING;
-	theAttributeKeys[Constants::ATTRNAME_TYPE] = Constants::TATTRNAME_TYPE;
-	theAttributeKeys[Constants::ATTRNAME_USE] = Constants::TATTRNAME_USE;
-	theAttributeKeys[Constants::ATTRNAME_USEATTRIBUTESETS] = Constants::TATTRNAME_USEATTRIBUTESETS;
-	theAttributeKeys[Constants::ATTRNAME_VALUE] = Constants::TATTRNAME_VALUE;
-
-	theAttributeKeys[Constants::ATTRNAME_XMLNSDEF] = Constants::TATTRNAME_XMLNSDEF;
-	theAttributeKeys[Constants::ATTRNAME_XMLNS] = Constants::TATTRNAME_XMLNS;
-	theAttributeKeys[Constants::ATTRNAME_XMLSPACE] = Constants::TATTRNAME_XMLSPACE;
-}
-
-
-
-void
-XSLTEngineImpl::initializeElementKeysTable(ElementKeysMapType&	theElementKeys)
-{
-	theElementKeys[Constants::ELEMNAME_APPLY_TEMPLATES_STRING] = Constants::ELEMNAME_APPLY_TEMPLATES;
-	theElementKeys[Constants::ELEMNAME_WITHPARAM_STRING] = Constants::ELEMNAME_WITHPARAM;
-	theElementKeys[Constants::ELEMNAME_CONSTRUCT_STRING] = Constants::ELEMNAME_CONSTRUCT;
-	theElementKeys[Constants::ELEMNAME_CONTENTS_STRING] = Constants::ELEMNAME_CONTENTS;
-	theElementKeys[Constants::ELEMNAME_COPY_STRING] = Constants::ELEMNAME_COPY;
-	theElementKeys[Constants::ELEMNAME_COPY_OF_STRING] = Constants::ELEMNAME_COPY_OF;
-
-	theElementKeys[Constants::ELEMNAME_ATTRIBUTESET_STRING] = Constants::ELEMNAME_DEFINEATTRIBUTESET;
-
-	theElementKeys[Constants::ELEMNAME_USE_STRING] = Constants::ELEMNAME_USE;
-
-	theElementKeys[Constants::ELEMNAME_VARIABLE_STRING] = Constants::ELEMNAME_VARIABLE;
-	theElementKeys[Constants::ELEMNAME_PARAMVARIABLE_STRING] = Constants::ELEMNAME_PARAMVARIABLE;
-
-	theElementKeys[Constants::ELEMNAME_DISPLAYIF_STRING] = Constants::ELEMNAME_DISPLAYIF;
-	theElementKeys[Constants::ELEMNAME_EMPTY_STRING] = Constants::ELEMNAME_EMPTY;
-	theElementKeys[Constants::ELEMNAME_CALLTEMPLATE_STRING] = Constants::ELEMNAME_CALLTEMPLATE;
-	theElementKeys[Constants::ELEMNAME_TEMPLATE_STRING] = Constants::ELEMNAME_TEMPLATE;
-	theElementKeys[Constants::ELEMNAME_STYLESHEET_STRING] = Constants::ELEMNAME_STYLESHEET;
-	theElementKeys[Constants::ELEMNAME_TRANSFORM_STRING] = Constants::ELEMNAME_STYLESHEET;
-	theElementKeys[Constants::ELEMNAME_IMPORT_STRING] = Constants::ELEMNAME_IMPORT;
-	theElementKeys[Constants::ELEMNAME_INCLUDE_STRING] = Constants::ELEMNAME_INCLUDE;
-	theElementKeys[Constants::ELEMNAME_FOREACH_STRING] = Constants::ELEMNAME_FOREACH;
-	theElementKeys[Constants::ELEMNAME_VALUEOF_STRING] = Constants::ELEMNAME_VALUEOF;
-	theElementKeys[Constants::ELEMNAME_KEY_STRING] = Constants::ELEMNAME_KEY;
-	theElementKeys[Constants::ELEMNAME_STRIPSPACE_STRING] = Constants::ELEMNAME_STRIPSPACE;
-	theElementKeys[Constants::ELEMNAME_PRESERVESPACE_STRING] = Constants::ELEMNAME_PRESERVESPACE;
-	theElementKeys[Constants::ELEMNAME_NUMBER_STRING] = Constants::ELEMNAME_NUMBER;
-	theElementKeys[Constants::ELEMNAME_IF_STRING] = Constants::ELEMNAME_IF;
-	theElementKeys[Constants::ELEMNAME_CHOOSE_STRING] = Constants::ELEMNAME_CHOOSE;
-	theElementKeys[Constants::ELEMNAME_WHEN_STRING] = Constants::ELEMNAME_WHEN;
-	theElementKeys[Constants::ELEMNAME_OTHERWISE_STRING] = Constants::ELEMNAME_OTHERWISE;
-	theElementKeys[Constants::ELEMNAME_TEXT_STRING] = Constants::ELEMNAME_TEXT;
-	theElementKeys[Constants::ELEMNAME_ELEMENT_STRING] = Constants::ELEMNAME_ELEMENT;
-	theElementKeys[Constants::ELEMNAME_ATTRIBUTE_STRING] = Constants::ELEMNAME_ATTRIBUTE;
-	theElementKeys[Constants::ELEMNAME_SORT_STRING] = Constants::ELEMNAME_SORT;
-	theElementKeys[Constants::ELEMNAME_PI_STRING] = Constants::ELEMNAME_PI;
-	theElementKeys[Constants::ELEMNAME_COMMENT_STRING] = Constants::ELEMNAME_COMMENT;
-
-	theElementKeys[Constants::ELEMNAME_APPLY_IMPORTS_STRING] = Constants::ELEMNAME_APPLY_IMPORTS;
-	
-	theElementKeys[Constants::ELEMNAME_EXTENSION_STRING] = Constants::ELEMNAME_EXTENSION;
-	theElementKeys[Constants::ELEMNAME_MESSAGE_STRING] = Constants::ELEMNAME_MESSAGE;
-	theElementKeys[Constants::ELEMNAME_LOCALE_STRING] = Constants::ELEMNAME_LOCALE;
-	theElementKeys[Constants::ELEMNAME_FALLBACK_STRING] = Constants::ELEMNAME_FALLBACK;
-	theElementKeys[Constants::ELEMNAME_OUTPUT_STRING] = Constants::ELEMNAME_OUTPUT;
-
-	theElementKeys[Constants::ELEMNAME_DECIMALFORMAT_STRING] = Constants::ELEMNAME_DECIMALFORMAT;
-	theElementKeys[Constants::ELEMNAME_NSALIAS_STRING] = Constants::ELEMNAME_NSALIAS;
-}
-
-
-
-static XalanDOMString	s_XSLNameSpaceURL;
-
-static XalanDOMString	s_XSLT4JNameSpaceURL;
-
-static XalanDOMString	s_uniqueNamespacePrefix;
-
-static XalanDOMString	s_stylesheetNodeName;
-
-static XalanDOMString	s_typeString;
-
-static XalanDOMString	s_hrefString;
-
-static XalanDOMString	s_piTokenizerString;
-
-static XalanDOMString	s_typeValueString1;
-
-static XalanDOMString	s_typeValueString2;
-
-static XalanDOMString	s_typeValueString3;
-
-static XalanDOMString	s_typeValueString4;
-
-
-static XSLTEngineImpl::AttributeKeysMapType		s_attributeKeys;
-
-static XSLTEngineImpl::ElementKeysMapType		s_elementKeys;
-
-
-
-const double			XSLTEngineImpl::s_XSLTVerSupported(1.0);
-
-const XalanDOMString&	XSLTEngineImpl::s_XSLNameSpaceURL = ::s_XSLNameSpaceURL;
-
-const XalanDOMString&	XSLTEngineImpl::s_XSLT4JNameSpaceURL = ::s_XSLT4JNameSpaceURL;
-
-const XalanDOMString&	XSLTEngineImpl::s_uniqueNamespacePrefix = ::s_uniqueNamespacePrefix;
-
-const XalanDOMString&	XSLTEngineImpl::s_stylesheetNodeName = ::s_stylesheetNodeName;
-
-const XalanDOMString&	XSLTEngineImpl::s_typeString = ::s_typeString;
-
-const XalanDOMString&	XSLTEngineImpl::s_hrefString = ::s_hrefString;
-
-const XalanDOMString&	XSLTEngineImpl::s_piTokenizerString = ::s_piTokenizerString;
-
-const XalanDOMString&	XSLTEngineImpl::s_typeValueString1 = ::s_typeValueString1;
-
-const XalanDOMString&	XSLTEngineImpl::s_typeValueString2 = ::s_typeValueString2;
-
-const XalanDOMString&	XSLTEngineImpl::s_typeValueString3 = ::s_typeValueString3;
-
-const XalanDOMString&	XSLTEngineImpl::s_typeValueString4 = ::s_typeValueString4;
-
-const XSLTEngineImpl::AttributeKeysMapType&		XSLTEngineImpl::s_attributeKeys = ::s_attributeKeys;
-
-const XSLTEngineImpl::ElementKeysMapType&		XSLTEngineImpl::s_elementKeys = ::s_elementKeys;
-
-
-
-void
-XSLTEngineImpl::initialize()
-{
-	::s_XSLNameSpaceURL = XALAN_STATIC_UCODE_STRING("http://www.w3.org/1999/XSL/Transform");
-
-	::s_XSLT4JNameSpaceURL = XALAN_STATIC_UCODE_STRING("http://xml.apache.org/xslt");
-
-	::s_uniqueNamespacePrefix = XALAN_STATIC_UCODE_STRING("ns");
-
-	::s_stylesheetNodeName = XALAN_STATIC_UCODE_STRING("xml-stylesheet");
-
-	::s_typeString = XALAN_STATIC_UCODE_STRING("type");
-
-	::s_hrefString = XALAN_STATIC_UCODE_STRING("href");
-
-	::s_piTokenizerString = XALAN_STATIC_UCODE_STRING(" \t=");
-
-	::s_typeValueString1 = XALAN_STATIC_UCODE_STRING("text/xml");
-
-	::s_typeValueString2 = XALAN_STATIC_UCODE_STRING("text/xsl");
-
-	::s_typeValueString3 = XALAN_STATIC_UCODE_STRING("application/xml");
-
-	::s_typeValueString4 = XALAN_STATIC_UCODE_STRING("application/xml+xslt");
-
-	installFunctions();
-
-	initializeAttributeKeysTable(::s_attributeKeys);
-
-	initializeElementKeysTable(::s_elementKeys);
-}
-
-
-
-void
-XSLTEngineImpl::terminate()
-{
-	ElementKeysMapType().swap(::s_elementKeys);
-
-	AttributeKeysMapType().swap(::s_attributeKeys);
-
-	uninstallFunctions();
-
-	releaseMemory(::s_uniqueNamespacePrefix);
-
-	releaseMemory(::s_XSLT4JNameSpaceURL);
-
-	releaseMemory(::s_XSLNameSpaceURL);
-
-	releaseMemory(::s_stylesheetNodeName);
-
-	releaseMemory(::s_typeString);
-
-	releaseMemory(::s_hrefString);
-
-	releaseMemory(::s_piTokenizerString);
-
-	releaseMemory(::s_typeValueString1);
-
-	releaseMemory(::s_typeValueString2);
-
-	releaseMemory(::s_typeValueString3);
-
-	releaseMemory(::s_typeValueString4);
-}
diff --git a/src/XSLT/XSLTEngineImpl.hpp b/src/XSLT/XSLTEngineImpl.hpp
deleted file mode 100644
index 0c16f6b..0000000
--- a/src/XSLT/XSLTEngineImpl.hpp
+++ /dev/null
@@ -1,1692 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_XSLTENGINEIMPL_HEADER_GUARD)
-#define XALAN_XSLTENGINEIMPL_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-// Base class
-#include "XSLTProcessor.hpp"
-
-
-
-
-// Standard library headers
-#include <cassert>
-#include <ctime>
-#include <map>
-#include <set>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <XPath/XPathProcessor.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <XPath/Function.hpp>
-#include <XPath/NameSpace.hpp>
-
-
-
-#include "KeyDeclaration.hpp"
-#include "OutputContextStack.hpp"
-#include "ProblemListenerDefault.hpp"
-#include "ResultNamespacesStack.hpp"
-#include "StylesheetExecutionContext.hpp"
-#include "XSLTProcessorException.hpp"
-
-
-
-// Forward declarations...
-class DocumentHandler;
-class DOMSupport;
-class GenerateEvent;
-class InputSource;
-class PrintWriter;
-class ResultTreeFragBase;
-class StylesheetConstructionContext;
-class StylesheetExecutionContext;
-class StylesheetRoot;
-class XalanAttr;
-class XalanSourceTreeDocument;
-class XalanText;
-class XLocator;
-class XMLParserLiaison;
-class XMLURL;
-class XObject;
-class XPathEnvSupport;
-class XPathFactory;
-class XPathProcessor;
-class XSLTResultTarget;
-
-
-
-/**
- * It's the responsibility of the XSLTEngineImpl class, collaborating 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.	The process method is the primary
- * public entry points.
- * 
- * 
- * If you reuse the processor instance, you should call reset() between calls.
- *
- */
-
-class XALAN_XSLT_EXPORT XSLTEngineImpl : public XSLTProcessor, public PrefixResolver
-{
-public:
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	typedef std::clock_t	ClockType;
-#else
-	typedef clock_t			ClockType;
-#endif
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				int,
-				less<XalanDOMString> >		AttributeKeysMapType;
-	typedef map<XalanDOMString,
-				int,
-				less<XalanDOMString> >		ElementKeysMapType;
-	typedef map<const void*,
-				ClockType,
-				less<const void*> >			DurationsTableMapType;
-	typedef vector<const Locator*>			LocatorStack;
-	typedef vector<TraceListener*>			TraceListenerVectorType;
-	typedef vector<bool>					BoolVectorType;
-#else
-	typedef std::map<XalanDOMString, int>		AttributeKeysMapType;
-	typedef std::map<XalanDOMString, int>		ElementKeysMapType;
-	typedef std::map<const void*, ClockType>	DurationsTableMapType;
-	typedef std::vector<const Locator*>			LocatorStack;
-	typedef std::vector<TraceListener*>			TraceListenerVectorType;
-	typedef std::vector<bool>					BoolVectorType;
-#endif
-
-	typedef XalanAutoPtr<XPathProcessor>				XPathProcessorPtrType;
-	typedef Function::XObjectArgVectorType				XObjectArgVectorType;
-	typedef StylesheetExecutionContext::ParamVectorType	ParamVectorType;
-
-	// Public members
-	//---------------------------------------------------------------------
-
-	/**
-	 * Construct an XSL processor that can call back to a XML processor, so it
-	 * can handle included files, and the like. You must create a new instance
-	 * of the XSLTEngineImpl class each time you run a transformation.
-	 *
-	 * @param XMLParserLiaison liaison to an object that can help with a
-	 *						   specific parser implementation
-	 * @param xpathEnvSupport  An XPathEnvSupport instance
-	 * @param domSupport	   A DOMSupport instance for the DOM being used
-	 * @param xobjectFactory   object responsible for XObject objects
-	 * @param xpathFactory	   object responsible for XPath objects
-	 */
-	XSLTEngineImpl(
-			XMLParserLiaison&	parserLiaison,
-			XPathEnvSupport&	xpathEnvSupport,
-			DOMSupport&			domSupport,
-			XObjectFactory& 	xobjectFactory,
-			XPathFactory&		xpathFactory);
-
-	virtual
-	~XSLTEngineImpl();
-
-	/**
-	 * Perform initialization of statics -- must be called before any
-	 * processing occurs.  See class XSLTInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform termination of statics.  See class XSLTInit.
-	 */
-	static void
-	terminate();
-
-	// These methods are inherited from XSLTProcessor ...
-	
-	virtual void
-	process(
-			const XSLTInputSource&			inputSource, 
-			const XSLTInputSource&			stylesheetSource,
-			XSLTResultTarget&				outputTarget,
-			StylesheetConstructionContext&	constructionContext,
-			StylesheetExecutionContext& 	executionContext);
-
-	virtual void
-	process(
-			const XSLTInputSource&			inputSource,
-			XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext& 	executionContext);
-
-	virtual StylesheetRoot*
-	processStylesheet(
-			const XSLTInputSource&			stylesheetSource,
-			StylesheetConstructionContext&	constructionContext);
-
-	virtual StylesheetRoot*
-	processStylesheet(
-			const XalanDOMString&			xsldocURLString,
-			StylesheetConstructionContext&	constructionContext);
-
-	virtual XalanNode*
-	getSourceTreeFromInput(const XSLTInputSource&	inputSource);
-
-	virtual void
-	outputToResultTree(const XObject&	xobj);
-
-	virtual void
-	resolveTopLevelParams(StylesheetExecutionContext&	executionContext);
-
-	virtual XMLParserLiaison&
-	getXMLParserLiaison() const;
-
-	virtual const XalanDOMString
-	getUniqueNamespaceValue();
-
-	virtual void
-	getUniqueNamespaceValue(XalanDOMString&		theValue);
-
-	virtual void
-	setStylesheetParam(	
-					const XalanDOMString&	key,
-					const XalanDOMString&	expression);
-
-	virtual void
-	setStylesheetParam(
-			const XalanDOMString&	key,
-			XObjectPtr				value);
-
-	virtual bool
-	shouldStripSourceNode(
-			XPathExecutionContext&	executionContext,
-			const XalanNode&		node) const;
-
-	virtual FormatterListener*
-	getFormatterListener() const;
-
-	virtual void
-	setFormatterListener(FormatterListener* flistener);
-
-	// Trace-related functions...
-
-	virtual size_type
-	getTraceListeners() const;
-
-	virtual void
-	addTraceListener(TraceListener* 	tl);
-
-	virtual void
-	removeTraceListener(TraceListener*	tl);
-
-	virtual void
-	fireGenerateEvent(const GenerateEvent&	ge);
-	  
-	virtual void
-	fireTraceEvent(const TracerEvent&	te);
-
-	virtual void
-	fireSelectEvent(const SelectionEvent&	se);
-
-	virtual bool
-	getTraceSelects() const;
-
-	virtual void
-	setTraceSelects(bool	b);
-
-	virtual void
-	traceSelect(
-			const XalanElement&		theTemplate,
-			const NodeRefListBase&	nl) const;
-
-	virtual void
-	setQuietConflictWarnings(bool	b);
-
-	virtual void
-	setDiagnosticsOutput(PrintWriter*	pw);
-
-
-	// Inherited from PrefixResolver...
-
-	/**
-	 * Retrieve a namespace corresponding to a prefix.  This assumes that 
-	 * the PrevixResolver hold's its own namespace context, or is a namespace
-	 * context itself.
-	 *
-	 * @param prefix Prefix to resolve
-	 * @return namespace that prefix resolves to, or null if prefix is not found
-	 */
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(const XalanDOMString&		prefix) const;
-
-	/**
-	 * Retrieve the base URI for the resolver.
-	 * 
-	 * @return URI string
-	 */
-	virtual const XalanDOMString&
-	getURI() const;
-
-	/**
-	 * Read in the XML file, either producing a Document or calling SAX events,
-	 * and register the document in a table.  If the document has already been
-	 * read in, it will not be reparsed.
-	 *
-	 * @param urlString location of the XML
-	 * @param docHandler pointer to SAX event handler
-	 * @param docToRegister if using a SAX event handler, the object to register in the source docs table. 
-	 * @return document object, which represents the parsed XML
-	 * @exception SAXException
-	 */
-	XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			DocumentHandler*		docHandler,
-			XalanDocument*			docToRegister);
-
-	/**
-	 * Read in the XML file, either producing a Document or calling SAX events,
-	 * and register the document in a table.  If the document has already been
-	 * read in, it will not be reparsed.
-	 *
-	 * @param inputSource location of the XML
-	 * @param docHandler pointer to SAX event handler
-	 * @param docToRegister if using a SAX event handler, the object to register in the source docs table. 
-	 * @return document object, which represents the parsed XML
-	 * @exception SAXException
-	 */
-	XalanDocument*
-	parseXML(
-			const InputSource&	inputSource,
-			DocumentHandler*	docHandler,
-			XalanDocument*		docToRegister);
-
-	/**
-	 * Reset the state of the XSL processor by reading in a new XSL stylesheet
-	 * from a processing instruction.
-	 *
-	 * @param xslURLString		  valid URI to an XSL stylesheet
-	 * @param fragBase			  base of tree if URI represents document
-	 *							  fragment
-	 * @param xmlBaseIdent		  base identifier for stylesheet URI
-	 * @param isRoot			  true if stylesheet is root of tree
-	 * @param constructionContext context for construction of object
-	 * @return pointer to stylesheet
-	 */
-	Stylesheet*
-	getStylesheetFromPIURL(
-			const XalanDOMString&			xslURLString,
-			XalanNode& 						fragBase,
-			const XalanDOMString&			xmlBaseIdent,
-			bool							isRoot,
-			StylesheetConstructionContext&	constructionContext);
-
-	/**
-	 * Flush the pending element.
-	 */
-	void
-	flushPending();
-
-	/**
-	 * Add a namespace declaration to the namespace stack
-	 *
-	 * @param prefix	   namespace prefix
-	 * @param namespaceVal value of namespace
-	 */
-	void
-	addResultNamespaceDecl(
-			const XalanDOMString&	prefix, 
-			const XalanDOMString&	namespaceVal);
-
-	/**
-	 * Add attribute to attribute list, and if it is a namespace, add it to the
-	 * namespaces stack.
-	 *
-	 * @param attList attribute list added to
-	 * @param aname   name of attribute
-	 * @param value   value of attribute
-	 */
-	void
-	addResultAttribute(
-			AttributeListImpl&	attList,
-			const XalanDOMString&	aname,
-			const XalanDOMString&	value);
-
-	/**
-	 * Add attribute to pending attributes list, and if it is a namespace, add
-	 * it to the namespaces stack.
-	 *
-	 * @param aname   name of attribute
-	 * @param value   value of attribute
-	 */
-	void
-	addResultAttribute(
-			const XalanDOMString&	aname,
-			const XalanDOMString&	value)
-	{
-		assert(m_outputContextStack.size() > 0);
-
-		addResultAttribute(getPendingAttributesImpl(),
-						   aname,
-						   value);
-	}
-
-	void
-	setDocumentLocator(const Locator*	locator);
-
-	void
-	startDocument();
-
-	void
-	endDocument();
-	
-	void
-	startElement(
-			const XalanDOMChar*		name,
-			AttributeList&			atts);
-
-	void
-	endElement(const XalanDOMChar*	name);
-
-	void
-	characters (
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	length);
-
-	void
-	ignorableWhitespace(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	length);
-
-	void
-	processingInstruction(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data);
-
-	void
-	resetDocument();
-
-	/**
-	 * Receive notification of character data.
-	 *
-	 * @param ch	 pointer to characters from the XML document
-	 * @param start  startng offset in 'ch' array
-	 * @param length number of characters to read from the array 
-	 */
-	void
-	characters(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Send character data from the node to the result tree.
-	 *
-	 * @param node The node to send.
-	 */
-	void
-	characters(const XalanNode&		node);
-
-	/**
-	 * Send character data from an XObject to the result tree.
-	 *
-	 * @param node The xobject to send.
-	 */
-	void
-	characters(const XObjectPtr&	xobject);
-
-	/**
-	 * Receive notification of the beginning of an element with an empty
-	 * attribute list
-	 *
-	 * @param name element type name
-	 */
-	void
-	startElement(const XalanDOMChar*	name);
-
-	/**
-	 * Receive notification of character data. If available, when the
-	 * disable-output-escaping attribute is used, output raw text without
-	 * escaping.
-	 *
-	 * @param ch pointer to characters from the XML document
-	 * @param start start position in the array
-	 * @param length number of characters to read from the array
-	 */
-	void
-	charactersRaw(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Send raw character data from the node to the result tree.
-	 *
-	 * @param node The node to send.
-	 */
-	void
-	charactersRaw(const XalanNode&	node);
-
-	/**
-	 * Send raw character data from an XObject to the result tree.
-	 *
-	 * @param node The xobject to send.
-	 */
-	void
-	charactersRaw(const XObjectPtr&		xobject);
-
-	/**
-	 * Called when a Comment is to be constructed.
-	 *
-	 * @param	data	pointer to comment data
-	 */
-	void
-	comment(const XalanDOMChar*		data);
-
-	/**
-	 * Receive notification of a entityReference.
-	 *
-	 * @param data pointer to characters from the XML document
-	 * @exception SAXException
-	 */
-	void
-	entityReference(const XalanDOMChar*		data);
-
-	/**
-	 * Receive notification of cdata.
-	 *
-	 * @param ch	 pointer to characters from the XML document
-	 * @param start  start position in the array
-	 * @param length number of characters to read from the array
-	 */
-	void
-	cdata(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length);
-
-	/**
-	 * Clone an element with or without children.
-	 *
-	 * @param node					node to clone
-	 * @param nodeType				the type of the node
-	 * @param isLiteral 			true if a literal element
-	 * @param overrideStrip 		false if white space stripping should be done
-	 * @param shouldCloneAttributes true if attributes should be cloned
-	 * @param styleNode				the stylesheet element that generated the clone.
-	 */
-	void
-	cloneToResultTree(
-			XalanNode& 					node,
-			XalanNode::NodeType			nodeType,
-			bool						isLiteral,
-			bool						overrideStrip,
-			bool						shouldCloneAttributes,
-			const ElemTemplateElement*	styleNode = 0);
-
-	/**
-	 * Given a result tree fragment, walk the tree and output it to the result
-	 * stream.
-	 *
-	 * @param theTree result tree fragment
-	 */
-	void
-	outputResultTreeFragment(const XObject& 	theTree);
-
-	/**
-	 * Retrieve the root stylesheet.
-	 * 
-	 * @return pointer to root stylesheet
-	 */
-	virtual const StylesheetRoot*
-	getStylesheetRoot() const;
-
-	/**
-	 * Set the root stylesheet.
-	 * 
-	 * @param theStylesheet pointer to new root stylesheet
-	 */
-	virtual void
-	setStylesheetRoot(const StylesheetRoot*		theStylesheet);
-
-	/**
-	 * Set the execution context.
-	 * 
-	 * @param theExecutionContext pointer to new execution context.
-	 */
-	virtual void
-	setExecutionContext(StylesheetExecutionContext*		theExecutionContext);
-
-	/**
-	 * Retrieve the URI for the current XSL namespace, for example,
-	 * "http://www.w3.org/1999/XSL/Transform"
-	 * 
-	 * @return URI string
-	 */
-	static const XalanDOMString&
-	getXSLNameSpaceURL()
-	{
-		return s_XSLNameSpaceURL;
-	}
-
-	/**
-	 * Special Xalan namespace for built-in extensions.
-	 *
-	 * @return Xalan namespace for extensions
-	 */
-	static const XalanDOMString&
-	getXalanXSLNameSpaceURL()
-	{
-		return s_XSLT4JNameSpaceURL;
-	}
-
-	/**
-	 * Get the latest XSLT version currently supported.
-	 *
-	 * @return XSLT version number
-	 */
-	static double
-	getXSLTVerSupported();
-
-	/**
-	 * Given an XSL tag name, return an integer token that corresponds to
-	 * ELEMNAME_XXX constants defined in Constants.hpp
-	 *
-	 * @param name a probable xsl:xxx element
-	 * @return Constants.ELEMNAME_XXX token, -1 if in XSL or Xalan namespace,
-	 *		   or -2 if not in known namespace
-	 */
-	static int
-	getElementToken(const XalanDOMString&	name)
-	{
-		AttributeKeysMapType::const_iterator iter=
-			s_elementKeys.find(name);
-
-		return iter == s_elementKeys.end() ? -2 : (*iter).second;
-	}
-
-	/**
-	 * Given an XSL tag name, return an integer token that corresponds to
-	 * ELEMNAME_XXX constants defined in Constants.hpp.
-	 *
-	 * @param name a probable xsl:xxx element
-	 * @return Constants.ELEMNAME_XXX token, -1 if in XSL or Xalan namespace,
-	 *		   or -2 if not in known namespace
-	 */
-	static int
-	getAttrTok(const XalanDOMString&	name)
-	{
-		ElementKeysMapType::const_iterator iter=
-			s_attributeKeys.find(name);
-
-		return iter == s_attributeKeys.end() ? -2 : (*iter).second;
-	}
-
-	/**
-	 * Given an XSL tag name, return an integer token
-	 * that corresponds to ELEMNAME_XXX constants defined 
-	 * in Constants.java.
-	 *
-	 * @param node a probable xsl:xxx element.
-	 * @return Constants.ELEMNAME_XXX token, -1 if in XSL or Xalan namespace,
-	 *		   or -2 if not in known namespace
-	 */
-	int
-	getXSLToken(const XalanNode&	node) const;
-
-	/**
-	 * Whether to warn about pattern match conflicts.
-	 *
-	 * @return true to not warn about pattern match conflicts
-	 */
-	bool
-	getQuietConflictWarnings() const
-	{
-		return m_quietConflictWarnings;
-	}
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const;
-
-	virtual void
-	message(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const;
-
-	/**
-	 * Report a message
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where error occurred
-	 * @param styleNode  node in stylesheet where error occurred
-	 */
-	virtual void
-	message(
-			const char*			msg,
-			const XalanNode*	sourceNode = 0,
-			const XalanNode*	styleNode = 0) const;
-
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode = 0) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const;
-
-	/**
-	 * Report a warning.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where error occurred
-	 * @param styleNode  node in stylesheet where error occurred
-	 */
-	virtual void
-	warn(
-			const char*			msg,
-			const XalanNode*	sourceNode = 0,
-			const XalanNode*	styleNode = 0) const;
-
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode = 0) const;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const;
-
-	virtual void
-	error(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const;
-
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode = 0) const;
-
-	/**
-	 * Report an error, and throw an exception.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where error occurred
-	 * @param styleNode  node in stylesheet where error occurred
-	 */
-	virtual void
-	error(
-			const char*			msg,
-			const XalanNode*	sourceNode = 0,
-			const XalanNode*	styleNode = 0) const;
-
-	/**
-	 * Mark the time, so that displayDuration can later display the elapsed
-	 * clock ticks.
-	 * 
-	 * @param theKey pointer to element to push
-	 */
-	void
-	pushTime(const void*	key);
-
-	/**
-	 * Returns the duration since pushTime was called for element
-	 * in milliseconds.
-	 *
-	 * @param key pointer to element involved
-	 */
-	ClockType
-	popDuration(const void* 	key);
-
-	/**
-	 * Display the duration since pushTime was called for element in
-	 * milliseconds, and a descriptive message
-	 *
-	 * @param info message to display
-	 * @param key pointer to element involved
-	 */
-	void
-	displayDuration(
-			const XalanDOMString&	info,
-			const void* 			key);
-
-
-	/**
-	 * Whether diagnostic output is to be generated
-	 * 
-	 * @return true for diagnostics output 
-	 */
-	bool doDiagnosticsOutput()
-	{
-		return 0 != m_diagnosticsPrintWriter ? true : false;
-	}
-
-	/**
-	 * Print a diagnostics string to the output device
-	 * 
-	 * @param s string to print
-	 */
-	void
-	diag(const XalanDOMString&	s) const;
-
-	/**
-	 * Print a diagnostics string to the output device
-	 * 
-	 * @param s string to print
-	 */
-	void
-	diag(const char*	s) const;
-
-	/**
-	 * Tell if a given element name should output it's text 
-	 * as cdata.
-	 *
-	 * @param elementName name of element
-	 * @return true if it should output as cdata
-	 */
-	bool
-	isCDataResultElem(const XalanDOMString&		elementName) const;
-
-	/**
-	 * Retrieve the result namespace corresponding to a prefix.
-	 * 
-	 * @param prefix prefix for namespace
-	 * @return string for namespace URI
-	 */
-	const XalanDOMString*
-	getResultNamespaceForPrefix(const XalanDOMString&	prefix) const;
-
-	/**
-	 * Retrieve the result prefix corresponding to a namespace.
-	 * 
-	 * @param theNamespace namespace for prefix
-	 * @return string for namespace prefix
-	 */
-	const XalanDOMString*
-	getResultPrefixForNamespace(const XalanDOMString&	theNamespace) const;
-
-	/**
-	 * Determine whether or not a prefix is in use on the pending element or
-	 * the pending attributes.
-	 * 
-	 * @param thePrefix prefix for namespace
-	 *
-	 * @return true if the prefix is in use, false if not.
-	 */
-	bool
-	isPendingResultPrefix(const XalanDOMString&		thePrefix) const;
-
-	/**
-	 * Evaluate an xpath string and return the result as a numberic score.
-	 *
-	 * @param str			   string to evaluate
-	 * @param context		   context node
-	 * @param executionContext current execution context
-	 * @return score number, higher representing better match
-	 */
-	double
-	evalMatchPatternStr(
-			const XalanDOMString&	str,
-			XalanNode* 				context,
-			XPathExecutionContext&	executionContext);
-
-	/**
-	 * Create and initialize an xpath and return it.
-	 *
-	 * @param str	   string for XPath
-	 * @param resolver resolver for namespace resolution
-	 * @return pointer to XPath created
-	 */
-	const XPath*
-	createMatchPattern(
-			const XalanDOMString&	str,
-			const PrefixResolver&	resolver);
-
-	/**
-	 * Return the xpath created by createXPath() or
-	 * createMatchPattern().
-	 *
-	 * @param xpath	   The XPath to return.
-	 */
-	void
-	returnXPath(const XPath*	xpath);
-
-	/**
-	 * Copy XMLNS: attributes in if not already in scope.
-	 *
-	 * @param src				  source node
-	 */
-	void
-	copyNamespaceAttributes(const XalanNode&	src);
-
-	/**
-	 * Evaluate an xpath string and return the result.
-	 *
-	 * @param str			   string to evaluate
-	 * @param executionContext current execution context
-	 * @return pointer to XObject result
-	 */
-	const XObjectPtr
-	evalXPathStr(
-			const XalanDOMString&	str,
-			XPathExecutionContext&	executionContext);
-
-	/**
-	 * Evaluate an xpath string and return the result.
-	 * 
-	 * @param str			   string to evaluate
-	 * @param contextNode	   context node
-	 * @param prefixResolver prefix resolver to use
-	 * @param executionContext current execution context
-	 * @return pointer to XObject result
-	 */
-	const XObjectPtr
-	evalXPathStr(
-			const XalanDOMString&	str,
-			XalanNode* 				contextNode,
-			const PrefixResolver&	prefixResolver,
-			XPathExecutionContext&	executionContext);
-
-	/**
-	 * Evaluate an xpath string and return the result.
-	 * 
-	 * @param str			   string to evaluate
-	 * @param contextNode	   context node
-	 * @param prefixResolver prefix resolver to use
-	 * @param executionContext current execution context
-	 * @return pointer to XObject result
-	 */
-	const XObjectPtr
-	evalXPathStr(
-			const XalanDOMString&	str,
-			XalanNode* 				contextNode,
-			const XalanElement&		prefixResolver,
-			XPathExecutionContext&	executionContext);
-
-	/**
-	 * Copy an attribute to an AttributeListImpl.
-	 *
-	 * @param attrName The name of the attribute
-	 * @param attrValue The value of the attribute
-	 * @param attrList The attribute list added to
-	 */
-	void
-	copyAttributeToTarget(
-			const XalanDOMString&	attrName,
-			const XalanDOMString&	attrValue,
-			AttributeListImpl&		attrList);
-
-	/**
-	 * Get the factory for making xpaths.
-	 *
-	 * @return XPath factory object
-	 */
-	XPathFactory&
-	getXPathFactory()
-	{
-		return m_xpathFactory;
-	}
-
-	/**
-	 * Get the XPath processor object.
-	 *
-	 * @return XPathProcessor interface being used
-	 */
-	XPathProcessor&
-	getXPathProcessor()
-	{
-		return *m_xpathProcessor.get();
-	}
-
-	/**
-	 * Reset the state.  This needs to be called after a process() call 
-	 * is invoked, if the processor is to be used again.
-	 */
-	virtual void
-	reset();
-
-	/**
-	 * Get a DOM document, primarily for creating result 
-	 * tree fragments.
-	 */
-	virtual XalanDocument*
-	getDOMFactory() const;
-
-	/**
-	 * Retrieve the XPath environment support object
-	 *
-	 * @return XPath environment support object
-	 */
-	XPathEnvSupport&
-	getXPathEnvSupport()
-	{
-		return m_xpathEnvSupport;
-	}
-
-	/**
-	 * Set the problem listener property. The XSL class can have a single
-	 * listener that can be informed of errors and warnings, and can normally
-	 * control if an exception is thrown or not (or the problem listeners can
-	 * throw their own RuntimeExceptions).
-	 *
-	 * @param l pointer to ProblemListener interface
-	 */
-	void
-	setProblemListener(ProblemListener*		l)
-	{
-		m_problemListener = l;
-	}
-
-	/**
-	 * Get the problem listener property. The XSL class can have a single
-	 * listener that can be informed of errors and warnings, and can normally
-	 * control if an exception is thrown or not (or the problem listeners can
-	 * throw their own RuntimeExceptions).
-	 *
-	 * @return pointer to ProblemListener interface
-	 */
-	ProblemListener*
-	getProblemListener() const
-	{
-		return m_problemListener;
-	}
-
-	/*
-	 * Push a new output context using the provided FormatterListener.
-	 *
-	 * @param A pointer to the FormatterListener instance for the new context.
-	 */
-	void
-	pushOutputContext(FormatterListener*	theListener)
-	{
-		m_outputContextStack.pushContext(theListener);
-	}
-
-	/*
-	 * Pop the current output context.
-	 */
-	void
-	popOutputContext()
-	{
-		m_outputContextStack.popContext();
-	}
-
-	/*
-	 * See if there is a pending start document event waiting.
-	 * @return true if there is a start document event waiting.
-	 */
-	bool
-	getHasPendingStartDocument() const
-	{
-		return getHasPendingStartDocumentImpl();
-	}
-
-	/*
-	 * Set the pending start document event state.
-	 * @param the new value
-	 */
-	void
-	setHasPendingStartDocument(bool	b)
-	{
-		setHasPendingStartDocumentImpl(b);
-	}
-
-	/*
-	 * See if a pending start document event must be flushed.
-	 * @return true if the event must be flushed.
-	 */
-	bool
-	getMustFlushPendingStartDocument() const
-	{
-		return getMustFlushPendingStartDocumentImpl();
-	}
-
-	/*
-	 * Set the pending start document event flush state.
-	 * @param the new value
-	 */
-	void
-	setMustFlushPendingStartDocument(bool	b)
-	{
-		setMustFlushPendingStartDocumentImpl(b);
-	}
-
-	/**
-	 * Get the list of attributes yet to be processed
-	 * 
-	 * @return attribute list
-	 */
-	const AttributeList&
-	getPendingAttributes() const
-	{
-		return getPendingAttributesImpl();
-	}
-
-	/**
-	 * Set the list of attributes yet to be processed
-	 * 
-	 * @param pendingAttributes The attribute list
-	 */
-	void
-	setPendingAttributes(const AttributeList&	pendingAttributes)
-	{
-		getPendingAttributesImpl() = pendingAttributes;
-	}
-
-	/**
-	 * Replace the contents of a pending attribute.
-	 * 
-	 * @param theName           name of attribute
-	 * @param theNewType        type of attribute
-	 * @param theNewValue       new value of attribute
-	 */
-	void
-	replacePendingAttribute(
-			const XalanDOMChar*		theName,
-			const XalanDOMChar*		theNewType,
-			const XalanDOMChar*		theNewValue)
-	{
-		// Remove the old attribute, then add the new one.  AttributeListImpl::addAttribute()
-		// does this for us.
-		getPendingAttributesImpl().addAttribute(theName, theNewType, theNewValue);
-	}
-
-	bool
-	isElementPending() const
-	{
-		return length(getPendingElementNameImpl()) != 0 ? true : false;
-	}
-
-	/**
-	 * Retrieve name of the pending element currently being processed.
-	 * 
-	 * @return element name
-	 */
-	const XalanDOMString&
-	getPendingElementName() const
-	{
-		return getPendingElementNameImpl();
-	}
-
-	/**
-	 * Changes the currently pending element name.
-	 * 
-	 * @param elementName new name of element
-	 */
-	void
-	setPendingElementName(const XalanDOMString&		elementName)
-	{
-		setPendingElementNameImpl(elementName);
-	}
-
-	void
-	setPendingElementName(const XalanDOMChar*	elementName)
-	{
-		setPendingElementNameImpl(elementName);
-	}
-
-	/**
-	 * Get the locator from the top of the locator stack.
-	 *
-	 * @return A pointer to the Locator, or 0 if there is nothing on the stack.
-	 */
-	const Locator*
-	getLocatorFromStack() const
-	{
-		return m_stylesheetLocatorStack.empty() == true ? 0 : m_stylesheetLocatorStack.back();
-	}
-
-	/**
-	 * Push a locator on to the locator stack.
-	 *
-	 * @param A pointer to the Locator to push.
-	 */
-	void
-	pushLocatorOnStack(const Locator*	locator)
-	{
-		m_stylesheetLocatorStack.push_back(locator);
-	}
-
-	/**
-	 * Pop the locator from the top of the locator stack.
-	 */
-	void
-	popLocatorStack()
-	{
-		if (m_stylesheetLocatorStack.empty() == false)
-		{
-			m_stylesheetLocatorStack.pop_back();
-		}
-	}
-
-protected:
-
-	/**
-	 * Get the list of attributes yet to be processed
-	 * 
-	 * @return attribute list
-	 */
-	const AttributeListImpl&
-	getPendingAttributesImpl() const
-	{
-		return m_outputContextStack.getPendingAttributes();
-	}
-
-	/**
-	 * Get the list of attributes yet to be processed
-	 * 
-	 * @return attribute list
-	 */
-	AttributeListImpl&
-	getPendingAttributesImpl()
-	{
-		return m_outputContextStack.getPendingAttributes();
-	}
-
-	/**
-	 * Set the list of attributes yet to be processed
-	 * 
-	 * @param pendingAttributes The attribute list
-	 */
-	void
-	setPendingAttributesImpl(const AttributeList&	pendingAttributes)
-	{
-		getPendingAttributesImpl() = pendingAttributes;
-	}
-
-	/**
-	 * Retrieve name of the pending element currently being processed.
-	 * 
-	 * @return element name
-	 */
-	const XalanDOMString&
-	getPendingElementNameImpl() const
-	{
-		return m_outputContextStack.getPendingElementName();
-	}
-
-	/**
-	 * Retrieve name of the pending element currently being processed.
-	 * 
-	 * @return element name
-	 */
-	XalanDOMString&
-	getPendingElementNameImpl()
-	{
-		return m_outputContextStack.getPendingElementName();
-	}
-
-	/**
-	 * Changes the currently pending element name.
-	 * 
-	 * @param elementName new name of element
-	 */
-	void
-	setPendingElementNameImpl(const XalanDOMString&		elementName)
-	{
-		m_outputContextStack.getPendingElementName() = elementName;
-	}
-
-	/**
-	 * Changes the currently pending element name.
-	 * 
-	 * @param elementName new name of element
-	 */
-	void
-	setPendingElementNameImpl(const XalanDOMChar*	elementName)
-	{
-		assert(elementName != 0);
-
-		m_outputContextStack.getPendingElementName() = elementName;
-	}
-
-	/*
-	 * See if there is a pending start document event waiting.
-	 * @return true if there is a start document event waiting.
-	 */
-	bool
-	getHasPendingStartDocumentImpl() const
-	{
-		return m_outputContextStack.getHasPendingStartDocument();
-	}
-
-	/*
-	 * Set the pending start document event state.
-	 * @param the new value
-	 */
-	void
-	setHasPendingStartDocumentImpl(bool		b)
-	{
-		m_outputContextStack.getHasPendingStartDocument() = b;
-	}
-
-	/*
-	 * See if a pending start document event must be flushed.
-	 * @return true if the event must be flushed.
-	 */
-	bool
-	getMustFlushPendingStartDocumentImpl() const
-	{
-		return m_outputContextStack.getMustFlushPendingStartDocument();
-	}
-
-	/*
-	 * Set the pending start document event flush state.
-	 * @param the new value
-	 */
-	void
-	setMustFlushPendingStartDocumentImpl(bool	b)
-	{
-		m_outputContextStack.getMustFlushPendingStartDocument() = b;
-	}
-
-	FormatterListener*
-	getFormatterListenerImpl() const
-	{
-		return m_outputContextStack.getFormatterListener();
-	}
-
-	void
-	setFormatterListenerImpl(FormatterListener*		flistener)
-	{
-		m_outputContextStack.getFormatterListener() = flistener;
-	}
-
-	/**
-	 * If true, build DOM-based result tree fragments.
-	 */
-	bool					m_useDOMResultTreeFactory;
-
-	/**
-	 * The factory that will be used to create DOM-based result tree fragments.
-	 */
-	mutable XalanDocument*	m_domResultTreeFactory;
-
-	/**
-	 * The namespace that the result tree conforms to.  A null value 
-	 * indicates that result-ns is not used and there is no checking. 
-	 * A empty string indicates that the result tree conforms to the 
-	 * default namespace.
-	 */
-	XalanDOMString	m_resultNameSpacePrefix;
-
-	/**
-	 * The URL that belongs to the result namespace.
-	 */
-	XalanDOMString	m_resultNameSpaceURL;
-
-
-	/**
-	 * Copy the attributes from the XSL element to the created 
-	 * output element.
-	 */
-	void
-	copyAttributesToAttList(
-			const XalanNode&	node,
-			AttributeListImpl&	attList);
-
-	// Factory for creating xpaths.
-	XPathFactory&			m_xpathFactory;
-
-	// Factory for creating xobjects
-	XObjectFactory& 		m_xobjectFactory;
-
-	// The query/pattern-matcher object.
-	const XPathProcessorPtrType		m_xpathProcessor;
-
-	/**
-	 * Stack of Booleans to keep track of if we should be outputting 
-	 * cdata instead of escaped text.
-	 */
-	BoolVectorType	m_cdataStack;
-
-private:
-
-	/**
-	 * Determine if any pending attributes is a default
-	 * namespace.
-	 */
-	bool
-	pendingAttributesHasDefaultNS() const; 
-
-	void
-	addResultNamespace(
-			const XalanDOMString&	thePrefix,
-			const XalanDOMString&	theName,
-			const XalanNode&		theNode,
-			AttributeListImpl&		thePendingAttributes,
-			bool					fOnlyIfPrefixNotPresent);
-
-	void
-	addResultNamespace(
-			const XalanNode&	theNode,
-			AttributeListImpl&	thePendingAttributes,
-			bool				fOnlyIfPrefixNotPresent = false);
-
-  /**
-   * The top of this stack should contain the currently processed
-   * stylesheet SAX locator object.
-   */
-	LocatorStack  m_stylesheetLocatorStack;
-
-	/**
-	 * The XSL class can have a single listener that can be informed 
-	 * of errors and warnings, and can normally control if an exception
-	 * is thrown or not (or the problem listeners can throw their 
-	 * own RuntimeExceptions).
-	 */
-	ProblemListenerDefault	m_defaultProblemListener;
-
-	ProblemListener*	m_problemListener;
-
-	/**
-	 * The root of a linked set of stylesheets.
-	 */
-	const StylesheetRoot* 				m_stylesheetRoot;
-
-	/**
-	 * The namespace that we must match as a minimum for XSLT.
-	 */
-	static const XalanDOMString&		s_XSLNameSpaceURL;	//"http://www.w3.org/1999/XSL/Transform"
-
-	/**
-	 * The minimum version of XSLT supported.
-	 */
-	static const double					s_XSLTVerSupported; // 1.0
-
-	/**
-	 * Special Xalan namespace for built-in extensions.
-	 */
-	static const XalanDOMString&		s_XSLT4JNameSpaceURL; // "http://xml.apache.org/xslt"
-
-	/**
-	 * Prefix to use when generating unique namespaces.
-	 */
-	static const XalanDOMString&		s_uniqueNamespacePrefix;
-
-	/**
-	 * Map of XSLT IDs for attribute names.
-	 */
-	static const AttributeKeysMapType&	s_attributeKeys;
-
-	/**
-	 * Map of XSLT element IDs for element names.
-	 */
-	static const ElementKeysMapType&	s_elementKeys;
-
-	/**
-	 * If this is set to true, selects will be traced
-	 */
-	bool	m_traceSelects;
-
-	/**
-	 * If this is set to true, do not warn about pattern 
-	 * match conflicts.
-	 */
-	bool	m_quietConflictWarnings;
-
-	/*
-	 * A stream to print diagnostics to.
-	 */
-	PrintWriter*	m_diagnosticsPrintWriter;
-
-	/* For diagnostics */
-	DurationsTableMapType	m_durationsTable;
-
-	/**
-	 * List of listeners who are interested in tracing what's 
-	 * being generated.
-	 */
-	TraceListenerVectorType 	m_traceListeners;
-	
-	// Common processing for errors and warnings
-	void
-	problem(
-			const XalanDOMString&				msg, 
-			ProblemListener::eClassification	classification,
-			const XalanNode*					sourceNode,
-			const XalanNode*					styleNode) const;
-
-	void
-	problem(
-			const XalanDOMString&				msg, 
-			ProblemListener::eClassification	classification,
-			const XalanNode*					sourceNode,
-			const ElemTemplateElement*			styleNode) const;
-
-	void
-	problem(
-			const XalanDOMString&				msg, 
-			ProblemListener::eClassification	classification,
-			const Locator&						locator,
-			const XalanNode*					sourceNode) const;
-
-  //==========================================================
-  // SECTION: Function to do with attribute handling
-  //==========================================================
-
-	/**
-	 * This is used whenever a unique namespace is needed.
-	 */
-	unsigned long	m_uniqueNSValue;
-
-	ParamVectorType 	m_topLevelParams;
-
-public:
-
-	/**
-	 * Reset the vector of top level parameters
-	 */
-	void
-	clearTopLevelParams()
-	{
-		m_topLevelParams.clear();
-	}
-
-private:
-
-	bool
-	generateCDATASection() const
-	{
-		return 0 != m_cdataStack.size() &&
-			   m_cdataStack.back() == true;
-	}
-
-	void
-	doFlushPending()
-	{
-		setMustFlushPendingStartDocument(true);
-
-		flushPending();
-	}
-
-	void
-	fireCharacterGenerateEvent(
-			const XalanNode&	theNode,
-			bool				isCDATA);
-
-	void
-	fireCharacterGenerateEvent(
-			const XObjectPtr&	theXObject,
-			bool				isCDATA);
-
-	void
-	fireCharacterGenerateEvent(
-			const XalanDOMString&	theString,
-			bool					isCDATA);
-
-	void
-	fireCharacterGenerateEvent(
-			const XalanDOMChar*			ch,
-			XalanDOMString::size_type	start,
-			XalanDOMString::size_type	length,
-			bool						isCDATA);
-
-	void
-	checkDefaultNamespace(
-			const XalanDOMString&	theElementName,
-			const XalanDOMString&	theElementNamespaceURI);
-
-	XMLParserLiaison&	m_parserLiaison;
-
-	XPathEnvSupport&	m_xpathEnvSupport;
-
-	DOMSupport&			m_domSupport;
-
-	/**
-	 * Current execution context...
-	 */
-	StylesheetExecutionContext*		m_executionContext;
-
-	/*
-	 * Stack of current output contexts...
-	 */
-	OutputContextStack				m_outputContextStack;
-
-	/*
-	 * Stack of current result namespaces...
-	 */
-	ResultNamespacesStack			m_resultNamespacesStack;
-
-	/*
-	 * Dummy AttributeListImpl
-	 */
-	AttributeListImpl				m_dummyAttributesList;
-
-	XalanDOMString					m_scratchString;
-
-	bool							m_hasStripOrPreserveSpace;
-
-	static void
-	installFunctions();
-
-	static void
-	uninstallFunctions();
-
-	static void
-	initializeAttributeKeysTable(AttributeKeysMapType&	theAttributeKeys);
-
-	static void
-	initializeElementKeysTable(ElementKeysMapType&	theElementKeys);
-
-	static const XalanDOMString		s_emptyString;
-
-	static const XalanDOMString&	s_stylesheetNodeName;
-	static const XalanDOMString&	s_typeString;
-	static const XalanDOMString&	s_hrefString;
-	static const XalanDOMString&	s_piTokenizerString;
-	static const XalanDOMString&	s_typeValueString1;
-	static const XalanDOMString&	s_typeValueString2;
-	static const XalanDOMString&	s_typeValueString3;
-	static const XalanDOMString&	s_typeValueString4;
-
-	// Not implemented...
-    XSLTEngineImpl(const XSLTEngineImpl&);
-
-    XSLTEngineImpl&
-    operator=(const XSLTEngineImpl&);
-
-    bool
-    operator==(const XSLTEngineImpl&) const;
-};
-
-
-
-#endif	// XALAN_XSLTENGINEIMPL_HEADER_GUARD
diff --git a/src/XSLT/XSLTInit.cpp b/src/XSLT/XSLTInit.cpp
deleted file mode 100644
index e0dd970..0000000
--- a/src/XSLT/XSLTInit.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XSLTInit.hpp"
-
-
-
-#include "Constants.hpp"
-#include "ElemNumber.hpp"
-#include "FunctionFormatNumber.hpp"
-#include "NamespacesHandler.hpp"
-#include "StylesheetHandler.hpp"
-#include "XSLTEngineImpl.hpp"
-
-
-
-unsigned long	XSLTInit::s_initCounter = 0;
-
-
-
-XSLTInit::XSLTInit() :
-	m_platformSupportInit(),
-	m_domSupportInit(),
-	m_xmlSupportInit(),
-	m_xalanSourceTreeInit(),
-	m_xpathInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-XSLTInit::~XSLTInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-XSLTInit::initialize()
-{
-	Constants::initialize();
-
-	ElemNumber::initialize();
-
-	FunctionFormatNumber::initialize();
-
-	NamespacesHandler::initialize();
-
-	XSLTEngineImpl::initialize();
-
-	StylesheetHandler::initialize();
-}
-
-
-
-void
-XSLTInit::terminate()
-{
-	StylesheetHandler::terminate();
-
-	XSLTEngineImpl::terminate();
-
-	NamespacesHandler::terminate();
-
-	FunctionFormatNumber::terminate();
-
-	ElemNumber::terminate();
-
-	Constants::terminate();
-}
diff --git a/src/XSLT/XSLTInit.hpp b/src/XSLT/XSLTInit.hpp
deleted file mode 100644
index 675c1ac..0000000
--- a/src/XSLT/XSLTInit.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XSLTINIT_INCLUDE_GUARD_1357924680)
-#define XSLTINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PlatformSupportInit.hpp>
-
-
-
-#include <DOMSupport/DOMSupportInit.hpp>
-
-
-
-#include <XMLSupport/XMLSupportInit.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeInit.hpp>
-
-
-
-#include <XPath/XPathInit.hpp>
-
-
-
-class XALAN_XSLT_EXPORT XSLTInit
-{
-public:
-
-	explicit
-	XSLTInit();
-
-	~XSLTInit();
-
-private:
-
-	// Not implemented...
-	XSLTInit(const XSLTInit&);
-
-	XSLTInit&
-	operator=(const XSLTInit&);
-
-	
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	const PlatformSupportInit	m_platformSupportInit;
-
-	const DOMSupportInit		m_domSupportInit;
-
-	const XMLSupportInit		m_xmlSupportInit;
-
-	const XalanSourceTreeInit	m_xalanSourceTreeInit;
-
-	const XPathInit				m_xpathInit;
-
-	static unsigned long		s_initCounter;
-};
-
-
-
-#endif	// !defined(XSLTINIT_INCLUDE_GUARD_1357924680)
diff --git a/src/XSLT/XSLTInputSource.cpp b/src/XSLT/XSLTInputSource.cpp
deleted file mode 100644
index dd3c7e3..0000000
--- a/src/XSLT/XSLTInputSource.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#include "XSLTInputSource.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/framework/URLInputSource.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/StdBinInputStream.hpp>
-#include <PlatformSupport/URISupport.hpp>
-
-
-
-XSLTInputSource::XSLTInputSource() :
-	InputSource(),
-	m_stream(0),
-	m_node(0)
-{
-}
-
-
-
-// $$$ ToDo:  Xerces' InputSource class does not yet have a copy
-// constructor or assignment operator.  See bug #7944.
-XSLTInputSource::XSLTInputSource(const XSLTInputSource&	theSource) :
-#if 1
-	InputSource(),
-#else
-	InputSource(theSource)
-#endif
-	m_stream(theSource.m_stream),
-	m_node(theSource.m_node)
-{
-#if 1
-	setIssueFatalErrorIfNotFound(theSource.getIssueFatalErrorIfNotFound());
-
-	const XMLCh*	theValue = theSource.getSystemId();
-
-	if (theValue != 0)
-	{
-		setSystemId(theValue);
-	}
-
-	theValue = theSource.getPublicId();
-
-	if (theValue != 0)
-	{
-		setPublicId(theValue);
-	}
-
-	theValue = theSource.getEncoding();
-
-	if (theValue != 0)
-	{
-		setEncoding(theValue);
-	}
-#endif
-}
-
-
-
-XSLTInputSource&
-XSLTInputSource::operator=(const XSLTInputSource&	theRHS)
-{
-	if (this != &theRHS)
-	{
-		m_stream = theRHS.m_stream;
-		m_node = theRHS.m_node;
-#if 1
-		setIssueFatalErrorIfNotFound(theRHS.getIssueFatalErrorIfNotFound());
-
-		const XMLCh*	theValue = theRHS.getSystemId();
-
-		if (theValue != 0)
-		{
-			setSystemId(theValue);
-		}
-
-		theValue = theRHS.getPublicId();
-
-		if (theValue != 0)
-		{
-			setPublicId(theValue);
-		}
-
-		theValue = theRHS.getEncoding();
-
-		if (theValue != 0)
-		{
-			setEncoding(theValue);
-		}
-#endif
-	}
-
-#if 1
-	return *this;
-#else
-	return InputSource::operator=(theRHS);
-#endif
-}
-
-
-
-XSLTInputSource::XSLTInputSource(const XMLCh*	systemId) :
-	InputSource(systemId),
-	m_stream(0),
-	m_node(0)
-{
-}
-
-
-
-XSLTInputSource::XSLTInputSource(
-			const XMLCh*	systemId,
-			const XMLCh*	publicId) :
-	InputSource(systemId, publicId),
-	m_stream(0),
-	m_node(0)
-{
-}
-
-
-
-XSLTInputSource::XSLTInputSource(const char*	systemId) :
-	InputSource(systemId),
-	m_stream(0),
-	m_node(0)
-{
-}
-
-
-
-XSLTInputSource::XSLTInputSource(
-			const char*		systemId,
-			const char*		publicId) :
-	InputSource(systemId,
-				publicId),
-	m_stream(0),
-	m_node(0)
-{
-}
-
-
-
-XSLTInputSource::XSLTInputSource(XalanNode*		node) :
-	InputSource(),
-	m_stream(0),
-	m_node(node)
-{
-}
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-XSLTInputSource::XSLTInputSource(istream*		stream) :
-#else
-XSLTInputSource::XSLTInputSource(std::istream*	stream) :
-#endif
-	InputSource(),
-	m_stream(stream),
-	m_node(0)
-{
-}
-
-
-
-BinInputStream*
-XSLTInputSource::makeStream() const
-{
-	BinInputStream*		theResult = 0;
-
-	if (m_stream != 0)
-	{
-		theResult = new StdBinInputStream(*m_stream);
-	}
-	else if (m_node == 0)
-	{
-		const XalanDOMChar* const	theSystemId = getSystemId();
-
-		if (theSystemId != 0)
-		{
-			XMLURL	theURL;
-
-			URISupport::getURLFromString(theSystemId, theURL);
-
-			theResult = theURL.makeNewStream();
-		}
-	}
-
-	return theResult;
-}
diff --git a/src/XSLT/XSLTInputSource.hpp b/src/XSLT/XSLTInputSource.hpp
deleted file mode 100644
index 436b3cc..0000000
--- a/src/XSLT/XSLTInputSource.hpp
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_XSLTINPUTSOURCE_HEADER_GUARD)
-#define XALAN_XSLTINPUTSOURCE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#if defined(XALAN_OLD_STREAMS)
-#include <iostream.h>
-#else
-#include <iosfwd>
-#endif
-
-
-
-#include <xercesc/sax/InputSource.hpp>
-
-
-
-class BinInputStream;
-class XalanNode;
-
-
-
-class XALAN_XSLT_EXPORT XSLTInputSource : public InputSource
-{
-
-public:
-
-	explicit
-	XSLTInputSource();
-
-	/**
-	 * Copy constructor.
-	 */
-	XSLTInputSource(const XSLTInputSource&	theSource);
-
-	/**
-	 * Assignment operator.
-	 */
-	XSLTInputSource&
-	operator=(const XSLTInputSource&	theRHS);
-
-	/**
-	 * Create a new input source with a system identifier.
-	 *
-	 * <p>Applications may use setPublicId to include a public identifier as
-	 * well, or setEncoding to specify the character encoding, if known.</p>
-	 *
-	 * <p>If the system identifier is a URL, it must be full resolved.</p>
-	 *
-	 * @param systemId  system identifier (URI)
-	 */
-	XSLTInputSource(const XMLCh*	systemId);
-
-	/**
-	 * Create a new input source with a system identifier.
-	 *
-	 * <p>Applications may use setPublicId to include a public identifier as
-	 * well, or setEncoding to specify the character encoding, if known.</p>
-	 *
-	 * <p>If the system identifier is a URL, it must be full resolved.</p>
-	 *
-	 * @param systemId  system identifier (URI)
-	 */
-	XSLTInputSource(const char*		systemId);
-
-	/**
-	 * Create a new input source with a system identifier and a public
-	 * identifier.
-	 *
-	 * <p>If the system identifier is a URL, it must be full resolved.</p>
-	 *
-	 * @param systemId system identifier (URI)
-	 * @param publicId public identifier
-	 */
-	XSLTInputSource(
-			const char*		systemId,
-			const char*		publicId);
-
-	/**
-	 * Create a new input source with a system identifier and a public
-	 * identifier.
-	 *
-	 * <p>If the system identifier is a URL, it must be full resolved.</p>
-	 *
-	 * @param systemId system identifier (URI)
-	 * @param publicId public identifier
-	 */
-	XSLTInputSource(
-			const XMLCh*	systemId,
-			const XMLCh*	publicId);
-
-	/**
-	 * Create a new input source with a DOM node.
-	 *
-	 * <p>Application writers may use setSystemId() to provide a base for
-	 * resolving relative URIs, and setPublicId to include a public
-	 * identifier.</p>
-	 *
-	 * @param node DOM node that is root of the document
-	 */
-	XSLTInputSource(XalanNode*	node);
-
-	/**
-	 * Create a new input source with std stream.
-	 *
-	 * <p>Application writers may use setSystemId() to provide a base for
-	 * resolving relative URIs, and setPublicId to include a public
-	 * identifier.</p>
-	 *
-	 * @param stream the input stream...
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	XSLTInputSource(istream*		stream);
-#else
-	XSLTInputSource(std::istream*	stream);
-#endif
-
-	/**
-	 * Makes the byte stream for this input source.
-	 *
-	 * <p>The SAX parser will ignore this if there is also a character
-	 * stream specified, but it will use a byte stream in preference
-	 * to opening a URI connection itself.</p>
-	 *
-	 *
-	 * @return pointer to byte stream created
-	 */
-	virtual BinInputStream*
-	makeStream() const;
-
-	/**
-	 * Set the DOM node for this input source.
-	 *
-	 * @param node DOM node that is root of the document
-	 */
-	void
-	setNode(XalanNode*	node)
-	{
-		m_node = node;
-	}
-
-	/**
-	 * Retrieve the DOM node for this input source.
-	 *
-	 * @return DOM node that is root of the document
-	 */
-	XalanNode*
-	getNode() const
-	{
-		return m_node;
-	}
-
-#if defined(XALAN_NO_NAMESPACES)
-	istream*
-#else
-	std::istream*
-#endif
-	getStream() const
-	{
-		return m_stream;
-	}
-
-	void
-#if defined(XALAN_NO_NAMESPACES)
-	setStream(istream*	stream)
-#else
-	setStream(std::istream*	stream)
-#endif
-	{
-		m_stream = stream;
-	}
-
-private:
-
-#if defined(XALAN_NO_NAMESPACES)
-	istream*		m_stream;
-#else
-	std::istream*	m_stream;
-#endif
-
-	XalanNode*		m_node;
-};
-
-
-
-#endif	// XALAN_XSLTINPUTSOURCE_HEADER_GUARD
diff --git a/src/XSLT/XSLTProcessor.cpp b/src/XSLT/XSLTProcessor.cpp
deleted file mode 100644
index 07088c3..0000000
--- a/src/XSLT/XSLTProcessor.cpp
+++ /dev/null
@@ -1,69 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XSLTProcessor.hpp"
-
-
-
-XSLTProcessor::XSLTProcessor()
-{
-}
-
-
-
-XSLTProcessor::~XSLTProcessor()
-{
-}
diff --git a/src/XSLT/XSLTProcessor.hpp b/src/XSLT/XSLTProcessor.hpp
deleted file mode 100644
index 3da55d7..0000000
--- a/src/XSLT/XSLTProcessor.hpp
+++ /dev/null
@@ -1,545 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-#if !defined(XALAN_XSLTPROCESSOR_HEADER_GUARD)
-#define XALAN_XSLTPROCESSOR_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#include <cstddef>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class ElemTemplateElement;
-class FormatterListener;
-class GenerateEvent;
-class Locator;
-class NodeRefListBase;
-class PrefixResolver;
-class PrintWriter;
-class ResultTreeFragBase;
-class SelectionEvent;
-class StylesheetConstructionContext;
-class StylesheetExecutionContext;
-class StylesheetRoot;
-class TraceListener;
-class TracerEvent;
-class XalanDocument;
-class XalanElement;
-class XalanNode;
-class XMLParserLiaison;
-class XObject;
-class XObjectPtr;
-class XPathExecutionContext;
-class XSLTInputSource;
-class XSLTResultTarget;
-
-
-
-/**
- * This is an interface for an XSLT Processor engine. It's the responsibility
- * of the implementation of the XSLTProcessor interface, 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.	The methods process(...) are
- * the primary public entry points.
- * 
- * If you reuse the processor instance, you should call reset() between calls.
- */
-class XALAN_XSLT_EXPORT XSLTProcessor
-{
-public:
-
-	typedef size_t	size_type;
-
-	XSLTProcessor();
-
-	virtual
-	~XSLTProcessor();
-
-	/**
-	 * Transform the source tree to the output in the given result tree target.
-	 * The processor will process the input source, the stylesheet source,
-	 * and transform to the output target.
-	 *
-	 * @param inputSource		  input source
-	 * @param stylesheetSource	  stylesheet source
-	 * @param outputTarget		  output source tree
-	 * @param constructionContext context for construction of objects
-	 * @param executionContext	  current execution context
-	 * @exception XSLProcessorException 
-	 */
-	virtual void
-	process(
-		const XSLTInputSource&			inputSource,
-		const XSLTInputSource&			stylesheetSource,
-		XSLTResultTarget&				outputTarget,
-		StylesheetConstructionContext&	constructionContext,
-		StylesheetExecutionContext& 	executionContext) = 0;
-
-	/**
-	 * Transform the source tree to the output in the given result tree target.
-	 * This function does not create a stylesheet tree, it assumes the
-	 * provided StylesheetExecutionContext has the stylesheet tree to use. This
-	 * is set by calling StylesheetExecutionContext::setStylesheetRoot().
-	 *
-	 * @param inputSource		  input source
-	 * @param outputTarget		  output source tree
-	 * @param executionContext	  current execution context
-	 * @exception XSLProcessorException 
-	 */
-	virtual void
-	process(
-			const XSLTInputSource&			inputSource,
-			XSLTResultTarget&				outputTarget,
-			StylesheetExecutionContext& 	executionContext) = 0;
-
-	/**
-	 * Given a stylesheet input source, compile the stylesheet into an internal
-	 * representation.
-	 *
-	 * @param stylesheetSource	  input source for the stylesheet
-	 * @param constructionContext context for construction of objects
-	 * @return pointer to the compiled stylesheet object
-	 * @exception XSLProcessorException 
-	 */
-	virtual StylesheetRoot*
-	processStylesheet(
-			const XSLTInputSource&			stylesheetSource,
-			StylesheetConstructionContext&	constructionContext) = 0;
-  
-	/**
-	 * Given a URI to an XSL stylesheet, compile the stylesheet into an internal
-	 * representation.
-	 *
-	 * @param xmldocURLString URI to the input XML document
-	 * @param constructionContext context for construction of objects
-	 * @return pointer to compiled stylesheet object
-	 * @exception XSLProcessorException 
-	 */
-	virtual StylesheetRoot*
-	processStylesheet(
-			const XalanDOMString&			xsldocURLString,
-			StylesheetConstructionContext&	constructionContext) = 0;
-  
-	/**
-	 * Reset the state.  This needs to be called after a process() call 
-	 * is invoked, if the processor is to be used again.
-	 */
-	virtual void
-	reset() = 0;
-  
-	/**
-	 * Get a factory for creating new target nodes.
-	 *
-	 * @return The factory
-	 */
-	virtual XalanDocument*
-	getDOMFactory() const = 0;
-
-	/**
-	 * Given an input source, get the source tree.
-	 *
-	 * @param inputSource pointer to input source
-	 * @return source tree
-	 */
-	virtual XalanNode*
-	getSourceTreeFromInput(const XSLTInputSource& 	inputSource) = 0;
-
-   /**
-	* Output an object to the result tree by doing the right conversions.
-	*
-	* @param obj the XObject to output
-	*/
-	virtual void
-	outputToResultTree(const XObject&	xobj) = 0;
-
-	/**
-	 * Retrieve the root stylesheet.
-	 * 
-	 * @return pointer to root stylesheet
-	 */
-	virtual const StylesheetRoot*
-	getStylesheetRoot() const = 0;
-
-	/**
-	 * Set the root stylesheet.
-	 * 
-	 * @param theStylesheet pointer to new root stylesheet
-	 */
-	virtual void
-	setStylesheetRoot(const StylesheetRoot*		theStylesheet) = 0;
-
-	/**
-	 * Set the execution context. Must be set if after calling
-	 * setStylesheetRoot.
-	 * 
-	 * @param theExecutionContext pointer to new execution context.
-	 */
-	virtual void
-	setExecutionContext(StylesheetExecutionContext*		theExecutionContext) = 0;
-
-	/**
-	 * Resolve the params that were pushed by the caller.
-	 */
-	virtual void
-	resolveTopLevelParams(StylesheetExecutionContext&	executionContext) = 0;
-
-	/**
-	 * Get the XML Parser Liaison that this processor uses.
-	 *
-	 * @return XML parser liaison object
-	 */
-	virtual XMLParserLiaison&
-	getXMLParserLiaison() const = 0;
-
-	/**
-	 * Generate a random namespace prefix guaranteed to be unique.
-	 *
-	 * @return unique namespace prefix
-	 */
-	virtual const XalanDOMString
-	getUniqueNamespaceValue() = 0;
-
-	/**
-	 * Generate a random namespace prefix guaranteed to be unique.
-	 *
-	 * @param theValue A string for returning the new prefix
-	 */
-	virtual void
-	getUniqueNamespaceValue(XalanDOMString&		theValue) = 0;
-
-   /**
-	* Push a top-level stylesheet parameter.  This value can be evaluated via
-	* xsl:param-variable.
-	*
-    * @param key   name of the parameter
-    * @param value XObject value for parameter
-    */
-   virtual void
-   setStylesheetParam(
-			const XalanDOMString&	key,
-			XObjectPtr				value) = 0;
-  
-  /**
-	* Push a top-level stylesheet parameter.  This value can be evaluated via
-	* xsl:param-variable.
-	*
-   * @param key name of the param
-   * @param expression expression that will be evaluated
-   */
-	virtual void
-	setStylesheetParam(
-			const XalanDOMString&	key,
-			const XalanDOMString&	expression) = 0;
-
-	/**
-	 * Tells, through the combination of the default-space attribute on
-	 * xsl:stylesheet, xsl:strip-space, xsl:preserve-space, and the xml:space
-	 * attribute, whether or not extra whitespace should be stripped from the
-	 * node.  Literal elements from template elements should <em>not</em> be
-	 * tested with this function.
-	 *
-	 * @param executionContext  current execution context
-	 * @param node text node from the source tree
-	 * @return true if the text node should be stripped of extra whitespace
-	 *
-	 * $$$ ToDo: This has no business being here in the engine...
-	 */
-	virtual bool
-	shouldStripSourceNode(
-			XPathExecutionContext&	executionContext,
-			const XalanNode&		node) const = 0;
-
-	/**
-	 * Get the current formatter listener.
-	 * 
-	 * @return pointer to formatter listener
-	 */
-	virtual FormatterListener*
-	getFormatterListener() const = 0;
-  
-	/**
-	 * Set the current formatter listener.
-	 *
-	 * @param flistener pointer to new formatter listener
-	 */
-	virtual void
-	setFormatterListener(FormatterListener* 	flistener) = 0;  
-
-	/**
-	 * Determine the number of trace listeners.
-	 * 
-	 * @return number of listeners
-	 */
-	virtual size_type
-	getTraceListeners() const = 0;
-
-	/**
-	 * Add a trace listener for the purposes of debugging and diagnosis.
-	 * 
-	 * @param tl pointer to listener to add
-	 */
-	virtual void
-	addTraceListener(TraceListener* 	tl) = 0;
-
-	/**
-	 * Remove a trace listener.
-	 *
-	 * @param tl Trace listener to be removed.
-	 */
-	virtual void
-	removeTraceListener(TraceListener*	tl) = 0;
-
-	/**
-	 * Fire a generate event.
-	 * 
-	 * @param ge generate event to fire
-	 */
-	virtual void
-	fireGenerateEvent(const GenerateEvent&	ge) = 0;
-
-	/**
-	 * Fire a trace event.
-	 * 
-	 * @param te trace event to fire
-	 */
-	virtual void
-	fireTraceEvent(const TracerEvent&	te) = 0;
-
-	/**
-	 * Fire a selection event.
-	 * 
-	 * @param se selection event to fire
-	 */
-	virtual void
-	fireSelectEvent(const SelectionEvent&	se) = 0;
-
-	/**
-	 * If this is set to true, simple traces of template calls are made.
-	 *
-	 * @return true if traces made
-	 */
-	virtual bool
-	getTraceSelects() const = 0;
-
-	/**
-	 * Compose a diagnostic trace of the current selection
-	 *
-	 * @param theTemplate current context node
-	 * @param nl          list of selected nodes
-	 */
-	virtual void
-	traceSelect(
-			const XalanElement&		theTemplate,
-			const NodeRefListBase&	nl) const = 0;
-
-	/**
-	 * If the quietConflictWarnings property is set to 
-	 * true, warnings about pattern conflicts won't be 
-	 * printed to the diagnostics stream.
-	 * True by default.
-	 *
-	 * @param b true if conflict warnings should be suppressed.
-	 */
-	virtual void
-	setQuietConflictWarnings(bool b) = 0;
-
-	/**
-	 * If this is set, diagnostics will be 
-	 * written to the m_diagnosticsPrintWriter stream. If 
-	 * the value is null, then diagnostics will be turned 
-	 * off.
-	 *
-	 * @param pw pointer to print writer
-	 */
-	virtual void
-	setDiagnosticsOutput(PrintWriter* pw) = 0;
-
-	/**
-	 * Report a message.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where message occurred
-	 * @param styleNode  node in stylesheet where message occurred
-	 */
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const = 0;
-
-	/**
-	 * Report a message.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where message occurred
-	 * @param styleNode  node in stylesheet where message occurred
-	 */
-	virtual void
-	message(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const = 0;
-
-	/**
-	 * Report a message.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param locator  A Locator for error reporting
-	 * @param sourceNode node in source where message occurred
-	 */
-	virtual void
-	message(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode = 0) const = 0;
-
-	/**
-	 * Report a warning.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where the warning occurred
-	 * @param styleNode  node in stylesheet where the warning occurred
-	 */
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const = 0;
-
-	/**
-	 * Report a warning.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where warning occurred
-	 * @param styleNode  node in stylesheet where warning occurred
-	 */
-	virtual void
-	warn(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const = 0;
-
-	/**
-	 * Report a warning.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param locator  A Locator for error reporting
-	 * @param sourceNode node in source where error occurred
-	 */
-	virtual void
-	warn(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode = 0) const = 0;
-
-	/**
-	 * Report an error and throw an exception.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where error occurred
-	 * @param styleNode  node in stylesheet where error occurred
-	 */
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const XalanNode*		sourceNode = 0,
-			const XalanNode*		styleNode = 0) const = 0;
-
-	/**
-	 * Report an error and throw an exception.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param sourceNode node in source where error occurred
-	 * @param styleNode  node in stylesheet where error occurred
-	 */
-	virtual void
-	error(
-			const XalanDOMString&		msg,
-			const XalanNode*			sourceNode,
-			const ElemTemplateElement*	styleNode) const = 0;
-
-	/**
-	 * Report an error and throw an exception.
-	 * 
-	 * @param msg		 text of message to output
-	 * @param locator  A Locator for error reporting
-	 * @param sourceNode node in source where error occurred
-	 */
-	virtual void
-	error(
-			const XalanDOMString&	msg,
-			const Locator&			locator,
-			const XalanNode*		sourceNode = 0) const = 0;
-};
-
-
-
-#endif	// XALAN_XSLTPROCESSOR_HEADER_GUARD
diff --git a/src/XSLT/XSLTProcessorEnvSupport.cpp b/src/XSLT/XSLTProcessorEnvSupport.cpp
deleted file mode 100644
index 388394d..0000000
--- a/src/XSLT/XSLTProcessorEnvSupport.cpp
+++ /dev/null
@@ -1,70 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XSLTProcessorEnvSupport.hpp"
-
-
-
-XSLTProcessorEnvSupport::XSLTProcessorEnvSupport() :
-	XPathEnvSupport()
-{
-}
-
-
-
-XSLTProcessorEnvSupport::~XSLTProcessorEnvSupport()
-{
-}
diff --git a/src/XSLT/XSLTProcessorEnvSupport.hpp b/src/XSLT/XSLTProcessorEnvSupport.hpp
deleted file mode 100644
index d486939..0000000
--- a/src/XSLT/XSLTProcessorEnvSupport.hpp
+++ /dev/null
@@ -1,166 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XSLTPROCESSORENVSUPPORT_HEADER_GUARD_1357924680)
-#define XSLTPROCESSORENVSUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/XPathEnvSupport.hpp>
-
-
-
-class XSLTProcessor;
-
-
-
-class XALAN_XSLT_EXPORT XSLTProcessorEnvSupport : public XPathEnvSupport
-{
-public:
-
-	XSLTProcessorEnvSupport();
-
-	virtual
-	~XSLTProcessorEnvSupport();
-
-
-	// These interfaces are inherited from XPathEnvSupport...
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base) = 0;
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const = 0;
-
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument) = 0;
-
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const = 0;
-
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const = 0;
-
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const = 0;
-
-	virtual XObjectPtr
-	extFunction(
-			XPathExecutionContext&			executionContext,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) const = 0;
-
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const XalanNode*		styleNode,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const = 0;
-
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const PrefixResolver*	resolver,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const = 0;
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset() = 0;
-
-private:
-
-	// These are not implemented...
-	XSLTProcessorEnvSupport(const XSLTProcessorEnvSupport&);
-
-	XSLTProcessorEnvSupport&
-	operator=(const XSLTProcessorEnvSupport&);
-
-	bool
-	operator==(const XSLTProcessorEnvSupport&) const;
-};
-
-
-
-#endif	// XSLTPROCESSORENVSUPPORT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/XSLTProcessorEnvSupportDefault.cpp b/src/XSLT/XSLTProcessorEnvSupportDefault.cpp
deleted file mode 100644
index d627b19..0000000
--- a/src/XSLT/XSLTProcessorEnvSupportDefault.cpp
+++ /dev/null
@@ -1,360 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#include "XSLTProcessorEnvSupportDefault.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include <xercesc/util/XMLURL.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/URISupport.hpp>
-
-
-
-#include <XPath/ElementPrefixResolverProxy.hpp>
-#include <XPath/XPathExecutionContext.hpp>
-
-
-
-#include <XMLSupport/XMLParserLiaison.hpp>
-
-
-
-#include "KeyTable.hpp"
-#include "StylesheetRoot.hpp"
-#include "XSLTProcessor.hpp"
-#include "XSLTInputSource.hpp"
-
-
-
-XSLTProcessorEnvSupportDefault::XSLTProcessorEnvSupportDefault(XSLTProcessor*	theProcessor) :
-	XSLTProcessorEnvSupport(),
-	m_defaultSupport(),
-	m_processor(theProcessor)
-{
-}
-
-
-
-XSLTProcessorEnvSupportDefault::~XSLTProcessorEnvSupportDefault()
-{
-	reset();
-}
-
-
-
-void
-XSLTProcessorEnvSupportDefault::installExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function)
-{
-	XPathEnvSupportDefault::installExternalFunctionGlobal(theNamespace, functionName, function);
-}
-
-
-
-void
-XSLTProcessorEnvSupportDefault::uninstallExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName)
-{
-	XPathEnvSupportDefault::uninstallExternalFunctionGlobal(theNamespace, functionName);
-}
-
-
-
-void
-XSLTProcessorEnvSupportDefault::installExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function)
-{
-	m_defaultSupport.installExternalFunctionLocal(theNamespace, functionName, function);
-}
-
-
-
-void
-XSLTProcessorEnvSupportDefault::uninstallExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName)
-{
-	m_defaultSupport.uninstallExternalFunctionLocal(theNamespace, functionName);
-}
-
-
-
-void
-XSLTProcessorEnvSupportDefault::reset()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	m_defaultSupport.reset();
-}
-
-
-
-XalanDocument*
-XSLTProcessorEnvSupportDefault::parseXML(
-		const XalanDOMString&	urlString,
-		const XalanDOMString&	base)
-{
-	if (m_processor == 0)
-	{
-		return m_defaultSupport.parseXML(urlString, base);
-	}
-	else
-	{
-		typedef URISupport::URLAutoPtrType	URLAutoPtrType;
-
-		// $$$ ToDo: we should re-work this code to only use
-		// XMLRUL when necessary.
-		const URLAutoPtrType	xslURL =
-			URISupport::getURLFromString(urlString, base);
-
-		// $$$ ToDo: Explicit XalanDOMString constructor
-		const XalanDOMString	urlText(XalanDOMString(xslURL->getURLText()));
-
-		// First see if it's already been parsed...
-		XalanDocument*		theDocument =
-			getSourceDocument(urlText);
-
-		if (theDocument == 0)
-		{
-			XMLParserLiaison&	parserLiaison =
-				m_processor->getXMLParserLiaison();
-
-			XSLTInputSource		inputSource(c_wstr(urlText));
-
-			theDocument = parserLiaison.parseXMLStream(inputSource);
-
-			if (theDocument != 0)
-			{
-				setSourceDocument(urlText, theDocument);
-			}
-		}
-
-		return theDocument;
-	}
-}
-
-
-
-XalanDocument*
-XSLTProcessorEnvSupportDefault::getSourceDocument(const XalanDOMString&		theURI) const
-{
-	return m_defaultSupport.getSourceDocument(theURI);
-}
-
-
-
-void
-XSLTProcessorEnvSupportDefault::setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument)
-{
-	m_defaultSupport.setSourceDocument(theURI, theDocument);
-}
-
-
-
-XalanDOMString
-XSLTProcessorEnvSupportDefault::findURIFromDoc(const XalanDocument*		owner) const
-{
-	return m_defaultSupport.findURIFromDoc(owner);
-}
-
-
-
-bool
-XSLTProcessorEnvSupportDefault::elementAvailable(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName) const
-{
-	return m_defaultSupport.elementAvailable(theNamespace,
-											 functionName);
-}
-
-
-
-bool
-XSLTProcessorEnvSupportDefault::functionAvailable(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName) const
-{
-	return m_defaultSupport.functionAvailable(theNamespace,
-											  functionName);
-}
-
-
-
-XObjectPtr
-XSLTProcessorEnvSupportDefault::extFunction(
-			XPathExecutionContext&			executionContext,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) const
-{
-	return m_defaultSupport.extFunction(
-			executionContext,
-			theNamespace,
-			functionName,
-			context,
-			argVec,
-			locator);
-}
-
-
-
-bool
-XSLTProcessorEnvSupportDefault::problem(
-			eSource					/* where */,
-			eClassification			classification,
-			const XalanNode*		styleNode,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		/* uri */,
-			int						/* lineNo */,
-			int						/* charOffset */) const
-{
-	if (classification == XPathEnvSupport::eError)
-	{
-		m_processor->error(
-					msg,
-					styleNode,
-					sourceNode);
-
-		return true;
-	}
-	else if (classification == XPathEnvSupport::eWarning)
-	{
-		m_processor->warn(
-					msg,
-					styleNode,
-					sourceNode);
-
-		return false;
-	}
-	else
-	{
-		m_processor->message(
-					msg,
-					styleNode,
-					sourceNode);
-
-		return false;
-	}
-}
-
-
-
-bool
-XSLTProcessorEnvSupportDefault::problem(
-			eSource					/* where */,
-			eClassification			classification,
-			const PrefixResolver*	/* resolver */,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		/* uri */,
-			int						/* lineNo */,
-			int						/* charOffset */) const
-{
-	if (classification == XPathEnvSupport::eError)
-	{
-		m_processor->error(
-					msg,
-					0,
-					sourceNode);
-
-		return true;
-	}
-	else if (classification == XPathEnvSupport::eWarning)
-	{
-		m_processor->warn(
-					msg,
-					0,
-					sourceNode);
-
-		return false;
-	}
-	else
-	{
-		m_processor->message(
-					msg,
-					0,
-					sourceNode);
-
-		return false;
-	}
-}
diff --git a/src/XSLT/XSLTProcessorEnvSupportDefault.hpp b/src/XSLT/XSLTProcessorEnvSupportDefault.hpp
deleted file mode 100644
index 29eee7c..0000000
--- a/src/XSLT/XSLTProcessorEnvSupportDefault.hpp
+++ /dev/null
@@ -1,237 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-#if !defined(XSLTPROCESSORENVSUPPORTDEFAULT_HEADER_GUARD_1357924680)
-#define XSLTPROCESSORENVSUPPORTDEFAULT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XSLT/XSLTProcessorEnvSupport.hpp>
-
-
-
-#include <XPath/XPathEnvSupportDefault.hpp>
-
-
-
-class XSLTProcessor;
-
-
-
-class XALAN_XSLT_EXPORT XSLTProcessorEnvSupportDefault : public XSLTProcessorEnvSupport
-{
-public:
-
-	XSLTProcessorEnvSupportDefault(XSLTProcessor*	theProcessor = 0);
-
-	virtual
-	~XSLTProcessorEnvSupportDefault();
-
-	/**
-	 * Reset the XLST processor instance
-	 * 
-	 * @param theProcessor pointer to new processor instance
-	 */
-	void
-	setProcessor(XSLTProcessor*		theProcessor)
-	{
-		m_processor = theProcessor;
-	}
-
-
-	/**
-	 * Install an external function in the global space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	static void
-	installExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function);
-
-	/**
-	 * Uninstall an external function from the global space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 */
-	static void
-	uninstallExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName);
-
-	// Interfaces to install and uninstall external functions in this instance.
-
-	/**
-	 * Install an external function in the local space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	virtual void
-	installExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function&			function);
-
-	/**
-	 * Uninstall an external function from the local space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 */
-	virtual void
-	uninstallExternalFunctionLocal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName);
-
-	// These interfaces are inherited from XPathEnvSupport...
-
-	virtual XalanDocument*
-	parseXML(
-			const XalanDOMString&	urlString,
-			const XalanDOMString&	base);
-
-	virtual XalanDocument*
-	getSourceDocument(const XalanDOMString&		theURI) const;
-
-	virtual void
-	setSourceDocument(
-			const XalanDOMString&	theURI,
-			XalanDocument*			theDocument);
-
-	virtual XalanDOMString
-	findURIFromDoc(const XalanDocument*		owner) const;
-
-	virtual bool
-	elementAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	elementName) const;
-
-	virtual bool
-	functionAvailable(
-			const XalanDOMString&	theNamespace, 
-			const XalanDOMString&	functionName) const;
-
-	virtual XObjectPtr
-	extFunction(
-			XPathExecutionContext&			executionContext,
-			const XalanDOMString&			theNamespace,
-			const XalanDOMString&			functionName,
-			XalanNode*						context,
-			const XObjectArgVectorType&		argVec,
-			const Locator*					locator) const;
-
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const XalanNode*		styleNode,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const;
-
-	virtual bool
-	problem(
-			eSource					where,
-			eClassification			classification,
-			const PrefixResolver*	resolver,
-			const XalanNode*		sourceNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset) const;
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset();
-
-
-	// These are not implemented...
-	XSLTProcessorEnvSupportDefault(const XSLTProcessorEnvSupportDefault&);
-
-	XSLTProcessorEnvSupportDefault&
-	operator=(const XSLTProcessorEnvSupportDefault&);
-
-	bool
-	operator==(const XSLTProcessorEnvSupportDefault&) const;
-
-
-	// Data members...
-
-	XPathEnvSupportDefault		m_defaultSupport;
-
-	XSLTProcessor*				m_processor;
-};
-
-
-
-#endif	// XSLTPROCESSORENVSUPPORTDEFAULT_HEADER_GUARD_1357924680
diff --git a/src/XSLT/XSLTProcessorException.cpp b/src/XSLT/XSLTProcessorException.cpp
deleted file mode 100644
index a024b2a..0000000
--- a/src/XSLT/XSLTProcessorException.cpp
+++ /dev/null
@@ -1,99 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XSLTProcessorException.hpp"
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-XSLTProcessorException::XSLTProcessorException(
-		const XalanDOMString&	theMessage,
-		const XalanDOMString&	theURI,
-		int						theLineNumber,
-		int						theColumnNumber,
-		const XalanDOMString&	theType) :
-	XSLException(theMessage, theURI, theLineNumber, theColumnNumber, theType)
-{
-}
-
-
-
-XSLTProcessorException::XSLTProcessorException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType) :
-	XSLException(theLocator, theMessage, theType)
-{
-}
-
-
-
-XSLTProcessorException::XSLTProcessorException(
-		const XalanDOMString&	theMessage,
-		const XalanDOMString&	theType) :
-	XSLException(theMessage, theType)
-{
-}
-
-
-
-XSLTProcessorException::~XSLTProcessorException()
-{
-}
diff --git a/src/XSLT/XSLTProcessorException.hpp b/src/XSLT/XSLTProcessorException.hpp
deleted file mode 100644
index 1d21162..0000000
--- a/src/XSLT/XSLTProcessorException.hpp
+++ /dev/null
@@ -1,120 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XSLTPROCESSOREXCEPTION_HEADER_GUARD_1357924680)
-#define XSLTPROCESSOREXCEPTION_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <PlatformSupport/XSLException.hpp>
-
-
-
-class XALAN_XSLT_EXPORT XSLTProcessorException : public XSLException
-{
-public:
-
-	/**
-	 * Construct an XSLT Processor exception object
-	 * 
-	 * @param theMessage message to print when exception thrown
-	 * @param theURI the URI of the related document, if known
-	 * @param theLineNumber the line number of the related document, or -1 if not known
-	 * @param theColumnNumber the column number of the related document, or -1 if not known
-	 * @param theType    type of exception string, default is "XSLTProcessorException"
-	 */
-	XSLTProcessorException(
-		const XalanDOMString&	theMessage,
-		const XalanDOMString&	theURI,
-		int						theLineNumber,
-		int						theColumnNumber,
-		const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLTProcessorException")));
-
-	/**
-	 * Constructor
-	 * 
-	 * @param theLocator The locator instance for error reporting.
-	 * @param theMessage message to write when exception thrown
-	 * @param theType type of exception, default is "XSLTProcessorException"
-	 */
-	XSLTProcessorException(
-			const Locator&			theLocator,
-			const XalanDOMString&	theMessage,
-			const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLTProcessorException")));
-
-	/**
-	 * Construct an XSLT Processor exception object
-	 * 
-	 * @param theMessage message to print when exception thrown
-	 * @param theType    type of exception string, default is "XSLTProcessorException"
-	 */
-	XSLTProcessorException(
-		const XalanDOMString&	theMessage,
-		const XalanDOMString&	theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLTProcessorException")));
-
-	virtual
-	~XSLTProcessorException();
-};
-
-
-
-#endif	// XSLTPROCESSOREXCEPTION_HEADER_GUARD_1357924680
diff --git a/src/XSLT/XSLTResultTarget.cpp b/src/XSLT/XSLTResultTarget.cpp
deleted file mode 100644
index 9743e1f..0000000
--- a/src/XSLT/XSLTResultTarget.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- *
- */
-
-// Base include file.  Must be first.
-#include "XSLTResultTarget.hpp"
-
-
-
-#include <cassert>
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <ostream>
-#endif
-
-
-
-XSLTResultTarget::XSLTResultTarget() :
-	m_fileName(),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(const XalanDOMString&	fileName) :
-	m_fileName(fileName),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(const char*	fileName) :
-	m_fileName(fileName),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-}
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-XSLTResultTarget::XSLTResultTarget(ostream*		theStream) :
-#else
-XSLTResultTarget::XSLTResultTarget(std::ostream*	theStream) :
-#endif
-	m_fileName(),
-	m_byteStream(theStream),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-	assert(theStream != 0);
-}
-
-
-
-#if defined(XALAN_NO_NAMESPACES)
-XSLTResultTarget::XSLTResultTarget(ostream&		theStream) :
-#else
-XSLTResultTarget::XSLTResultTarget(std::ostream&	theStream) :
-#endif
-	m_fileName(),
-	m_byteStream(&theStream),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(Writer*	characterStream) :
-	m_fileName(),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(characterStream),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-	assert(characterStream != 0);
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(XalanDocument*	document) :
-	m_fileName(),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(document),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(0)
-{
-	assert(document != 0);
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(XalanDocumentFragment*	documentFragment) :
-	m_fileName(),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(documentFragment),
-	m_element(0),
-	m_formatterListener(0)
-{
-	assert(documentFragment != 0);
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(XalanElement*	element) :
-	m_fileName(),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(element),
-	m_formatterListener(0)
-{
-	assert(element != 0);
-}
-
-
-
-XSLTResultTarget::XSLTResultTarget(FormatterListener&		flistener) :
-	m_fileName(),
-	m_byteStream(0),
-	m_encoding(),
-	m_characterStream(0),
-	m_document(0),
-	m_documentFragment(0),
-	m_element(0),
-	m_formatterListener(&flistener)
-{
-}
diff --git a/src/XSLT/XSLTResultTarget.hpp b/src/XSLT/XSLTResultTarget.hpp
deleted file mode 100644
index f5a6a0b..0000000
--- a/src/XSLT/XSLTResultTarget.hpp
+++ /dev/null
@@ -1,416 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * $ Id: $
- 
- */
-
-#if !defined(XALAN_XSLTRESULTTARGET_HEADER_GUARD)
-#define XALAN_XSLTRESULTTARGET_HEADER_GUARD
-
-// Base include file.  Must be first.
-#include "XSLTDefinitions.hpp"
-
-
-
-#if defined(XALAN_OLD_STREAMS)
-class ostream;
-#else
-#include <iosfwd>
-#endif
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class FormatterListener;
-class XalanDocument;
-class XalanDocumentFragment;
-class XalanElement;
-class Writer;
-
-
-
-class XALAN_XSLT_EXPORT XSLTResultTarget
-{
-public:
-
-	explicit
-	XSLTResultTarget();
-
-	/**
-	 * Create a new output target with a file name.
-	 *
-	 * @param fileName valid system file name
-	 */
-	XSLTResultTarget(const XalanDOMString&	fileName);
-
-	/**
-	 * Create a new output target with a file name.
-	 *
-	 * @param fileName valid system file name
-	 */
-	XSLTResultTarget(const char*	fileName);
-
-	/**
-	 * Create a new output target with a stream.
-	 *
-	 * @param byteStream a pointer to a std ostream for the output
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	XSLTResultTarget(ostream*		theStream);
-#else
-	XSLTResultTarget(std::ostream*	theStream);
-#endif
-
-	/**
-	 * Create a new output target with a stream.
-	 *
-	 * @param byteStream a reference to a std ostream for the output
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	XSLTResultTarget(ostream&		theStream);
-#else
-	XSLTResultTarget(std::ostream&	theStream);
-#endif
-
-	/**
-	 * Create a new output target with a character stream.
-	 *
-	 * @param characterStream pointer to character stream where the results
-	 *                        will be written
-	 */ 
-	XSLTResultTarget(Writer*	characterStream);
-
-	/**
-	 * Create a new output target with a DOM document.
-	 *
-	 * @param n root of DOM node tree that holds results
-	 */
-	XSLTResultTarget(XalanDocument*		document);
-
-	/**
-	 * Create a new output target with a DOM document fragment.
-	 *
-	 * @param n root of DOM node tree that holds results
-	 */
-	XSLTResultTarget(XalanDocumentFragment*		documentFragment);
-
-	/**
-	 * Create a new output target with a DOM element.
-	 *
-	 * @param n root of DOM node tree that holds results
-	 */
-	XSLTResultTarget(XalanElement*	element);
-
-	/**
-	 * Create a new output target with a FormatterListener.
-	 *
-	 * @param flistener A FormatterListener instance for result tree events.
-	 */
-	XSLTResultTarget(FormatterListener&		flistener);
-
-	/**
-	 * Set the file name where the results will be written.
-	 *
-	 * @param fileName system identifier as a string
-	 */
-	void
-	setFileName(const XalanDOMString&	fileName)
-	{
-		m_fileName = fileName;
-	}
-
-	/**
-	 * Get the file name where the results will be written to.
-	 * 
-	 * @return file name string
-	 */
-	const XalanDOMString&
-	getFileName() const
-	{
-		return m_fileName;
-	}
-
-	/**
-	 * Set the byte stream for this output target.
-	 *
-	 * @param byteStream pointer to byte stream that will contain the result
-	 *                   document
-	 */
-	void
-#if defined(XALAN_NO_NAMESPACES)
-	setByteStream(ostream*			byteStream)
-#else
-	setByteStream(std::ostream*		byteStream)
-#endif
-	{
-		m_byteStream = byteStream;
-	}
-
-	/**
-	 * Get the byte stream for this output target.
-	 *
-	 * @return pointer to byte stream, or null if none was supplied.
-	 */
-#if defined(XALAN_NO_NAMESPACES)
-	ostream*
-#else
-	std::ostream*
-#endif
-	getByteStream() const
-	{
-		return m_byteStream;
-	}
-
-	/** 
-	 * Set the character encoding, if known.
-	 *
-	 * @param encoding new encoding string
-	 */
-	void
-	setEncoding(const XalanDOMString&	encoding)
-	{
-		m_encoding = encoding;
-	}
-
-	/**
-	 * Get the character encoding in use.
-	 *
-	 * @return encoding string, or empty string if none was supplied.
-	 */
-	const XalanDOMString&
-	getEncoding() const
-	{
-		return m_encoding;
-	}
-
-	/**
-	 * Set the character stream for this output target.
-	 *
-	 * @param characterStream pointer to character stream that will contain 
-	 *                        the result document
-	 */
-	void
-	setCharacterStream(Writer*	characterStream)
-	{
-		m_characterStream = characterStream;
-	}
-
-	/**
-	 * Get the character stream for this output target.
-	 *
-	 * @return pointer to character stream, or null if none was supplied.
-	 */
-	Writer*
-	getCharacterStream() const
-	{
-		return m_characterStream;
-	}
-
-	bool
-	hasDOMTarget() const
-	{
-		return m_document != 0 || m_documentFragment != 0 || m_element != 0;
-	}
-
-	/**
-	 * Set the document node that will contain the result nodes.
-	 *
-	 * @param node DOM node to contain results
-	 */
-	void
-	setDocument(XalanDocument*		document)
-	{
-		m_document = document;
-
-		m_documentFragment = 0;
-		m_element = 0;
-	}
-
-	/**
-	 * Get the document node that will contain the result nodes.
-	 *
-	 * @return a pointer to the document node
-	 */
-	XalanDocument*
-	getDocument() const
-	{
-		return m_document;
-	}
-
-	/**
-	 * Set the document fragment node that will contain the result nodes.
-	 *
-	 * @param node DOM node to contain results
-	 */
-	void
-	setDocumentFragment(XalanDocumentFragment*	documentFragment)
-	{
-		m_documentFragment = documentFragment;
-
-		m_document = 0;
-		m_element = 0;
-	}
-
-	/**
-	 * Get the document node that will contain the result nodes.
-	 *
-	 * @return a pointer to the document node
-	 */
-	XalanDocumentFragment*
-	getDocumentFragment() const
-	{
-		return m_documentFragment;
-	}
-
-	/**
-	 * Set the element node that will contain the result nodes.
-	 *
-	 * @param node DOM node to contain results
-	 */
-	void
-	setElement(XalanElement*	element)
-	{
-		m_element = element;
-
-		m_documentFragment = 0;
-		m_document = 0;
-	}
-
-	/**
-	 * Get the document node that will contain the result nodes.
-	 *
-	 * @return a pointer to the document node
-	 */
-	XalanElement*
-	getElement() const
-	{
-		return m_element;
-	}
-
-	/**
-	 * Set a SAX DocumentHandler to process the result tree events.
-	 *
-	 * @param handler pointer to new handler
-	 */
-	void
-	setDocumentHandler(FormatterListener*	handler)
-	{
-		m_formatterListener = handler;
-	}
-
-	/**
-	 * Get the SAX DocumentHandler that will process the result tree events.
-	 *
-	 * @return pointer to current handler
-	 */
-	FormatterListener*
-	getDocumentHandler() const
-	{
-		return m_formatterListener;
-	}
-
-	/**
-	 * Set a FormatterListener to process the result tree events.
-	 *
-	 * @param handler pointer to new listener
-	 */
-	void
-	setFormatterListener(FormatterListener*		handler)
-	{
-		m_formatterListener = handler;
-	}
-
-	/**
-	 * Get the FormatterListener that will process the result tree events.
-	 *
-	 * @return pointer to new listener
-	 */
-	FormatterListener*
-	getFormatterListener() const
-	{
-		return m_formatterListener;
-	}
-
-private:
-
-	XalanDOMString			m_fileName;
-
-#if defined(XALAN_NO_NAMESPACES)
-	ostream*				m_byteStream;
-#else
-	std::ostream*			m_byteStream;
-#endif
-
-	XalanDOMString			m_encoding;
-
-	Writer*					m_characterStream;
-
-	XalanDocument*			m_document;
-
-	XalanDocumentFragment*	m_documentFragment;
-
-	XalanElement*			m_element;
-
-	FormatterListener*		m_formatterListener;
-};
-
-
-
-#endif	// XALAN_XSLTRESULTTARGET_HEADER_GUARD
diff --git a/src/XSLT/XalanNumberingResourceBundle.cpp b/src/XSLT/XalanNumberingResourceBundle.cpp
deleted file mode 100644
index a128d15..0000000
--- a/src/XSLT/XalanNumberingResourceBundle.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanNumberingResourceBundle.hpp"
-
-
-
-XalanNumberingResourceBundle::XalanNumberingResourceBundle(
-		const XalanDOMString&			theLanguage,
-		const XalanDOMString&			theUILanguage,
-		const XalanDOMString&			theHelpLanguage,
-		const XalanDOMCharVectorType&	theAlphabet,
-		const XalanDOMCharVectorType&	theTraditionalAlphabet,
-		eOrientation					theOrientation,
-		eNumberingMethod				theNumberingMethod,
-		eMultiplierOrder				theMultiplierOrder,
-		int								theMaxNumericalValue,
-		const IntVectorType&			theNumberGroups,
-		const IntVectorType&			theMultipliers,
-		const XalanDOMCharVectorType&	theZeroChar,
-		const XalanDOMCharVectorType&	theMultiplierChars,
-		const DigitsTableVectorType&	theDigitsTable,
-		const IntVectorType&			theDigitsTableTable) :
-	m_language(theHelpLanguage),
-	m_uiLanguage(theLanguage),
-	m_helpLanguage(theUILanguage),
-	m_alphabet(theAlphabet),
-	m_traditionalAlphabet(theTraditionalAlphabet),
-	m_orientation(theOrientation),
-	m_numberingMethod(theNumberingMethod),
-	m_multiplierOrder(theMultiplierOrder),
-	m_maxNumericalValue(theMaxNumericalValue),
-	m_numberGroups(theNumberGroups),
-	m_multipliers(theMultipliers),
-	m_zeroChar(theZeroChar),
-	m_multiplierChars(theMultiplierChars),
-	m_digitsTable(theDigitsTable),
-	m_digitsTableTable(theDigitsTableTable)
-{
-}
-
-
-
-XalanNumberingResourceBundle::XalanNumberingResourceBundle()
-{
-}
-
-
-
-XalanNumberingResourceBundle::XalanNumberingResourceBundle(const XalanNumberingResourceBundle&	theSource) :
-	m_language(theSource.m_language),
-	m_uiLanguage(theSource.m_uiLanguage),
-	m_helpLanguage(theSource.m_helpLanguage),
-	m_alphabet(theSource.m_alphabet),
-	m_traditionalAlphabet(theSource.m_traditionalAlphabet),
-	m_orientation(theSource.m_orientation),
-	m_numberingMethod(theSource.m_numberingMethod),
-	m_multiplierOrder(theSource.m_multiplierOrder),
-	m_maxNumericalValue(theSource.m_maxNumericalValue),
-	m_numberGroups(theSource.m_numberGroups),
-	m_multipliers(theSource.m_multipliers),
-	m_zeroChar(theSource.m_zeroChar),
-	m_multiplierChars(theSource.m_multiplierChars),
-	m_digitsTable(theSource.m_digitsTable),
-	m_digitsTableTable(theSource.m_digitsTableTable)
-{
-}
-
-
-
-XalanNumberingResourceBundle::~XalanNumberingResourceBundle()
-{
-}
diff --git a/src/XSLT/XalanNumberingResourceBundle.hpp b/src/XSLT/XalanNumberingResourceBundle.hpp
deleted file mode 100644
index 92a671a..0000000
--- a/src/XSLT/XalanNumberingResourceBundle.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALAN_NUMBERINGRESOURCEBUNDLE_HEADER_GUARD)
-#define XALAN_NUMBERINGRESOURCEBUNDLE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-class XalanNumberingResourceBundle
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<int>								IntVectorType;
-	typedef vector<XalanDOMCharVectorType>			DigitsTableVectorType;
-#else
-	typedef std::vector<int>						IntVectorType;
-	typedef std::vector<XalanDOMCharVectorType>		DigitsTableVectorType;
-#endif
-
-	// Enum to describe language orientation.  (English is left-to-right,
-	// Hebrew is right-to-left, etc.)
-	enum eOrientation { eLeftToRight, eRightToLeft, eTopToBottom, eBottomToTop };
-
-	// Enum to describe how numbering is done.
-	enum eNumberingMethod { eAdditive, eMultiplicativeAdditive };
-
-	// Enum to describe the where the multiplier goes.
-	enum eMultiplierOrder { eFollows, ePrecedes };
-
-
-	XalanNumberingResourceBundle(
-		const XalanDOMString&			theLanguage,
-		const XalanDOMString&			theUILanguage,
-		const XalanDOMString&			theHelpLanguage,
-		const XalanDOMCharVectorType&	theAlphabet,
-		const XalanDOMCharVectorType&	theTraditionalAlphabet,
-		eOrientation					theOrientation,
-		eNumberingMethod				theNumberingMethod,
-		eMultiplierOrder				theMultiplierOrder,
-		int								theMaxNumericalValue,
-		const IntVectorType&			theNumberGroups,
-		const IntVectorType&			theMultipliers,
-		const XalanDOMCharVectorType&	theZeroChar,
-		const XalanDOMCharVectorType&	theMultiplierChars,
-		const DigitsTableVectorType&	theDigitsTable,
-		const IntVectorType&			theDigitsTableTable);
-
-	explicit
-	XalanNumberingResourceBundle();
-
-	XalanNumberingResourceBundle(const XalanNumberingResourceBundle&	theSource);
-
-	~XalanNumberingResourceBundle();
-
-	bool
-	operator==(const XalanNumberingResourceBundle&	theRHS) const
-	{
-		return equals(m_language, theRHS.m_language);
-	}
-
-	const XalanDOMString&
-	getLanguage() const
-	{
-		return m_language;
-	}
-
-	const XalanDOMString&
-	getUILanguage() const
-	{
-		return m_uiLanguage;
-	}
-
-	const XalanDOMString&
-	getHelpLanguage() const
-	{
-		return m_helpLanguage;
-	}
-
-	const XalanDOMCharVectorType&
-	getAlphabet() const
-	{
-		return m_alphabet;
-	}
-
-	const XalanDOMCharVectorType&
-	getTraditionalAlphabet() const
-	{
-		return m_traditionalAlphabet;
-	}
-
-	eOrientation
-	getOrientation() const
-	{
-		return m_orientation;
-	}
-
-	eNumberingMethod
-	getNumberingMethod() const
-	{
-		return m_numberingMethod;
-	}
-
-	eMultiplierOrder
-	getMultiplierOrder() const
-	{
-		return m_multiplierOrder;
-	}
-
-	int
-	getMaxNumericalValue() const
-	{
-		return m_maxNumericalValue;
-	}
-
-	const IntVectorType&
-	getNumberGroups() const
-	{
-		return m_numberGroups;
-	}
-
-	const IntVectorType&
-	getMultipliers() const
-	{
-		return m_multipliers;
-	}
-
-	const XalanDOMCharVectorType&
-	getZeroChar() const
-	{
-		return m_zeroChar;
-	}
-
-	const XalanDOMCharVectorType&
-	getMultiplierChars() const
-	{
-		return m_multiplierChars;
-	}
-
-	const DigitsTableVectorType&
-	getDigitsTable() const
-	{
-		return m_digitsTable;
-	}
-
-	const IntVectorType&
-	getDigitsTableTable() const
-	{
-		return m_digitsTableTable;
-	}
-
-private:
-
-	XalanDOMString			m_language;
-
-	XalanDOMString			m_uiLanguage;
-
-	XalanDOMString			m_helpLanguage;
-
-	XalanDOMCharVectorType	m_alphabet;
-
-	XalanDOMCharVectorType	m_traditionalAlphabet;
-
-	eOrientation			m_orientation;
-
-	eNumberingMethod		m_numberingMethod;
-
-	eMultiplierOrder		m_multiplierOrder;
-
-	int						m_maxNumericalValue;
-
-	IntVectorType			m_numberGroups;
-
-	IntVectorType			m_multipliers;
-
-	XalanDOMCharVectorType	m_zeroChar;
-
-	XalanDOMCharVectorType	m_multiplierChars;
-
-	DigitsTableVectorType	m_digitsTable;
-
-	IntVectorType			m_digitsTableTable;
-};
-
-
-
-#endif	// XALAN_NUMBERINGRESOURCEBUNDLE_HEADER_GUARD
diff --git a/src/XSLT/XalanSourceTreeDocumentAllocator.cpp b/src/XSLT/XalanSourceTreeDocumentAllocator.cpp
deleted file mode 100644
index 8d194c3..0000000
--- a/src/XSLT/XalanSourceTreeDocumentAllocator.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeDocumentAllocator.hpp"
-
-
-
-XalanSourceTreeDocumentAllocator::XalanSourceTreeDocumentAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeDocumentAllocator::~XalanSourceTreeDocumentAllocator()
-{
-}
-
-
-
-
-XalanSourceTreeDocumentAllocator::data_type*
-XalanSourceTreeDocumentAllocator::create(
-			bool				fPoolAllText,
-			block_size_type		theNamesStringPoolBlockSize,
-			bucket_count_type	theNamesStringPoolBucketCount,
-			bucket_size_type	theNamesStringPoolBucketSize,
-			block_size_type		theValuesStringPoolBlockSize,
-			bucket_count_type	theValuesStringPoolBucketCount,
-			bucket_size_type	theValuesStringPoolBucketSize)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(
-				fPoolAllText,
-				theNamesStringPoolBlockSize,
-				theNamesStringPoolBucketCount,
-				theNamesStringPoolBucketSize,
-				theValuesStringPoolBlockSize,
-				theValuesStringPoolBucketCount,
-				theValuesStringPoolBucketSize);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XalanSourceTreeDocumentAllocator::data_type*
-XalanSourceTreeDocumentAllocator::create(
-			size_type	theAttributeBlockSize,
-			size_type	theAttributeNSBlockSize,
-			size_type	theCommentBlockSize,
-			size_type	theElementBlockSize,
-			size_type	theElementNSBlockSize,
-			size_type	thePIBlockSize,
-			size_type	theTextBlockSize,
-			size_type	theTextIWSBlockSize,
-			bool		fPoolAllText)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(
-				theAttributeBlockSize,
-				theAttributeNSBlockSize,
-				theCommentBlockSize,
-				theElementBlockSize,
-				theElementNSBlockSize,
-				thePIBlockSize,
-				theTextBlockSize,
-				theTextIWSBlockSize,
-				fPoolAllText);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-bool
-XalanSourceTreeDocumentAllocator::destroy(data_type*	theObject)
-{
-	return m_allocator.destroyObject(theObject);
-}
-
-
-
-void 
-XalanSourceTreeDocumentAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XSLT/XalanSourceTreeDocumentAllocator.hpp b/src/XSLT/XalanSourceTreeDocumentAllocator.hpp
deleted file mode 100644
index 5cf88a1..0000000
--- a/src/XSLT/XalanSourceTreeDocumentAllocator.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEDOCUMENTALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEDOCUMENTALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-
-
-
-class XALAN_XSLT_EXPORT XalanSourceTreeDocumentAllocator
-{
-public:
-
-	typedef XalanSourceTreeDocument				data_type;
-
-	typedef ReusableArenaAllocator<data_type>				ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type					size_type;
-
-	enum { eDefaultAttributeAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeAllocatorBlockSize,
-		   eDefaultAttributeNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultAttributeNSAllocatorBlockSize,
-		   eDefaultCommentAllocatorBlockSize = XalanSourceTreeDocument::eDefaultCommentAllocatorBlockSize,
-		   eDefaultElementAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementAllocatorBlockSize,
-		   eDefaultElementNSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultElementNSAllocatorBlockSize,
-		   eDefaultPIAllocatorBlockSize = XalanSourceTreeDocument::eDefaultPIAllocatorBlockSize,
-		   eDefaultTextAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextAllocatorBlockSize,
-		   eDefaultTextIWSAllocatorBlockSize = XalanSourceTreeDocument::eDefaultTextIWSAllocatorBlockSize,
-		   eDefaultNamesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBlockSize,
-		   eDefaultNamesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketCount,
-		   eDefaultNamesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultNamesStringPoolBucketSize,
-		   eDefaultValuesStringPoolBlockSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBlockSize,
-		   eDefaultValuesStringPoolBucketCount = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketCount,
-		   eDefaultValuesStringPoolBucketSize = XalanSourceTreeDocument::eDefaultValuesStringPoolBucketSize };
-
-	typedef XalanSourceTreeDocument::block_size_type	block_size_type;
-	typedef XalanSourceTreeDocument::bucket_count_type	bucket_count_type;
-	typedef XalanSourceTreeDocument::bucket_size_type	bucket_size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeDocumentAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeDocumentAllocator();
-
-	/**
-	 * Create a XalanSourceTreeDocument object.
-	 * 
-	 * @param fPoolAllText If false, text node data that is not whitespace will not be pooled.
-	 * @param theNamesStringPoolBlockSize The block size for allocating strings in the name pool
-	 * @param theNamesStringPoolBucketCount The number of buckets for allocating strings in the name pool
-	 * @param theNamesStringPoolBucketSize The bucket size for allocating strings in the name pool
-	 * @param theValuesStringPoolBlockSize The block size for allocating strings in the values pool
-	 * @param theValuesStringPoolBucketCount The number of buckets for allocating strings in the values pool
-	 * @param theValuesStringPoolBucketSize The bucket size for allocating strings in the values pool
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(
-			bool				fPoolAllText = true,
-			block_size_type		theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
-			bucket_count_type	theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
-			bucket_size_type	theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
-			block_size_type		theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
-			bucket_count_type	theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
-			bucket_size_type	theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
-
-	/**
-	 * Create a XalanSourceTreeDocument object.
-	 * 
-	 * @param fPoolAllText If false, text node data that is not whitespace will not be pooled.
-	 * @param theAttributeBlockSize The block size for allocating attribute nodes
-	 * @param theAttributeNSBlockSize The block size for allocating attribute NS nodes
-	 * @param theCommentBlockSize The block size for allocating comment nodes
-	 * @param theElementBlockSize The block size for allocating element nodes
-	 * @param theElementNSBlockSize The block size for allocating element nodes
-	 * @param theTextBlockSize The block size for allocating text nodes,
-	 * @param theTextIWSBlockSize The block size for allocating text IWS nodes,
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(
-			size_type	theAttributeBlockSize,
-			size_type	theAttributeNSBlockSize,
-			size_type	theCommentBlockSize,
-			size_type	theElementBlockSize,
-			size_type	theElementNSBlockSize,
-			size_type	thePIBlockSize,
-			size_type	theTextBlockSize,
-			size_type	theTextIWSBlockSize,
-			bool		fPoolAllText = true);
-
-	/**
-	 * Delete a XalanSourceTreeDocument object from allocator.	 
-	 */
-	bool
-	destroy(data_type*	theObject);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const data_type*		theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XalanSourceTreeDocument objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeDocumentAllocator(const XalanSourceTreeDocumentAllocator&);
-
-	XalanSourceTreeDocumentAllocator&
-	operator=(const XalanSourceTreeDocumentAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEDOCUMENTALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XSLT/XalanSourceTreeDocumentFragmentAllocator.cpp b/src/XSLT/XalanSourceTreeDocumentFragmentAllocator.cpp
deleted file mode 100644
index 5ac26ce..0000000
--- a/src/XSLT/XalanSourceTreeDocumentFragmentAllocator.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeDocumentFragmentAllocator.hpp"
-
-
-
-XalanSourceTreeDocumentFragmentAllocator::XalanSourceTreeDocumentFragmentAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeDocumentFragmentAllocator::~XalanSourceTreeDocumentFragmentAllocator()
-{
-}
-
-
-
-
-XalanSourceTreeDocumentFragmentAllocator::data_type*
-XalanSourceTreeDocumentFragmentAllocator::create(XalanSourceTreeDocument&	theValue)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	data_type* const	theResult = new(theBlock) data_type(theValue);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theResult;
-}
-
-
-
-XalanSourceTreeDocumentFragmentAllocator::data_type*
-XalanSourceTreeDocumentFragmentAllocator::create(const data_type&	theSource)
-{
-	data_type* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) data_type(theSource);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-bool
-XalanSourceTreeDocumentFragmentAllocator::destroy(data_type*	theObject)
-{
-	return m_allocator.destroyObject(theObject);
-}
-
-
-
-void 
-XalanSourceTreeDocumentFragmentAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XSLT/XalanSourceTreeDocumentFragmentAllocator.hpp b/src/XSLT/XalanSourceTreeDocumentFragmentAllocator.hpp
deleted file mode 100644
index f24940e..0000000
--- a/src/XSLT/XalanSourceTreeDocumentFragmentAllocator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEDOCUMENTFRAGMENTALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEDOCUMENTFRAGMENTALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-// Base include file.  Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDocumentFragment.hpp>
-
-
-
-#include <PlatformSupport/ReusableArenaAllocator.hpp>
-
-
-
-class XALAN_XSLT_EXPORT XalanSourceTreeDocumentFragmentAllocator
-{
-public:
-
-	typedef XalanSourceTreeDocumentFragment		data_type;
-
-	typedef ReusableArenaAllocator<data_type>	ArenaAllocatorType;
-	typedef ArenaAllocatorType::size_type		size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeDocumentFragmentAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeDocumentFragmentAllocator();
-	
-	/**
-	 * Create a XalanSourceTreeDocumentFragment object.
-	 * 
-	 * @param theValue The constructor parameter
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(XalanSourceTreeDocument&		theValue);
-
-	/**
-	 * Create an XalanSourceTreeDocumentFragment object.
-	 * 
-	 * @param theSource	source instance
-	 *
-	 * @return pointer to a node
-	 */
-	data_type*
-	create(const data_type&		theSource);
-
-	/**
-	 * Delete an XalanSourceTreeDocumentFragment object from allocator.	 
-	 */
-	bool
-	destroy(data_type*	theObject);
-
-	/**
-	 * Determine if an object is owned by the allocator...
-	 */
-	bool
-	ownsObject(const data_type*		theObject)
-	{
-		return m_allocator.ownsObject(theObject);
-	}
-
-	/**
-	 * Delete all XalanSourceTreeDocumentFragment objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeDocumentFragmentAllocator(const XalanSourceTreeDocumentFragmentAllocator&);
-
-	XalanSourceTreeDocumentFragmentAllocator&
-	operator=(const XalanSourceTreeDocumentFragmentAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEDOCUMENTFRAGMENTALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XSLT/XalanTemplate.cpp b/src/XSLT/XalanTemplate.cpp
deleted file mode 100644
index 84076a0..0000000
--- a/src/XSLT/XalanTemplate.cpp
+++ /dev/null
@@ -1,861 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * @author <a href="mailto:david_n_bertoni@lotus.com">David N. Bertoni</a>
- */
-
-
-// Base include file.  Must be first.
-#include <PlatformSupport/PlatformSupportDefinitions.hpp>
-
-
-
-#if !defined(XALAN_NEEDS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-	// No-op function to allow file to compile and link.	
-	static void foo(){}
-
-#else
-
-#include <stl/_range_errors.h>
-
-#include <algorithm>
-#include <stl/_algo.c>
-#include <stl/_algobase.c>
-#include <stl/_heap.c>
-
-#include <list>
-#include <stl/_list.c>
-
-#include <vector>
-#include <stl/_vector.c>
-
-#include <map>
-#include <stl/_tree.c>
-
-#include <deque>
-#include <stl/_deque.c>
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/AttributeVectorEntry.hpp>
-#include <PlatformSupport/AttributesImpl.hpp>
-#include <PlatformSupport/AttributeVectorEntryExtended.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/XalanDOMStringHashTable.hpp>
-#include <PlatformSupport/PrintWriter.hpp>
-#include <PlatformSupport/XalanOutputStream.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-#include <PlatformSupport/XalanTranscodingServices.hpp>
-#include <PlatformSupport/XalanDOMStringCache.hpp>	
-
-
-
-#include <DOMSupport/NamespaceResolver.hpp>
-#include <DOMSupport/NSInfo.hpp>
-
-
-
-#include <XMLSupport/FormatterToHTML.hpp>
-#include <XMLSupport/FormatterToXML.hpp>
-#include <XMLSupport/FormatterToDOM.hpp>
-#include <XMLSupport/FormatterToText.hpp>
-
-
-
-#include <XPath/FunctionID.hpp>
-#include <XPath/NodeRefList.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-#include <XPath/XPathExecutionContextDefault.hpp>
-#include <XPath/XPathExpression.hpp>
-#include <XPath/XPathFactoryBlock.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-#include <XPath/XPathFunctionTable.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-
-
-
-#include <XercesParserLiaison/XercesDocumentBridge.hpp>
-#include <XercesParserLiaison/XercesNamedNodeListCache.hpp>
-#include <XercesParserLiaison/XercesParserLiaison.hpp>
-#include <XercesParserLiaison/XercesToXalanNodeMap.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-#include <XalanSourceTree/XalanSourceTreeElement.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-#include <XalanSourceTree/XalanSourceTreeContentHandler.hpp>
-
-
-
-#include <XSLT/AVT.hpp>
-#include <XSLT/AVTPart.hpp>
-#include <XSLT/ElemAttributeSet.hpp>
-#include <XSLT/ElemDecimalFormat.hpp>
-#include <XSLT/ElemForEach.hpp>
-#include <XSLT/ElemLiteralResult.hpp>
-#include <XSLT/ElemNumber.hpp>
-#include <XSLT/ElemSort.hpp>
-#include <XSLT/ElemTextLiteral.hpp>
-#include <XSLT/ElemUse.hpp>
-#include <XSLT/ElemVariable.hpp>
-#include <XSLT/ExtensionFunctionHandler.hpp>
-#include <XSLT/ExtensionNSHandler.hpp>
-#include <XSLT/KeyTable.hpp>
-#include <XSLT/NamespacesHandler.hpp>
-#include <XSLT/NodeSorter.hpp>
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/StylesheetRoot.hpp>
-#include <XSLT/StylesheetHandler.hpp>
-#include <XSLT/TraceListener.hpp>
-#include <XSLT/VariablesStack.hpp>
-#include <XSLT/XalanNumberingResourceBundle.hpp>
-#include <XSLT/XSLTEngineImpl.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-#include <XalanTransformer/XalanCompiledStylesheet.hpp>
-#include <XalanTransformer/XalanParsedSource.hpp>
-
-
-
-static void
-foo(XPathExecutionContext&	theExecutionContext)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-	using std::replace;
-#endif
-	{
-		vector<XalanDOMString> theDOMStringVector;
-		vector<char> theCharVector;
-		vector<wchar_t> theWCharVector;
-		vector<unsigned char> theUnsignedCharVector;
-		AttributeListImpl::AttributeVectorType theAttributeVectorEntryVector;
-		AttributesImpl::AttributesVectorType theAttributesVectorEntryVector;
-		allocator<DOMString> theAllocator;
-		vector<pair<const XalanNode*,NSInfo> > theXalanNodeVector;
-		FormatterToHTML::ElemDesc theElemDesc;
-		FormatterToHTML::ElementFlagsMapType theElementFlagsMapType;
-		XPathExpression::TokenQueueType theTokenQueueType;
-		set<const XalanNode*,less<const XalanNode*> > theXalanNodeSet;
-		XPathExecutionContext::XObjectArgVectorType theVector;
-		XPathProcessorImpl::NodeTypesMapType theNodeTypesMapType;
-		Stylesheet::PatternTableListType	thePatternTableList;
-		Stylesheet::PatternTableVectorType thePatternTableVector;
-		map<int,int,less<int> > theIntMap;
-		ElemNumber::DecimalToRomanVectorType theDecimalToRomanVector;
-		vector<NamespacesHandler::NamespacesMapType::iterator> theNamespacesMapTypeIteratorVector;
-		VariablesStack::ParamsVectorType	theParamsVector;
-		ElemNumber::NumberingResourceBundleMapType theNumberingResourceBundleMapType;
-		XalanTranscodingServices::MaximumCharacterValueMapType theMaximumCharacterValueMapType;
-		set<XalanNode*, less<XalanNode*> >	theInstanceSetType;
-		XalanTransformer::CompiledStylesheetPtrVectorType	theCompiledStylesheetVector;
-		XalanTransformer::ParsedSourcePtrVectorType			theParsedSourceVector;
-		XalanTransformer::ParamPairVectorType				theParamsPairVector;
-		XalanTransformer::TraceListenerVectorType			theTraceListenerVector;
-		XalanDOMStringHashTable::BucketCountsType			theBucketCountsVector;
-		vector<pair<const char*, const char*> >				theStringPairVector;
-	}
-
-	{
-		XObjectFactoryDefault::XObjectCollectionType 	theVector;
-		XObjectFactoryDefault			theFactory;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 XObjectFactoryDefault::DeleteXObjectFunctor(theFactory, true));
-	}
-	
-	{
-		XPathFactoryDefault::CollectionType 	theVector;	
-		XPathFactoryDefault						theXPath;		
-
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 XPathFactoryDefault::DeleteXPathFunctor(theXPath, true));
-	}
-
-	{
-		XPathFunctionTable::CollectionType theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 XPathFunctionTable::DeleteFunctorType());
-	}
-	
-	{
-		XalanDOMStringCache::StringListType theVector;	
-				
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<XalanDOMString>());
-	}
-
-	{
-		AttributeListImpl::AttributeVectorType	theVector;
-		
-		for_each(theVector.begin(),
-				 theVector.end(),
-				 DeleteFunctor<AttributeVectorEntry>());
-	}	
-
-	{
-		AttributesImpl::AttributesVectorType	theVector;
-		
-		for_each(theVector.begin(),
-				 theVector.end(),
-				 DeleteFunctor<AttributeVectorEntryExtended>());
-	}	
-
-	{
-		typedef XPathEnvSupportDefault::NamespaceFunctionTableDeleteFunctor		NamespaceFunctionTableDeleteFunctor;
-	
-		typedef NamespaceFunctionTableDeleteFunctor::FunctionTableInnerType 			FunctionTableType;
-		typedef NamespaceFunctionTableDeleteFunctor::NamespaceFunctionTablesInnerType 	NamespaceFunctionTablesType;
-	
-		NamespaceFunctionTablesType	theTable;
-		
-		const NamespaceFunctionTablesType::value_type		theValue;
-		
-		for_each(theTable.begin(),
-			 theTable.end(),
-			 NamespaceFunctionTableDeleteFunctor());
-	}
-	
-	{
-		XercesDocumentBridge::NodeVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<XalanNode>());
-	}
-
-	{
-		XercesNamedNodeListCache::NodeListCacheType		theCache;
-		
-		for_each(theCache.begin(),
-			 theCache.end(),
-			 MapValueDeleteFunctor<XercesNamedNodeListCache::NodeListCacheType>());
-	}
-
-	{
-		XercesParserLiaison::DocumentMapType	theMap;
-		
-		for_each(theMap.begin(),
-			 theMap.end(),
-			 MapValueDeleteFunctor<XercesParserLiaison::DocumentMapType>());
-	}
-
-	{
-		Stylesheet::AttributeSetVectorType	theVector;
-		
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			DeleteFunctor<ElemAttributeSet>());
-	}
-
-	{
-		StylesheetExecutionContextDefault::KeyTablesTableType	theTable;
-
-		for_each(theTable.begin(),
-			 theTable.end(),
-			 MapValueDeleteFunctor<StylesheetExecutionContextDefault::KeyTablesTableType>());
-	}
-
-	{
-		Stylesheet::ExtensionNamespacesMapType	theMap;
-
-		for_each(theMap.begin(),
-			 theMap.end(),
-			 makeMapValueDeleteFunctor(theMap));
-	}
-
-	{
-		Stylesheet::StylesheetVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<Stylesheet>());
-	}
-
-	{
-		Stylesheet::ElemDecimalFormatVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<ElemDecimalFormat>());
-	}
-
-	{
-		Stylesheet::ElemVariableVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<ElemVariable>());
-	}
-
-	{
-		Stylesheet::ElemVariableVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<ElemVariable>());
-	}
-	
-	{
-		const Stylesheet::PatternTableListType	theList;
-		
-		for_each(theList.begin(),
-			 theList.end(),
-			 DeleteFunctor<Stylesheet::MatchPattern2>());
-	}
-	
-	{
-		StylesheetHandler::ElemTemplateStackType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<ElemTemplateElement>());
-	}
-
-	{
-		StylesheetHandler::ElemTextLiteralStackType	theVector;
-
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<ElemTextLiteral>());
-	}
-
-	{
-		const VariablesStack::ParamsVectorType	theVector;
-		VariablesStack 				theVariablesStack;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 VariablesStack::PushParamFunctor(theVariablesStack));
-	}
-
-	{
-		ElemForEach::SortElemsVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<ElemSort>());
-	}
-
-	{
-		AVT::AVTPartPtrVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<AVTPart>());
-	}
-
-	{
-		ElemLiteralResult::AVTVectorType	theVector;
-		
-		for_each(theVector.begin(),
-			 theVector.end(),
-			 DeleteFunctor<AVT>());
-	}
-
-	{
-		StylesheetConstructionContextDefault::StylesheetSetType	theSet;
-		
-		for_each(
-			theSet.begin(),
-			theSet.end(),
-			DeleteFunctor<StylesheetRoot>());
-	}
-
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::sort;
-		using std::less;
-#endif
-
-		StylesheetRoot::QNameVectorType		theVector;
-
-		sort(
-				theVector.begin(),
-				theVector.end(),
-				less<XalanQName>());
-	}
-
-	{
-		StylesheetExecutionContextDefault::FormatterListenerVectorType	theVector;
-		
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			DeleteFunctor<FormatterListener>());
-	}
-
-	{
-		StylesheetExecutionContextDefault::PrintWriterVectorType	theVector;
-		
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			DeleteFunctor<PrintWriter>());
-	}
-
-	{
-		StylesheetExecutionContextDefault::OutputStreamVectorType	theVector;
-
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			DeleteFunctor<XalanOutputStream>());
-	}
-
-	{
-		typedef StylesheetExecutionContextDefault::XPathCacheMapType		XPathCacheMapType;
-		typedef StylesheetExecutionContextDefault::XPathCacheReturnFunctor	XPathCacheReturnFunctor;
-
-		XPathCacheMapType	theMap;
-
-		XSLTEngineImpl*	const	xsltProcessor = 0;
-
-		for_each(theMap.begin(),
-			 theMap.end(),
-			 XPathCacheReturnFunctor(*xsltProcessor));
-	}
-
-
-	{
-		XSLTEngineImpl::TraceListenerVectorType	theVector;
-		
-		const GenerateEvent*	theEvent;
-
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			TraceListener::TraceListenerGenerateFunctor(*theEvent));
-	}
-
-	{
-		XSLTEngineImpl::TraceListenerVectorType	theVector;
-		
-		const SelectionEvent*	theEvent;
-
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			TraceListener::TraceListenerSelectFunctor(*theEvent));
-	}
-
-	{
-		XSLTEngineImpl::TraceListenerVectorType	theVector;
-		
-		const TracerEvent*	theEvent;
-
-		for_each(
-			theVector.begin(),
-			theVector.end(),
-			TraceListener::TraceListenerTraceFunctor(*theEvent));
-	}
-	
-	{
-		XalanSourceTreeParserLiaison::DocumentMapType	theMap;
-
-		for_each(theMap.begin(),
-			 theMap.end(),
-			 makeMapValueDeleteFunctor(theMap));
-	}
-
-	{
-		XSLTEngineImpl::TraceListenerVectorType		theVector;
-		
-		remove(
-			theVector.begin(),
-			theVector.end(),
-		 	XSLTEngineImpl::TraceListenerVectorType::value_type(0));
-	}
-
-	{
-		XalanDOMString	theString;
-
-		replace(
-			theString.begin(),
-			theString.end(),
-			XalanDOMChar(XalanUnicode::charReverseSolidus),
-			XalanDOMChar(XalanUnicode::charSolidus));
-	}
-	
-	{
-		NodeRefList::NodeListVectorType theVector;
-
-		remove(	
-			theVector.begin(),
-			theVector.end(),
-			NodeRefList::NodeListVectorType::value_type(0));
-	}
-
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::back_inserter;
-		using std::copy;
-#endif
-
-		typedef MutableNodeRefList::addNodeInDocOrderFunctor	addNodeInDocOrderFunctor;
-
-		{
-			NodeRefList::NodeListVectorType theVector;
-
-			copy(
-				theVector.rbegin(),
-				theVector.rend(),
-				back_inserter(theVector));
-		}
-
-		{
-			MutableNodeRefList	theList;
-
-			MutableNodeRefList::addNodeInDocOrderFunctor	theFunctor(theList, theExecutionContext);
-
-			const NodeRefList::NodeListVectorType	theConstVector;
-
-			for_each(
-				theConstVector.begin(),
-				theConstVector.end(),
-				theFunctor);
-
-			for_each(
-				theConstVector.rbegin(),
-				theConstVector.rend(),
-				theFunctor);
-		}
-	}
-
-	{
-		NodeSorter::NodeVectorType			theVector;
-		NodeSorter::NodeSortKeyCompare*		theComparer;
-
-		stable_sort(	
-			theVector.begin(),
-			theVector.end(),
-			*theComparer);
-	}
-
-	{
-		XalanTransformer::CompiledStylesheetPtrVectorType	theVector;
-		
-		for_each(theVector.begin(),
-				 theVector.end(),
-				 DeleteFunctor<XalanCompiledStylesheet>());
-	}	
-
-	{
-		XalanTransformer::ParsedSourcePtrVectorType		theVector;
-
-		for_each(theVector.begin(),
-				 theVector.end(),
-				 DeleteFunctor<XalanParsedSource>());
-	}
-
-#if __SGI_STL_PORT >= 452
-
-	{
-		VariablesStack::RecursionGuardStackType		theStack;
-
-		const ElemVariable* const	var = 0;
-
-		find(
-			theStack.begin(),
-			theStack.end(),
-			var);
-	}
-
-	{
-		XalanTransformer::CompiledStylesheetPtrVectorType	theVector;
-
-		const XalanCompiledStylesheet*	theStylesheet = 0;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			theStylesheet);
-	}
-
-	{
-		XalanTransformer::ParsedSourcePtrVectorType		theVector;
-
-		const XalanParsedSource*	theParsedSource = 0;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			theParsedSource);
-	}
-
-	{
-		const XMLCh* const name = 0;
-
-		AttributeListImpl::AttributeVectorType	theVector;
-
-		find_if(
-			theVector.begin(),
-			theVector.end(),
-			AttributeListImpl::NameCompareFunctor(name));
-	}
-
-	{
-		const XMLCh* const name = 0;
-
-		const AttributeListImpl::AttributeVectorType	theVector;
-
-		find_if(
-			theVector.begin(),
-			theVector.end(),
-			AttributeListImpl::NameCompareFunctor(name));
-	}
-
-	{
-		const XMLCh* const	uri = 0;
-		const XMLCh* const	localName = 0;
-
-		const AttributesImpl::AttributesVectorType	theVector;
-
-		find_if(
-			theVector.begin(),
-			theVector.end(),
-			AttributesImpl::URIAndLocalNameCompareFunctor(uri, localName));
-	}
-
-	{
-		const XMLCh* const	uri = 0;
-		const XMLCh* const	localName = 0;
-
-		const AttributesImpl::AttributesVectorType	theVector;
-
-		find_if(
-			theVector.begin(),
-			theVector.end(),
-			AttributesImpl::URIAndLocalNameCompareFunctor(uri, localName));
-	}
-
-	{
-		const XMLCh* const name = 0;
-
-		AttributesImpl::AttributesVectorType	theVector;
-
-		find_if(
-			theVector.begin(),
-			theVector.end(),
-			AttributesImpl::NameCompareFunctor(name));
-	}
-
-	{
-		const XMLCh* const name = 0;
-
-		const AttributesImpl::AttributesVectorType	theVector;
-
-		find_if(
-			theVector.begin(),
-			theVector.end(),
-			AttributesImpl::NameCompareFunctor(name));
-	}
-
-	{
-		const XalanDOMChar*		theString = 0;
-
-		const XalanDOMStringHashTable::BucketType		theBucket;
-
-		find_if(
-			theBucket.begin(),
-			theBucket.end(),
-			XalanDOMStringHashTable::equalsXalanDOMString(theString, 0));
-	}
-
-	{
-		const XalanNode*	theXalanNode = 0;
-
-		const XercesToXalanNodeMap::XercesNodeMapType	theMap;
-
-		find_if(
-			theMap.begin(),
-			theMap.end(),
-			XercesToXalanNodeMap::NameMapEqualsFunctor(theXalanNode));
-	}
-
-	{
-		const XalanNode*	theXalanNode = 0;
-
-		NodeRefList::NodeListVectorType		theVector;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			theXalanNode);
-	}
-
-	{
-		const XalanNode*	theXalanNode = 0;
-
-		const NodeRefList::NodeListVectorType	theVector;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			theXalanNode);
-	}
-
-	{
-		const Stylesheet::MatchPattern2*	thePattern = 0;
-
-		Stylesheet::PatternTableVectorType	theVector;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			thePattern);
-	}
-
-	{
-		XalanNode*	theXalanNode = 0;
-
-		XercesDocumentBridge::NodeVectorType	theVector;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			theXalanNode);
-	}
-
-	{
-		XalanDOMString*		theString = 0;
-
-		XalanDOMStringCache::StringListType		theList;
-
-		find(
-			theList.begin(),
-			theList.end(),
-			theString);
-	}
-
-	{
-		const XalanQName*	theQName;
-
-		const StylesheetRoot::QNameVectorType	theVector;
-
-		find(
-			theVector.begin(),
-			theVector.end(),
-			*theQName);
-	}
-
-	{
-		const StylesheetHandler::BoolStackType	theStack;
-
-		find(
-			theStack.rbegin(),
-			theStack.rend(),
-			true);
-	}
-
-	{
-		const ElemTemplateElement*	theElement = 0;
-
-		const StylesheetExecutionContextDefault::ElementRecursionStackType	theStack;
-
-		find(
-			theStack.begin(),
-			theStack.end(),
-			theElement);
-	}
-
-	{
-		XObjectFactoryDefault::XObjectCollectionType	theCollection;	
-		XObject*										theXObject;		
-
-		find(
-			theCollection.begin(),
-			theCollection.end(),
-			theXObject);
-	}
-#endif
-}
-
-
-
-#include <stl/_alloc.h>
-#include <stl/_alloc.c>
-
-
-void
-foo2()
-{
-	__node_alloc<0,0> alloc1;
-	__node_alloc<1,0> alloc2;
-}
-
-
-
-#endif
diff --git a/src/XalanDOM/XalanAttr.cpp b/src/XalanDOM/XalanAttr.cpp
deleted file mode 100644
index db5db79..0000000
--- a/src/XalanDOM/XalanAttr.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanAttr.hpp"
-
-
-
-XalanAttr::XalanAttr() :
-	XalanNode()
-{
-}
-
-
-
-XalanAttr::~XalanAttr()
-{
-}
-
-
-
-XalanAttr::XalanAttr(const XalanAttr&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanAttr&
-XalanAttr::operator=(const XalanAttr&		theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanAttr::operator==(const XalanAttr&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanAttr.hpp b/src/XalanDOM/XalanAttr.hpp
deleted file mode 100644
index ac9ada6..0000000
--- a/src/XalanDOM/XalanAttr.hpp
+++ /dev/null
@@ -1,511 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANATTR_HEADER_GUARD_1357924680)
-#define XALANATTR_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-class XalanElement;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Attr interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanAttr : public XalanNode
-{
-public:
-
-	XalanAttr();
-
-	virtual
-	~XalanAttr();
-
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanAttr*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanAttr...
-
-	/** @name Getter functions */
-	 //@{
-    /**
-
-	* Returns the name of this attribute. 
-    */
-    virtual const XalanDOMString&
-	getName() const = 0;
-
-	/**
-	 *
-     * Returns true if the attribute received its value explicitly in the
-     * XML document, or if a value was assigned programatically with
-     * the setValue function.  Returns false if the attribute value 
-     * came from the default value declared in the document's DTD.
-     */
-    virtual bool
-	getSpecified() const = 0;
-
-    /**
-	 * Returns the value of the attribute.
-	 *
-     * The value of the attribute is returned as a string. 
-     * Character and general entity references are replaced with their values.
-     */
-    virtual const XalanDOMString&
-	getValue() const = 0;
-
-	//@}
-	/** @name Setter functions */
-	//@{
-    
-	/**
-	 * Sets the value of the attribute.  A text node with the unparsed contents
-     * of the string will be created.
-	 *
-     * @param value The value of the DOM attribute to be set
-     */
-    virtual void
-	setValue(const XalanDOMString&	value) = 0;
-
-	//@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-    /**
-     * The <code>Element</code> node this attribute is attached to or
-     * <code>null</code> if this attribute is not in use.
-     */
-    virtual XalanElement*
-	getOwnerElement() const = 0;
-    //@}
-
-protected:
-
-	XalanAttr(const XalanAttr&	theSource);
-
-	XalanAttr&
-	operator=(const XalanAttr&	theSource);
-
-	bool
-	operator==(const XalanAttr&		theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANATTR_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanCDATASection.hpp b/src/XalanDOM/XalanCDATASection.hpp
deleted file mode 100644
index 5837a07..0000000
--- a/src/XalanDOM/XalanCDATASection.hpp
+++ /dev/null
@@ -1,612 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANCDATASECTION_HEADER_GUARD_1357924680)
-#define XALANCDATASECTION_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanText.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM CDATASection interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanCDATASection : public XalanText
-{
-public:
-
-	XalanCDATASection();
-
-	virtual
-	~XalanCDATASection();
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanCDATASection*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are inherited from XalanCharacterData...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>XalanDOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>XalanDOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const = 0;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const = 0;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>XalanDOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset,
-			unsigned int	count) const = 0;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>XalanDOMString</code> specified.
-	 * @param arg The <code>XalanDOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg) = 0;
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>XalanDOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg) = 0;
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset,
-			unsigned int	count) = 0;
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>XalanDOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset,
-			unsigned int			count,
-			const XalanDOMString&	arg) = 0;
-
-  //@}
-
-	// These interfaces are inherited from XalanText...
-
-    //@}
-    /** @name Functions to modify the Text node. */
-    //@{
-
-    /**
-     * Breaks this node into two nodes at the specified 
-     * offset, keeping both in the tree as siblings. 
-     *
-     * This node then only 
-     * contains all the content up to the <code>offset</code> point. And a new 
-     * node of the same nodeType, which is inserted as the next sibling of this 
-     * node, contains all the content at and after the <code>offset</code> 
-     * point. When the <code>offset</code> is equal to the lenght of this node,
-     * the new node has no data.
-     * @param offset The offset at which to split, starting from 0.
-     * @return The new <code>Text</code> node.
-     * @exception DOMException
-     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-     *   than the number of characters in <code>data</code>.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     */
-    virtual XalanText*
-	splitText(unsigned int	offset) = 0;
-
-    //@}
-
-	virtual bool
-	isIgnorableWhitespace() const = 0;
-
-protected:
-
-	XalanCDATASection(const XalanCDATASection&	theSource);
-
-	XalanCDATASection&
-	operator=(const XalanCDATASection& 	theSource);
-
-	bool
-	operator==(const XalanCDATASection&		theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANCDATASECTION_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanCDataSection.cpp b/src/XalanDOM/XalanCDataSection.cpp
deleted file mode 100644
index 59ddb11..0000000
--- a/src/XalanDOM/XalanCDataSection.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanCDATASection.hpp"
-
-
-
-XalanCDATASection::XalanCDATASection() :
-	XalanText()
-{
-}
-
-
-
-XalanCDATASection::~XalanCDATASection()
-{
-}
-
-
-
-XalanCDATASection::XalanCDATASection(const XalanCDATASection&	theSource) :
-	XalanText(theSource)
-{
-}
-
-
-
-XalanCDATASection&
-XalanCDATASection::operator=(const XalanCDATASection&		theSource)
-{
-	XalanText::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanCDATASection::operator==(const XalanCDATASection&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanCharacterData.cpp b/src/XalanDOM/XalanCharacterData.cpp
deleted file mode 100644
index 9921ae5..0000000
--- a/src/XalanDOM/XalanCharacterData.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanCharacterData.hpp"
-
-
-
-XalanCharacterData::XalanCharacterData() :
-	XalanNode()
-{
-}
-
-
-
-XalanCharacterData::~XalanCharacterData()
-{
-}
-
-
-
-XalanCharacterData::XalanCharacterData(const XalanCharacterData&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanCharacterData&
-XalanCharacterData::operator=(const XalanCharacterData&		theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanCharacterData::operator==(const XalanCharacterData&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanCharacterData.hpp b/src/XalanDOM/XalanCharacterData.hpp
deleted file mode 100644
index 62db4b2..0000000
--- a/src/XalanDOM/XalanCharacterData.hpp
+++ /dev/null
@@ -1,580 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANCHARACTERDATA_HEADER_GUARD_1357924680)
-#define XALANCHARACTERDATA_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM CharacterData interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanCharacterData : public XalanNode
-{
-public:
-
-	XalanCharacterData();
-
-	virtual
-	~XalanCharacterData();
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanCharacterData*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanCharacterData...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>XalanDOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>XalanDOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const = 0;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const = 0;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>XalanDOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const = 0;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>XalanDOMString</code> specified.
-	 * @param arg The <code>XalanDOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg) = 0;
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>XalanDOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg) = 0;
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count) = 0;
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>XalanDOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg) = 0;
-
-  //@}
-
-protected:
-
-	XalanCharacterData(const XalanCharacterData&	theSource);
-
-	XalanCharacterData&
-	operator=(const XalanCharacterData& 	theSource);
-
-	bool
-	operator==(const XalanCharacterData&	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANCHARACTERDATA_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanComment.cpp b/src/XalanDOM/XalanComment.cpp
deleted file mode 100644
index 14f9d48..0000000
--- a/src/XalanDOM/XalanComment.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanComment.hpp"
-
-
-
-XalanComment::XalanComment() :
-	XalanCharacterData()
-{
-}
-
-
-
-XalanComment::~XalanComment()
-{
-}
-
-
-
-XalanComment::XalanComment(const XalanComment&	theSource) :
-	XalanCharacterData(theSource)
-{
-}
-
-
-
-XalanComment&
-XalanComment::operator=(const XalanComment&		theSource)
-{
-	XalanCharacterData::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanComment::operator==(const XalanComment&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanComment.hpp b/src/XalanDOM/XalanComment.hpp
deleted file mode 100644
index 24766db..0000000
--- a/src/XalanDOM/XalanComment.hpp
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANCOMMENT_HEADER_GUARD_1357924680)
-#define XALANCOMMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanCharacterData.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Comment interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanComment : public XalanCharacterData
-{
-public:
-
-	XalanComment();
-
-	virtual
-	~XalanComment();
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanComment*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are inherited from XalanCharacterData...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>XalanDOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>XalanDOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const = 0;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const = 0;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>XalanDOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const = 0;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>XalanDOMString</code> specified.
-	 * @param arg The <code>XalanDOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg) = 0;
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>XalanDOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg) = 0;
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count) = 0;
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>XalanDOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int		offset, 
-			unsigned int		count, 
-			const XalanDOMString&	arg) = 0;
-
-  //@}
-
-protected:
-
-	XalanComment(const XalanComment&	theSource);
-
-	XalanComment&
-	operator=(const XalanComment& 	theSource);
-
-	bool
-	operator==(const XalanComment&	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANCOMMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDOMDefinitions.hpp b/src/XalanDOM/XalanDOMDefinitions.hpp
deleted file mode 100644
index 980985e..0000000
--- a/src/XalanDOM/XalanDOMDefinitions.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#if !defined(XALAN_DOM_DEFINITIONS)
-#define XALAN_DOM_DEFINITIONS
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_DOM_BUILD_DLL)
-
-#define XALAN_DOM_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_DOM_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_DOM_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_DOM_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif
diff --git a/src/XalanDOM/XalanDOMException.cpp b/src/XalanDOM/XalanDOMException.cpp
deleted file mode 100644
index 74c9f99..0000000
--- a/src/XalanDOM/XalanDOMException.cpp
+++ /dev/null
@@ -1,85 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDOMException.hpp"
-
-
-
-XalanDOMException::XalanDOMException(ExceptionCode 	code) :
-	m_code(code)
-{
-}
-
-
-
-XalanDOMException::XalanDOMException(const XalanDOMException&	theSource) :
-	m_code(theSource.m_code)
-{
-}
-
-
-
-XalanDOMException::~XalanDOMException()
-{
-}
-
-
-
-XalanDOMException::ExceptionCode
-XalanDOMException::getExceptionCode() const
-{
-	return m_code;
-}
diff --git a/src/XalanDOM/XalanDOMException.hpp b/src/XalanDOM/XalanDOMException.hpp
deleted file mode 100644
index e75c8e7..0000000
--- a/src/XalanDOM/XalanDOMException.hpp
+++ /dev/null
@@ -1,161 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOMEXCEPTION_HEADER_GUARD_1357924680)
-#define XALANDOMEXCEPTION_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Exception interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanDOMException
-{
-public:
-
-	/** @name Enumerators for DOM Exceptions */
-	//@{
-	enum ExceptionCode
-	{
-		// These are the errors as defined in the W3C DOM recommendation.
-		INDEX_SIZE_ERR				= 1,
-		DOMSTRING_SIZE_ERR			= 2,
-		HIERARCHY_REQUEST_ERR		= 3,
-		WRONG_DOCUMENT_ERR			= 4,
-		INVALID_CHARACTER_ERR		= 5,
-		NO_DATA_ALLOWED_ERR 		= 6,
-		NO_MODIFICATION_ALLOWED_ERR = 7,
-		NOT_FOUND_ERR				= 8,
-		NOT_SUPPORTED_ERR			= 9,
-		INUSE_ATTRIBUTE_ERR 		= 10,
-		INVALID_STATE_ERR			= 11,
-		SYNTAX_ERR					= 12,
-		INVALID_MODIFICATION_ERR	= 13,
-		NAMESPACE_ERR				= 14,
-		INVALID_ACCESS_ERR			= 15,
-
-		// This is the first available number,
-		// according to the spec.
-		UNKNOWN_ERR 				= 201,
-
-		// Indicates that an error occurred transcoding a
-		// string.
-		TRANSCODING_ERR				= 202
-	};
-	//@}
-
-	/** @name Constructors and assignment operator */
-	//@{
-
-	/**
-	  * Constructor which takes an error code and a message.
-	  *
-	  * @param code The error code which indicates the exception
-	  */
-	explicit
-	XalanDOMException(ExceptionCode 	code = UNKNOWN_ERR);
-
-	/**
-	  * Copy constructor.
-	  *
-	  * @param other The object to be copied.
-	  */
-	XalanDOMException(const XalanDOMException&	theSource);
-
-	//@}
-	/** @name Destructor. */
-	//@{
-
-	 /**
-	  * Destructor for XalanDOMException.
-	  */
-	virtual
-	~XalanDOMException();
-	//@}
-
-	/** @name Get functions. */
-	 //@{
-	 /**
-	  * Returns a code value, from the set defined by the ExceptionCode enum,
-	  * indicating the type of error that occurred.
-	  * @return The exception code.
-	  */
-	virtual ExceptionCode
-	getExceptionCode() const;
-
-private:
-
-    // Not implemented...
-    XalanDOMException&
-    operator=(const XalanDOMException&);
-
-
-    // Data members...
-	const ExceptionCode		m_code;
-};
-
-
-
-#endif	// !defined(XALANDOMEXCEPTION_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDOMImplementation.cpp b/src/XalanDOM/XalanDOMImplementation.cpp
deleted file mode 100644
index eb5a29a..0000000
--- a/src/XalanDOM/XalanDOMImplementation.cpp
+++ /dev/null
@@ -1,91 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDOMImplementation.hpp"
-
-
-
-XalanDOMImplementation::XalanDOMImplementation()
-{
-}
-
-
-
-XalanDOMImplementation::~XalanDOMImplementation()
-{
-}
-
-
-
-XalanDOMImplementation::XalanDOMImplementation(const XalanDOMImplementation&	/* theSource */)
-{
-}
-
-
-
-XalanDOMImplementation&
-XalanDOMImplementation::operator=(const XalanDOMImplementation&	/* theSource */)
-{
-	return *this;
-}
-
-
-
-bool
-XalanDOMImplementation::operator==(const XalanDOMImplementation&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanDOMImplementation.hpp b/src/XalanDOM/XalanDOMImplementation.hpp
deleted file mode 100644
index 38fe033..0000000
--- a/src/XalanDOM/XalanDOMImplementation.hpp
+++ /dev/null
@@ -1,173 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOMIMPLEMENTATION_HEADER_GUARD_1357924680)
-#define XALANDOMIMPLEMENTATION_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanDocument;
-class XalanDocumentType;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM DOMImplementation interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanDOMImplementation
-{
-public:
-
-	XalanDOMImplementation();
-
-	virtual
-	~XalanDOMImplementation();
-
-	/** @name Getter functions */
-	//@{
-
-	/**
-	 * Test if the DOM implementation implements a specific feature.
-	 *
-	 * @param feature The string of the feature to test (case-insensitive). The legal 
-	 *        values are defined throughout this specification. The string must be 
-	 *        an <EM>XML name</EM> (see also Compliance).
-	 * @param version This is the version number of the package name to test.  
-	 *   In Level 1, this is the string "1.0". If the version is not specified, 
-	 *   supporting any version of the  feature will cause the method to return 
-	 *   <code>true</code>. 
-	 * @return <code>true</code> if the feature is implemented in the specified 
-	 *   version, <code>false</code> otherwise.
-	 */
-	virtual bool
-	hasFeature(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) = 0;
-
- //@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-
-	/**
-     * Creates an empty <code>DocumentType</code> node.
-     * Entity declarations and notations are not made available.
-     * Entity reference expansions and default attribute additions
-     * do not occur. It is expected that a future version of the DOM
-     * will provide a way for populating a <code>DocumentType</code>.
-     * @param qualifiedName The <em>qualified name</em>
-     * of the document type to be created.
-     * @param publicId The external subset public identifier.
-     * @param systemId The external subset system identifier.
-     * @return A new <code>DocumentType</code> node with
-     * <code>Node.ownerDocument</code> set to <code>null</code>.
-     */
-	virtual XalanDocumentType*
-	createDocumentType(
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	publicId,
-			const XalanDOMString&	systemId) = 0;
-
-    /**
-     * Creates an XML <code>Document</code> object of the specified type
-     * with its document element.
-     * @param namespaceURI The <em>namespace URI</em> of
-     * the document element to create, or <code>null</code>.
-     * @param qualifiedName The <em>qualified name</em>
-     * of the document element to be created.
-     * @param doctype The type of document to be created or <code>null</code>.
-     * <p>When <code>doctype</code> is not <code>null</code>, its
-     * <code>Node.ownerDocument</code> attribute is set to the document
-     * being created.
-     * @return A new <code>Document</code> object.
-     * @exception DOMException
-     *   WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has already
-     *   been used with a different document.
-     */
-    virtual XalanDocument*
-	createDocument(
-			const XalanDOMString&		namespaceURI,
-			const XalanDOMString&		qualifiedName,
-			const XalanDocumentType&	doctype) = 0;
-
-    //@}
-
-protected:
-
-	XalanDOMImplementation(const XalanDOMImplementation&	theSource);
-
-	XalanDOMImplementation&
-	operator=(const XalanDOMImplementation&		theSource);
-
-	bool
-	operator==(const XalanDOMImplementation&	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined (XALANDOMIMPLEMENTATION_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDOMInit.cpp b/src/XalanDOM/XalanDOMInit.cpp
deleted file mode 100644
index e97b622..0000000
--- a/src/XalanDOM/XalanDOMInit.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanDOMInit.hpp"
-
-
-
-unsigned long	XalanDOMInit::s_initCounter = 0;
-
-
-
-XalanDOMInit::XalanDOMInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-XalanDOMInit::~XalanDOMInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-XalanDOMInit::initialize()
-{
-}
-
-
-
-void
-XalanDOMInit::terminate()
-{
-}
diff --git a/src/XalanDOM/XalanDOMInit.hpp b/src/XalanDOM/XalanDOMInit.hpp
deleted file mode 100644
index c649c42..0000000
--- a/src/XalanDOM/XalanDOMInit.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANDOMINIT_INCLUDE_GUARD_1357924680)
-#define XALANDOMINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-
-
-
-class XALAN_DOM_EXPORT XalanDOMInit
-{
-public:
-
-	explicit
-	XalanDOMInit();
-
-	~XalanDOMInit();
-
-private:
-
-	// Not implemented...
-	XalanDOMInit(const XalanDOMInit&);
-
-	XalanDOMInit&
-	operator=(const XalanDOMInit&);
-
-
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	static unsigned long	s_initCounter;
-};
-
-
-
-#endif	// !defined(XALANDOMINIT_INCLUDE_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDOMString.cpp b/src/XalanDOM/XalanDOMString.cpp
deleted file mode 100644
index d7fd672..0000000
--- a/src/XalanDOM/XalanDOMString.cpp
+++ /dev/null
@@ -1,1117 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanDOMString.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <cstdlib>
-
-
-
-const XalanDOMChar	XalanDOMString::s_empty = 0;
-
-#if __INTEL_COMPILER >= 600
-const XalanDOMString::size_type     XalanDOMString::npos;
-#endif
- 
-
-
-XalanDOMString::XalanDOMString() :
-	m_data(),
-	m_size(0)
-{
-}
-
-
-
-XalanDOMString::XalanDOMString(
-			const XalanDOMString&	theSource,
-			size_type				theStartPosition,
-			size_type				theCount) :
-	m_data(),
-	m_size(0)
-{
-	if (theSource.length() != 0)
-	{
-		append(theSource, theStartPosition, theCount);
-	}
-}
-
-
-
-XalanDOMString::XalanDOMString(
-			const XalanDOMChar*		theString,
-			size_type				theCount) :
-	m_data(),
-	m_size(0)
-{
-	assert(theString != 0);
-
-	if (*theString != 0)
-	{
-		append(theString, theCount);
-	}
-}
-
-
-
-XalanDOMString::XalanDOMString(
-			const char*		theString,
-			size_type		theCount) :
-	m_data(),
-	m_size(0)
-{
-	assert(theString != 0);
-
-	if (*theString != 0)
-	{
-		append(theString, theCount);
-	}
-
-	invariants();
-}
-
-
-
-XalanDOMString::XalanDOMString(
-			size_type		theCount,
-			XalanDOMChar	theChar) :
-	m_data(),
-	m_size(0)
-{
-	if (theCount != 0)
-	{
-		XalanDOMCharVectorType(theCount + 1, theChar).swap(m_data);
-
-		// Null-terminate it...
-		m_data.back() = 0;
-
-		m_size = theCount;
-	}
-
-	invariants();
-}
-
-
-
-void
-XalanDOMString::resize(
-			size_type		theCount,
-			XalanDOMChar	theChar)
-{
-	invariants();
-
-	const size_type		theOldSize = size();
-
-	if (theCount != theOldSize)
-	{
-		if (theOldSize == 0)
-		{
-			// If the string is of 0 length, resize but add an
-			// extra byte for the terminating byte.
-			m_data.resize(theCount + 1, theChar);
-		}
-		else
-		{
-			// If the string is not of 0 length, resize but
-			// put a copy of theChar where the terminating
-			// byte used to be.
-			m_data.resize(theCount + 1, theChar);
-		}
-
-		m_size = theCount;
-
-		// Terminate...
-		m_data.back() = 0;
-	}
-
-	invariants();
-}
-
-
-
-void
-XalanDOMString::erase(
-			size_type	theStartPosition,
-			size_type	theCount)
-{
-	invariants();
-
-	const size_type		theActualCount =
-			theCount == size_type(npos) ? length() : theCount;
-
-	if (theStartPosition == 0 && theCount >= size())
-	{
-		m_data.erase(m_data.begin(), m_data.end());
-
-		m_size = 0;
-	}
-	else
-	{
-		const iterator		i = getIteratorForPosition(theStartPosition);
-
-		m_data.erase(i, i + (theActualCount));
-
-		const size_type		theNewSize = m_data.size();
-
-		if (theNewSize < 2)
-		{
-			m_size = 0;
-		}
-		else
-		{
-			m_size = theNewSize - 1;
-		}
-	}
-
-	invariants();
-}
-
-
-
-XalanDOMString&
-XalanDOMString::assign(
-			const XalanDOMString&	theSource,
-			size_type				thePosition,
-			size_type				theCount)
-{
-	invariants();
-
-	assert(thePosition < theSource.size() && thePosition + theCount <= theSource.size());
-
-	if (&theSource != this)
-	{
-		erase();
-
-		append(theSource, thePosition, theCount);
-	}
-	else
-	{
-		if (thePosition == 0)
-		{
-			// See if we're being asked to
-			// assign everything to ourself,
-			// which is a noop...
-			if (theCount != m_size)
-			{
-				// We're being asked to truncate...
-				resize(theCount);
-			}
-		}
-		else
-		{
-			// Yuck.  We have to move data...
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-			std::memmove(&*begin(), &*begin() + thePosition, theCount * sizeof(XalanDOMChar));
-#else
-			memmove(&*begin(), &*begin() + thePosition, theCount * sizeof(XalanDOMChar));
-#endif
-
-			resize(theCount);
-		}
-	}
-
-	invariants();
-
-	return *this;
-}
-
-
-
-XalanDOMString&
-XalanDOMString::assign(
-		const_iterator	theFirstPosition,
-		const_iterator	theLastPosition)
-{
-	invariants();
-
-#if __SGI_STL_PORT <= 0x400
-	XalanDOMString  temp;
-
-	temp.reserve(theLastPosition - theFirstPosition + 1);
-
-	while(theFirstPosition != theLastPosition)
-	{
-		temp.push_back(*theFirstPosition);
-
-		++theFirstPosition;
-	}
-
-	temp.m_data.push_back(XalanDOMChar(0));
-
-	temp.m_size = temp.m_data.size() - 1;
-
-	swap(temp);
-#else
-	m_data.assign(theFirstPosition, theLastPosition);
-
-	m_data.push_back(XalanDOMChar(0));
-
-	m_size = m_data.size() - 1;
-#endif
-
-	invariants();
-
-	return *this;
-}
-
-
-
-XalanDOMString&
-XalanDOMString::append(
-			const XalanDOMChar*		theString,
-			size_type				theCount)
-{
-	const size_type		theLength =
-			theCount == size_type(npos) ? length(theString) : theCount;
-
-	if (theLength != 0)
-	{
-		if (m_data.size() == 0)
-		{
-			m_data.reserve(theLength + 1);
-
-			m_data.insert(m_data.end(), theString, theString + theLength);
-
-			m_data.push_back(0);
-
-			m_size = theLength;
-
-			assert(length() == theLength);
-		}
-		else
-		{
-			m_data.insert(getBackInsertIterator(), theString, theString + theLength);
-
-			m_size += theCount;
-		}
-	}
-
-	invariants();
-
-	return *this;
-}
-
-
-
-static inline void
-doTranscode(
-			const char*					theString,
-			XalanDOMString::size_type	theCount,
-			XalanDOMCharVectorType&		theVector,
-			bool						fTerminate)
-{
-	assert(theString != 0);
-
-	if (theCount == XalanDOMString::size_type(XalanDOMString::npos))
-	{
-		if (TranscodeFromLocalCodePage(theString, theVector, fTerminate) == false)
-		{
-			throw XalanDOMString::TranscodingError();
-		}
-	}
-	else
-	{
-		if (TranscodeFromLocalCodePage(theString, theCount, theVector, fTerminate) == false)
-		{
-			throw XalanDOMString::TranscodingError();
-		}
-	}
-}
-
-
-
-XalanDOMString&
-XalanDOMString::append(
-			const char*		theString,
-			size_type		theCount)
-{
-	invariants();
-
-	const size_type		theLength =
-			theCount == size_type(npos) ? length(theString) : theCount;
-
-	if (theLength != 0)
-	{
-		if (size() == 0)
-		{
-			doTranscode(theString, theLength, m_data, true);
-		}
-		else
-		{
-			XalanDOMCharVectorType	theTempVector;
-
-			doTranscode(theString, theLength, theTempVector, false);
-
-			append(&*theTempVector.begin(), size_type(theTempVector.size()));
-		}
-
-		m_size = m_data.size() - 1;
-	}
-
-	invariants();
-
-	return *this;
-}
-
-
-XalanDOMString&
-XalanDOMString::append(
-			size_type		theCount,
-			XalanDOMChar	theChar)
-{
-	invariants();
-
-	if (m_data.size() == 0)
-	{
-		m_data.insert(m_data.end(), theCount + 1, theChar);
-
-		m_data.back() = 0;
-
-		m_size = theCount;
-
-		assert(length() == theCount);
-	}
-	else
-	{
-		m_data.insert(getBackInsertIterator(), theCount, theChar);
-
-		m_size += theCount;
-	}
-
-	invariants();
-
-	return *this;
-}
-
-
-
-XalanDOMString&
-XalanDOMString::insert(
-			size_type				thePosition,
-			const XalanDOMChar*		theString,
-			size_type				theCount)
-{
-	invariants();
-
-	m_data.insert(getIteratorForPosition(thePosition), theString, theString + theCount);
-
-	m_size += theCount;
-
-	invariants();
-
-	return *this;
-}
-
-
-
-XalanDOMString&
-XalanDOMString::insert(
-			size_type		thePosition,
-			size_type		theCount,
-			XalanDOMChar	theChar)
-{
-	invariants();
-
-	m_data.insert(getIteratorForPosition(thePosition), theCount, theChar);
-
-	m_size += theCount;
-
-	invariants();
-
-	return *this;
-}
-
-
-
-XalanDOMString::iterator
-XalanDOMString::insert(
-			iterator		thePosition,
-			XalanDOMChar	theChar)
-{
-	invariants();
-
-	m_data.insert(thePosition, theChar);
-
-	++m_size;
-
-	invariants();
-
-	return thePosition;
-}
-
-
-
-void
-XalanDOMString::insert(
-			iterator		thePosition,
-			size_type		theCount,
-			XalanDOMChar	theChar)
-{
-	invariants();
-
-	m_data.insert(thePosition, theCount, theChar);
-
-	m_size += theCount;
-
-	invariants();
-}
-
-
-
-void
-XalanDOMString::insert(
-		iterator		theInsertPosition,
-		const_iterator	theFirstPosition,
-		const_iterator	theLastPosition)
-{
-	invariants();
-
-	m_data.insert(theInsertPosition, theFirstPosition, theLastPosition);
-
-	m_size = m_data.size() - 1;
-
-	assert(m_size == m_data.size() - 1);
-
-	invariants();
-}
-
-
-
-template <class Type, class SizeType>
-int
-doCompare(
-			const Type*		theLHS,
-			SizeType		theLHSLength,
-			const Type*		theRHS,
-			SizeType		theRHSLength)
-{
-	int					theResult = 0;
-
-	if (theLHSLength != 0 || theRHSLength != 0)
-	{
-		Type		theLHSChar = Type(0);
-		Type		theRHSChar = Type(0);
-
-		SizeType	i = 0;
-
-		for(; i < theLHSLength && i < theRHSLength; i++)
-		{
-			theLHSChar = theLHS[i];
-			theRHSChar = theRHS[i];
-
-			if (theLHSChar != theRHSChar)
-			{
-				break;
-			}
-		}
-
-		if (i == theLHSLength)
-		{
-			// We reached the end of theLHS...
-			if (i != theRHSLength)
-			{
-				// but not the end of theRHS.
-				theResult = -1;
-			}
-		}
-		else if (i == theRHSLength)
-		{
-			// We reached the end of theRHS string...
-			if (i != theLHSLength)
-			{
-				// but not the end of theLHS string.
-				theResult = 1;
-			}
-		}
-		else
-		{
-			// We didn't reach the end of _either_ string, so
-			// return the difference between the two characters
-			// that caused the problem.
-			theResult = theLHSChar - theRHSChar;
-		}
-	}
-
-	return theResult;
-}
-
-
-
-int
-XalanDOMString::compare(const XalanDOMChar*		theString) const
-{
-	invariants();
-
-	return doCompare(c_str(), length(), theString, length(theString));
-}
-
-
-
-int
-XalanDOMString::compare(
-			size_type				thePosition1,
-			size_type				theCount1,
-			const XalanDOMChar*		theString,
-			size_type				theCount2) const
-{
-	invariants();
-
-	return doCompare(c_str() + thePosition1, theCount1, theString, theCount2);
-}
-
-
-
-XalanDOMString::CharVectorType
-XalanDOMString::transcode() const
-{
-	invariants();
-
-	CharVectorType	theResult;
-
-	if (TranscodeToLocalCodePage(c_str(), length(), theResult, true) == false)
-	{
-		throw TranscodingError();
-	}
-
-	return theResult;
-}
-
-
-
-static inline XalanDOMString::size_type
-length(const XalanDOMChar*	theString)
-{
-	assert(theString != 0);
-
-	const XalanDOMChar*		theStringPointer = theString;
-
-	while(*theStringPointer != 0)
-	{
-		theStringPointer++;
-	}
-
-	return XalanDOMString::size_type(theStringPointer - theString);
-}
-
-
-
-bool
-XalanDOMString::equals(
-			const XalanDOMChar*		theLHS,
-			size_type				theLHSLength,
-			const XalanDOMChar*		theRHS,
-			size_type				theRHSLength)
-{
-	if (theLHSLength != theRHSLength)
-	{
-		return false;
-	}
-	else if (theLHSLength == 0)
-	{
-		return true;
-	}
-	else
-	{
-		const XalanDOMChar* const	theEnd = theLHS + theLHSLength;
-
-		while(*theLHS == *theRHS)
-		{
-			++theLHS;
-
-			if (theLHS == theEnd)
-			{
-				return true;
-			}
-			else
-			{
-				++theRHS;
-			}
-		}
-
-		return false;
-	}
-}
-
-
-
-bool
-XalanDOMString::equals(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	const XalanDOMString::size_type		theLHSLength = theLHS.size();
-	const XalanDOMString::size_type		theRHSLength = theRHS.size();
-
-	if (theLHSLength != theRHSLength)
-	{
-		return false;
-	}
-	else
-	{
-		return equals(theLHS.c_str(), theLHSLength, theRHS.c_str(), theRHSLength);
-	}
-}
-
-
-
-XalanDOMString::size_type
-XalanDOMString::length(const XalanDOMChar*	theString)
-{
-	return ::length(theString);
-}
-
-
-
-XalanDOMString::size_type
-XalanDOMString::length(const char*	theString)
-{
-	assert(theString != 0);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	assert(std::strlen(theString) < size_type(npos));
-
-	return size_type(std::strlen(theString));
-#else
-	assert(strlen(theString) < size_type(npos));
-
-	return size_type(strlen(theString));
-#endif
-
-}
-
-
-
-#if defined(XALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS)
-
-
-
-#include <util/XMLString.hpp>
-
-
-
-template <class SourceType, class TargetType, class SizeType, class LengthFunctionType>
-bool
-doXercesTranscode(
-			const SourceType*			theSourceString,
-			SizeType					theSourceStringLength,
-			bool						theSourceStringIsNullTerminated,
-#if defined(XALAN_NO_NAMESPACES)
-			vector<TargetType>&			theTargetVector,
-#else
-			std::vector<TargetType>&	theTargetVector,
-#endif
-			bool						terminate,
-			LengthFunctionType			theLengthFunction)
-{
-	const SourceType*	theRealSourceString = theSourceString;
-
-	SizeType			theRealSourceStringLength = theSourceStringLength;
-
-	XalanArrayAutoPtr<SourceType>		theGuard;
-
-	if (theSourceStringIsNullTerminated == true)
-	{
-		theRealSourceStringLength = theLengthFunction(theSourceString);
-	}
-	else
-	{
-		theGuard.reset(new SourceType[theRealSourceStringLength + 1]);
-		assert(theGuard.get() != 0);
-
-		for (SizeType index = 0; index < theRealSourceStringLength; ++index)
-		{
-			theGuard[index] = theSourceString[index];
-		}
-
-		theGuard[theRealSourceStringLength] = SourceType(0);
-
-		theRealSourceString = theGuard.get(); 
-	}
-
-	// Initially, let's guess the the transcoded string will be of the same
-	// length as the UTF-16 string.
-	theTargetVector.resize(theRealSourceStringLength + 1, TargetType(0));
-
-	assert(theRealSourceString != 0);
-
-	unsigned int	theAttempts = 0;
-	bool			fSuccess = false;
-
-	do
-	{
-		// $$$ ToDo: We should use the Xerces transcoder interface
-		// instead of XMLString::transcode(), so we can better control
-		// error handling and failures due to inadequate space.
-		fSuccess = XMLString::transcode(
-					theRealSourceString,
-					&*theTargetVector.begin(),
-					theTargetVector.size() - 1);
-
-		if (fSuccess == false)
-		{
-			if (theAttempts > 2)
-			{
-				break;
-			}
-			else
-			{
-				++theAttempts;
-
-				theTargetVector.resize(theTargetVector.size() + 10, TargetType(0));
-			}
-		}
-	} while (fSuccess == false);
-
-	if (fSuccess == false)
-	{
-		theTargetVector.clear();
-	}
-	else if (terminate == false)
-	{
-		while(theTargetVector.back() == TargetType(0))
-		{
-			theTargetVector.pop_back();
-		}
-	}
-
-	return fSuccess;
-}
-
-#endif
-
-
-
-static bool
-doTranscodeToLocalCodePage(
-			const XalanDOMChar*			theSourceString,
-			XalanDOMString::size_type	theSourceStringLength,
-			bool						theSourceStringIsNullTerminated,
-			CharVectorType&				theTargetVector,
-			bool						terminate)
-{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::wcstombs;
-#endif
-
-    // Short circuit if it's a null pointer, or of length 0.
-    if (!theSourceString || (!theSourceString[0]))
-    {
-		if (terminate == true)
-		{
-			theTargetVector.resize(1);
-
-			theTargetVector.back() = '\0';
-		}
-		else
-		{
-			theTargetVector.clear();
-		}
-
-        return true;
-	}
-#if defined(XALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS)
-	else
-	{
-		return doXercesTranscode(
-					theSourceString,
-					theSourceStringLength,
-					theSourceStringIsNullTerminated,
-					theTargetVector,
-					terminate,
-					length);
-	}
-#else
-	const wchar_t*	theTempSource = 0;
-
-	// If our char sizes are not the same, or the input string is not null-terminated,
-	// we have to use a temporary buffer.
-	XalanArrayAutoPtr<wchar_t>	theTempSourceJanitor;
-
-#if !defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-	// This is a short-cut for when the theSourceString is mull-terminated _and_
-	// XalanDOMChar and wchar_t are the same thing.
-	if (theSourceStringIsNullTerminated == true)
-	{
-		theTempSource = theSourceString;
-	}
-	else
-#endif
-	{
-		if (theSourceStringIsNullTerminated == true)
-		{
-			theSourceStringLength = length(theSourceString);
-		}
-
-		theTempSourceJanitor.reset(new wchar_t[theSourceStringLength + 1]);
-
-		for (size_t	index = 0; index < theSourceStringLength; ++index)
-		{
-			theTempSourceJanitor[index] = wchar_t(theSourceString[index]);
-		}
-
-		theTempSourceJanitor[theSourceStringLength] = 0;
-
-		theTempSource = theTempSourceJanitor.get();
-	}
-
-    // See how many chars we need to transcode.
-    const size_t	targetLen = wcstombs(0, theTempSource, 0);
-
-	if (targetLen == size_t(-1))
-	{
-		return false;
-	}
-	else
-	{
-		// Resize, adding one byte if terminating...
-		theTargetVector.resize(terminate == true ? targetLen + 1 : targetLen);
-
-		//  And transcode our temp source buffer to the local buffer. Terminate
-		//
-		if (wcstombs(&theTargetVector[0], theTempSource, targetLen) == size_t(-1))
-		{
-			theTargetVector.clear();
-
-			return false;
-		}
-		else
-		{
-			if (terminate == true)
-			{
-				theTargetVector.back() = '\0';
-			}
-
-			return true;
-		}
-	}
-#endif
-}
-
-
-
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeToLocalCodePage(
-			const XalanDOMChar*			theSourceString,
-			XalanDOMString::size_type	theSourceStringLength,
-			CharVectorType&				theTargetVector,
-			bool						terminate)
-{
-	return doTranscodeToLocalCodePage(theSourceString, theSourceStringLength, false, theTargetVector, terminate);
-}
-
-
-
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeToLocalCodePage(
-			const XalanDOMChar*		theSourceString,
-			CharVectorType&			theTargetVector,
-			bool					terminate)
-{
-	return doTranscodeToLocalCodePage(theSourceString, 0, true, theTargetVector, terminate);
-}
-
-
-
-static bool
-doTranscodeFromLocalCodePage(
-			const char*					theSourceString,
-			XalanDOMString::size_type	theSourceStringLength,
-			bool						theSourceStringIsNullTerminated,
-			XalanDOMCharVectorType&		theTargetVector,
-			bool						terminate)
-{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::mbstowcs;
-#endif
-
-	typedef XalanDOMString::size_type	size_type;
-
-    // Short circuit if it's a null pointer, or of length 0.
-    if (!theSourceString || (!theSourceString[0]))
-    {
-		if (terminate == true)
-		{
-			theTargetVector.resize(1);
-
-			theTargetVector.back() = '\0';
-		}
-		else
-		{
-			theTargetVector.clear();
-		}
-
-        return true;
-	}
-#if defined(XALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS)
-	else
-	{
-		return doXercesTranscode(
-					theSourceString,
-					theSourceStringLength,
-					theSourceStringIsNullTerminated,
-					theTargetVector,
-					terminate,
-					length);
-	}
-#else
-	XalanArrayAutoPtr<char>		tempString;
-
-	if (theSourceStringIsNullTerminated == true)
-	{
-		theSourceStringLength = XalanDOMString::length(theSourceString);
-	}
-	else
-	{
-		tempString.reset(new char[theSourceStringLength + 1]);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		std::strncpy(tempString.get(), theSourceString, theSourceStringLength);
-#else
-		strncpy(tempString.get(), theSourceString, theSourceStringLength);
-#endif
-
-		tempString[theSourceStringLength] = '\0';
-
-		theSourceString = tempString.get();
-	}
-
-    // See how many chars we need to transcode.
-	const size_t	theTargetLength =
-			mbstowcs(0, theSourceString, size_t(theSourceStringLength));
-
-	if (theTargetLength == size_t(-1))
-	{
-		return false;
-	}
-	else
-	{
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-		typedef XalanDOMString::WideCharVectorType	WideCharVectorType;
-
-		WideCharVectorType	theTempResult;
-
-		theTempResult.resize(terminate == true ? theTargetLength + 1 : theTargetLength);
-
-		wchar_t* const	theTargetPointer = &theTempResult[0];
-#else
-		theTargetVector.resize(terminate == true ? theTargetLength + 1 : theTargetLength);
-
-		wchar_t* const	theTargetPointer = &theTargetVector[0];
-#endif
-
-		if (mbstowcs(theTargetPointer, theSourceString, size_t(theSourceStringLength)) == size_t(-1))
-		{
-			theTargetVector.clear();
-
-			return false;
-		}
-		else
-		{
-#if defined(XALAN_XALANDOMCHAR_USHORT_MISMATCH)
-			const WideCharVectorType::size_type		theTempSize = theTempResult.size();
-
-			theTargetVector.reserve(theTempSize);
-
-			for(WideCharVectorType::size_type i = 0; i < theTempSize; ++i)
-			{
-				theTargetVector.push_back(theTempResult[i]);
-			}
-#endif
-
-			if (terminate == true)
-			{
-				theTargetVector.back() = '\0';
-			}
-
-			return true;
-		}
-	}
-#endif
-}
-
-
-
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeFromLocalCodePage(
-			const char*					theSourceString,
-			XalanDOMString::size_type	theSourceStringLength,
-			XalanDOMCharVectorType&		theTargetVector,
-			bool						terminate)
-{
-	return doTranscodeFromLocalCodePage(theSourceString, theSourceStringLength, false, theTargetVector, terminate);
-}
-
-
-
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeFromLocalCodePage(
-			const char*					theSourceString,
-			XalanDOMCharVectorType&		theTargetVector,
-			bool						terminate)
-{
-	return doTranscodeFromLocalCodePage(theSourceString, 0, true, theTargetVector, terminate);
-}
diff --git a/src/XalanDOM/XalanDOMString.hpp b/src/XalanDOM/XalanDOMString.hpp
deleted file mode 100644
index b8636cc..0000000
--- a/src/XalanDOM/XalanDOMString.hpp
+++ /dev/null
@@ -1,1141 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOMSTRING_HEADER_GUARD_1357924680)
-#define XALANDOMSTRING_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#if defined(XALAN_USE_NATIVE_WCHAR_T)
-typedef wchar_t			XalanDOMChar;
-#else
-// UTF-16 character...
-typedef unsigned short	XalanDOMChar;
-#endif
-
-
-
-#include <cassert>
-
-
-
-class XALAN_DOM_EXPORT XalanDOMString
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanDOMChar>		XalanDOMCharVectorType;
-	typedef vector<char>				CharVectorType;
-	typedef vector<wchar_t>				WideCharVectorType;
-#else
-	typedef std::vector<XalanDOMChar>	XalanDOMCharVectorType;
-	typedef std::vector<char>			CharVectorType;
-	typedef std::vector<wchar_t>		WideCharVectorType;
-#endif
-
-	typedef XalanDOMChar				value_type;
-	typedef XalanDOMChar&				reference;
-	typedef const XalanDOMChar&			const_reference;
-
-	typedef XalanDOMCharVectorType::size_type				size_type;
-
-	typedef XalanDOMCharVectorType::iterator				iterator;
-	typedef XalanDOMCharVectorType::const_iterator			const_iterator;
-	typedef XalanDOMCharVectorType::reverse_iterator		reverse_iterator;
-	typedef XalanDOMCharVectorType::const_reverse_iterator	const_reverse_iterator;
-
-#if defined(XALAN_INLINE_INITIALIZATION)
-	static const size_type	npos = ~0u;
-#else
-	enum { npos = -1 };
-#endif
-
-	explicit
-	XalanDOMString();
-
-	explicit
-	XalanDOMString(
-			const char*		theString,
-			size_type		theCount = size_type(npos));
-
-	XalanDOMString(
-			const XalanDOMString&	theSource,
-			size_type				theStartPosition = 0,
-			size_type				theCount = size_type(npos));
-
-	explicit
-	XalanDOMString(
-			const XalanDOMChar*		theString,
-			size_type				theCount = size_type(npos));
-
-	XalanDOMString(
-			size_type		theCount,
-			XalanDOMChar	theChar);
-
-	~XalanDOMString()
-	{
-	}
-
-	XalanDOMString&
-	operator=(const XalanDOMString&	theRHS)
-	{
-		return assign(theRHS);
-	}
-
-	XalanDOMString&
-	operator=(const XalanDOMChar*	theRHS)
-	{
-		return assign(theRHS);
-	}
-
-	XalanDOMString&
-	operator=(const char*	theRHS)
-	{
-		return assign(theRHS);
-	}
-
-	XalanDOMString&
-	operator=(XalanDOMChar	theRHS)
-	{
-		return assign(1, theRHS);
-	}
-
-	iterator
-	begin()
-	{
-		invariants();
-
-		return m_data.begin();
-	}
-
-	const_iterator
-	begin() const
-	{
-		invariants();
-
-		return m_data.begin();
-	}
-
-	iterator
-	end()
-	{
-		invariants();
-
-		return m_data.end();
-	}
-
-	const_iterator
-	end() const
-	{
-		invariants();
-
-		return m_data.end();
-	}
-
-	reverse_iterator
-	rbegin()
-	{
-		invariants();
-
-		return m_data.rbegin();
-	}
-
-	const_reverse_iterator
-	rbegin() const
-	{
-		invariants();
-
-		return m_data.rbegin();
-	}
-
-	reverse_iterator
-	rend()
-	{
-		invariants();
-
-		return m_data.rend();
-	}
-
-	const_reverse_iterator
-	rend() const
-	{
-		invariants();
-
-		return m_data.rend();
-	}
-
-	size_type
-	size() const
-	{
-		invariants();
-
-		return m_size;
-	}
-
-	size_type
-	length() const
-	{
-		invariants();
-
-		return size();
-	}
-
-	size_type
-	max_size() const
-	{
-		invariants();
-
-		return size_type(~0);
-	}
-
-	void
-	resize(
-			size_type		theCount,
-			XalanDOMChar	theChar);
-
-	void
-	resize(size_type	theCount)
-	{
-		invariants();
-
-		resize(theCount, XalanDOMChar(0));
-	}
-
-	size_type
-	capacity() const
-	{
-		invariants();
-
-		return m_data.capacity() - 1;
-	}
-
-	void
-	reserve(size_type	theCount = 0)
-	{
-		invariants();
-
-		m_data.reserve(theCount + 1);
-	}
-
-	void
-	clear()
-	{
-		invariants();
-
-		m_data.erase(m_data.begin(), m_data.end());
-
-		m_size = 0;
-
-		invariants();
-	}
-
-	void
-	erase(
-			size_type	theStartPosition = 0,
-			size_type	theCount = size_type(npos));
-
-	bool
-	empty() const
-	{
-		invariants();
-
-		return m_size == 0 ? true : false;
-	}
-
-	const_reference
-	operator[](size_type	theIndex) const
-	{
-		invariants();
-
-		return m_data[theIndex];
-	}
-
-	reference
-	operator[](size_type	theIndex)
-	{
-		invariants();
-
-		return m_data[theIndex];
-	}
-
-#if 0
-	// $$$ ToDo: at() is not supported in the current version of GCC's vector<>
-	// implementation.  Eventually, it should be.
-	const_reference
-	at(size_type	theIndex) const
-	{
-		invariants();
-
-		return m_data.at(theIndex);
-	}
-
-	reference
-	at(size_type	theIndex)
-	{
-		invariants();
-
-		return m_data.at(theIndex);
-	}
-#endif
-
-	const XalanDOMChar*
-	c_str() const
-	{
-		invariants();
-
-		// $$$ ToDo: Do we really want to do this?
-		// for convenience, we will return a pointer to
-		// a default empty string so that c_str() never
-		// returns a null pointer...
-		return m_data.size() == 0 ? &s_empty : &m_data[0];
-	}
-
-	const XalanDOMChar*
-	data() const
-	{
-		invariants();
-
-		return c_str();
-	}
-
-	void
-	swap(XalanDOMString&	theOther)
-	{
-		invariants();
-
-		m_data.swap(theOther.m_data);
-
-#if defined(XALAN_NO_NAMESPACES)
-		::swap(m_size, theOther.m_size);
-#else
-		std::swap(m_size, theOther.m_size);
-#endif
-	}
-
-	XalanDOMString&
-	operator+=(const XalanDOMString&	theSource)
-	{
-		return append(theSource);
-	}
-
-	XalanDOMString&
-	operator+=(const XalanDOMChar*	theString)
-	{
-		return append(theString);
-	}
-
-	XalanDOMString&
-	operator+=(XalanDOMChar theChar)
-	{
-		append(1, theChar);
-
-		return *this;
-	}
-
-	XalanDOMString&
-	assign(const XalanDOMChar*	theSource)
-	{
-		invariants();
-
-		erase();
-
-		invariants();
-
-		return append(theSource);
-	}
-
-	XalanDOMString&
-	assign(
-			const XalanDOMChar*		theSource,
-			size_type				theCount)
-	{
-		invariants();
-
-		erase();
-
-		invariants();
-
-		return append(theSource, theCount);
-	}
-
-	XalanDOMString&
-	assign(const char*	theSource)
-	{
-		invariants();
-
-		erase();
-
-		invariants();
-
-		return append(theSource);
-	}
-
-	XalanDOMString&
-	assign(
-			const char*		theSource,
-			size_type		theCount)
-	{
-		invariants();
-
-		erase();
-
-		invariants();
-
-		return append(theSource, theCount);
-	}
-
-	XalanDOMString&
-	assign(
-			const XalanDOMString&	theSource,
-			size_type				thePosition,
-			size_type				theCount);
-
-	XalanDOMString&
-	assign(const XalanDOMString&	theSource)
-	{
-		invariants();
-
-		if (&theSource != this)
-		{
-			m_data = theSource.m_data;
-
-			m_size = theSource.m_size;
-		}
-
-		invariants();
-
-		return *this;
-	}
-
-	XalanDOMString&
-	assign(
-			size_type		theCount,
-			XalanDOMChar	theChar)
-	{
-		invariants();
-
-		erase();
-
-		invariants();
-
-		return append(theCount, theChar);
-	}
-
-	XalanDOMString&
-	assign(
-		const_iterator	theFirstPosition,
-		const_iterator	theLastPosition);
-
-	XalanDOMString&
-	append(const XalanDOMString&	theSource)
-	{
-		return append(theSource.c_str(), theSource.length());
-	}
-
-	XalanDOMString&
-	append(
-			const XalanDOMString&	theSource,
-			size_type				thePosition,
-			size_type				theCount)
-	{
-		assert(thePosition < theSource.length() &&
-			   (theCount == size_type(npos) || thePosition + theCount <= theSource.length()));
-
-		return append(theSource.c_str() + thePosition, theCount);
-	}
-
-	XalanDOMString&
-	append(
-			const XalanDOMChar*		theString,
-			size_type				theCount);
-
-	XalanDOMString&
-	append(const XalanDOMChar*	theString)
-	{
-		return append(theString, length(theString));
-	}
-
-	XalanDOMString&
-	append(
-			const char*		theString,
-			size_type		theCount);
-
-	XalanDOMString&
-	append(const char*	theString)
-	{
-		return append(theString, length(theString));
-	}
-
-	XalanDOMString&
-	append(
-			size_type		theCount,
-			XalanDOMChar	theChar);
-
-	void
-	push_back(XalanDOMChar	theChar)
-	{
-		invariants();
-
-		append(1, theChar);
-
-		invariants();
-	}
-
-	XalanDOMString&
-	insert(
-			size_type				thePosition,
-			const XalanDOMString&	theString)
-	{
-		return insert(thePosition, theString.c_str(), theString.length());
-	}
-
-	XalanDOMString&
-	insert(
-			size_type				thePosition1,
-			const XalanDOMString&	theString,
-			size_type				thePosition2,
-			size_type				theCount)
-	{
-		return insert(thePosition1, theString.c_str() + thePosition2, theCount);
-	}
-
-	XalanDOMString&
-	insert(
-			size_type				thePosition,
-			const XalanDOMChar*		theString,
-			size_type				theCount);
-
-	XalanDOMString&
-	insert(
-			size_type				thePosition,
-			const XalanDOMChar*		theString)
-	{
-		return insert(thePosition, theString, length(theString));
-	}
-
-	XalanDOMString&
-	insert(
-			size_type		thePosition,
-			size_type		theCount,
-			XalanDOMChar	theChar);
-
-	iterator
-	insert(
-			iterator		thePosition,
-			XalanDOMChar	theChar);
-
-	void
-	insert(
-			iterator		thePosition,
-			size_type		theCount,
-			XalanDOMChar	theChar);
-
-	void
-	insert(
-		iterator		theInsertPosition,
-		const_iterator	theFirstPosition,
-		const_iterator	theLastPosition);
-
-	XalanDOMString
-	substr(
-			size_type	thePosition = 0,
-			size_type	theCount = size_type(npos)) const
-	{
-		assert(theCount == size_type(npos) && thePosition < length() ||
-			   thePosition + theCount <= length());
-
-		invariants();
-
-		return XalanDOMString(*this, thePosition, theCount);
-	}
-
-	XalanDOMString&
-	substr(
-			XalanDOMString&		theSubstring,
-			size_type			thePosition = 0,
-			size_type			theCount = size_type(npos)) const
-	{
-		assert(theCount == size_type(npos) && thePosition < length() ||
-			   thePosition + theCount <= length());
-
-		invariants();
-
-		return theSubstring.assign(*this, thePosition, theCount);
-	}
-
-	int
-	compare(const XalanDOMString&	theString) const
-	{
-		invariants();
-
-		return compare(theString.c_str());
-	}
-
-	int
-	compare(
-			size_type				thePosition1,
-			size_type				theCount1,
-			const XalanDOMString&	theString) const
-	{
-		invariants();
-
-		return compare(thePosition1, theCount1, theString.c_str(), theString.length());
-	}
-
-	int
-	compare(
-			size_type				thePosition1,
-			size_type				theCount1,
-			const XalanDOMString&	theString,
-			size_type				thePosition2,
-			size_type				theCount2) const
-	{
-		invariants();
-
-		return compare(thePosition1, theCount1, theString.c_str() + thePosition2, theCount2);
-	}
-
-	int
-	compare(const XalanDOMChar*		theString) const;
-
-	int
-	compare(
-			size_type				thePosition1,
-			size_type				theCount1,
-			const XalanDOMChar*		theString,
-			size_type				theCount2 = size_type(npos)) const;
-
-	int
-	compare(const char*		theString) const
-	{
-		invariants();
-
-		return compare(XalanDOMString(theString));
-	}
-
-	int
-	compare(
-			size_type		thePosition1,
-			size_type		theCount1,
-			const char*		theString,
-			size_type		theCount2 = size_type(npos)) const
-	{
-		invariants();
-
-		return compare(thePosition1, theCount1, XalanDOMString(theString, theCount2));
-	}
-
-	CharVectorType
-	transcode() const;
-
-	static bool
-	equals(
-			const XalanDOMChar*		theLHS,
-			size_type				theLHSLength,
-			const XalanDOMChar*		theRHS,
-			size_type				theRHSLength);
-
-	static bool
-	equals(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMChar*		theRHS)
-	{
-		return equals(theLHS, length(theLHS), theRHS, length(theRHS));
-	}
-
-	static bool
-	equals(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS);
-
-	static bool
-	equals(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-	{
-		return equals(theLHS.c_str(), theRHS);
-	}
-
-	static bool
-	equals(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-	{
-		return equals(theLHS, theRHS.c_str());
-	}
-
-	/*
-	 * Helper function to determine the length of a null-
-	 * terminated string.
-	 *
-	 * @theString The string
-	 * @return the length
-	 */
-	static size_type
-	length(const XalanDOMChar*	theString);
-
-	/*
-	 * Helper function to determine the length of a null-
-	 * terminated string.
-	 *
-	 * @theString The string
-	 * @return the length
-	 */
-	static size_type
-	length(const char*	theString);
-
-	class TranscodingError : public XalanDOMException
-	{
-	public:
-
-		TranscodingError() :
-			XalanDOMException(TRANSCODING_ERR)
-		{
-		}
-
-		virtual
-		~TranscodingError()
-		{
-		}
-	};
-
-protected:
-
-	/*
-	 * Function to assert invariant conditions for the class.
-	 *
-	 * @return the iterator
-	 */
-	void
-	invariants() const
-	{
-#if !defined(NDEBUG)
-		assert((m_data.size() == 0 && m_size == 0) || m_size == m_data.size() - 1);
-		assert(m_data.size() == 0 || m_data.back() == 0);
-#endif
-	}
-
-	/*
-	 * Get an iterator to the position of the terminating null.
-	 *
-	 * @return the iterator
-	 */
-	iterator
-	getBackInsertIterator()
-	{
-		invariants();
-
-		return m_data.size() == 0 ? m_data.end() : m_data.end() - 1;
-	}
-
-	const_iterator
-	getBackInsertIterator() const
-	{
-		invariants();
-
-		return m_data.size() == 0 ? m_data.end() : m_data.end() - 1;
-	}
-
-	iterator
-	getIteratorForPosition(size_type	thePosition)
-	{
-		invariants();
-
-		return m_data.begin() + thePosition;
-	}
-
-	const_iterator
-	getIteratorForPosition(size_type	thePosition) const
-	{
-		invariants();
-
-		return m_data.begin() + thePosition;
-	}
-
-private:
-
-	XalanDOMCharVectorType		m_data;
-
-	size_type					m_size;
-
-	static const XalanDOMChar	s_empty;
-};
-
-
-
-inline bool
-operator==(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return XalanDOMString::equals(theLHS, theRHS);
-}
-
-
-
-inline bool
-operator==(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return XalanDOMString::equals(theLHS, theRHS);
-}
-
-
-
-inline bool
-operator==(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	// Note reversing of operands...
-	return XalanDOMString::equals(theLHS, theRHS);
-}
-
-
-
-inline bool
-operator!=(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return !(theLHS == theRHS);
-}
-
-
-
-inline bool
-operator!=(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return !(theLHS == theRHS);
-}
-
-
-
-inline bool
-operator!=(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	return !(theRHS == theLHS);
-}
-
-
-
-inline XalanDOMString
-operator+(
-			const XalanDOMString&	theLHS,
-			const XalanDOMString&	theRHS)
-{
-	XalanDOMString	theTemp(theLHS);
-
-	return theTemp += theRHS;
-}
-
-
-
-inline XalanDOMString
-operator+(
-			const XalanDOMString&	theLHS,
-			const XalanDOMChar*		theRHS)
-{
-	XalanDOMString	theTemp(theLHS);
-
-	return theTemp += theRHS;
-}
-
-
-
-inline XalanDOMString
-operator+(
-			const XalanDOMChar*		theLHS,
-			const XalanDOMString&	theRHS)
-{
-	XalanDOMString	theTemp(theLHS);
-
-	return theTemp += theRHS;
-}
-
-
-
-inline const XalanDOMString
-operator+(
-			const char*				theLHS,
-			const XalanDOMString&	theRHS)
-{
-	return XalanDOMString(theLHS) + theRHS;
-}
-
-
-
-inline const XalanDOMString
-operator+(
-			const XalanDOMString&	theLHS,
-			const char*				theRHS)
-{
-	return theLHS + XalanDOMString(theRHS);
-}
-
-
-
-// Standard vector of XalanDOMChars and chars
-#if defined(XALAN_NO_NAMESPACES)
-typedef vector<XalanDOMChar>		XalanDOMCharVectorType;
-
-typedef vector<char>				CharVectorType;
-#else
-typedef std::vector<XalanDOMChar>	XalanDOMCharVectorType;
-
-typedef std::vector<char>			CharVectorType;
-#endif
-
-
-
-/**
- * Convert a XalanDOMChar string to C++ standard library
- * vector, transcoding to the default local code
- * page.
- * 
- * @param sourceString The source string
- * @param sourceStringLength The source string length.
- * @param targetVector The target string
- * @param terminate If true, the transcoded string will be null-terminated
- * @return true if successful, false if not.
- */
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeToLocalCodePage(
-			const XalanDOMChar*			theSourceString,
-			XalanDOMString::size_type	theSourceStringLength,
-			CharVectorType&				targetVector,
-			bool						terminate = false);
-
-
-
-/**
- * Convert a XalanDOMChar string to C++ standard library
- * vector, transcoding to the default local code
- * page.  The string _must_ be null-terminated.
- * 
- * @param theSourceString The source string
- * @param targetVector The target string
- * @param terminate If true, the transcoded string will be null-terminated
- * @return true if successful, false if not.
- */
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeToLocalCodePage(
-			const XalanDOMChar*		theSourceString,
-			CharVectorType&			targetVector,
-			bool					terminate = false);
-
-
-
-/**
- * Convert XalanDOMString to C++ standard library
- * vector, transcoding to the default local code
- * page.  Null-terminate the sttring...
- *
- * @param theSourceString source string
- * @return The transcoded string.
- */
-inline const CharVectorType
-TranscodeToLocalCodePage(const XalanDOMChar*	theSourceString)
-{
-	CharVectorType	theResult;
-
-	TranscodeToLocalCodePage(theSourceString, theResult, true);
-
-	return theResult;
-}
-
-
-
-/**
- * Convert XalanDOMString to C++ standard library
- * vector, transcoding to the default local code
- * page.
- * 
- * @param theSourceString The source string
- * @param targetVector The target string
- * @return true if successful, false if not.
- */
-inline bool
-TranscodeToLocalCodePage(
-			const XalanDOMString&	theSourceString,
-			CharVectorType&			targetVector,
-			bool					terminate = false)
-{
-	return TranscodeToLocalCodePage(theSourceString.c_str(), targetVector, terminate);
-}
-
-
-
-/**
- * Convert XalanDOMString to C++ standard library
- * vector, transcoding to the default local code
- * page.
- *
- * @param thetheSourceString source string
- * @return The transcoded string.
- */
-inline const CharVectorType
-TranscodeToLocalCodePage(const XalanDOMString&	theSourceString)
-{
-	CharVectorType	theResult;
-
-	TranscodeToLocalCodePage(theSourceString, theResult, true);
-
-	return theResult;
-}
-
-
-
-/**
- * Convert a string to a XalanDOMString, transcoding from
- * the default local code page.
- * 
- * @param theSourceString The source string
- * @param theSourceStringLength The source string length.
- * @return The new string.
- */
-inline const XalanDOMString
-TranscodeFromLocalCodePage(
-			const char*					theSourceString,
-			XalanDOMString::size_type	theSourceStringLength = XalanDOMString::npos)
-{
-	return XalanDOMString(theSourceString, theSourceStringLength);
-}
-
-
-
-/**
- * Convert a string to a C++ standard library
- * vector, transcoding from the default local code
- * page.
- * 
- * @param theSourceString The source string
- * @param theSourceStringLength The source string length.
- * @param targetVector The target string
- * @param terminate If true, the transcoded string will be null-terminated
- * @return true if successful, false if not.
- */
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeFromLocalCodePage(
-			const char*					theSourceString,
-			XalanDOMString::size_type	theSourceStringLength,
-			XalanDOMCharVectorType&		theTargetVector,
-			bool						terminate = false);
-
-
-
-/**
- * Convert a string to a C++ standard library
- * vector, transcoding from the default local code
- * page.  The string _must_ be null-terminated.
- * 
- * @param sourceString The source string
- * @param targetVector The target string
- * @param terminate If true, the transcoded string will be null-terminated
- * @return true if successful, false if not.
- */
-XALAN_DOM_EXPORT_FUNCTION(bool)
-TranscodeFromLocalCodePage(
-			const char*					theSourceString,
-			XalanDOMCharVectorType&		theTargetVector,
-			bool						terminate = false);
-
-
-
-/**
- * Convert a vector of characters to a XalanDOMString,
- * transcoding from the default local code
- *
- * @param theSourceString source string
- * @return The transcoded string.
- */
-inline const XalanDOMString
-TranscodeFromLocalCodePage(const CharVectorType&	theSourceString)
-{
-	typedef XalanDOMString::size_type		size_type;
-
-	const CharVectorType::size_type		theSize = theSourceString.size();
-
-	if (theSourceString[theSize - 1] == CharVectorType::value_type(0))
-	{
-		return TranscodeFromLocalCodePage(&*theSourceString.begin(), size_type(theSize) - 1);
-	}
-	else
-	{
-		return TranscodeFromLocalCodePage(&*theSourceString.begin(), size_type(theSize));
-	}
-}
-
-
-
-#endif	// !defined(XALANDOMSTRING_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDocument.cpp b/src/XalanDOM/XalanDocument.cpp
deleted file mode 100644
index 9c84011..0000000
--- a/src/XalanDOM/XalanDocument.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDocument.hpp"
-
-
-
-XalanDocument::XalanDocument() :
-	XalanNode()
-{
-}
-
-
-
-XalanDocument::~XalanDocument()
-{
-}
-
-
-
-XalanDocument::XalanDocument(const XalanDocument&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanDocument&
-XalanDocument::operator=(const XalanDocument&	theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanDocument::operator==(const XalanDocument&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanDocument.hpp b/src/XalanDOM/XalanDocument.hpp
deleted file mode 100644
index 50fc0eb..0000000
--- a/src/XalanDOM/XalanDocument.hpp
+++ /dev/null
@@ -1,746 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOCUMENT_HEADER_GUARD_1357924680)
-#define XALANDOCUMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-class XalanAttr;
-class XalanCDATASection;
-class XalanComment;
-class XalanDocumentFragment;
-class XalanDocumentType;
-class XalanDOMImplementation;
-class XalanElement;
-class XalanEntityReference;
-class XalanProcessingInstruction;
-class XalanText;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Document interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanDocument : public XalanNode
-{
-public:
-
-	XalanDocument();
-
-	virtual
-	~XalanDocument();
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanDocument*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	 * Sets the value of the node.
-	 *
-	 * Any node which can have a nodeValue (@see getNodeValue) will
-	 * also accept requests to set it to a string. The exact response to
-	 * this varies from node to node -- Attribute, for example, stores
-	 * its values in its children and has to replace them with a new Text
-	 * holding the replacement value.
-	 *
-	 * For most types of Node, value is null and attempting to set it
-	 * will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	 * also be thrown if the node is read-only.
-	 */
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if isIndexed()
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanDocument...
-
-    /**
-     * Creates an element of the type specified.
-     *
-     * Note that the instance returned
-     * implements the Element interface, so attributes can be specified
-     * directly  on the returned object.
-     * @param tagName The name of the element type to instantiate.
-     * @return A <code>Element</code> that reference the new element.
-     */
-    virtual XalanElement*
-	createElement(const XalanDOMString&	tagName) = 0;
-
-    /**
-     * Creates an empty DocumentFragment object.
-     *
-     * @return A <code>DocumentFragment</code> that references the newly
-     * created document fragment.
-     */
-	virtual XalanDocumentFragment*
-	createDocumentFragment() = 0;
-
-    /**
-     * Creates a Text node given the specified string.
-     *
-     * @param data The data for the node.
-     * @return A <code>Text</code> object that references the newly
-     *  created text node.
-     */
-    virtual XalanText*
-	createTextNode(const XalanDOMString&	data) = 0;
-
-    /**
-     * Creates a Comment node given the specified string.
-     *
-     * @param data The data for the comment.
-     * @return A <code>Comment</code> that references the newly
-     *  created comment node.
-     */
-    virtual XalanComment*
-	createComment(const XalanDOMString&	data) = 0;
-
-    /**
-     * Creates a CDATASection node whose value  is the specified
-     * string.
-     *
-     * @param data The data for the <code>CDATASection</code> contents.
-     * @return A <code>CDATASection</code> object.
-     * @exception DOMException
-     *   NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
-     */
-    virtual XalanCDATASection*
-	createCDATASection(const XalanDOMString&	data) = 0;
-
-    /**
-     * Creates a ProcessingInstruction node given the specified
-     * name and data strings.
-     *
-     * @param target The target part of the processing instruction.
-     * @param data The data for the node.
-     * @return A <code>ProcessingInstruction</code> that references the newly
-     *  created PI node.
-     * @exception DOMException
-     *   INVALID_CHARACTER_ERR: Raised if an illegal character is specified.
-     */
-    virtual XalanProcessingInstruction*
-	createProcessingInstruction(
-			const XalanDOMString&	target,
-			const XalanDOMString&	data) = 0;
-
-    /**
-     * Creates an Attr of the given name.
-     *
-     * Note that the
-     * <code>Attr</code> instance can then be attached to an Element
-     * using the <code>DOMElement::setAttribute()</code> method.
-     * @param name The name of the attribute.
-     * @return A new <CODE>Attr</CODE> 
-     *       object with the <CODE>nodeName</CODE> attribute set to 
-     *       <CODE>name</CODE>, and <CODE>localName</CODE>, <CODE>prefix</CODE>, 
-     *       and <CODE>namespaceURI</CODE> set to 
-     *       <CODE>null</CODE>.
-     * @exception DOMException
-     *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
-     *   illegal character.
-     */
-    virtual XalanAttr*
-	createAttribute(const XalanDOMString&	name) = 0;
-
-    /**
-     * Creates an EntityReference object.
-     *
-     * @param name The name of the entity to reference.
-     * @return A <code>EntityReference</code> that references the newly
-     *  created EntityReference node.
-     * @exception DOMException
-     *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
-     *   illegal character.
-     */
-    virtual XalanEntityReference*
-	createEntityReference(const XalanDOMString &name) = 0;
-
-    //@}
-    /** @name Getter functions */
-    //@{
-    /**
-     * Get Document Type Declaration (see <code>DocumentType</code>) associated
-     * with  this document.
-     *
-     * For documents without
-     * a document type declaration this returns <code>null</code> reference object. The DOM Level
-     *  1 does not support editing the Document Type Declaration, therefore
-     * <code>docType</code> cannot be altered in any way.
-     */
-    virtual XalanDocumentType*
-	getDoctype() const = 0;
-
-
-    /**
-     * Return the <code>DOMImplementation</code> object that handles this document.
-     */
-    virtual XalanDOMImplementation*
-	getImplementation() const = 0;
-
-
-    /**
-     * Return a reference to the root element of the document.
-     */
-    virtual XalanElement*
-	getDocumentElement() const = 0;
-
-    /**
-     * Returns a <code>NodeList</code> of all the elements with a
-     * given tag name.  The returned node list is "live", in that changes
-     * to the document tree made after a nodelist was initially
-     * returned will be immediately reflected in the node list.
-     *
-     * The elements in the node list are ordered in the same order in which they
-     * would be encountered in a
-     * preorder traversal of the <code>Document</code> tree.
-     * @param tagname The name of the tag to match on. The special value "*"
-     *   matches all tags.
-     * @return A reference to a NodeList containing all the matched
-     *   <code>Element</code>s.
-     */
-    virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&		tagname) const = 0;
-
-    //@}
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-
-    /**
-     * Imports a node from another document to this document. 
-     * The returned node has no parent (<CODE>parentNode</CODE> is 
-     * <CODE>null</CODE>). The source node is not altered or removed from the 
-     * original document; this method creates a new copy of the source 
-     * node.<BR>For all nodes, importing a node creates a node object owned by 
-     * the importing document, with attribute values identical to the source 
-     * node's <CODE>nodeName</CODE> and <CODE>nodeType</CODE>, plus the 
-     * attributes related to namespaces (prefix and namespaces URI).
-     *
-     * <p><b>"Experimental - subject to change"</b></p>
-     *
-     * @param importedNode The node to import.
-     * @param deep If <CODE>true</CODE>, recursively import the subtree under the 
-     *      specified node; if <CODE>false</CODE>, import only the node itself, 
-     *      as explained above. This does not apply to <CODE>Attr</CODE>, 
-     *      <CODE>EntityReference</CODE>, and <CODE>Notation</CODE> nodes.
-     * @return The imported node that belongs to this <CODE>Document</CODE>.
-     * @exception DOMException
-     *   NOT_SUPPORTED_ERR: Raised if the type of node being imported is 
-     *                      not supported.
-     */
-    virtual XalanNode*
-	importNode(
-			XalanNode*	importedNode,
-			bool		deep) = 0;
-
-    /**
-     * Creates an element of the given qualified name and 
-     * namespace URI.
-     *
-     * <p><b>"Experimental - subject to change"</b></p>
-     *
-     * @param namespaceURI The <em>namespace URI</em> of
-     *   the element to create.
-     * @param qualifiedName The <em>qualified name</em>
-     *   of the element type to instantiate.
-     * @return A new <code>Element</code> object.
-     * @exception DOMException
-     *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains
-     *                          an illegal character.
-     * <br>
-     *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is 
-     *      malformed, if the <CODE>qualifiedName</CODE> has a prefix and the 
-     *      <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string, 
-     *      or if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and 
-     *      the <CODE>namespaceURI</CODE> is different from 
-     *      "http://www.w3.org/XML/1998/namespace".
-     */
-    virtual XalanElement*
-	createElementNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName) = 0;
-
-    /**
-     * Creates an attribute of the given qualified name and namespace
-     * URI.
-     *
-     * <p><b>"Experimental - subject to change"</b></p>
-     *
-     * @param namespaceURI The <em>namespace URI</em> of
-     *   the attribute to create.
-     * @param qualifiedName The <em>qualified name</em>
-     *   of the attribute to instantiate.
-     * @return A new <code>Attr</code> object.
-     * @exception DOMException
-     *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains
-     *                          an illegal character.
-     * <br>
-     *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is 
-     *      malformed, if the <CODE>qualifiedName</CODE> has a prefix and the 
-     *      <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string, 
-     *      if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and the 
-     *      <CODE>namespaceURI</CODE> is different from 
-     *      "http://www.w3.org/XML/1998/namespace", if the 
-     *      <CODE>qualifiedName</CODE> has a prefix that is "xmlns" and the 
-     *      <CODE>namespaceURI</CODE> is different from 
-     *      "http://www.w3.org/2000/xmlns/", or if the 
-     *      <CODE>qualifiedName</CODE> is "xmlns" and the 
-     *      <CODE>namespaceURI</CODE> is different from 
-     *      "http://www.w3.org/2000/xmlns/".
-     */
-    virtual XalanAttr*
-	createAttributeNS(
-			const XalanDOMString& namespaceURI,
-			const XalanDOMString& qualifiedName) = 0;
-
-    /**
-     * Returns a <code>NodeList</code> of all the <code>Element</code>s
-     * with a given <em>local name</em> and
-     * namespace URI in the order in which they would be encountered in a
-     * preorder traversal of the <code>Document</code> tree.
-     *
-     * <p><b>"Experimental - subject to change"</b></p>
-     *
-     * @param namespaceURI The <em>namespace URI</em> of
-     *   the elements to match on. The special value "*" matches all
-     *   namespaces.
-     * @param localName The <em>local name</em> of the
-     *   elements to match on. The special value "*" matches all local names.
-     * @return A new <code>NodeList</code> object containing all the matched
-     *  <code>Element</code>s.
-     */
-    virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const = 0;
-
-    /**
-     * Returns the <code>Element</code> whose ID is given by <code>elementId</code>.
-     * If no such element exists, returns <code>null</code>.
-     * Behavior is not defined if more than one element has this <code>ID</code>.
-     * <P><B>Note:</B> The DOM implementation must have information that says 
-     * which attributes are of type ID. Attributes with the name "ID" are not of 
-     * type ID unless so defined. Implementations that do not know whether 
-     * attributes are of type ID or not are expected to return 
-     * <CODE>null</CODE>.</P>
-     *
-     * <p><b>"Experimental - subject to change"</b></p>
-     *
-     * @param elementId The unique <code>id</code> value for an element.
-     * @return The matching element.
-     */
-    virtual XalanElement*
-	getElementById(const XalanDOMString&	elementId) const = 0;
-
-    //@}
-
-protected:
-
-	XalanDocument(const XalanDocument&	theSource);
-
-	XalanDocument&
-	operator=(const XalanDocument&	theSource);
-
-	bool
-	operator==(const XalanDocument&		theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANDOCUMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDocumentFragment.cpp b/src/XalanDOM/XalanDocumentFragment.cpp
deleted file mode 100644
index c298546..0000000
--- a/src/XalanDOM/XalanDocumentFragment.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDocumentFragment.hpp"
-
-
-
-XalanDocumentFragment::XalanDocumentFragment() :
-	XalanNode()
-{
-}
-
-
-
-XalanDocumentFragment::~XalanDocumentFragment()
-{
-}
-
-
-
-XalanDocumentFragment::XalanDocumentFragment(const XalanDocumentFragment&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanDocumentFragment&
-XalanDocumentFragment::operator=(const XalanDocumentFragment&	theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanDocumentFragment::operator==(const XalanDocumentFragment&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanDocumentFragment.hpp b/src/XalanDOM/XalanDocumentFragment.hpp
deleted file mode 100644
index 4d828d5..0000000
--- a/src/XalanDOM/XalanDocumentFragment.hpp
+++ /dev/null
@@ -1,200 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOCUMENTFRAGMENT_HEADER_GUARD_1357924680)
-#define XALANDOCUMENTFRAGMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-class XalanAttr;
-class XalanCDATASection;
-class XalanComment;
-class XalanDocumentFragment;
-class XalanElement;
-class XalanEntityReference;
-class XalanProcessingInstruction;
-class XalanText;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM DocumentFragment interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanDocumentFragment : public XalanNode
-{
-public:
-
-	XalanDocumentFragment();
-
-	virtual
-	~XalanDocumentFragment();
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	virtual NodeType
-	getNodeType() const = 0;
-
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanDocumentFragment*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	virtual bool
-	hasChildNodes() const = 0;
-
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue) = 0;
-
-	virtual void
-	normalize() = 0;
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	virtual bool
-	isIndexed() const = 0;
-
-	virtual unsigned long
-	getIndex() const = 0;
-
-protected:
-
-	XalanDocumentFragment(const XalanDocumentFragment&	theSource);
-
-	XalanDocumentFragment&
-	operator=(const XalanDocumentFragment&	theSource);
-
-	bool
-	operator==(const XalanDocumentFragment&		theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANDOCUMENTFRAGMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanDocumentType.cpp b/src/XalanDOM/XalanDocumentType.cpp
deleted file mode 100644
index 0b5bc88..0000000
--- a/src/XalanDOM/XalanDocumentType.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDocumentType.hpp"
-
-
-
-XalanDocumentType::XalanDocumentType() :
-	XalanNode()
-{
-}
-
-
-
-XalanDocumentType::~XalanDocumentType()
-{
-}
-
-
-
-XalanDocumentType::XalanDocumentType(const XalanDocumentType&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanDocumentType&
-XalanDocumentType::operator=(const XalanDocumentType&		theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanDocumentType::operator==(const XalanDocumentType&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanDocumentType.hpp b/src/XalanDOM/XalanDocumentType.hpp
deleted file mode 100644
index 214bc6e..0000000
--- a/src/XalanDOM/XalanDocumentType.hpp
+++ /dev/null
@@ -1,510 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOCUMENTTYPE_HEADER_GUARD_1357924680)
-#define XALANDOCUMENTTYPE_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-class XalanDocument;
-class XalanNamedNodeMap;
-class XalanNodeList;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM DocumentType interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanDocumentType : public XalanNode
-{
-public:
-
-	XalanDocumentType();
-
-	virtual
-	~XalanDocumentType();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-	virtual XalanNode*
-	cloneNode(bool	deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanDocumentType...
-
-    /** @name Getter functions. */
-    //@{
-
-	/**
-	 * The name of DTD; i.e., the name immediately following the 
-	 * <code>DOCTYPE</code> keyword in an XML source document.
-	 */
-	virtual const XalanDOMString&
-	getName() const = 0;
-
-	/**
-	 * This function returns a  <code>NamedNodeMap</code> containing the general entities, both 
-	 * external and internal, declared in the DTD. Parameter entities are not contained.
-	 * Duplicates are discarded. 
-	 */
-	virtual const XalanNamedNodeMap*
-	getEntities() const = 0;
-
-	/**
-	 * This function returns a named node map containing an entry for
-	 * each notation declared in a document's DTD.  Duplicates are discarded.
-	 */
-	virtual const XalanNamedNodeMap*
-	getNotations() const = 0;
-  //@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-    /**
-     * Get the public identifier of the external subset.
-     * @return The public identifier of the external subset.
-     */
-	virtual const XalanDOMString&
-	getPublicId() const = 0;
-
-    /**
-     * Get the system identifier of the external subset.
-     * @return The system identifier of the external subset.
-     */
-	virtual const XalanDOMString&
-	getSystemId() const = 0;
-
-    /**
-     * Get the internal subset as a string.
-     * @return The internal subset as a string.
-     */
-	virtual const XalanDOMString&
-	getInternalSubset() const = 0;
-    //@}
-
-protected:
-
-	XalanDocumentType(const XalanDocumentType&	theSource);
-
-	XalanDocumentType&
-	operator=(const XalanDocumentType&	theSource);
-
-	bool
-	operator==(const XalanDocumentType&		theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANDOCUMENTTYPE_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanElement.cpp b/src/XalanDOM/XalanElement.cpp
deleted file mode 100644
index 20ebb72..0000000
--- a/src/XalanDOM/XalanElement.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanElement.hpp"
-
-
-
-XalanElement::XalanElement() :
-	XalanNode()
-{
-}
-
-
-
-XalanElement::~XalanElement()
-{
-}
-
-
-
-XalanElement::XalanElement(const XalanElement&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanElement&
-XalanElement::operator=(const XalanElement&		theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanElement::operator==(const XalanElement&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanElement.hpp b/src/XalanDOM/XalanElement.hpp
deleted file mode 100644
index 0c13cfe..0000000
--- a/src/XalanDOM/XalanElement.hpp
+++ /dev/null
@@ -1,732 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANELEMENT_HEADER_GUARD_1357924680)
-#define XALANELEMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-class XalanAttr;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Element interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanElement : public XalanNode
-{
-public:
-
-	XalanElement();
-
-	virtual
-	~XalanElement();
-
-	// These interfaces are inherited from XalanNode
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanElement*
-#endif
-	cloneNode(bool	deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanElement...
-	/**
-	 * The name of the element. 
-	 *
-	 * For example, in: &lt;elementExample 
-	 * id="demo"&gt;  ... &lt;/elementExample&gt; , <code>tagName</code> has 
-	 * the value <code>"elementExample"</code>. Note that this is 
-	 * case-preserving in XML, as are all of the operations of the DOM. 
-	 */
-	virtual const XalanDOMString&
-	getTagName() const = 0;
-
-	/**
-	 * Retrieves an attribute value by name.
-	 *
-	 * @param name The name of the attribute to retrieve.
-	 * @return The <code>Attr</code> value as a string, or the empty  string if 
-	 *   that attribute does not have a specified or default value.
-	 */
-	virtual const XalanDOMString&
-	getAttribute(const XalanDOMString&	name) const = 0;
-
-	/**
-	 * Retrieves an <code>Attr</code> node by name.
-	 *
-	 * @param name The name (<CODE>nodeName</CODE>) of the attribute to retrieve.
-	 * @return The <code>Attr</code> node with the specified name (<CODE>nodeName</CODE>) or 
-	 *   <code>null</code> if there is no such attribute.
-	 */
-	virtual XalanAttr*
-	getAttributeNode(const XalanDOMString&	name) const = 0;
-
-	/**
-	 * Returns a <code>NodeList</code> of all descendant elements with a given 
-	 * tag name, in the order in which they would be encountered in a preorder 
-	 * traversal of the <code>Element</code> tree.  Caller is
-	 * responsible for deleting the XalanNodeList instance.
-	 *
-	 * @param name The name of the tag to match on. The special value "*" 
-	 *   matches all tags.
-	 * @return A list of matching <code>Element</code> nodes.
-	 */
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&	name) const = 0;
-
-	//@}
-	 /** @name Set functions. */
-	 //@{
-
-	/**
-	 * Adds a new attribute. 
-	 * 
-	 * If an attribute with that name is already present 
-	 * in the element, its value is changed to be that of the value parameter. 
-	 * This value is a simple string, it is not parsed as it is being set. So 
-	 * any markup (such as syntax to be recognized as an entity reference) is 
-	 * treated as literal text, and needs to be appropriately escaped by the 
-	 * implementation when it is written out. In order to assign an attribute 
-	 * value that contains entity references, the user must create an 
-	 * <code>Attr</code> node plus any <code>Text</code> and 
-	 * <code>EntityReference</code> nodes, build the appropriate subtree, and 
-	 * use <code>setAttributeNode</code> to assign it as the value of an 
-	 * attribute.
-	 * @param name The name of the attribute to create or alter.
-	 * @param value Value to set in string form.
-	 * @exception DOMException
-	 *   INVALID_CHARACTER_ERR: Raised if the specified name contains an 
-	 *   illegal character.
-	 *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	setAttribute(
-			const XalanDOMString&	name, 
-			const XalanDOMString&	value) = 0;
-
-	/**
-	 * Adds a new attribute. 
-	 * 
-	 * If an attribute with that name (<CODE>nodeName</CODE>) is already present 
-	 * in the element, it is replaced by the new one.
-	 * @param newAttr The <code>Attr</code> node to add to the attribute list.
-	 * @return If the <code>newAttr</code> attribute replaces an existing 
-     *   attribute, the replaced
-     *   <code>Attr</code> node is returned, otherwise <code>null</code> is 
-     *   returned.
-     * @exception DOMException
-     *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a 
-     *   different document than the one that created the element.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an 
-     *   attribute of another <code>Element</code> object. The DOM user must 
-     *   explicitly clone <code>Attr</code> nodes to re-use them in other 
-     *   elements.
-     */
-	virtual XalanAttr*
-	setAttributeNode(XalanAttr*		newAttr) = 0;
-
-    //@}
-    /** @name Functions which modify the Element. */
-    //@{
-    
-	/**
-	 * Removes the specified attribute node.
-	 * If the removed <CODE>Attr</CODE>
-	 *   has a default value it is immediately replaced. The replacing attribute 
-	 *   has the same namespace URI and local name, as well as the original prefix, 
-	 *   when applicable.
-	 *
-	 * @param oldAttr The <code>Attr</code> node to remove from the attribute 
-	 *   list.
-	 * @return The <code>Attr</code> node that was removed.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 *   <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute 
-	 *   of the element.
-	 */
-	virtual XalanAttr*
-	removeAttributeNode(XalanAttr*	oldAttr) = 0;
-
-	/**
-	 * Removes an attribute by name. 
-	 *
-	 * If the removed attribute 
-	 *   is known to have a default value, an attribute immediately appears 
-	 *   containing the default value as well as the corresponding namespace URI, 
-	 *   local name, and prefix when applicable.<BR>To remove an attribute by local 
-	 *   name and namespace URI, use the <CODE>removeAttributeNS</CODE> method.
-	 * @param name The name of the attribute to remove.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	removeAttribute(const XalanDOMString&	name) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Retrieves an attribute value by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to retrieve.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to retrieve.
-	 * @return The <code>Attr</code> value as a string, or an empty string if
-	*    that attribute does not have a specified or default value.
-	 */
-	virtual const XalanDOMString&
-	getAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const = 0;
-
-	/**
-	 * Adds a new attribute. If the given 
-	 *   <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string and the 
-	 *   <CODE>qualifiedName</CODE> has a prefix that is "xml", the new attribute 
-	 *   is bound to the predefined namespace 
-	 *   "http://www.w3.org/XML/1998/namespace". 
-	 *   If an attribute with the same local name and namespace URI is already 
-	 *   present on the element, its prefix is changed to be the prefix part of the 
-	 *   <CODE>qualifiedName</CODE>, and its value is changed to be the 
-	 *   <CODE>value</CODE> parameter. 
-	 * This value is a simple string, it is
-	 * not parsed as it is being set. So any markup (such as syntax to be
-	 * recognized as an entity reference) is treated as literal text, and
-	 * needs to be appropriately escaped by the implementation when it is
-	 * written out. In order to assign an attribute value that contains entity
-	 * references, the user must create a <code>Attr</code> node plus any
-	 * <code>Text</code> and <code>EntityReference</code> nodes, build the
-	 * appropriate subtree, and use <code>setAttributeNodeNS</code> or
-	 * <code>setAttributeNode</code> to assign it as the value of an
-	 * attribute.
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to create or alter.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to create or alter.
-	 * @param value The value to set in string form.
-	 * @exception DOMException
-	 *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an 
-	 *   illegal character.
-	 *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is 
-	 *         malformed, if the <CODE>qualifiedName</CODE> has a prefix that is 
-	 *         "xml" and the <CODE>namespaceURI</CODE> is neither <CODE>null</CODE> 
-	 *         nor an empty string nor "http://www.w3.org/XML/1998/namespace", or 
-	 *         if the <CODE>qualifiedName</CODE> has a prefix that is "xmlns" but 
-	 *         the <CODE>namespaceURI</CODE> is neither <CODE>null</CODE> nor an 
-	 *         empty string, or if if the <CODE>qualifiedName</CODE> has a prefix 
-	 *         different from "xml" and "xmlns" and the <CODE>namespaceURI</CODE> 
-	 *         is <CODE>null</CODE> or an empty string.
-	 */
-	virtual void
-	setAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	value) = 0;
-
-	/**
-	 * Removes an attribute by local name and namespace URI. If the
-	 * removed attribute has a default value it is immediately replaced.
-	 * The replacing attribute has the same namespace URI and local name, as well as 
-	 * the original prefix.<BR>HTML-only DOM implementations do not need to 
-	 * implement this method.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to remove.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to remove.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	removeAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) = 0;
-
-	/**
-	 * Retrieves an <code>Attr</code> node by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to retrieve.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to retrieve.
-	 * @return The <code>Attr</code> node with the specified attribute local
-	 *    name and namespace URI or <code>null</code> if there is no such attribute.
-	 */
-	virtual XalanAttr*
-	getAttributeNodeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const = 0;
-
-	/**
-	  * Adds a new attribute. 
-	  * 
-	  * If an attribute with that local name and namespace URI is already present 
-	  * in the element, it is replaced by the new one.
-	  * @param newAttr The <code>Attr</code> node to add to the attribute list.
-	  * @return If the <code>newAttr</code> attribute replaces an existing
-	  *    attribute with the same <em>local name</em> and <em>namespace URI</em>,
-	  *    the replaced <code>Attr</code> node is
-	  *    returned, otherwise <code>null</code> is returned.
-	  * @exception DOMException
-	  *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a 
-	  *   different document than the one that created the element.
-	  *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	  *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an 
-	  *   attribute of another <code>Element</code> object. The DOM user must 
-	  *   explicitly clone <code>Attr</code> nodes to re-use them in other 
-	  *   elements.
-	  */
-	virtual XalanAttr*
-	setAttributeNodeNS(XalanAttr*	newAttr) = 0;
-
-	/**
-	 * Returns a <code>NodeList</code> of all the <code>Element</code>s
-	 * with a given local name and namespace URI in the order in which they
-	 * would be encountered in a preorder traversal of the
-	 * <code>Document</code> tree, starting from this node.  Caller is
-	 * responsible for deleting the XalanNodeList instance.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the elements to match on. The special value "*" matches all
-	 *    namespaces.
-	 * @param localName The <em>local name</em> of the
-	 *    elements to match on. The special value "*" matches all local names.
-	 * @return A new <code>NodeList</code> object containing all the matched
-	 *    <code>Element</code>s.
-	 */
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const = 0;
-
-  //@}
-
-protected:
-
-	XalanElement(const XalanElement&	theSource);
-
-	XalanElement&
-	operator=(const XalanElement&	theSource);
-
-	bool
-	operator==(const XalanElement&	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANELEMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanEmptyNamedNodeMap.cpp b/src/XalanDOM/XalanEmptyNamedNodeMap.cpp
deleted file mode 100644
index fbc6174..0000000
--- a/src/XalanDOM/XalanEmptyNamedNodeMap.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEmptyNamedNodeMap.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-XalanEmptyNamedNodeMap::XalanEmptyNamedNodeMap() :
-	XalanNamedNodeMap()
-{
-}
-
-
-
-XalanEmptyNamedNodeMap::~XalanEmptyNamedNodeMap()
-{
-}
-
-
-
-XalanEmptyNamedNodeMap::XalanEmptyNamedNodeMap(const XalanEmptyNamedNodeMap&	theSource) :
-	XalanNamedNodeMap(theSource)
-{
-}
-
-
-
-XalanEmptyNamedNodeMap&
-XalanEmptyNamedNodeMap::operator=(const XalanEmptyNamedNodeMap&		theSource)
-{
-	XalanNamedNodeMap::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanEmptyNamedNodeMap::operator==(const XalanEmptyNamedNodeMap&	/* theRHS */) const
-{
-	return true;
-}
-
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::setNamedItem(XalanNode* 	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::item(unsigned int	/* index */) const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::getNamedItem(const XalanDOMString& 	/* name */) const
-{
-	return 0;
-}
-
-
-unsigned int
-XalanEmptyNamedNodeMap::getLength() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::removeNamedItem(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::getNamedItemNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::setNamedItemNS(XalanNode*	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XalanEmptyNamedNodeMap::removeNamedItemNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
diff --git a/src/XalanDOM/XalanEmptyNamedNodeMap.hpp b/src/XalanDOM/XalanEmptyNamedNodeMap.hpp
deleted file mode 100644
index 74b6166..0000000
--- a/src/XalanDOM/XalanEmptyNamedNodeMap.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANEMPTYNAMEDNODEMAP_HEADER_GUARD_1357924680)
-#define XALANEMPTYNAMEDNODEMAP_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Class to implement a "faux" (always empty) named node map.
- * The map is read-only!
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanEmptyNamedNodeMap : public XalanNamedNodeMap
-{
-public:
-
-	XalanEmptyNamedNodeMap();
-
-	virtual
-	~XalanEmptyNamedNodeMap();
-
-	XalanEmptyNamedNodeMap(const XalanEmptyNamedNodeMap&	theSource);
-
-	XalanEmptyNamedNodeMap&
-	operator=(const XalanEmptyNamedNodeMap&		theSource);
-
-	bool
-	operator==(const XalanEmptyNamedNodeMap& 	theRHS) const;
-
-
-	virtual XalanNode*
-	setNamedItem(XalanNode* 	arg);
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual XalanNode*
-	getNamedItem(const XalanDOMString& 	name) const;
-
-	virtual unsigned int
-	getLength() const;
-
-	virtual XalanNode*
-	removeNamedItem(const XalanDOMString&	name);
-
-	virtual XalanNode*
-	getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual XalanNode*
-	setNamedItemNS(XalanNode*	arg);
-
-	virtual XalanNode*
-	removeNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-private:
-};
-
-
-
-#endif	// !defined(XALANEMPTYNAMEDNODEMAP_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanEntity.cpp b/src/XalanDOM/XalanEntity.cpp
deleted file mode 100644
index f3ad11d..0000000
--- a/src/XalanDOM/XalanEntity.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEntity.hpp"
-
-
-
-XalanEntity::XalanEntity() :
-	XalanNode()
-{
-}
-
-
-
-XalanEntity::~XalanEntity()
-{
-}
-
-
-
-XalanEntity::XalanEntity(const XalanEntity&		theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanEntity&
-XalanEntity::operator=(const XalanEntity&	theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanEntity::operator==(const XalanEntity&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanEntity.hpp b/src/XalanDOM/XalanEntity.hpp
deleted file mode 100644
index da6fc36..0000000
--- a/src/XalanDOM/XalanEntity.hpp
+++ /dev/null
@@ -1,479 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANENTITY_HEADER_GUARD_1357924680)
-#define XALANENTITY_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Entity interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanEntity : public XalanNode
-{
-public:
-
-	XalanEntity();
-
-	virtual
-	~XalanEntity();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-	virtual XalanNode*
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanEntity...
-
-	/**
-	 * Get the public identifier of this notation. 
-	 * 
-	 * If the  public identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the public identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getPublicId() const = 0;
-
-	/**
-	 * Get the system identifier of this notation. 
-	 *
-	 * If the  system identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the system identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getSystemId() const = 0;
-
-	/**
-	 * For unparsed entities, the name of the notation for the entity. 
-	 *
-	 * For parsed entities, this is <code>null</code>. 
-	 */
-	virtual const XalanDOMString&
-	getNotationName() const = 0;
-
-protected:
-
-	XalanEntity(const XalanEntity&	theSource);
-
-	XalanEntity&
-	operator=(const XalanEntity&	theSource);
-
-	bool
-	operator==(const XalanEntity& 	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANENTITY_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanEntityReference.cpp b/src/XalanDOM/XalanEntityReference.cpp
deleted file mode 100644
index 83d3d86..0000000
--- a/src/XalanDOM/XalanEntityReference.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEntityReference.hpp"
-
-
-
-XalanEntityReference::XalanEntityReference() :
-	XalanNode()
-{
-}
-
-
-
-XalanEntityReference::~XalanEntityReference()
-{
-}
-
-
-
-XalanEntityReference::XalanEntityReference(const XalanEntityReference&		theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanEntityReference&
-XalanEntityReference::operator=(const XalanEntityReference&	theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanEntityReference::operator==(const XalanEntityReference&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanEntityReference.hpp b/src/XalanDOM/XalanEntityReference.hpp
deleted file mode 100644
index c502a8c..0000000
--- a/src/XalanDOM/XalanEntityReference.hpp
+++ /dev/null
@@ -1,448 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANENTITYREFERENCE_HEADER_GUARD_1357924680)
-#define XALANENTITYREFERENCE_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM EntityReference interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanEntityReference : public XalanNode
-{
-public:
-
-	XalanEntityReference();
-
-	virtual
-	~XalanEntityReference();
-
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-	virtual XalanNode*
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-protected:
-
-	XalanEntityReference(const XalanEntityReference&	theSource);
-
-	XalanEntityReference&
-	operator=(const XalanEntityReference&	theSource);
-
-	bool
-	operator==(const XalanEntityReference& 	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANENTITYREFERENCE_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanNamedNodeMap.cpp b/src/XalanDOM/XalanNamedNodeMap.cpp
deleted file mode 100644
index c51f1c9..0000000
--- a/src/XalanDOM/XalanNamedNodeMap.cpp
+++ /dev/null
@@ -1,91 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNamedNodeMap.hpp"
-
-
-
-XalanNamedNodeMap::XalanNamedNodeMap()
-{
-}
-
-
-
-XalanNamedNodeMap::~XalanNamedNodeMap()
-{
-}
-
-
-
-XalanNamedNodeMap::XalanNamedNodeMap(const XalanNamedNodeMap&	/* theSource */)
-{
-}
-
-
-
-XalanNamedNodeMap&
-XalanNamedNodeMap::operator=(const XalanNamedNodeMap&	/* theSource */)
-{
-	return *this;
-}
-
-
-
-bool
-XalanNamedNodeMap::operator==(const XalanNamedNodeMap&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanNamedNodeMap.hpp b/src/XalanDOM/XalanNamedNodeMap.hpp
deleted file mode 100644
index a0d7d9a..0000000
--- a/src/XalanDOM/XalanNamedNodeMap.hpp
+++ /dev/null
@@ -1,265 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680)
-#define XALANNAMEDNODEMAP_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanNode;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM NamedNodeMap interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanNamedNodeMap
-{
-public:
-
-	XalanNamedNodeMap();
-
-	virtual
-	~XalanNamedNodeMap();
-
-	/** @name Set functions. */
-	//@{
-
-	/**
-	 * Adds a node using its <code>nodeName</code> attribute. 
-	 *
-	 * <br>As the <code>nodeName</code> attribute is used to derive the name 
-	 * which the node must be stored under, multiple nodes of certain types 
-	 * (those that have a "special" string value) cannot be stored as the names 
-	 * would clash. This is seen as preferable to allowing nodes to be aliased.
-	 * @param arg A node to store in a named node map. The node will later be 
-	 *	 accessible using the value of the <code>nodeName</code> attribute of 
-	 *	 the node. If a node with that name is already present in the map, it 
-	 *	 is replaced by the new one.
-	 * @return If the new <code>Node</code> replaces an existing node the
-	 *	 replaced <code>Node</code> is returned, 
-	 *	 otherwise <code>null</code> is returned.
-	 * @exception DOMException
-	 *	 WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
-	 *	 different document than the one that created the 
-	 *	 <code>NamedNodeMap</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
-	 *	 <code>NamedNodeMap</code> is readonly.
-	 *	 <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
-	 *	 <code>Attr</code> that is already an attribute of another 
-	 *	 <code>Element</code> object. The DOM user must explicitly clone 
-	 *	 <code>Attr</code> nodes to re-use them in other elements.
-	 */
-	virtual XalanNode*
-	setNamedItem(XalanNode* 	arg) = 0;
-
-	/**
-	 * Returns the <code>index</code>th item in the map. 
-	 *
-	 * If <code>index</code> 
-	 * is greater than or equal to the number of nodes in the map, this returns 
-	 * <code>null</code>.
-	 * @param index Index into the map.
-	 * @return The node at the <code>index</code>th position in the 
-	 *	 <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid 
-	 *	 index.
-	 */
-	virtual XalanNode*
-	item(unsigned int	index) const = 0;
-
-	//@}
-	/** @name Get functions. */
-	//@{
-
-	/**
-	 * Retrieves a node specified by name.
-	 *
-	 * @param name The <code>nodeName</code> of a node to retrieve.
-	 * @return A <code>Node</code> (of any type) with the specified <code>nodeName</code>, or 
-	 *	 <code>null</code> if it does not identify any node in 
-	 *	 the map. 
-	 */
-	virtual XalanNode*
-	getNamedItem(const XalanDOMString& 	name) const = 0;
-
-	/**
-	 * The number of nodes in the map. 
-	 *
-	 * The range of valid child node indices is 
-	 * 0 to <code>length-1</code> inclusive. 
-	 */
-	virtual unsigned int
-	getLength() const = 0;
-
-	//@}
-	/** @name Functions to change the node collection. */
-	//@{
-
-	/**
-	* Removes a node specified by name.
-	*
-	* If the removed node is an 
-	* <code>Attr</code> with a default value it is immediately replaced.
-	* @param name The <code>nodeName</code> of a node to remove.
-	* @return The node removed from the map or <code>null</code> if no node 
-	*	with such a name exists.
-	* @exception DOMException
-	*	NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
-	*	the map.
-	* <br>
-	*	NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
-	*	is readonly.
-	*/
-	virtual XalanNode*
-	removeNamedItem(const XalanDOMString&	name) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Retrieves a node specified by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *	  the node to retrieve.
-	 * @param localName The <em>local name</em> of the node to retrieve.
-	 * @return A <code>Node</code> (of any type) with the specified
-	 *	  local name and namespace URI, or <code>null</code> if they do not
-	 *	  identify any node in the map.
-	 */
-	virtual XalanNode*
-	getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const = 0;
-
-	/**
-	 * Adds a node using its <CODE>namespaceURI</CODE> and <CODE>localName</CODE>.
-	 * @param arg A node to store in a named node map. The node will later be 
-	 *		 accessible using the value of the <CODE>namespaceURI</CODE> and 
-	 *		 <CODE>localName</CODE> attribute of the node. If a node with those 
-	 *		 namespace URI and local name is already present in the map, it is 
-	 *		 replaced by the new one.
-	 * @return If the new <code>Node</code> replaces an existing node the
-	 *	 replaced <code>Node</code> is returned, 
-	 *	 otherwise <code>null</code> is returned.
-	 * @exception DOMException
-	 *	 WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
-	 *	 different document than the one that created the 
-	 *	 <code>NamedNodeMap</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
-	 *	 <code>NamedNodeMap</code> is readonly.
-	 *	 <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
-	 *	 <code>Attr</code> that is already an attribute of another 
-	 *	 <code>Element</code> object. The DOM user must explicitly clone 
-	 *	 <code>Attr</code> nodes to re-use them in other elements.
-	 */
-	virtual XalanNode*
-	setNamedItemNS(XalanNode*	arg) = 0;
-
-	/**
-	 * Removes a node specified by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *	  the node to remove.
-	 * @param localName The <em>local name</em> of the
-	 *	  node to remove. When this <code>NamedNodeMap</code> contains the
-	 *	  attributes attached to an element, as returned by the attributes
-	 *	  attribute of the <code>Node</code> interface, if the removed
-	 *	  attribute is known to have a default value, an attribute
-	 *	  immediately appears containing the default value
-	 *	  as well as the corresponding namespace URI, local name, and prefix.
-	 * @return The node removed from the map if a node with such a local name
-	 *	  and namespace URI exists.
-	 * @exception DOMException
-	 *	 NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
-	 *	 the map.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
-	 *	 is readonly.
-	 */
-	virtual XalanNode*
-	removeNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) = 0;
-
-	//@}
-
-protected:
-
-	XalanNamedNodeMap(const XalanNamedNodeMap&	theSource);
-
-	XalanNamedNodeMap&
-	operator=(const XalanNamedNodeMap&		theSource);
-
-	bool
-	operator==(const XalanNamedNodeMap& 	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanNode.cpp b/src/XalanDOM/XalanNode.cpp
deleted file mode 100644
index 6cf4bfa..0000000
--- a/src/XalanDOM/XalanNode.cpp
+++ /dev/null
@@ -1,177 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNode.hpp"
-
-
-
-#if !defined(NDEBUG)
-size_t	XalanNode::s_instanceCount = 0;
-
-#if defined(XALAN_NODE_SPECIAL_DEBUG)
-
-#include <set>
-
-#if defined(XALAN_NO_NAMESPACES)
-
-typedef set<XalanNode*, less<XalanNode*> >	InstanceSetType;
-
-#else
-
-typedef std::set<XalanNode*>	InstanceSetType;
-
-#endif
-
-static InstanceSetType	s_instanceSet;
-
-#endif
-
-#endif
-
-
-
-XalanNode::XalanNode()
-{
-#if !defined(NDEBUG)
-	s_instanceCount++;
-
-#if defined(XALAN_NODE_SPECIAL_DEBUG)
-	s_instanceSet.insert(this);
-
-#endif
-
-#endif
-
-}
-
-
-
-XalanNode::~XalanNode()
-{
-#if !defined(NDEBUG)
-
-	s_instanceCount--;
-
-#if defined(XALAN_NODE_SPECIAL_DEBUG)
-
-	s_instanceSet.erase(this);
-
-#endif
-
-#endif
-}
-
-
-
-XalanNode::XalanNode(const XalanNode&	/* theSource */)
-{
-#if !defined(NDEBUG)
-
-	s_instanceCount++;
-
-#if defined(XALAN_NODE_SPECIAL_DEBUG)
-
-	s_instanceSet.insert(this);
-
-#endif
-
-#endif
-}
-
-
-
-XalanNode&
-XalanNode::operator=(const XalanNode&	/* theSource */)
-{
-	return *this;
-}
-
-
-
-bool
-XalanNode::operator==(const XalanNode&	/* theRHS */) const
-{
-	return false;
-}
-
-
-
-#if !defined(NDEBUG)
-
-void
-#if defined(XALAN_NODE_SPECIAL_DEBUG)
-XalanNode::getLiveInstances(XalanNode*	theNodes[])
-#else
-XalanNode::getLiveInstances(XalanNode*	/* theNodes*/ [])
-#endif
-{
-#if defined(XALAN_NODE_SPECIAL_DEBUG)
-
-	InstanceSetType::const_iterator		i =
-		s_instanceSet.begin();
-
-	InstanceSetType::const_iterator		end =
-		s_instanceSet.end();
-
-	for(size_t j = 0; i != end; ++i, ++j)
-	{
-		theNodes[j] = *i;
-	}
-#endif
-}
-
-#endif
-
diff --git a/src/XalanDOM/XalanNode.hpp b/src/XalanDOM/XalanNode.hpp
deleted file mode 100644
index 4ae7864..0000000
--- a/src/XalanDOM/XalanNode.hpp
+++ /dev/null
@@ -1,501 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNODE_HEADER_GUARD_1357924680)
-#define XALANNODE_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanDocument;
-class XalanNamedNodeMap;
-class XalanNodeList;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Node interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanNode
-{
-public:
-
-	XalanNode();
-
-	virtual
-	~XalanNode();
-
-	enum NodeType
-	{
-		UNKNOWN_NODE				= 0,
-		ELEMENT_NODE				= 1,
-		ATTRIBUTE_NODE				= 2,
-		TEXT_NODE					= 3,
-		CDATA_SECTION_NODE			= 4,
-		ENTITY_REFERENCE_NODE		= 5,
-		ENTITY_NODE 				= 6,
-		PROCESSING_INSTRUCTION_NODE = 7,
-		COMMENT_NODE				= 8,
-		DOCUMENT_NODE				= 9,
-		DOCUMENT_TYPE_NODE			= 10,
-		DOCUMENT_FRAGMENT_NODE		= 11,
-		NOTATION_NODE				= 12
-	};
-
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-	virtual XalanNode*
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-
-#if !defined(NDEBUG)
-
-	/**
-	 * Get the number of live instances.
-	 * @return the number of live instances.
-	 */
-	static size_t
-	getInstanceCount()
-	{
-		return s_instanceCount;
-	}
-
-
-	/**
-	 * File an array with pointers to all of the
-	 * live instances.  This function is only
-	 * available if XALAN_NODE_SPECIAL_DEBUG is
-	 * defined.  Otherwise this function does
-	 * nothing.
-	 *
-	 * @param An array in which to store the pointers.
-	 */
-	static void
-	getLiveInstances(XalanNode*	theNodes[]);
-
-#endif
-
-protected:
-
-	XalanNode(const XalanNode&	theSource);
-
-	XalanNode&
-	operator=(const XalanNode&	theSource);
-
-	bool
-	operator==(const XalanNode&		theRHS) const;
-
-private:
-
-#if !defined(NDEBUG)
-	static size_t	s_instanceCount;
-#endif
-};
-
-
-
-#endif	// !defined(XALANNODE_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanNodeList.cpp b/src/XalanDOM/XalanNodeList.cpp
deleted file mode 100644
index 84ff0eb..0000000
--- a/src/XalanDOM/XalanNodeList.cpp
+++ /dev/null
@@ -1,91 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNodeList.hpp"
-
-
-
-XalanNodeList::XalanNodeList()
-{
-}
-
-
-
-XalanNodeList::~XalanNodeList()
-{
-}
-
-
-
-XalanNodeList::XalanNodeList(const XalanNodeList&	/* theSource */)
-{
-}
-
-
-
-XalanNodeList&
-XalanNodeList::operator=(const XalanNodeList&	/* theSource */)
-{
-	return *this;
-}
-
-
-
-bool
-XalanNodeList::operator==(const XalanNodeList&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanNodeList.hpp b/src/XalanDOM/XalanNodeList.hpp
deleted file mode 100644
index 0d4ff3f..0000000
--- a/src/XalanDOM/XalanNodeList.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-#if !defined(XALANNODELIST)
-#define XALANNODELIST
-
-
-
-#include "XalanDOMDefinitions.hpp"
-
-
-
-class XalanNode;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM NodeList interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanNodeList
-{
-public:
-
-	XalanNodeList();
-
-	virtual
-	~XalanNodeList();
-
-	/** @name Get functions. */
-	//@{
-	/**
-	 * Returns the <code>index</code>th item in the collection. 
-	 *
-	 * If <code>index</code> is greater than or equal to the number of nodes in 
-	 * the list, this returns <code>null</code>.
-	 *
-	 * @param index Index into the collection.
-	 * @return The node at the <code>index</code>th position in the 
-	 *	 <code>NodeList</code>, or <code>null</code> if that is not a valid 
-	 *	 index.
-	 */
-	virtual XalanNode*
-	item(unsigned int	index) const = 0;
-
-	/**
-	 * Returns the number of nodes in the list. 
-	 *
-	 * The range of valid child node indices is 0 to <code>length-1</code> inclusive. 
-	 */
-	virtual unsigned int
-	getLength() const = 0;
-
-protected:
-
-	XalanNodeList(const XalanNodeList&	theSource);
-
-	XalanNodeList&
-	operator=(const XalanNodeList&	theSource);
-
-	bool
-	operator==(const XalanNodeList& 	theRHS) const;
-
-private:
-};
-
-
-
-#endif
diff --git a/src/XalanDOM/XalanNodeListDummy.cpp b/src/XalanDOM/XalanNodeListDummy.cpp
deleted file mode 100644
index 3c36ce5..0000000
--- a/src/XalanDOM/XalanNodeListDummy.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNodeListDummy.hpp"
-
-
-
-XalanNodeListDummy::XalanNodeListDummy() :
-	XalanNodeList()
-{
-}
-
-
-
-XalanNodeListDummy::~XalanNodeListDummy()
-{
-}
-
-
-
-XalanNode*
-XalanNodeListDummy::item(unsigned int	/* index */) const
-{
-	return 0;
-}
-
-
-
-unsigned int
-XalanNodeListDummy::getLength() const
-{
-	return 0;
-}
diff --git a/src/XalanDOM/XalanNodeListDummy.hpp b/src/XalanDOM/XalanNodeListDummy.hpp
deleted file mode 100644
index 2170f0c..0000000
--- a/src/XalanDOM/XalanNodeListDummy.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNODELISTDUMMY_HEADER_GUARD_1357924680)
-#define XALANNODELISTDUMMY_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-class XalanNode;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Helper class for implementing the DOM NodeList interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanNodeListDummy : public XalanNodeList
-{
-public:
-
-	XalanNodeListDummy();
-
-	virtual
-	~XalanNodeListDummy();
-
-	XalanNodeListDummy&
-	operator=(const XalanNodeListDummy&		/* theSource */)
-	{
-		return *this;
-	}
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual unsigned int
-	getLength() const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANNODELISTSURROGATE_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanNodeListSurrogate.cpp b/src/XalanDOM/XalanNodeListSurrogate.cpp
deleted file mode 100644
index d91f2e0..0000000
--- a/src/XalanDOM/XalanNodeListSurrogate.cpp
+++ /dev/null
@@ -1,116 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNodeListSurrogate.hpp"
-
-
-
-#include "XalanNode.hpp"
-
-
-
-XalanNodeListSurrogate::XalanNodeListSurrogate(const XalanNode&		theNode) :
-	XalanNodeList(),
-	m_node(&theNode)
-{
-}
-
-
-
-XalanNodeListSurrogate::XalanNodeListSurrogate(const XalanNodeListSurrogate&	theSource) :
-	XalanNodeList(theSource),
-	m_node(theSource.m_node)
-{
-}
-
-
-
-XalanNodeListSurrogate::~XalanNodeListSurrogate()
-{
-}
-
-
-
-XalanNode*
-XalanNodeListSurrogate::item(unsigned int	index) const
-{
-	XalanNode*	theCurrentChild = m_node->getFirstChild();
-
-	for(unsigned int i = 0; i < index && theCurrentChild != 0; ++i)
-	{
-		theCurrentChild = theCurrentChild->getNextSibling();
-	}
-
-	return theCurrentChild;
-}
-
-
-
-unsigned int
-XalanNodeListSurrogate::getLength() const
-{
-	unsigned int	theLength = 0;
-
-	XalanNode*	theCurrentChild = m_node->getFirstChild();
-
-	while(theCurrentChild != 0)
-	{
-		++theLength;
-		theCurrentChild = theCurrentChild->getNextSibling();
-	}
-
-	return theLength;
-}
diff --git a/src/XalanDOM/XalanNodeListSurrogate.hpp b/src/XalanDOM/XalanNodeListSurrogate.hpp
deleted file mode 100644
index cb8664c..0000000
--- a/src/XalanDOM/XalanNodeListSurrogate.hpp
+++ /dev/null
@@ -1,122 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNODELISTSURROGATE_HEADER_GUARD_1357924680)
-#define XALANNODELISTSURROGATE_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-class XalanNode;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Helper class for implementing the DOM NodeList interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanNodeListSurrogate : public XalanNodeList
-{
-public:
-
-	XalanNodeListSurrogate(const XalanNode&		theNode);
-
-	XalanNodeListSurrogate(const XalanNodeListSurrogate&	theSource);
-
-	virtual
-	~XalanNodeListSurrogate();
-
-	XalanNodeListSurrogate&
-	operator=(const XalanNodeListSurrogate&	theSource)
-	{
-		m_node = theSource.m_node;
-
-		XalanNodeList::operator=(theSource);
-
-		return *this;
-	}
-
-	bool
-	operator==(const XalanNodeListSurrogate& 	theRHS) const
-	{
-		return m_node == theRHS.m_node ? true : false;
-	}
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual unsigned int
-	getLength() const;
-
-private:
-
-	const XalanNode*	m_node;
-};
-
-
-
-#endif	// !defined(XALANNODELISTSURROGATE_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanNotation.cpp b/src/XalanDOM/XalanNotation.cpp
deleted file mode 100644
index 57704fc..0000000
--- a/src/XalanDOM/XalanNotation.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanNotation.hpp"
-
-
-
-XalanNotation::XalanNotation() :
-	XalanNode()
-{
-}
-
-
-
-XalanNotation::~XalanNotation()
-{
-}
-
-
-
-XalanNotation::XalanNotation(const XalanNotation&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanNotation&
-XalanNotation::operator=(const XalanNotation&	theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanNotation::operator==(const XalanNotation&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanNotation.hpp b/src/XalanDOM/XalanNotation.hpp
deleted file mode 100644
index 3ba5d18..0000000
--- a/src/XalanDOM/XalanNotation.hpp
+++ /dev/null
@@ -1,470 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANNOTATION_HEADER_GUARD_1357924680)
-#define XALANNOTATION_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Notation interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanNotation : public XalanNode
-{
-public:
-
-	XalanNotation();
-
-	virtual
-	~XalanNotation();
-
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-	virtual XalanNode*
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanNotation...
-
-	/**
-	 * Get the public identifier of this notation. 
-	 * 
-	 * If the  public identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the public identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getPublicId() const = 0;
-
-	/**
-	 * Get the system identifier of this notation. 
-	 *
-	 * If the  system identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the system identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getSystemId() const = 0;
-
-protected:
-
-	XalanNotation(const XalanNotation&	theSource);
-
-	XalanNotation&
-	operator=(const XalanNotation&	theSource);
-
-	bool
-	operator==(const XalanNotation& 	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANNOTATION_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanProcessingInstruction.cpp b/src/XalanDOM/XalanProcessingInstruction.cpp
deleted file mode 100644
index 8b4a1d3..0000000
--- a/src/XalanDOM/XalanProcessingInstruction.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanProcessingInstruction.hpp"
-
-
-
-XalanProcessingInstruction::XalanProcessingInstruction() :
-	XalanNode()
-{
-}
-
-
-
-XalanProcessingInstruction::~XalanProcessingInstruction()
-{
-}
-
-
-
-XalanProcessingInstruction::XalanProcessingInstruction(const XalanProcessingInstruction&	theSource) :
-	XalanNode(theSource)
-{
-}
-
-
-
-XalanProcessingInstruction&
-XalanProcessingInstruction::operator=(const XalanProcessingInstruction&	theSource)
-{
-	XalanNode::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanProcessingInstruction::operator==(const XalanProcessingInstruction&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanProcessingInstruction.hpp b/src/XalanDOM/XalanProcessingInstruction.hpp
deleted file mode 100644
index 7b996b7..0000000
--- a/src/XalanDOM/XalanProcessingInstruction.hpp
+++ /dev/null
@@ -1,489 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680)
-#define XALANPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM ProcessingInstruction interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanProcessingInstruction : public XalanNode
-{
-public:
-
-	XalanProcessingInstruction();
-
-	virtual
-	~XalanProcessingInstruction();
-
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-	virtual XalanNode*
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are new to XalanProcessingInstruction...
-
-    //@}
-    /** @name Get functions. */
-    //@{
-    /**
-     * The target of this processing instruction. 
-     *
-     * XML defines this as being the 
-     * first token following the markup that begins the processing instruction.
-     */
-    virtual const XalanDOMString&
-	getTarget() const = 0;
-
-    /**
-     * The content of this processing instruction. 
-     *
-     * This is from the first non 
-     * white space character after the target to the character immediately 
-     * preceding the <code>?&gt;</code>.
-     * @exception DOMException
-     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-     */
-    virtual const XalanDOMString&
-	getData() const = 0;
-
-    //@}
-    /** @name Set functions. */
-    //@{
-    /**
-    * Sets the content of this processing instruction. 
-    *
-    * This is from the first non 
-    * white space character after the target to the character immediately 
-    * preceding the <code>?&gt;</code>.
-    * @param data The string containing the processing instruction
-    */
-    virtual void
-	setData(const XalanDOMString&	data) = 0;
-    //@}
-
-protected:
-
-	XalanProcessingInstruction(const XalanProcessingInstruction&	theSource);
-
-	XalanProcessingInstruction&
-	operator=(const XalanProcessingInstruction&	theSource);
-
-	bool
-	operator==(const XalanProcessingInstruction& 	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680)
diff --git a/src/XalanDOM/XalanText.cpp b/src/XalanDOM/XalanText.cpp
deleted file mode 100644
index 9b01154..0000000
--- a/src/XalanDOM/XalanText.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanText.hpp"
-
-
-
-XalanText::XalanText() :
-	XalanCharacterData()
-{
-}
-
-
-
-XalanText::~XalanText()
-{
-}
-
-
-
-XalanText::XalanText(const XalanText&	theSource) :
-	XalanCharacterData(theSource)
-{
-}
-
-
-
-XalanText&
-XalanText::operator=(const XalanText&		theSource)
-{
-	XalanCharacterData::operator=(theSource);
-
-	return *this;
-}
-
-
-
-bool
-XalanText::operator==(const XalanText&	/* theRHS */) const
-{
-	return false;
-}
diff --git a/src/XalanDOM/XalanText.hpp b/src/XalanDOM/XalanText.hpp
deleted file mode 100644
index bb2fcde..0000000
--- a/src/XalanDOM/XalanText.hpp
+++ /dev/null
@@ -1,618 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANTEXT_HEADER_GUARD_1357924680)
-#define XALANTEXT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanDOM/XalanDOMDefinitions.hpp>
-#include <XalanDOM/XalanCharacterData.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the DOM Text interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_DOM_EXPORT XalanText : public XalanCharacterData
-{
-public:
-
-	XalanText();
-
-	virtual
-	~XalanText();
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const = 0;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const = 0;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const = 0;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const = 0;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const = 0;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const = 0;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const = 0;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const = 0;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const = 0;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const = 0;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const = 0;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanText*
-#endif
-	cloneNode(bool deep) const = 0;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild) = 0;
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild) = 0;
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild) = 0;
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild) = 0;
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const = 0;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString& 	nodeValue) = 0;
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize() = 0;
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const = 0;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const = 0;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const = 0;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const = 0;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix) = 0;
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const = 0;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const = 0;
-
-	//@}
-
-	// These interfaces are inherited from XalanCharacterData...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>XalanDOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>XalanDOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const = 0;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const = 0;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>XalanDOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const = 0;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>XalanDOMString</code> specified.
-	 * @param arg The <code>XalanDOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg) = 0;
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>XalanDOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg) = 0;
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count) = 0;
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>XalanDOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg) = 0;
-
-  //@}
-
-	// These interfaces are new to XalanText...
-
-    //@}
-    /** @name Functions to modify the Text node. */
-    //@{
-
-    /**
-     * Breaks this node into two nodes at the specified 
-     * offset, keeping both in the tree as siblings. 
-     *
-     * This node then only 
-     * contains all the content up to the <code>offset</code> point. And a new 
-     * node of the same nodeType, which is inserted as the next sibling of this 
-     * node, contains all the content at and after the <code>offset</code> 
-     * point. When the <code>offset</code> is equal to the lenght of this node,
-     * the new node has no data.
-     * @param offset The offset at which to split, starting from 0.
-     * @return The new <code>Text</code> node.
-     * @exception DOMException
-     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-     *   than the number of characters in <code>data</code>.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     */
-    virtual XalanText*
-	splitText(unsigned int	offset) = 0;
-
-    //@}
-
-    /**
-     * Determine whether the text node instance is composed entirely of
-     * XML whitespace.
-     *
-     * @return true if the node is all XML whitespace, false if not
-     */
-	virtual bool
-	isIgnorableWhitespace() const = 0;
-
-protected:
-
-	XalanText(const XalanText&	theSource);
-
-	XalanText&
-	operator=(const XalanText& 	theSource);
-
-	bool
-	operator==(const XalanText&	theRHS) const;
-
-private:
-};
-
-
-
-#endif	// !defined(XALANTEXT_HEADER_GUARD_1357924680)
diff --git a/src/XalanEXSLT/XalanEXSLTCommon.cpp b/src/XalanEXSLT/XalanEXSLTCommon.cpp
deleted file mode 100644
index 9879555..0000000
--- a/src/XalanEXSLT/XalanEXSLTCommon.cpp
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEXSLTCommon.hpp"
-#include "XalanEXSLTCommonImpl.hpp"
-
-
-
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionObjectType::s_booleanString[] =
-{
-	XalanUnicode::charLetter_b,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionObjectType::s_externalString[] =
-{
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_l,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionObjectType::s_nodeSetString[] =
-{
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionObjectType::s_numberString[] =
-{
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_b,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionObjectType::s_rtfString[] =
-{
-	XalanUnicode::charLetter_R,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charLetter_F,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionObjectType::s_stringString[] =
-{
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_g,
-	0
-};
-
-
-
-XObjectPtr
-XalanEXSLTFunctionObjectType::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	const XalanDOMString*	theResult = &m_external;
-
-	switch(args[0]->getType())
-	{
-	case XObject::eTypeBoolean:
-		theResult = &m_boolean;
-		break;
-
-	case XObject::eTypeNodeSet:
-		theResult = &m_nodeSet;
-		break;
-
-	case XObject::eTypeNumber:
-		theResult = &m_number;
-		break;
-
-	case XObject::eTypeResultTreeFrag:
-		theResult = &m_rtf;
-		break;
-
-	case XObject::eTypeString:
-		theResult = &m_string;
-		break;
-	}
-
-	assert(theResult != 0);
-
-	return executionContext.getXObjectFactory().createStringReference(*theResult);
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionObjectType::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT object-type() function accepts one argument"));
-}
-
-
-
-static const XalanDOMChar	s_commonNamespace[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_nodeSetFunctionName[] =
-{
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_objectTypeFunctionName[] =
-{
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_b,
-	XalanUnicode::charLetter_j,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_y,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-
-static const XalanEXSLTFunctionNodeSet		s_nodesetFunction;
-static const XalanEXSLTFunctionObjectType	s_objectTypeFunction;
-
-
-
-static const XalanEXSLTCommonFunctionsInstaller::FunctionTableEntry		theFunctionTable[] =
-{
-	{ s_nodeSetFunctionName, &s_nodesetFunction },
-	{ s_objectTypeFunctionName, &s_objectTypeFunction },
-	{ 0, 0 }
-};
-
-
-
-void
-XalanEXSLTCommonFunctionsInstaller::installLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doInstallLocal(s_commonNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTCommonFunctionsInstaller::installGlobal()
-{
-	doInstallGlobal(s_commonNamespace, theFunctionTable);
-}
-
-
-
-void
-XalanEXSLTCommonFunctionsInstaller::uninstallLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doUninstallLocal(s_commonNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTCommonFunctionsInstaller::uninstallGlobal()
-{
-	doUninstallGlobal(s_commonNamespace, theFunctionTable);
-}
diff --git a/src/XalanEXSLT/XalanEXSLTCommon.hpp b/src/XalanEXSLT/XalanEXSLTCommon.hpp
deleted file mode 100644
index c66d56f..0000000
--- a/src/XalanEXSLT/XalanEXSLTCommon.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_COMMON_HEADER_GUARD_1357924680)
-#define EXSLT_COMMON_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XalanExtensions/XalanExtensions.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTCommonFunctionsInstaller : public XalanExtensionsInstaller
-{
-public:
-
-	static void
-	installLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	installGlobal();
-
-	static void
-	uninstallLocal(XPathEnvSupportDefault&		theSupport);
-
-	static void
-	uninstallGlobal();
-};
-
-
-
-#endif	// EXSLT_COMMON_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTCommonImpl.hpp b/src/XalanEXSLT/XalanEXSLTCommonImpl.hpp
deleted file mode 100644
index 366c78a..0000000
--- a/src/XalanEXSLT/XalanEXSLTCommonImpl.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_COMMONIMPL_HEADER_GUARD_1357924680)
-#define EXSLT_COMMONIMPL_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-#include <XalanExtensions/FunctionNodeSet.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionNodeSet : public FunctionNodeSet
-{
-public:
-
-	XalanEXSLTFunctionNodeSet() :
-		FunctionNodeSet(true)
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionNodeSet()
-	{
-	}
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionNodeSet*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionNodeSet(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function node-set() accepts one argument"));
-	}
-
-	virtual const XalanDOMString
-	getInvalidArgumentTypeError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Invalid argument type in EXSLT function node-set()!"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionNodeSet&
-	operator=(const XalanEXSLTFunctionNodeSet&);
-
-	bool
-	operator==(const XalanEXSLTFunctionNodeSet&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionObjectType : public Function
-{
-public:
-
-	XalanEXSLTFunctionObjectType() :
-		Function(),
-		m_boolean(s_booleanString),
-		m_external(s_externalString),
-		m_nodeSet(s_nodeSetString),
-		m_number(s_numberString),
-		m_rtf(s_stringString),
-		m_string(s_stringString)
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionObjectType()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionObjectType*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionObjectType(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionObjectType&
-	operator=(const XalanEXSLTFunctionObjectType&);
-
-	bool
-	operator==(const XalanEXSLTFunctionObjectType&) const;
-
-
-	// Data members...
-	const XalanDOMString	m_boolean;
-	const XalanDOMString	m_external;
-	const XalanDOMString	m_nodeSet;
-	const XalanDOMString	m_number;
-	const XalanDOMString	m_rtf;
-	const XalanDOMString	m_string;
-
-	static const XalanDOMChar	s_booleanString[];
-	static const XalanDOMChar	s_externalString[];
-	static const XalanDOMChar	s_nodeSetString[];
-	static const XalanDOMChar	s_numberString[];
-	static const XalanDOMChar	s_rtfString[];
-	static const XalanDOMChar	s_stringString[];
-};
-
-
-
-#endif	// EXSLT_COMMONIMPL_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTDefinitions.hpp b/src/XalanEXSLT/XalanEXSLTDefinitions.hpp
deleted file mode 100644
index 77d0748..0000000
--- a/src/XalanEXSLT/XalanEXSLTDefinitions.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_DEFINITIONS_HEADER_GUARD_1357924680)
-#define EXSLT_DEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_EXSLT_BUILD_DLL)
-
-#define XALAN_EXSLT_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_EXSLT_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_EXSLT_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_EXSLT_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// EXSLT_DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTMath.cpp b/src/XalanEXSLT/XalanEXSLTMath.cpp
deleted file mode 100644
index 4d33df6..0000000
--- a/src/XalanEXSLT/XalanEXSLTMath.cpp
+++ /dev/null
@@ -1,1424 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEXSLTMath.hpp"
-#include "XalanEXSLTMathImpl.hpp"
-
-
-
-#include <cmath>
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-
-
-
-template<class FunctionType>
-XObjectPtr
-findNodes(
-			XPathExecutionContext&	executionContext,
-			const NodeRefListBase&	theNodeSet,
-			FunctionType			theCompareFunction)
-{
-	const NodeRefListBase::size_type	theLength = theNodeSet.getLength();
-
-	XPathExecutionContext::BorrowReturnMutableNodeRefList	theNodes(executionContext);
-
-	theNodes->setDocumentOrder();
-
-	if (theLength != 0)
-	{
-		const XPathExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		theStringValue = theGuard.get();
-
-		XalanNode*			theCurrentNode = theNodeSet.item(0);
-		assert(theCurrentNode != 0);
-
-		theNodes->addNode(theCurrentNode);
-
-		DOMServices::getNodeData(*theCurrentNode, theStringValue);
-
-		double	theNumericValue = DOMStringToDouble(theStringValue);
-
-		for (NodeRefListBase::size_type i = 1; i < theLength; ++i)
-		{
-			theCurrentNode = theNodeSet.item(i);
-			assert(theCurrentNode != 0);
-
-			DOMServices::getNodeData(*theCurrentNode, theStringValue);
-
-			const double	theCurrent = DOMStringToDouble(theStringValue);
-
-			if (DoubleSupport::isNaN(theCurrent) == true)
-			{
-				theNodes->clear();
-
-				break;
-			}
-			else if (DoubleSupport::equal(theCurrent, theNumericValue) == true)
-			{
-				theNodes->addNodeInDocOrder(theCurrentNode, executionContext);
-			}
-			else if (theCompareFunction(theCurrent, theNumericValue) == true)
-			{
-				theNodes->clear();
-
-				theNodes->addNode(theCurrentNode);
-
-				theNumericValue = theCurrent;
-			}
-
-			theStringValue.clear();
-		}
-	}
-
-	return executionContext.getXObjectFactory().createNodeSet(theNodes);
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionHighest::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	return findNodes(executionContext, args[0]->nodeset(), DoubleSupport::greaterThan);
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionHighest::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT highest() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionLowest::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	return findNodes(executionContext, args[0]->nodeset(), DoubleSupport::lessThan);
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionLowest::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT lowest() function accepts one argument"));
-}
-
-
-
-template<class FunctionType>
-XObjectPtr
-findValue(
-			XPathExecutionContext&	executionContext,
-			const NodeRefListBase&	theNodeSet,
-			FunctionType			theCompareFunction)
-{
-	const NodeRefListBase::size_type	theLength = theNodeSet.getLength();
-
-	if (theLength == 0)
-	{
-		return executionContext.getXObjectFactory().createNumber(DoubleSupport::getNaN());
-	}
-	else
-	{
-		const XPathExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		theStringValue = theGuard.get();
-
-		assert(theNodeSet.item(0) != 0);
-
-		DOMServices::getNodeData(*theNodeSet.item(0), theStringValue);
-
-		double	theResult = DOMStringToDouble(theStringValue);
-
-		for (NodeRefListBase::size_type i = 1; i < theLength; ++i)
-		{
-			assert(theNodeSet.item(i) != 0);
-
-			DOMServices::getNodeData(*theNodeSet.item(i), theStringValue);
-
-			const double	theCurrent = DOMStringToDouble(theStringValue);
-
-			if (DoubleSupport::isNaN(theCurrent) == true)
-			{
-				theResult = theCurrent;
-
-				break;
-			}
-			else if (theCompareFunction(theCurrent, theResult) == true)
-			{
-				theResult = theCurrent;
-			}
-
-			theStringValue.clear();
-		}
-
-		return executionContext.getXObjectFactory().createNumber(theResult);
-	}
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionMin::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	return findValue(executionContext, args[0]->nodeset(), DoubleSupport::lessThan);
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionMin::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT min() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionMax::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	return findValue(executionContext, args[0]->nodeset(), DoubleSupport::greaterThan);
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionMax::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT max() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionAbs::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::fabs;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(fabs(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionAbs::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT abs() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionAcos::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::acos;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(acos(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionAcos::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT acos() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionAsin::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::asin;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(asin(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionAsin::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT asin() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionAtan::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::atan;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(atan(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionAtan::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT atan() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionAtan2::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::atan2;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(atan2(args[0]->num(), args[1]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionAtan2::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT atan2() function accepts two arguments"));
-}
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_eString[] =
-{
-	XalanUnicode::charLetter_E,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_ln10String[] =
-{
-	XalanUnicode::charLetter_L,
-	XalanUnicode::charLetter_N,
-	XalanUnicode::charDigit_1,
-	XalanUnicode::charDigit_0,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_ln2String[] =
-{
-	XalanUnicode::charLetter_L,
-	XalanUnicode::charLetter_N,
-	XalanUnicode::charDigit_2,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_log2EString[] =
-{
-	XalanUnicode::charLetter_L,
-	XalanUnicode::charLetter_O,
-	XalanUnicode::charLetter_G,
-	XalanUnicode::charDigit_2,
-	XalanUnicode::charLetter_E,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_piString[] =
-{
-	XalanUnicode::charLetter_P,
-	XalanUnicode::charLetter_I,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_sqrt1_2String[] =
-{
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charLetter_Q,
-	XalanUnicode::charLetter_R,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charDigit_1,
-	XalanUnicode::charLowLine,
-	XalanUnicode::charDigit_2,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionConstant::s_sqrt2String[] =
-{
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charLetter_Q,
-	XalanUnicode::charLetter_R,
-	XalanUnicode::charLetter_R,
-	XalanUnicode::charLetter_T,
-	XalanUnicode::charDigit_2,
-	0
-};
-
-
-
-const double	XalanEXSLTFunctionConstant::s_eValues[] =
-{
-	0.0L,
-	2.7L,
-	2.71L,
-	2.718L,
-	2.7182L,
-	2.71828L,
-	2.718281L,
-	2.7182818L,
-	2.71828182L,
-	2.718281828L,
-	2.7182818284L,
-	2.71828182845L,
-	2.718281828459L,
-	2.7182818284590L,
-	2.71828182845904L,
-	2.718281828459045L,
-	2.7182818284590452L,
-	2.71828182845904523L,
-	2.718281828459045235L,
-	2.7182818284590452353L,
-	2.71828182845904523536L,
-	2.718281828459045235360L,
-	2.7182818284590452353602L,
-	2.71828182845904523536028L,
-	2.718281828459045235360287L,
-	2.7182818284590452353602874L,
-	2.71828182845904523536028747L,
-	2.718281828459045235360287471L,
-	2.7182818284590452353602874713L,
-	2.71828182845904523536028747135L,
-	2.718281828459045235360287471352L,
-	2.7182818284590452353602874713526L,
-	2.71828182845904523536028747135266L,
-	2.718281828459045235360287471352662L,
-	2.7182818284590452353602874713526624L,
-	2.71828182845904523536028747135266249L,
-	2.718281828459045235360287471352662497L,
-	2.7182818284590452353602874713526624977L,
-	2.71828182845904523536028747135266249775L,
-	2.718281828459045235360287471352662497757L,
-	2.7182818284590452353602874713526624977572L,
-	2.71828182845904523536028747135266249775724L,
-	2.718281828459045235360287471352662497757247L,
-	2.7182818284590452353602874713526624977572470L,
-	2.71828182845904523536028747135266249775724709L,
-	2.718281828459045235360287471352662497757247093L,
-	2.7182818284590452353602874713526624977572470936L,
-	2.71828182845904523536028747135266249775724709369L,
-	2.718281828459045235360287471352662497757247093699L,
-	2.7182818284590452353602874713526624977572470936999L,
-	2.71828182845904523536028747135266249775724709369996L,
-};
-
-const double	XalanEXSLTFunctionConstant::s_ln10Values[] =
-{
-	0.0L,
-	2.3L,
-	2.30L,
-	2.302L,
-	2.3025L,
-	2.30258L,
-	2.302585L,
-	2.3025850L,
-	2.30258509L,
-	2.302585092L,
-	2.3025850929L,
-	2.30258509299L,
-	2.302585092994L,
-	2.3025850929940L,
-	2.30258509299404L,
-	2.302585092994046L
-};
-
-const double	XalanEXSLTFunctionConstant::s_ln2Values[] =
-{
-	0.0L,
-	0.6L,
-	0.69L,
-	0.693L,
-	0.6931L,
-	0.69314L,
-	0.693147L,
-	0.6931471L,
-	0.69314718L,
-	0.693147180L,
-	0.6931471805L,
-	0.69314718055L,
-	0.693147180559L,
-	0.6931471805599L,
-	0.69314718055994L,
-	0.693147180559945L,
-	0.6931471805599453L,
-	0.69314718055994530L,
-	0.693147180559945309L,
-	0.6931471805599453094L,
-	0.69314718055994530941L,
-	0.693147180559945309417L,
-	0.6931471805599453094172L,
-	0.69314718055994530941723L,
-	0.693147180559945309417232L,
-	0.6931471805599453094172321L,
-	0.69314718055994530941723212L,
-	0.693147180559945309417232121L,
-	0.6931471805599453094172321214L,
-	0.69314718055994530941723212145L,
-	0.693147180559945309417232121458L,
-	0.6931471805599453094172321214581L,
-	0.69314718055994530941723212145817L,
-	0.693147180559945309417232121458176L,
-	0.6931471805599453094172321214581765L,
-	0.69314718055994530941723212145817656L,
-	0.693147180559945309417232121458176568L,
-	0.6931471805599453094172321214581765680L,
-	0.69314718055994530941723212145817656807L,
-	0.693147180559945309417232121458176568075L,
-	0.6931471805599453094172321214581765680755L,
-	0.69314718055994530941723212145817656807550L,
-	0.693147180559945309417232121458176568075500L,
-	0.6931471805599453094172321214581765680755001L,
-	0.69314718055994530941723212145817656807550013L,
-	0.693147180559945309417232121458176568075500134L,
-	0.6931471805599453094172321214581765680755001343L,
-	0.69314718055994530941723212145817656807550013436L,
-	0.693147180559945309417232121458176568075500134360L,
-	0.6931471805599453094172321214581765680755001343602L,
-	0.69314718055994530941723212145817656807550013436025L
-};
-
-const double	XalanEXSLTFunctionConstant::s_log2EValues[] =
-{
-	0.0L,
-	1.4L,
-	1.44L,
-	1.442L,
-	1.4426L,
-	1.44269L,
-	1.442695L,
-	1.4426950L,
-	1.44269504L,
-	1.442695040L,
-	1.4426950408L,
-	1.44269504088L,
-	1.442695040888L,
-	1.4426950408889L,
-	1.44269504088896L,
-	1.442695040888963L,
-	1.4426950408889633L
-};
-
-const double	XalanEXSLTFunctionConstant::s_piValues[] =
-{
-	0.0L,
-	3.1L,
-	3.14L,
-	3.141L,
-	3.1415L,
-	3.14159L,
-	3.141592L,
-	3.1415926L,
-	3.14159265L,
-	3.141592653L,
-	3.1415926535L,
-	3.14159265358L,
-	3.141592653589L,
-	3.1415926535897L, //
-	3.14159265358979L,
-	3.141592653589793L,
-	3.1415926535897932L,
-	3.14159265358979323L,
-	3.141592653589793238L,
-	3.1415926535897932384L,
-	3.14159265358979323846L,
-	3.141592653589793238462L,
-	3.1415926535897932384626L,
-	3.14159265358979323846264L,
-	3.141592653589793238462643L,
-	3.1415926535897932384626433L,
-	3.14159265358979323846264338L,
-	3.141592653589793238462643383L,
-	3.1415926535897932384626433832L,
-	3.14159265358979323846264338327L,
-	3.141592653589793238462643383279L,
-	3.1415926535897932384626433832795L,
-	3.14159265358979323846264338327950L,
-	3.141592653589793238462643383279502L,
-	3.1415926535897932384626433832795028L,
-	3.14159265358979323846264338327950288L,
-	3.141592653589793238462643383279502884L,
-	3.1415926535897932384626433832795028841L,
-	3.14159265358979323846264338327950288419L,
-	3.141592653589793238462643383279502884197L,
-	3.1415926535897932384626433832795028841971L,
-	3.14159265358979323846264338327950288419716L,
-	3.141592653589793238462643383279502884197169L,
-	3.1415926535897932384626433832795028841971693L,
-	3.14159265358979323846264338327950288419716939L,
-	3.141592653589793238462643383279502884197169399L,
-	3.1415926535897932384626433832795028841971693993L,
-	3.14159265358979323846264338327950288419716939937L,
-	3.141592653589793238462643383279502884197169399375L,
-	3.1415926535897932384626433832795028841971693993751L
-};
-
-const double	XalanEXSLTFunctionConstant::s_sqrt1_2Values[] =
-{
-	0.0L,
-	0.7L,
-	0.70L,
-	0.707L,
-	0.7071L,
-	0.70710L,
-	0.707106L,
-	0.7071067L,
-	0.70710678L,
-	0.707106781L,
-	0.7071067811L,
-	0.70710678118L,
-	0.707106781186L,
-	0.7071067811865L,
-	0.70710678118654L,
-	0.707106781186547L,
-	0.7071067811865476L
-};
-
-const double	XalanEXSLTFunctionConstant::s_sqrt2Values[] =
-{
-	0.0L,
-	1.4L,
-	1.41L,
-	1.414L,
-	1.4142L,
-	1.41421L,
-	1.414213L,
-	1.4142135L,
-	1.41421356L,
-	1.414213562L,
-	1.4142135623L,
-	1.41421356237L,
-	1.414213562373L,
-	1.4142135623730L,
-	1.41421356237309L,
-	1.414213562373095L,
-	1.4142135623730950L,
-	1.41421356237309504L,
-	1.414213562373095048L,
-	1.4142135623730950488L,
-	1.41421356237309504880L,
-	1.414213562373095048801L,
-	1.4142135623730950488016L,
-	1.41421356237309504880168L,
-	1.414213562373095048801688L,
-	1.4142135623730950488016887L,
-	1.41421356237309504880168872L,
-	1.414213562373095048801688724L,
-	1.4142135623730950488016887242L,
-	1.41421356237309504880168872420L,
-	1.414213562373095048801688724209L,
-	1.4142135623730950488016887242096L,
-	1.41421356237309504880168872420969L,
-	1.414213562373095048801688724209698L,
-	1.4142135623730950488016887242096980L,
-	1.41421356237309504880168872420969807L,
-	1.414213562373095048801688724209698078L,
-	1.4142135623730950488016887242096980785L,
-	1.41421356237309504880168872420969807856L,
-	1.414213562373095048801688724209698078569L,
-	1.4142135623730950488016887242096980785696L,
-	1.41421356237309504880168872420969807856967L,
-	1.414213562373095048801688724209698078569671L,
-	1.4142135623730950488016887242096980785696718L,
-	1.41421356237309504880168872420969807856967187L,
-	1.414213562373095048801688724209698078569671875L,
-	1.4142135623730950488016887242096980785696718753L,
-	1.41421356237309504880168872420969807856967187537L,
-	1.414213562373095048801688724209698078569671875376L,
-	1.4142135623730950488016887242096980785696718753769L,
-	1.41421356237309504880168872420969807856967187537694L
-};
-
-
-
-XObjectPtr
-doConvert(
-			XPathExecutionContext&	executionContext,
-			const double			theValues[],
-			size_t					theSize,
-			double					thePrecision)
-{
-	return executionContext.getXObjectFactory().createNumber(
-			theValues[XalanDOMString::size_type(thePrecision <= theSize ? thePrecision : theSize)]);
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionConstant::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-	const XalanDOMString&	theConstant = args[0]->str();
-	const double			thePrecision = DoubleSupport::round(args[1]->num());
-
-	if (thePrecision <= 0.0L)
-	{
-		return executionContext.getXObjectFactory().createNumber(DoubleSupport::getNaN());
-	}
-	else if (equals(s_eString, theConstant) == true)
-	{
-		return doConvert(
-				executionContext,
-				s_eValues,
-				sizeof(s_eValues) / sizeof(s_eValues[0]),
-				thePrecision);
-	}
-	else if (equals(s_ln10String, theConstant) == true)
-	{
-		return doConvert(
-				executionContext,
-				s_ln10Values,
-				sizeof(s_ln10Values) / sizeof(s_ln10Values[0]),
-				thePrecision);
-	}
-	else if (equals(s_ln2String, theConstant)  == true)
-	{
-		return doConvert(
-				executionContext,
-				s_ln2Values,
-				sizeof(s_ln2Values) / sizeof(s_ln2Values[0]),
-				thePrecision);
-	}
-	else if (equals(s_log2EString, theConstant) == true)
-	{
-		return doConvert(
-				executionContext,
-				s_log2EValues,
-				sizeof(s_log2EValues) / sizeof(s_log2EValues[0]),
-				thePrecision);
-	}
-	else if (equals(s_piString, theConstant) == true)
-	{
-		return doConvert(
-				executionContext,
-				s_piValues,
-				sizeof(s_piValues) / sizeof(s_piValues[0]),
-				thePrecision);
-	}
-	else if (equals(s_sqrt1_2String, theConstant) == true)
-	{
-		return doConvert(
-				executionContext,
-				s_sqrt1_2Values,
-				sizeof(s_sqrt1_2Values) / sizeof(s_sqrt1_2Values[0]),
-				thePrecision);
-	}
-	else if (equals(s_sqrt2String, theConstant) == true)
-	{
-		return doConvert(
-				executionContext,
-				s_sqrt2Values,
-				sizeof(s_sqrt2Values) / sizeof(s_sqrt2Values[0]),
-				thePrecision);
-	}
-	else
-	{
-		return executionContext.getXObjectFactory().createNumber(DoubleSupport::getNaN());
-	}
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionCos::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::cos;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(cos(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionCos::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT cos() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionExp::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::exp;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(exp(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionExp::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT exp() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionLog::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::log;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(log(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionLog::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT log() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionPower::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::pow;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(pow(args[0]->num(), args[1]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionPower::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT power() function accepts two arguments"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionSin::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::sin;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(sin(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionSin::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT sin() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionSqrt::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::sqrt;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(sqrt(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionSqrt::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT sqrt() function accepts one argument"));
-}
-
-
-
-XObjectPtr
-XalanEXSLTFunctionTan::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::tan;
-#endif
-
-	return executionContext.getXObjectFactory().createNumber(tan(args[0]->num()));
-}
-
-
-
-const XalanDOMString
-XalanEXSLTFunctionTan::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXSLT tan() function accepts one argument"));
-}
-
-
-
-static const XalanDOMChar	s_mathNamespace[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_h,
-	0
-};
-
-
-
-static const XalanDOMChar	s_absFunctionName[] =
-{
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_b,
-	XalanUnicode::charLetter_s,
-	0
-};
-
-
-
-static const XalanDOMChar	s_acosFunctionName[] =
-{
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_s,
-	0
-};
-
-
-
-static const XalanDOMChar	s_asinFunctionName[] =
-{
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_atanFunctionName[] =
-{
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_atan2FunctionName[] =
-{
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charDigit_2,
-	0
-};
-
-
-
-static const XalanDOMChar	s_constantFunctionName[] =
-{
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_cosFunctionName[] =
-{
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_s,
-	0
-};
-
-
-
-static const XalanDOMChar	s_expFunctionName[] =
-{
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_p,
-	0
-};
-
-
-
-static const XalanDOMChar	s_highestFunctionName[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_logFunctionName[] =
-{
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_g,
-	0
-};
-
-
-
-static const XalanDOMChar	s_lowestFunctionName[] =
-{
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_w,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_maxFunctionName[] =
-{
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_x,
-	0
-};
-
-
-
-static const XalanDOMChar	s_minFunctionName[] =
-{
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_powFunctionName[] =
-{
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_w,
-	0
-};
-
-
-
-static const XalanDOMChar	s_sinFunctionName[] =
-{
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_sqrtFunctionName[] =
-{
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_q,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_tanFunctionName[] =
-{
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanEXSLTFunctionAbs			s_absFunction;
-static const XalanEXSLTFunctionAcos			s_acosFunction;
-static const XalanEXSLTFunctionAsin			s_asinFunction;
-static const XalanEXSLTFunctionAtan			s_atanFunction;
-static const XalanEXSLTFunctionAtan			s_atan2Function;
-static const XalanEXSLTFunctionConstant		s_constantFunction;
-static const XalanEXSLTFunctionCos			s_cosFunction;
-static const XalanEXSLTFunctionExp			s_expFunction;
-static const XalanEXSLTFunctionHighest		s_highestFunction;
-static const XalanEXSLTFunctionLog			s_logFunction;
-static const XalanEXSLTFunctionLowest		s_lowestFunction;
-static const XalanEXSLTFunctionMax			s_maxFunction;
-static const XalanEXSLTFunctionMin			s_minFunction;
-static const XalanEXSLTFunctionPower		s_powFunction;
-static const XalanEXSLTFunctionSin			s_sinFunction;
-static const XalanEXSLTFunctionSqrt			s_sqrtFunction;
-static const XalanEXSLTFunctionTan			s_tanFunction;
-
-
-
-static const XalanEXSLTMathFunctionsInstaller::FunctionTableEntry	theFunctionTable[] =
-{
-	{ s_absFunctionName, &s_absFunction },
-	{ s_acosFunctionName, &s_acosFunction },
-	{ s_asinFunctionName, &s_asinFunction },
-	{ s_atanFunctionName, &s_atanFunction },
-	{ s_atan2FunctionName, &s_atan2Function },
-	{ s_constantFunctionName, &s_constantFunction },
-	{ s_cosFunctionName, &s_cosFunction },
-	{ s_expFunctionName, &s_expFunction },
-	{ s_highestFunctionName, &s_highestFunction },
-	{ s_logFunctionName, &s_logFunction },
-	{ s_lowestFunctionName, &s_lowestFunction },
-	{ s_maxFunctionName, &s_maxFunction },
-	{ s_minFunctionName, &s_minFunction },
-	{ s_powFunctionName, &s_powFunction },
-	{ s_sinFunctionName, &s_sinFunction },
-	{ s_sqrtFunctionName, &s_sqrtFunction },
-	{ s_tanFunctionName, &s_tanFunction },
-	{ 0, 0 }
-};
-
-
-
-void
-XalanEXSLTMathFunctionsInstaller::installLocal(XPathEnvSupportDefault&		theSupport)
-{
-	doInstallLocal(s_mathNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTMathFunctionsInstaller::installGlobal()
-{
-	doInstallGlobal(s_mathNamespace, theFunctionTable);
-}
-
-
-
-void
-XalanEXSLTMathFunctionsInstaller::uninstallLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doUninstallLocal(s_mathNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTMathFunctionsInstaller::uninstallGlobal()
-{
-	doUninstallGlobal(s_mathNamespace, theFunctionTable);
-}
diff --git a/src/XalanEXSLT/XalanEXSLTMath.hpp b/src/XalanEXSLT/XalanEXSLTMath.hpp
deleted file mode 100644
index 05a6c38..0000000
--- a/src/XalanEXSLT/XalanEXSLTMath.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_MATH_HEADER_GUARD_1357924680)
-#define EXSLT_MATH_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XalanExtensions/XalanExtensions.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTMathFunctionsInstaller : public XalanExtensionsInstaller
-{
-public:
-
-	static void
-	installLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	installGlobal();
-
-	static void
-	uninstallLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	uninstallGlobal();
-};
-
-
-
-#endif	// EXSLT_MATH_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTMathImpl.hpp b/src/XalanEXSLT/XalanEXSLTMathImpl.hpp
deleted file mode 100644
index b8f44ce..0000000
--- a/src/XalanEXSLT/XalanEXSLTMathImpl.hpp
+++ /dev/null
@@ -1,923 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_MATHIMPL_HEADER_GUARD_1357924680)
-#define EXSLT_MATHIMPL_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAbs : public Function
-{
-public:
-
-	XalanEXSLTFunctionAbs()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAbs()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAbs*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAbs(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAbs&
-	operator=(const XalanEXSLTFunctionAbs&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAbs&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAcos : public Function
-{
-public:
-
-	XalanEXSLTFunctionAcos()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAcos()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAcos*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAcos(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAcos&
-	operator=(const XalanEXSLTFunctionAcos&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAcos&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAsin : public Function
-{
-public:
-
-	XalanEXSLTFunctionAsin()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAsin()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAsin*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAsin(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAsin&
-	operator=(const XalanEXSLTFunctionAsin&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAsin&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAtan : public Function
-{
-public:
-
-	XalanEXSLTFunctionAtan()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAtan()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAtan*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAtan(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAtan&
-	operator=(const XalanEXSLTFunctionAtan&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAtan&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAtan2 : public Function
-{
-public:
-
-	XalanEXSLTFunctionAtan2()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAtan2()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAtan2*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAtan2(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAtan2&
-	operator=(const XalanEXSLTFunctionAtan2&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAtan2&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionConstant : public Function
-{
-public:
-
-	XalanEXSLTFunctionConstant()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionConstant()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionConstant*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionConstant(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function constant() function accepts two arguments"));
-	}
-
-private:
-
-	static const XalanDOMChar	s_eString[];
-	static const XalanDOMChar	s_ln10String[];
-	static const XalanDOMChar	s_ln2String[];
-	static const XalanDOMChar	s_log2EString[];
-	static const XalanDOMChar	s_piString[];
-	static const XalanDOMChar	s_sqrt1_2String[];
-	static const XalanDOMChar	s_sqrt2String[];
-
-	static const double		s_eValues[];
-	static const double		s_ln10Values[];
-	static const double		s_ln2Values[];
-	static const double		s_log2EValues[];
-	static const double		s_piValues[];
-	static const double		s_sqrt1_2Values[];
-	static const double		s_sqrt2Values[];
-
-
-	// Not implemented...
-	XalanEXSLTFunctionConstant&
-	operator=(const XalanEXSLTFunctionConstant&);
-
-	bool
-	operator==(const XalanEXSLTFunctionConstant&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionCos : public Function
-{
-public:
-
-	XalanEXSLTFunctionCos()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionCos()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionCos*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionCos(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionCos&
-	operator=(const XalanEXSLTFunctionCos&);
-
-	bool
-	operator==(const XalanEXSLTFunctionCos&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionExp : public Function
-{
-public:
-
-	XalanEXSLTFunctionExp()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionExp()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionExp*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionExp(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionExp&
-	operator=(const XalanEXSLTFunctionExp&);
-
-	bool
-	operator==(const XalanEXSLTFunctionExp&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionHighest : public Function
-{
-public:
-
-	XalanEXSLTFunctionHighest()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionHighest()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionHighest*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionHighest(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionHighest&
-	operator=(const XalanEXSLTFunctionHighest&);
-
-	bool
-	operator==(const XalanEXSLTFunctionHighest&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionLog : public Function
-{
-public:
-
-	XalanEXSLTFunctionLog()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionLog()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionLog*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionLog(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionLog&
-	operator=(const XalanEXSLTFunctionLog&);
-
-	bool
-	operator==(const XalanEXSLTFunctionLog&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionLowest : public Function
-{
-public:
-
-	XalanEXSLTFunctionLowest()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionLowest()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionLowest*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionLowest(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionLowest&
-	operator=(const XalanEXSLTFunctionLowest&);
-
-	bool
-	operator==(const XalanEXSLTFunctionLowest&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionMax : public Function
-{
-public:
-
-	XalanEXSLTFunctionMax()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionMax()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionMax*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionMax(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionMax&
-	operator=(const XalanEXSLTFunctionMax&);
-
-	bool
-	operator==(const XalanEXSLTFunctionMax&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionMin : public Function
-{
-public:
-
-	XalanEXSLTFunctionMin()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionMin()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionMin*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionMin(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionMin&
-	operator=(const XalanEXSLTFunctionMin&);
-
-	bool
-	operator==(const XalanEXSLTFunctionMin&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionPower : public Function
-{
-public:
-
-	XalanEXSLTFunctionPower()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionPower()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionPower*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionPower(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionPower&
-	operator=(const XalanEXSLTFunctionPower&);
-
-	bool
-	operator==(const XalanEXSLTFunctionPower&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionSin : public Function
-{
-public:
-
-	XalanEXSLTFunctionSin()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionSin()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionSin*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionSin(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionSin&
-	operator=(const XalanEXSLTFunctionSin&);
-
-	bool
-	operator==(const XalanEXSLTFunctionSin&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionSqrt : public Function
-{
-public:
-
-	XalanEXSLTFunctionSqrt()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionSqrt()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionSqrt*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionSqrt(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionSqrt&
-	operator=(const XalanEXSLTFunctionSqrt&);
-
-	bool
-	operator==(const XalanEXSLTFunctionSqrt&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionTan : public Function
-{
-public:
-
-	XalanEXSLTFunctionTan()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionTan()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionTan*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionTan(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionTan&
-	operator=(const XalanEXSLTFunctionTan&);
-
-	bool
-	operator==(const XalanEXSLTFunctionTan&) const;
-};
-
-
-
-#endif	// EXSLT_MATHIMPL_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTSet.cpp b/src/XalanEXSLT/XalanEXSLTSet.cpp
deleted file mode 100644
index a828d7a..0000000
--- a/src/XalanEXSLT/XalanEXSLTSet.cpp
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEXSLTSet.hpp"
-#include "XalanEXSLTSetImpl.hpp"
-
-
-
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-
-
-
-XObjectPtr
-XalanEXSLTFunctionHasSameNode::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-	const NodeRefListBase&	nodeset1 = args[0]->nodeset();
-	const NodeRefListBase&	nodeset2 = args[1]->nodeset();
-
-	const NodeRefListBase::size_type	theLength1 = nodeset1.getLength();
-	const NodeRefListBase::size_type	theLength2 = nodeset1.getLength();
-
-	bool	fResult = false;
-
-	if (theLength1 != 0 && theLength2 != 0)
-	{
-		for (NodeRefListBase::size_type i = 0; i < theLength1 && fResult == false; ++i)
-		{
-			XalanNode* const	theNode = nodeset1.item(i);
-			assert(theNode != 0);
-
-			if (nodeset2.indexOf(theNode) != NodeRefListBase::npos)
-			{
-				fResult = true;
-			}
-		}
-	}
-
-	return executionContext.getXObjectFactory().createBoolean(fResult);
-}
-
-
-
-typedef Function::XObjectArgVectorType	XObjectArgVectorType;
-
-
-template<class PredicateType>
-XObjectPtr
-findNodes(
-			XPathExecutionContext&			executionContext,
-			const XObjectArgVectorType&		args,
-			PredicateType					thePredicate)
-{
-	assert(args[0].null() == false && args[1].null() == false);
-
-	const NodeRefListBase&	nodeset1 = args[0]->nodeset();
-	const NodeRefListBase&	nodeset2 = args[1]->nodeset();
-
-	const NodeRefListBase::size_type	theLength1 = nodeset1.getLength();
-	const NodeRefListBase::size_type	theLength2 = nodeset1.getLength();
-
-	if (theLength1 == 0 || theLength2 == 0)
-	{
-		return args[0];
-	}
-	else
-	{
-		const XalanNode* const	theNode = nodeset2.item(0);
-		assert(theNode != 0);
-
-		XPathExecutionContext::BorrowReturnMutableNodeRefList	theNodes(executionContext);
-
-		const NodeRefListBase::size_type	theIndex = nodeset1.indexOf(theNode);
-
-		if (theIndex != NodeRefListBase::npos)
-		{
-			for (NodeRefListBase::size_type i = 0; i < theLength1; ++i)
-			{
-				XalanNode* const	theCurrentNode = nodeset1.item(i);
-				assert(theCurrentNode != 0);
-
-				if (thePredicate(theCurrentNode, theNode) == true)
-				{
-					theNodes->addNodeInDocOrder(theCurrentNode, executionContext);
-				}
-			}
-		}
-
-		theNodes->setDocumentOrder();
-
-		return executionContext.getXObjectFactory().createNodeSet(theNodes);
-	}
-}
-
-
-
-struct LeadingCompareFunctor
-{
-	LeadingCompareFunctor(XPathExecutionContext&	executionContext) :
-		m_executionContext(executionContext)
-	{
-	}
-
-	bool
-	operator()(
-			const XalanNode*	theLHS,
-			const XalanNode*	theRHS) const
-	{
-		assert(theLHS != 0 && theRHS != 0);
-
-		return theLHS != theRHS && m_executionContext.isNodeAfter(*theLHS, *theRHS) == false;
-	}
-
-private:
-
-	XPathExecutionContext&	m_executionContext;
-};
-
-
-
-XObjectPtr
-XalanEXSLTFunctionLeading::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	return findNodes(executionContext, args, LeadingCompareFunctor(executionContext));
-}
-
-
-
-struct TrailingCompareFunctor
-{
-	TrailingCompareFunctor(XPathExecutionContext&	executionContext) :
-		m_executionContext(executionContext)
-	{
-	}
-
-	bool
-	operator()(
-			const XalanNode*	theLHS,
-			const XalanNode*	theRHS) const
-	{
-		assert(theLHS != 0 && theRHS != 0);
-
-		return m_executionContext.isNodeAfter(*theLHS, *theRHS) == true;
-	}
-
-private:
-
-	XPathExecutionContext&	m_executionContext;
-};
-
-
-
-XObjectPtr
-XalanEXSLTFunctionTrailing::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	return findNodes(executionContext, args, TrailingCompareFunctor(executionContext));
-}
-
-
-
-static const XalanDOMChar	s_setNamespace[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_differenceFunctionName[] =
-{
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-
-static const XalanDOMChar	s_distinctFunctionName[] =
-{
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_hasSameNodeFunctionName[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-
-static const XalanDOMChar	s_intersectionFunctionName[] =
-{
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_leadingFunctionName[] =
-{
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_g,
-	0
-};
-
-
-
-static const XalanDOMChar	s_trailingFunctionName[] =
-{
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_g,
-	0
-};
-
-
-
-static const XalanEXSLTFunctionDifference		s_differenceFunction;
-static const XalanEXSLTFunctionDistinct			s_distinctFunction;
-static const XalanEXSLTFunctionHasSameNode		s_hasSameNodeFunction;
-static const XalanEXSLTFunctionIntersection		s_intersectionFunction;
-static const XalanEXSLTFunctionLeading			s_leadingFunction;
-static const XalanEXSLTFunctionTrailing			s_trailingFunction;
-
-
-
-static const XalanEXSLTSetFunctionsInstaller::FunctionTableEntry	theFunctionTable[] =
-{
-	{ s_differenceFunctionName, &s_differenceFunction },
-	{ s_distinctFunctionName, &s_distinctFunction },
-	{ s_hasSameNodeFunctionName, &s_hasSameNodeFunction },
-	{ s_intersectionFunctionName, &s_intersectionFunction },
-	{ s_leadingFunctionName, &s_leadingFunction },
-	{ s_trailingFunctionName, &s_trailingFunction },
-	{ 0, 0 }
-};
-
-
-
-void
-XalanEXSLTSetFunctionsInstaller::installLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doInstallLocal(s_setNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTSetFunctionsInstaller::installGlobal()
-{
-	doInstallGlobal(s_setNamespace, theFunctionTable);
-}
-
-
-
-void
-XalanEXSLTSetFunctionsInstaller::uninstallLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doUninstallLocal(s_setNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTSetFunctionsInstaller::uninstallGlobal()
-{
-	doUninstallGlobal(s_setNamespace, theFunctionTable);
-}
diff --git a/src/XalanEXSLT/XalanEXSLTSet.hpp b/src/XalanEXSLT/XalanEXSLTSet.hpp
deleted file mode 100644
index b88b52e..0000000
--- a/src/XalanEXSLT/XalanEXSLTSet.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_SET_HEADER_GUARD_1357924680)
-#define EXSLT_SET_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XalanExtensions/XalanExtensions.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTSetFunctionsInstaller : public XalanExtensionsInstaller
-{
-public:
-
-	static void
-	installLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	installGlobal();
-
-	static void
-	uninstallLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	uninstallGlobal();
-};
-
-
-
-#endif	// EXSLT_SET_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTSetImpl.hpp b/src/XalanEXSLT/XalanEXSLTSetImpl.hpp
deleted file mode 100644
index 073999e..0000000
--- a/src/XalanEXSLT/XalanEXSLTSetImpl.hpp
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_SETIMPL_HEADER_GUARD_1357924680)
-#define EXSLT_SETIMPL_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-#include <XalanExtensions/FunctionDifference.hpp>
-#include <XalanExtensions/FunctionDistinct.hpp>
-#include <XalanExtensions/FunctionIntersection.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionDifference : public FunctionDifference
-{
-public:
-
-	XalanEXSLTFunctionDifference() :
-		FunctionDifference()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionDifference()
-	{
-	}
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionDifference*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionDifference(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function difference() function accepts two arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionDifference&
-	operator=(const XalanEXSLTFunctionDifference&);
-
-	bool
-	operator==(const XalanEXSLTFunctionDifference&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionDistinct : public FunctionDistinct
-{
-public:
-
-	XalanEXSLTFunctionDistinct() :
-		FunctionDistinct()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionDistinct()
-	{
-	}
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionDistinct*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionDistinct(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function distinct() function accepts one argument"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionDifference&
-	operator=(const XalanEXSLTFunctionDifference&);
-
-	bool
-	operator==(const XalanEXSLTFunctionDifference&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionHasSameNode : public Function
-{
-public:
-
-	XalanEXSLTFunctionHasSameNode() :
-		Function()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionHasSameNode()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionHasSameNode*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionHasSameNode(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function has-same-node() function accepts two arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionHasSameNode&
-	operator=(const XalanEXSLTFunctionHasSameNode&);
-
-	bool
-	operator==(const XalanEXSLTFunctionHasSameNode&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionIntersection : public FunctionIntersection
-{
-public:
-
-	XalanEXSLTFunctionIntersection() :
-		FunctionIntersection()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionIntersection()
-	{
-	}
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionIntersection*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionIntersection(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function distinct() function accepts two arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionIntersection&
-	operator=(const XalanEXSLTFunctionIntersection&);
-
-	bool
-	operator==(const XalanEXSLTFunctionIntersection&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionLeading : public Function
-{
-public:
-
-	XalanEXSLTFunctionLeading() :
-		Function()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionLeading()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionLeading*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionLeading(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function leading() function accepts two arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionHasSameNode&
-	operator=(const XalanEXSLTFunctionHasSameNode&);
-
-	bool
-	operator==(const XalanEXSLTFunctionHasSameNode&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionTrailing : public Function
-{
-public:
-
-	XalanEXSLTFunctionTrailing() :
-		Function()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionTrailing()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionTrailing*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionTrailing(*this);
-	}
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function trailing() function accepts two arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionTrailing&
-	operator=(const XalanEXSLTFunctionTrailing&);
-
-	bool
-	operator==(const XalanEXSLTFunctionTrailing&) const;
-};
-
-
-
-#endif	// EXSLT_SETIMPL_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTString.cpp b/src/XalanEXSLT/XalanEXSLTString.cpp
deleted file mode 100644
index 8ef3167..0000000
--- a/src/XalanEXSLT/XalanEXSLTString.cpp
+++ /dev/null
@@ -1,427 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanEXSLTString.hpp"
-#include "XalanEXSLTStringImpl.hpp"
-
-
-
-#include <PlatformSupport/DoubleSupport.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPathEnvSupportDefault.hpp>
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionAlign::s_centerString[] =
-{
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	0
-};
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionAlign::s_rightString[] =
-{
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-XObjectPtr
-XalanEXSLTFunctionAlign::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	const XObjectArgVectorType::size_type	theSize = args.size();
-
-	if (theSize != 2 && theSize != 3)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false && (theSize == 2 || args[2].null() == false));
-
-	const XalanDOMString&	theTargetString = args[0]->str();
-	const XalanDOMString&	thePaddingString = args[1]->str();
-
-	const XalanDOMString::size_type		theTargetStringLength = theTargetString.length();
-	const XalanDOMString::size_type		thePaddingStringLength = thePaddingString.length();
-
-	if (theTargetStringLength == thePaddingStringLength)
-	{
-		return XObjectPtr(args[0]);
-	}
-	else
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		theResult = theGuard.get();
-
-		if (theTargetStringLength > thePaddingStringLength)
-		{
-			theResult.assign(theTargetString, 0, thePaddingStringLength);
-		}
-		else
-		{
-			theResult.reserve(thePaddingStringLength);
-
-			enum eAlignment { eCenter, eLeft, eRight };
-
-			eAlignment	theAlignment = eLeft;
-
-			if (theSize == 3)
-			{
-				const XalanDOMString&	theAlignmentString = args[2]->str();
-
-				if (equals(
-							s_centerString,
-							theAlignmentString.c_str(),
-							sizeof(s_centerString) / sizeof(s_centerString[0]) - 1) == true)
-				{
-					theAlignment = eCenter;
-				}
-				else if (equals(
-							s_rightString,
-							theAlignmentString.c_str(),
-							sizeof(s_rightString) / sizeof(s_rightString[0]) - 1) == true)
-				{
-					theAlignment = eRight;
-				}
-			}
-
-			if (theAlignment == eLeft)
-			{
-				theResult = theTargetString;
-
-				theResult.append(thePaddingString, theTargetStringLength, thePaddingStringLength - theTargetStringLength);
-			}
-			else if (theAlignment == eRight)
-			{
-				theResult.assign(thePaddingString, 0, thePaddingStringLength - theTargetStringLength);
-				theResult.append(theTargetString);
-			}
-			else if (theAlignment == eCenter)
-			{
-				const XalanDOMString::size_type		theStartIndex =
-					(thePaddingStringLength - theTargetStringLength) / 2;
-
-				theResult.assign(thePaddingString, 0, theStartIndex);
-
-				theResult.append(theTargetString);
-
-				theResult.append(
-					thePaddingString,
-					theTargetStringLength + theStartIndex,
-					thePaddingStringLength - theTargetStringLength - theStartIndex);
-			}
-		}
-
-		return executionContext.getXObjectFactory().createString(theResult);
-	}
-}
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XObjectPtr
-XalanEXSLTFunctionConcat::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	const NodeRefListBase&				theNodeSet = args[0]->nodeset();
-	const NodeRefListBase::size_type	theLength = theNodeSet.getLength();
-
-	if (theLength == 0)
-	{
-		return executionContext.getXObjectFactory().createStringReference(s_emptyString);
-	}
-	else
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		theResult = theGuard.get();
-
-		for(NodeRefListBase::size_type i = 0; i < theLength; ++i)
-		{
-			assert(theNodeSet.item(i) != 0);
-
-			DOMServices::getNodeData(*theNodeSet.item(i), theResult);
-		}
-
-		return executionContext.getXObjectFactory().createString(theResult);
-	}
-}
-
-
-
-const XalanDOMChar	XalanEXSLTFunctionPadding::s_spaceString[] =
-{
-	XalanUnicode::charSpace,
-	0
-};
-
-
-
-XObjectPtr
-XalanEXSLTFunctionPadding::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	const XObjectArgVectorType::size_type	theSize = args.size();
-
-	if (theSize != 1 && theSize != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && (theSize == 1 || args[1].null() == false));
-
-	const double						theLength = DoubleSupport::round(args[0]->num());
-	const XalanDOMString&				thePaddingString = theSize == 2 ? args[1]->str() : m_space;
-	const XalanDOMString::size_type		thePaddingStringLength = thePaddingString.length();
-
-	if (theLength == 0.0 || thePaddingStringLength == 0)
-	{
-		return executionContext.getXObjectFactory().createStringReference(s_emptyString);
-	}
-	else
-	{
-		XPathExecutionContext::GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&		theResult = theGuard.get();
-
-		if (thePaddingStringLength == 1)
-		{
-			theResult.assign(XalanDOMString::size_type(theLength), thePaddingString[0]);
-		}
-		else
-		{
-			XalanDOMString::size_type	theRemainingLength = XalanDOMString::size_type(theLength);
-
-			for(;;)
-			{
-				if (theRemainingLength > thePaddingStringLength)
-				{
-					theResult.append(thePaddingString);
-
-					theRemainingLength -= thePaddingStringLength;
-				}
-				else
-				{
-					theResult.append(
-						thePaddingString,
-						0,
-						XalanDOMString::size_type(theRemainingLength));
-
-					break;
-				}
-			}
-		}
-
-		return executionContext.getXObjectFactory().createString(theResult);
-	}
-}
-
-
-
-static const XalanDOMChar	s_stringNamespace[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_g,
-	0
-};
-
-
-
-static const XalanDOMChar	s_alignFunctionName[] =
-{
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_concatFunctionName[] =
-{
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_paddingFunctionName[] =
-{
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_g,
-	0
-};
-
-
-
-static const XalanEXSLTFunctionAlign	s_alignFunction;
-static const XalanEXSLTFunctionConcat	s_concatFunction;
-static const XalanEXSLTFunctionPadding	s_paddingFunction;
-
-
-
-static const XalanEXSLTStringFunctionsInstaller::FunctionTableEntry		theFunctionTable[] =
-{
-	{ s_alignFunctionName, &s_alignFunction },
-	{ s_concatFunctionName, &s_concatFunction },
-	{ s_paddingFunctionName, &s_paddingFunction },
-	{ 0, 0 }
-};
-
-
-
-void
-XalanEXSLTStringFunctionsInstaller::installLocal(XPathEnvSupportDefault&		theSupport)
-{
-	doInstallLocal(s_stringNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTStringFunctionsInstaller::installGlobal()
-{
-	doInstallGlobal(s_stringNamespace, theFunctionTable);
-}
-
-
-
-void
-XalanEXSLTStringFunctionsInstaller::uninstallLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doUninstallLocal(s_stringNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanEXSLTStringFunctionsInstaller::uninstallGlobal()
-{
-	doUninstallGlobal(s_stringNamespace, theFunctionTable);
-}
diff --git a/src/XalanEXSLT/XalanEXSLTString.hpp b/src/XalanEXSLT/XalanEXSLTString.hpp
deleted file mode 100644
index 1a4e076..0000000
--- a/src/XalanEXSLT/XalanEXSLTString.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_STRING_HEADER_GUARD_1357924680)
-#define EXSLT_STRING_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XalanExtensions/XalanExtensions.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTStringFunctionsInstaller : public XalanExtensionsInstaller
-{
-public:
-
-	static void
-	installLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	installGlobal();
-
-	static void
-	uninstallLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	uninstallGlobal();
-};
-
-
-
-#endif	// EXSLT_STRING_HEADER_GUARD_1357924680
diff --git a/src/XalanEXSLT/XalanEXSLTStringImpl.hpp b/src/XalanEXSLT/XalanEXSLTStringImpl.hpp
deleted file mode 100644
index 08b9970..0000000
--- a/src/XalanEXSLT/XalanEXSLTStringImpl.hpp
+++ /dev/null
@@ -1,1000 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(EXSLT_STRINGIMPL_HEADER_GUARD_1357924680)
-#define EXSLT_STRINGIMPL_HEADER_GUARD_1357924680
-
-
-
-#include <XalanEXSLT/XalanEXSLTDefinitions.hpp>
-
-
-
-#include <XPath/Function.hpp>
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAlign : public Function
-{
-public:
-
-	XalanEXSLTFunctionAlign()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAlign()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAlign*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAlign(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function align() accepts two or three arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAlign&
-	operator=(const XalanEXSLTFunctionAlign&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAlign&) const;
-
-
-	// Data members...
-	static const XalanDOMChar	s_centerString[];
-	static const XalanDOMChar	s_rightString[];
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionConcat : public Function
-{
-public:
-
-	XalanEXSLTFunctionConcat() :
-		Function()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionConcat()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionConcat*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionConcat(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function concat() accepts one argument"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionConcat&
-	operator=(const XalanEXSLTFunctionConcat&);
-
-	bool
-	operator==(const XalanEXSLTFunctionConcat&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionPadding : public Function
-{
-public:
-
-	XalanEXSLTFunctionPadding() :
-		Function(),
-		m_space(s_spaceString)
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionPadding()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionPadding*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionPadding(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function padding() accepts one or two arguments"));
-	}
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionPadding&
-	operator=(const XalanEXSLTFunctionPadding&);
-
-	bool
-	operator==(const XalanEXSLTFunctionPadding&) const;
-
-
-	// Data members...
-	const XalanDOMString		m_space;
-
-	static const XalanDOMChar	s_spaceString[];
-};
-
-
-
-#if 0
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAsin : public Function
-{
-public:
-
-	XalanEXSLTFunctionAsin()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAsin()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAsin*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAsin(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAsin&
-	operator=(const XalanEXSLTFunctionAsin&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAsin&) const;
-
-
-	// Data members...
-	static const XalanDOMString		s_emptyString;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAtan : public Function
-{
-public:
-
-	XalanEXSLTFunctionAtan()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAtan()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAtan*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAtan(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAtan&
-	operator=(const XalanEXSLTFunctionAtan&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAtan&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionAtan2 : public Function
-{
-public:
-
-	XalanEXSLTFunctionAtan2()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionAtan2()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionAtan2*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionAtan2(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionAtan2&
-	operator=(const XalanEXSLTFunctionAtan2&);
-
-	bool
-	operator==(const XalanEXSLTFunctionAtan2&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionConstant : public Function
-{
-public:
-
-	XalanEXSLTFunctionConstant()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionConstant()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionConstant*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionConstant(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const
-	{
-		return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The EXLT function constant() function accepts two arguments"));
-	}
-
-private:
-
-	static const XalanDOMChar	s_eString[];
-	static const XalanDOMChar	s_ln10String[];
-	static const XalanDOMChar	s_ln2String[];
-	static const XalanDOMChar	s_log2EString[];
-	static const XalanDOMChar	s_piString[];
-	static const XalanDOMChar	s_sqrt1_2String[];
-	static const XalanDOMChar	s_sqrt2String[];
-
-	static const char	s_eValueString[];
-	static const char	s_ln10ValueString[];
-	static const char	s_ln2ValueString[];
-	static const char	s_log2EValueString[];
-	static const char	s_piValueString[];
-	static const char	s_sqrt1_2ValueString[];
-	static const char	s_sqrt2ValueString[];
-
-
-	// Not implemented...
-	XalanEXSLTFunctionConstant&
-	operator=(const XalanEXSLTFunctionConstant&);
-
-	bool
-	operator==(const XalanEXSLTFunctionConstant&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionCos : public Function
-{
-public:
-
-	XalanEXSLTFunctionCos()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionCos()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionCos*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionCos(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionCos&
-	operator=(const XalanEXSLTFunctionCos&);
-
-	bool
-	operator==(const XalanEXSLTFunctionCos&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionExp : public Function
-{
-public:
-
-	XalanEXSLTFunctionExp()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionExp()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionExp*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionExp(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionExp&
-	operator=(const XalanEXSLTFunctionExp&);
-
-	bool
-	operator==(const XalanEXSLTFunctionExp&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionHighest : public Function
-{
-public:
-
-	XalanEXSLTFunctionHighest()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionHighest()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionHighest*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionHighest(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionHighest&
-	operator=(const XalanEXSLTFunctionHighest&);
-
-	bool
-	operator==(const XalanEXSLTFunctionHighest&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionLog : public Function
-{
-public:
-
-	XalanEXSLTFunctionLog()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionLog()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionLog*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionLog(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionLog&
-	operator=(const XalanEXSLTFunctionLog&);
-
-	bool
-	operator==(const XalanEXSLTFunctionLog&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionLowest : public Function
-{
-public:
-
-	XalanEXSLTFunctionLowest()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionLowest()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionLowest*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionLowest(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionLowest&
-	operator=(const XalanEXSLTFunctionLowest&);
-
-	bool
-	operator==(const XalanEXSLTFunctionLowest&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionMax : public Function
-{
-public:
-
-	XalanEXSLTFunctionMax()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionMax()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionMax*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionMax(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionMax&
-	operator=(const XalanEXSLTFunctionMax&);
-
-	bool
-	operator==(const XalanEXSLTFunctionMax&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionMin : public Function
-{
-public:
-
-	XalanEXSLTFunctionMin()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionMin()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionMin*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionMin(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionMin&
-	operator=(const XalanEXSLTFunctionMin&);
-
-	bool
-	operator==(const XalanEXSLTFunctionMin&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionPower : public Function
-{
-public:
-
-	XalanEXSLTFunctionPower()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionPower()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionPower*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionPower(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionPower&
-	operator=(const XalanEXSLTFunctionPower&);
-
-	bool
-	operator==(const XalanEXSLTFunctionPower&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionSin : public Function
-{
-public:
-
-	XalanEXSLTFunctionSin()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionSin()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionSin*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionSin(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionSin&
-	operator=(const XalanEXSLTFunctionSin&);
-
-	bool
-	operator==(const XalanEXSLTFunctionSin&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionSqrt : public Function
-{
-public:
-
-	XalanEXSLTFunctionSqrt()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionSqrt()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionSqrt*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionSqrt(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionSqrt&
-	operator=(const XalanEXSLTFunctionSqrt&);
-
-	bool
-	operator==(const XalanEXSLTFunctionSqrt&) const;
-};
-
-
-
-class XALAN_EXSLT_EXPORT XalanEXSLTFunctionTan : public Function
-{
-public:
-
-	XalanEXSLTFunctionTan()
-	{
-	}
-
-	virtual
-	~XalanEXSLTFunctionTan()
-	{
-	}
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual XalanEXSLTFunctionTan*
-#endif
-	clone() const
-	{
-		return new XalanEXSLTFunctionTan(*this);
-	}
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	XalanEXSLTFunctionTan&
-	operator=(const XalanEXSLTFunctionTan&);
-
-	bool
-	operator==(const XalanEXSLTFunctionTan&) const;
-};
-#endif
-
-
-#endif	// EXSLT_STRINGIMPL_HEADER_GUARD_1357924680
diff --git a/src/XalanExe/XalanExe.cpp b/src/XalanExe/XalanExe.cpp
deleted file mode 100644
index 2a063c7..0000000
--- a/src/XalanExe/XalanExe.cpp
+++ /dev/null
@@ -1,428 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#if !defined(NDEBUG) && defined(_MSC_VER)
-#include <crtdbg.h>
-#endif
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <XalanTransformer/XalanTransformer.hpp>
-
-
-
-//#define XALAN_VQ_SPECIAL_TRACE
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-#include "C:/Program Files/Rational/Quantify/pure.h"
-#endif
-
-
-
-#if !defined (XALAN_NO_NAMESPACES)
-using std::cerr;
-using std::cout;
-using std::endl;
-#endif
-
-
-
-void
-Usage()
-{
-	cerr << endl
-		 << "Xalan version 1.3"
-		 << endl
-		 << "Usage: Xalan [options] source stylesheet"
-		 << endl
-	     << "Options:"
-		 << endl
-		 << "  -a                    Use xml-stylesheet PI, not the 'stylesheet' argument"
-		 << endl
-		 << "  -o filename           Write output to the specified file."
-		 << endl
-		 << "  -p name expression    Sets a stylesheet parameter."
-		 << endl
-		 << "  -v                    Validates source documents."
-		 << endl
-		 << "  -?                    Display this message."
-		 << endl;
-}
-
-
-
-class Params
-{
-public:
-
-	Params(unsigned long	maxParams) :
-		m_validate(false),
-		m_useStylesheetPI(false),
-		m_inFileName(0),
-		m_xslFileName(0),
-		m_outFileName(0),
-		m_params(),
-		m_maxParams(maxParams),
-		m_currentParam(0)
-	{
-	}
-
-	bool
-	addParam(
-			const char*		name,
-			const char*		expression)
-	{
-		if (m_currentParam == m_maxParams)
-		{
-			return false;
-		}
-		else
-		{
-			// Allocate memory if necessary...
-			if (m_params.get() == 0)
-			{
-				m_params.reset(new ParamPair[m_maxParams]);
-			}
-			assert(m_params.get() != 0);
-
-			m_params[m_currentParam].m_name = name;
-			m_params[m_currentParam].m_expression = expression;
-
-			++m_currentParam;
-
-			return true;
-		}
-	};
-
-	void
-	setParams(XalanTransformer&		theTransformer)
-	{
-		theTransformer.setUseValidation(m_validate);
-
-		for(unsigned long i = 0; i < m_currentParam; ++i)
-		{
-			theTransformer.setStylesheetParam(
-				m_params[i].m_name,
-				m_params[i].m_expression);
-		}
-	}
-
-	bool			m_validate;
-	bool			m_useStylesheetPI;
-
-	const char*		m_inFileName;
-	const char*		m_xslFileName;
-	const char*		m_outFileName;
-
-private:
-
-	struct ParamPair
-	{
-		ParamPair() :
-			m_name(0),
-			m_expression(0)
-		{
-		}
-
-		const char*		m_name;
-		const char*		m_expression;
-	};
-
-	XalanArrayAutoPtr<ParamPair>	m_params;
-
-	const unsigned long				m_maxParams;
-	unsigned long					m_currentParam;
-};
-
-
-
-bool
-getArgs(
-			int					argc,
-			const char*			argv[],
-			Params&				params)
-{
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-	using std::strlen;
-#endif
-
-	bool fSuccess = true;
-
-	for (int i = 1; i < argc && fSuccess == true; ++i)
-	{
-		if (argv[i][0] == '-')
-		{
-			if (strlen(argv[i]) != 2)
-			{
-				fSuccess = false;
-			}
-			else if (params.m_inFileName != 0 || params.m_xslFileName != 0)
-			{
-				fSuccess = false;
-			}
-			else if (argv[i][1] == 'a') 
-			{
-				params.m_useStylesheetPI = true;
-			}
-			else if (argv[i][1] == 'o') 
-			{
-				++i;
-
-				if(i < argc && argv[i][0] != '-' &&
-				   strlen(argv[i]) != 0)
-				{
-					params.m_outFileName = argv[i];
-				}
-				else
-				{
-					fSuccess = false;
-				}
-			}
-			else if (argv[i][1] == 'p') 
-			{
-				++i;
-
-				if(i >= argc || argv[i][0] == '-')
-				{
-					fSuccess = false;
-				}
-				else
-				{
-					const char* const	name = argv[i];
-
-					++i;
-
-					// Don't check for '-' here, since that might
-					// be a valid character in a parameter value.
-					if(i >= argc)
-					{
-						fSuccess = false;
-					}
-					else
-					{
-						const char* const	value = argv[i];
-
-						if (params.addParam(name, value) == false)
-						{
-							cerr << "Maximum numbers of stylesheets params has been exceeded!" << endl;
-
-							fSuccess = false;
-						}
-					}
-				}
-			}
-			else if (argv[i][1] == 'v')
-			{
-				params.m_validate = true;
-			}
-		}
-		else if (params.m_inFileName == 0 &&
-				 strlen(argv[i]) != 0)
-		{
-			params.m_inFileName = argv[i];
-
-			if (strlen(params.m_inFileName) == 0)
-			{
-				fSuccess = false;
-			}
-		}
-		else if (params.m_xslFileName == 0 &&
-				 strlen(argv[i]) != 0 &&
-				 params.m_useStylesheetPI == false)
-		{
-			params.m_xslFileName = argv[i];
-
-			if (strlen(params.m_xslFileName) == 0)
-			{
-				fSuccess = false;
-			}
-		}
-		else
-		{
-			fSuccess = false;
-		}
-	}
-
-	if (fSuccess == true && params.m_inFileName == 0)
-	{
-		return false;
-	}
-	else if (params.m_xslFileName == 0 && params.m_useStylesheetPI == false)
-	{
-		return false;
-	}
-	else
-	{
-		return fSuccess;
-	}
-}
-
-
-
-int
-xsltMain(
-			int				argc,
-			const char*		argv[])
-
-{
-	int	theResult = -1;
-
-	// Set the maximum number of params as half of argc - 1.
-	// It's actually argc - 2, but that could get us into negative
-	// numbers, so don't bother.  Also, always add 1, in case
-	// (argc - 1) / 2 is 0.
-	Params	theParams((argc - 1) / 2 + 1);
-
-	if (getArgs(argc, argv, theParams) == false)
-	{
-		Usage();
-	}
-	else
-	{
-		// Call the static initializer for Xerces...
-		XMLPlatformUtils::Initialize();
-
-		// Initialize Xalan...
-		XalanTransformer::initialize();
-
-		{
-			// Create a XalanTransformer instance...
-			XalanTransformer	theTransformer;
-
-			// Set any options...
-			theParams.setParams(theTransformer);
-
-			if (theParams.m_outFileName != 0)
-			{
-				theResult = theTransformer.transform(
-						theParams.m_inFileName,
-						theParams.m_xslFileName,
-						theParams.m_outFileName);
-			}
-			else
-			{
-				theResult = theTransformer.transform(
-						theParams.m_inFileName,
-						theParams.m_xslFileName,
-						cout);
-			}
-
-			if (theResult != 0)
-			{
-				cerr << theTransformer.getLastError() << endl;
-			}
-		}
-
-		// Terminate Xalan...
-		XalanTransformer::terminate();
-
-		// Terminate Xerces...
-		XMLPlatformUtils::Terminate();
-	}
-
-	return theResult;
-}
-
-
-
-int
-main(
-			int				argc,
-			const char*		argv[])
-{
-#if !defined(XALAN_USE_ICU) && !defined(NDEBUG) && defined(_MSC_VER)
-	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
-
-	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
-#endif
-
-#if defined(XALAN_VQ_SPECIAL_TRACE)
-	QuantifyStopRecordingData();
-#endif
-
-    if (argc < 2)
-	{
-		Usage();
-
-		return -1;
-	}
-	else
-	{
-		return xsltMain(argc, argv);
-	}
-}
diff --git a/src/XalanExtensions/FunctionDifference.cpp b/src/XalanExtensions/FunctionDifference.cpp
deleted file mode 100644
index 53d740f..0000000
--- a/src/XalanExtensions/FunctionDifference.cpp
+++ /dev/null
@@ -1,138 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionDifference.hpp"
-
-
-
-#include <XPath/XPathExecutionContext.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionDifference::FunctionDifference()
-{
-}
-
-
-
-FunctionDifference::~FunctionDifference()
-{
-}
-
-
-
-XObjectPtr
-FunctionDifference::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-	const NodeRefListBase&	nodeset1 = args[0]->nodeset();
-	const NodeRefListBase&	nodeset2 = args[1]->nodeset();
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	theResult(executionContext);
-
-	const NodeRefListBase::size_type	theLength = nodeset1.getLength();
-
-	// Check the second node-set for nodes in the
-	// first node-set.  If a node is not found,
-	// add it to the result.
-	for (NodeRefListBase::size_type i = 0; i < theLength; ++i)
-	{
-		XalanNode* const	theNode = nodeset1.item(i);
-		assert(theNode != 0);
-
-		if (nodeset2.indexOf(theNode) == NodeRefListBase::npos)
-		{
-			theResult->addNodeInDocOrder(theNode, executionContext);
-		}
-	}
-
-	theResult->setDocumentOrder();
-
-	return executionContext.getXObjectFactory().createNodeSet(theResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionDifference*
-#endif
-FunctionDifference::clone() const
-{
-	return new FunctionDifference(*this);
-}
-
-
-
-const XalanDOMString
-FunctionDifference::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The difference() function accepts two arguments"));
-}
diff --git a/src/XalanExtensions/FunctionDifference.hpp b/src/XalanExtensions/FunctionDifference.hpp
deleted file mode 100644
index 7694262..0000000
--- a/src/XalanExtensions/FunctionDifference.hpp
+++ /dev/null
@@ -1,117 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONDIFFERENCE_HEADER_GUARD_1357924680)
-#define FUNCTIONDIFFERENCE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "difference" function.
- */
-class XALAN_XALANEXTENSIONS_EXPORT FunctionDifference : public Function
-{
-public:
-
-	FunctionDifference();
-
-	virtual
-	~FunctionDifference();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionDifference*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionDifference&
-	operator=(const FunctionDifference&);
-
-	bool
-	operator==(const FunctionDifference&) const;
-};
-
-
-
-#endif	// FUNCTIONDIFFERENCE_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/FunctionDistinct.cpp b/src/XalanExtensions/FunctionDistinct.cpp
deleted file mode 100644
index 212cf7b..0000000
--- a/src/XalanExtensions/FunctionDistinct.cpp
+++ /dev/null
@@ -1,175 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionDistinct.hpp"
-
-
-
-#include <set>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XPath/XPathExecutionContext.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionDistinct::FunctionDistinct()
-{
-}
-
-
-
-FunctionDistinct::~FunctionDistinct()
-{
-}
-
-
-
-XObjectPtr
-FunctionDistinct::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	const NodeRefListBase&	nodeset = args[0]->nodeset();
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	theResult(executionContext);
-
-	const NodeRefListBase::size_type	theLength = nodeset.getLength();
-
-	if (theLength == 1)
-	{
-		theResult->addNode(nodeset.item(0));
-	}
-	else if (theLength > 1)
-	{
-		typedef XPathExecutionContext::GetAndReleaseCachedString	GetAndReleaseCachedString;
-
-		GetAndReleaseCachedString	theGuard(executionContext);
-
-		XalanDOMString&				theCachedString = theGuard.get();
-
-#if defined(XALAN_NO_NAMESPACES)
-		typedef set<XalanDOMString, less<XalanDOMString> >	SetType;
-#else
-		typedef std::set<XalanDOMString>					SetType;
-#endif
-
-		SetType		theStrings;
-
-		// Check to make sure each node has a unique
-		// string value.
-		for (NodeRefListBase::size_type i = 0; i < theLength; ++i)
-		{
-			XalanNode* const	theNode = nodeset.item(i);
-			assert(theNode != 0);
-
-			DOMServices::getNodeData(*theNode, theCachedString);
-
-			if (theStrings.find(theCachedString) == theStrings.end())
-			{
-				theResult->addNodeInDocOrder(theNode, executionContext);
-
-				theStrings.insert(theCachedString);
-			}
-
-			clear(theCachedString);
-		}
-	}
-
-	theResult->setDocumentOrder();
-
-	return executionContext.getXObjectFactory().createNodeSet(theResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionDistinct*
-#endif
-FunctionDistinct::clone() const
-{
-	return new FunctionDistinct(*this);
-}
-
-
-
-const XalanDOMString
-FunctionDistinct::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The distinct() function accepts one argument"));
-}
diff --git a/src/XalanExtensions/FunctionDistinct.hpp b/src/XalanExtensions/FunctionDistinct.hpp
deleted file mode 100644
index bada178..0000000
--- a/src/XalanExtensions/FunctionDistinct.hpp
+++ /dev/null
@@ -1,117 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONDISTINCT_HEADER_GUARD_1357924680)
-#define FUNCTIONDISTINCT_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "difference" function.
- */
-class XALAN_XALANEXTENSIONS_EXPORT FunctionDistinct : public Function
-{
-public:
-
-	FunctionDistinct();
-
-	virtual
-	~FunctionDistinct();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionDistinct*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionDistinct&
-	operator=(const FunctionDistinct&);
-
-	bool
-	operator==(const FunctionDistinct&) const;
-};
-
-
-
-#endif	// FUNCTIONDISTINCT_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/FunctionEvaluate.cpp b/src/XalanExtensions/FunctionEvaluate.cpp
deleted file mode 100644
index 24591e2..0000000
--- a/src/XalanExtensions/FunctionEvaluate.cpp
+++ /dev/null
@@ -1,174 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionEvaluate.hpp"
-
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <XPath/ElementPrefixResolverProxy.hpp>
-#include <XPath/XObjectFactory.hpp>
-#include <XPath/XPath.hpp>
-#include <XPath/XPathProcessorImpl.hpp>
-
-
-
-FunctionEvaluate::FunctionEvaluate()
-{
-}
-
-
-
-FunctionEvaluate::~FunctionEvaluate()
-{
-}
-
-
-
-XObjectPtr
-FunctionEvaluate::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	const PrefixResolver* const	theResolver =
-		executionContext.getPrefixResolver();
-
-	if (theResolver == 0)
-	{
-		if (context->getNodeType() != XalanNode::ELEMENT_NODE)
-		{
-			executionContext.warn(
-				"No prefix resolver is available in evaluate().  The expression cannot be evaluated.",
-				context,
-				locator);
-
-			return args[0];
-		}
-		else
-		{
-			executionContext.warn(
-				"No prefix resolver is available in evaluate().  evalute() will use the context node for prefix resolution.",
-				context,
-				locator);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-			ElementPrefixResolverProxy	theProxy((const XalanElement*)context);
-#else
-			ElementPrefixResolverProxy	theProxy(static_cast<const XalanElement*>(context));
-#endif
-
-			XPathProcessorImpl	theProcessor;
-
-			XPath				theXPath;
-
-			theProcessor.initXPath(
-					theXPath,
-					args[0]->str(),
-					theProxy);
-
-			return theXPath.execute(context, *theResolver, executionContext);
-		}
-	}
-	else
-	{
-		XPathProcessorImpl	theProcessor;
-
-		XPath				theXPath;
-
-		theProcessor.initXPath(
-				theXPath,
-				args[0]->str(),
-				*theResolver);
-
-		return theXPath.execute(context, *theResolver, executionContext);
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionEvaluate*
-#endif
-FunctionEvaluate::clone() const
-{
-	return new FunctionEvaluate(*this);
-}
-
-
-
-const XalanDOMString
-FunctionEvaluate::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The evaluate() function accepts one argument"));
-}
diff --git a/src/XalanExtensions/FunctionEvaluate.hpp b/src/XalanExtensions/FunctionEvaluate.hpp
deleted file mode 100644
index 0050fd3..0000000
--- a/src/XalanExtensions/FunctionEvaluate.hpp
+++ /dev/null
@@ -1,117 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONEVALUATE_HEADER_GUARD_1357924680)
-#define FUNCTIONEVALUATE_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "node-set" function.
- */
-class XALAN_XALANEXTENSIONS_EXPORT FunctionEvaluate : public Function
-{
-public:
-
-	FunctionEvaluate();
-
-	virtual
-	~FunctionEvaluate();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionEvaluate*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionEvaluate&
-	operator=(const FunctionEvaluate&);
-
-	bool
-	operator==(const FunctionEvaluate&) const;
-};
-
-
-
-#endif	// FUNCTIONEVALUATE_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/FunctionHasSameNodes.cpp b/src/XalanExtensions/FunctionHasSameNodes.cpp
deleted file mode 100644
index fffd7ef..0000000
--- a/src/XalanExtensions/FunctionHasSameNodes.cpp
+++ /dev/null
@@ -1,138 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionHasSameNodes.hpp"
-
-
-
-#include <XPath/XPathExecutionContext.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionHasSameNodes::FunctionHasSameNodes()
-{
-}
-
-
-
-FunctionHasSameNodes::~FunctionHasSameNodes()
-{
-}
-
-
-
-XObjectPtr
-FunctionHasSameNodes::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-	const NodeRefListBase&	nodeset1 = args[0]->nodeset();
-	const NodeRefListBase&	nodeset2 = args[1]->nodeset();
-
-	const NodeRefListBase::size_type	theLength = nodeset1.getLength();
-
-	bool	fResult = true;
-
-	if (theLength != nodeset2.getLength())
-	{
-		fResult = false;
-	}
-	else
-	{
-		for (NodeRefListBase::size_type i = 0; i < theLength && fResult == true; ++i)
-		{
-			XalanNode* const	theNode = nodeset1.item(i);
-			assert(theNode != 0);
-
-			if (nodeset2.indexOf(theNode) == NodeRefListBase::npos)
-			{
-				fResult = false;
-			}
-		}
-	}
-
-	return executionContext.getXObjectFactory().createBoolean(fResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionHasSameNodes*
-#endif
-FunctionHasSameNodes::clone() const
-{
-	return new FunctionHasSameNodes(*this);
-}
-
-
-
-const XalanDOMString
-FunctionHasSameNodes::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The has-same-nodes() function accepts two arguments"));
-}
diff --git a/src/XalanExtensions/FunctionHasSameNodes.hpp b/src/XalanExtensions/FunctionHasSameNodes.hpp
deleted file mode 100644
index 8371b13..0000000
--- a/src/XalanExtensions/FunctionHasSameNodes.hpp
+++ /dev/null
@@ -1,117 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONHASSAMENODES_HEADER_GUARD_1357924680)
-#define FUNCTIONHASSAMENODES_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "has-same-nodes" function for NodeSets.
- */
-class XALAN_XALANEXTENSIONS_EXPORT FunctionHasSameNodes : public Function
-{
-public:
-
-	FunctionHasSameNodes();
-
-	virtual
-	~FunctionHasSameNodes();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionHasSameNodes*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionHasSameNodes&
-	operator=(const FunctionHasSameNodes&);
-
-	bool
-	operator==(const FunctionHasSameNodes&) const;
-};
-
-
-
-#endif	// FUNCTIONHASSAMENODES_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/FunctionIntersection.cpp b/src/XalanExtensions/FunctionIntersection.cpp
deleted file mode 100644
index ddbea01..0000000
--- a/src/XalanExtensions/FunctionIntersection.cpp
+++ /dev/null
@@ -1,135 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionIntersection.hpp"
-
-
-
-#include <XPath/XPathExecutionContext.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-FunctionIntersection::FunctionIntersection()
-{
-}
-
-
-
-FunctionIntersection::~FunctionIntersection()
-{
-}
-
-
-
-XObjectPtr
-FunctionIntersection::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 2)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false && args[1].null() == false);
-
-	const NodeRefListBase&	nodeset1 = args[0]->nodeset();
-	const NodeRefListBase&	nodeset2 = args[1]->nodeset();
-
-	typedef XPathExecutionContext::BorrowReturnMutableNodeRefList	BorrowReturnMutableNodeRefList;
-
-	BorrowReturnMutableNodeRefList	theResult(executionContext);
-
-	const NodeRefListBase::size_type	theLength = nodeset1.getLength();
-
-	for (NodeRefListBase::size_type i = 0; i < theLength; ++i)
-	{
-		XalanNode* const	theNode = nodeset1.item(i);
-		assert(theNode != 0);
-
-		if (nodeset2.indexOf(theNode) != NodeRefListBase::npos)
-		{
-			theResult->addNodeInDocOrder(theNode, executionContext);
-		}
-	}
-
-	theResult->setDocumentOrder();
-
-	return executionContext.getXObjectFactory().createNodeSet(theResult);
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionIntersection*
-#endif
-FunctionIntersection::clone() const
-{
-	return new FunctionIntersection(*this);
-}
-
-
-
-const XalanDOMString
-FunctionIntersection::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The intersection() function accepts two arguments"));
-}
diff --git a/src/XalanExtensions/FunctionIntersection.hpp b/src/XalanExtensions/FunctionIntersection.hpp
deleted file mode 100644
index e286779..0000000
--- a/src/XalanExtensions/FunctionIntersection.hpp
+++ /dev/null
@@ -1,117 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONINTERSECTION_HEADER_GUARD_1357924680)
-#define FUNCTIONINTERSECTION_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-/**
- * XPath implementation of "intersection" function for NodeSets.
- */
-class XALAN_XALANEXTENSIONS_EXPORT FunctionIntersection : public Function
-{
-public:
-
-	FunctionIntersection();
-
-	virtual
-	~FunctionIntersection();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionIntersection*
-#endif
-	clone() const;
-
-protected:
-
-	const XalanDOMString
-	getError() const;
-
-private:
-
-	// Not implemented...
-	FunctionIntersection&
-	operator=(const FunctionIntersection&);
-
-	bool
-	operator==(const FunctionIntersection&) const;
-};
-
-
-
-#endif	// FUNCTIONINTERSECTION_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/FunctionNodeSet.cpp b/src/XalanExtensions/FunctionNodeSet.cpp
deleted file mode 100644
index ab50623..0000000
--- a/src/XalanExtensions/FunctionNodeSet.cpp
+++ /dev/null
@@ -1,213 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "FunctionNodeSet.hpp"
-
-
-
-#include <XPath/XNodeSetBase.hpp>
-#include <XPath/XObjectFactory.hpp>
-
-
-
-class XResultTreeFragNodeSetProxy : public XNodeSetBase
-{
-public:
-
-	XResultTreeFragNodeSetProxy(const XObjectPtr&	theXObject) :
-		m_xobject(theXObject),
-#if defined(XALAN_OLD_STYLE_CASTS)
-		m_proxy(*(const XResultTreeFrag*)theXObject.get())
-#else
-		m_proxy(*static_cast<const XResultTreeFrag*>(theXObject.get()))
-#endif
-	{
-		assert(theXObject.null() == false);
-		assert(theXObject->getType() == XObject::eTypeResultTreeFrag);
-	}
-
-	XResultTreeFragNodeSetProxy(const XResultTreeFragNodeSetProxy&	theSource) :
-		m_xobject(theSource.m_xobject),
-#if defined(XALAN_OLD_STYLE_CASTS)
-		m_proxy(*(const XResultTreeFrag*)m_xobject.get())
-#else
-		m_proxy(*static_cast<const XResultTreeFrag*>(m_xobject.get()))
-#endif
-	{
-	}
-
-	virtual
-	~XResultTreeFragNodeSetProxy()
-	{
-	}
-
-	// These methods are inherited from XNodeSetBase...
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XObject*
-#else
-	virtual XResultTreeFragNodeSetProxy*
-#endif
-	clone(void*		theAddress = 0) const
-	{
-		return theAddress == 0 ? new XResultTreeFragNodeSetProxy(*this) :
-				new (theAddress) XResultTreeFragNodeSetProxy(*this);
-	}
-
-	virtual const NodeRefListBase&
-	nodeset() const
-	{
-		return m_proxy;
-	}
-
-	virtual void
-	dereferenced()
-	{
-		delete this;
-	}
-
-	virtual XalanNode*
-	item(size_type	index) const
-	{
-		return m_proxy.item(index);
-	}
-
-	virtual size_type
-	getLength() const
-	{
-		return m_proxy.getLength();
-	}
-
-private:
-
-	const XObjectPtr								m_xobject;
-
-	const XResultTreeFrag::NodeRefListBaseProxy		m_proxy;
-};
-
-
-
-FunctionNodeSet::FunctionNodeSet(bool	convertString) :
-	m_convertString(convertString)
-{
-}
-
-
-
-FunctionNodeSet::~FunctionNodeSet()
-{
-}
-
-
-
-XObjectPtr
-FunctionNodeSet::execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const
-{
-	if (args.size() != 1)
-	{
-		executionContext.error(getError(), context, locator);
-	}
-
-	assert(args[0].null() == false);
-
-	const XObject::eObjectType	theType = args[0]->getType();
-
-	if (theType == XObject::eTypeResultTreeFrag ||
-		(theType == XObject::eTypeString && m_convertString == true))
-	{
-		return XObjectPtr(new XResultTreeFragNodeSetProxy(args[0]));
-	}
-	else
-	{
-		executionContext.warn(
-			getInvalidArgumentTypeError(),
-			context,
-			locator);
-
-		return args[0];
-	}
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-Function*
-#else
-FunctionNodeSet*
-#endif
-FunctionNodeSet::clone() const
-{
-	return new FunctionNodeSet(*this);
-}
-
-
-
-const XalanDOMString
-FunctionNodeSet::getError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("The nodeset() function accepts one argument"));
-}
-
-
-
-const XalanDOMString
-FunctionNodeSet::getInvalidArgumentTypeError() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Invalid argument type in function nodeset()"));
-}
diff --git a/src/XalanExtensions/FunctionNodeSet.hpp b/src/XalanExtensions/FunctionNodeSet.hpp
deleted file mode 100644
index 123bb1d..0000000
--- a/src/XalanExtensions/FunctionNodeSet.hpp
+++ /dev/null
@@ -1,133 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONNODESET_HEADER_GUARD_1357924680)
-#define FUNCTIONNODESET_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-
-#include <XSLT/XResultTreeFrag.hpp>
-
-
-
-/**
- * XPath implementation of "node-set" function.
- */
-class XALAN_XALANEXTENSIONS_EXPORT FunctionNodeSet : public Function
-{
-public:
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param convertString If true, strings as well as result tree fragments will be converted to nodesets.
-	 */
-	FunctionNodeSet(bool	convertString = true);
-
-	virtual
-	~FunctionNodeSet();
-
-	// These methods are inherited from Function ...
-
-	virtual XObjectPtr
-	execute(
-			XPathExecutionContext&			executionContext,
-			XalanNode*						context,
-			const XObjectArgVectorType&		args,
-			const Locator*					locator) const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual Function*
-#else
-	virtual FunctionNodeSet*
-#endif
-	clone() const;
-
-protected:
-
-	virtual const XalanDOMString
-	getError() const;
-
-	virtual const XalanDOMString
-	getInvalidArgumentTypeError() const;
-
-private:
-
-	// Not implemented...
-	FunctionNodeSet&
-	operator=(const FunctionNodeSet&);
-
-	bool
-	operator==(const FunctionNodeSet&) const;
-
-
-	// Data members...
-	const bool	m_convertString;
-};
-
-
-
-#endif	// FUNCTIONNODESET_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/XalanExtensions.cpp b/src/XalanExtensions/XalanExtensions.cpp
deleted file mode 100644
index b265ca0..0000000
--- a/src/XalanExtensions/XalanExtensions.cpp
+++ /dev/null
@@ -1,341 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanExtensions.hpp"
-
-#include "FunctionDifference.hpp"
-#include "FunctionDistinct.hpp"
-#include "FunctionEvaluate.hpp"
-#include "FunctionHasSameNodes.hpp"
-#include "FunctionIntersection.hpp"
-#include "FunctionNodeSet.hpp"
-
-
-
-#include <XPath/XPathEnvSupportDefault.hpp>
-
-
-
-static const XalanDOMChar	s_extensionsNamespace[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_differenceFunctionName[] =
-{
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-
-static const XalanDOMChar	s_distinctFunctionName[] =
-{
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const XalanDOMChar	s_evaluateFunctionName[] =
-{
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_v,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_e,
-	0
-};
-
-
-
-static const XalanDOMChar	s_hasSameNodesFunctionName[] =
-{
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_S,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_N,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	0
-};
-
-
-
-static const XalanDOMChar	s_intersectionFunctionName[] =
-{
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-static const XalanDOMChar	s_nodeSetFunctionName[] =
-{
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_t,
-	0
-};
-
-
-
-static const FunctionDifference		s_differenceFunction;
-static const FunctionDistinct		s_distinctFunction;
-static const FunctionEvaluate		s_evaluateFunction;
-static const FunctionHasSameNodes	s_hasSameNodesFunction;
-static const FunctionIntersection	s_intersectionFunction;
-static const FunctionNodeSet		s_nodesetFunction(true);
-
-
-
-static const XalanExtensionsInstaller::FunctionTableEntry	theFunctionTable[] =
-{
-	{ s_differenceFunctionName, &s_differenceFunction },
-	{ s_distinctFunctionName, &s_distinctFunction },
-	{ s_evaluateFunctionName, &s_evaluateFunction },
-	{ s_hasSameNodesFunctionName, &s_hasSameNodesFunction },
-	{ s_intersectionFunctionName, &s_intersectionFunction },
-	{ s_nodeSetFunctionName, &s_nodesetFunction },
-	{ 0, 0 }
-};
-
-
-
-void
-XalanExtensionsInstaller::installLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doInstallLocal(s_extensionsNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanExtensionsInstaller::installGlobal()
-{
-	doInstallGlobal(s_extensionsNamespace, theFunctionTable);
-}
-
-
-
-void
-XalanExtensionsInstaller::uninstallLocal(XPathEnvSupportDefault&	theSupport)
-{
-	doUninstallLocal(s_extensionsNamespace, theFunctionTable, theSupport);
-}
-
-
-
-void
-XalanExtensionsInstaller::uninstallGlobal()
-{
-	doUninstallGlobal(s_extensionsNamespace, theFunctionTable);
-}
-
-
-
-void
-XalanExtensionsInstaller::doInstallLocal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[],
-			XPathEnvSupportDefault&		theSupport)
-{
-	assert(theNamespace != 0);
-
-	const XalanDOMString	theNamespaceString(theNamespace);
-	XalanDOMString			theFunctionName;
-
-	for(const FunctionTableEntry* theEntry = theFunctionTable; theEntry->theFunctionName != 0; ++theEntry)
-	{
-		assert(theEntry->theFunction != 0);
-
-		theFunctionName = theEntry->theFunctionName;
-
-		theSupport.installExternalFunctionLocal(theNamespaceString, theFunctionName, *theEntry->theFunction);
-	}
-}
-
-
-
-void
-XalanExtensionsInstaller::doInstallGlobal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[])
-{
-	assert(theNamespace != 0);
-
-	const XalanDOMString	theNamespaceString(theNamespace);
-	XalanDOMString			theFunctionName;
-
-	for(const FunctionTableEntry* theEntry = theFunctionTable; theEntry->theFunctionName != 0; ++theEntry)
-	{
-		assert(theEntry->theFunction != 0);
-
-		theFunctionName = theEntry->theFunctionName;
-
-		XPathEnvSupportDefault::installExternalFunctionGlobal(theNamespaceString, theFunctionName, *theEntry->theFunction);
-	}
-}
-
-
-
-void
-XalanExtensionsInstaller::doUninstallLocal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[],
-			XPathEnvSupportDefault&		theSupport)
-{
-	assert(theNamespace != 0);
-
-	const XalanDOMString	theNamespaceString(theNamespace);
-	XalanDOMString			theFunctionName;
-
-	for(const FunctionTableEntry* theEntry = theFunctionTable; theEntry->theFunctionName != 0; ++theEntry)
-	{
-		theFunctionName = theEntry->theFunctionName;
-
-		theSupport.uninstallExternalFunctionLocal(theNamespaceString, theFunctionName);
-	}
-}
-
-
-
-void
-XalanExtensionsInstaller::doUninstallGlobal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[])
-{
-	assert(theNamespace != 0);
-
-	const XalanDOMString	theNamespaceString(theNamespace);
-	XalanDOMString			theFunctionName;
-
-	for(const FunctionTableEntry* theEntry = theFunctionTable; theEntry->theFunctionName != 0; ++theEntry)
-	{
-		theFunctionName = theEntry->theFunctionName;
-
-		XPathEnvSupportDefault::uninstallExternalFunctionGlobal(theNamespaceString, theFunctionName);
-	}
-}
diff --git a/src/XalanExtensions/XalanExtensions.hpp b/src/XalanExtensions/XalanExtensions.hpp
deleted file mode 100644
index 1c7bdc5..0000000
--- a/src/XalanExtensions/XalanExtensions.hpp
+++ /dev/null
@@ -1,125 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANEXTENSIONS_HEADER_GUARD_1357924680)
-#define XALANEXTENSIONS_HEADER_GUARD_1357924680
-
-
-
-// Base header file.  Must be first.
-#include <XalanExtensions/XalanExtensionsDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class Function;
-class XPathEnvSupportDefault;
-
-
-
-class XALAN_XALANEXTENSIONS_EXPORT XalanExtensionsInstaller
-{
-public:
-
-	struct FunctionTableEntry
-	{
-		const XalanDOMChar*		theFunctionName;
-		const Function*			theFunction;
-	};
-
-	static void
-	installLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	installGlobal();
-
-	static void
-	uninstallLocal(XPathEnvSupportDefault&	theSupport);
-
-	static void
-	uninstallGlobal();
-
-protected:
-
-	static void
-	doInstallLocal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[],
-			XPathEnvSupportDefault&		theSupport);
-
-	static void
-	doInstallGlobal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[]);
-
-	static void
-	doUninstallLocal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[],
-			XPathEnvSupportDefault&		theSupport);
-
-	static void
-	doUninstallGlobal(
-			const XalanDOMChar*			theNamespace,
-			const FunctionTableEntry	theFunctionTable[]);
-};
-
-
-
-#endif	// XALANEXTENSIONS_HEADER_GUARD_1357924680
diff --git a/src/XalanExtensions/XalanExtensionsDefinitions.hpp b/src/XalanExtensions/XalanExtensionsDefinitions.hpp
deleted file mode 100644
index 968bea0..0000000
--- a/src/XalanExtensions/XalanExtensionsDefinitions.hpp
+++ /dev/null
@@ -1,82 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANEXTENSIONS_DEFINITIONS_HEADER_GUARD_1357924680)
-#define XALANEXTENSIONS_DEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_XALANEXTENSIONS_BUILD_DLL)
-
-#define XALAN_XALANEXTENSIONS_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_XALANEXTENSIONS_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_XALANEXTENSIONS_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_XALANEXTENSIONS_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// XALANEXTENSIONS_DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XalanSourceTree/FormatterToSourceTree.cpp b/src/XalanSourceTree/FormatterToSourceTree.cpp
deleted file mode 100644
index c8504ca..0000000
--- a/src/XalanSourceTree/FormatterToSourceTree.cpp
+++ /dev/null
@@ -1,491 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "FormatterToSourceTree.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-#include <XalanDOM/XalanDocumentFragment.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/PrefixResolver.hpp>
-
-
-
-#include <XMLSupport/FormatterToDOM.hpp>
-
-
-
-#include "XalanSourceTreeComment.hpp"
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeDocumentFragment.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeHelper.hpp"
-#include "XalanSourceTreeProcessingInstruction.hpp"
-#include "XalanSourceTreeText.hpp"
-
-
-
-FormatterToSourceTree::FormatterToSourceTree(XalanSourceTreeDocument*	theDocument) :
-	FormatterListener(OUTPUT_METHOD_DOM),
-	m_document(theDocument),
-	m_documentFragment(0),
-	m_currentElement(0),
-	m_elementStack(),
-	m_lastChild(0),
-	m_lastChildStack(),
-	m_textBuffer()
-{
-}
-
-
-
-FormatterToSourceTree::FormatterToSourceTree(
-			XalanSourceTreeDocument*			theDocument,
-			XalanSourceTreeDocumentFragment*	theDocumentFragment) :
-	FormatterListener(OUTPUT_METHOD_DOM),
-	m_document(theDocument),
-	m_documentFragment(theDocumentFragment),
-	m_currentElement(0),
-	m_elementStack(),
-	m_lastChild(0),
-	m_lastChildStack(),
-	m_textBuffer()
-{
-	assert(m_document != 0);
-	assert(m_documentFragment != 0);
-}
-
-
-
-FormatterToSourceTree::~FormatterToSourceTree()
-{
-}
-
-
-
-void
-FormatterToSourceTree::setDocumentLocator(const Locator* const		/* locator */)
-{
-}
-
-
-
-void
-FormatterToSourceTree::startDocument()
-{
-	m_currentElement = 0;
-
-	m_elementStack.clear();
-
-	m_lastChild = 0;
-
-	m_lastChildStack.clear();
-
-	m_lastChildStack.reserve(eDefaultStackSize);
-
-	clear(m_textBuffer);
-
-	reserve(m_textBuffer, eDefaultTextBufferSize);
-
-	// Push a dummy value for the current element, so we
-	// don't have to check for an empty stack in endElement().
-	m_elementStack.push_back(ElementStackType::value_type(0));
-}
-
-
-
-void
-FormatterToSourceTree::endDocument()
-{
-	// Pop off the dummy value that we pushed in 
-	// startDocument()...
-	m_elementStack.pop_back();
-
-	assert(m_elementStack.empty() == true);
-	assert(m_lastChildStack.empty() == true);
-	assert(isEmpty(m_textBuffer) == true);
-}
-
-
-
-// A helper function to manage appending the new child.
-template <class ParentNodeType, class ChildNodeType>
-inline void
-doAppendChildNode(
-			ParentNodeType*		theParent,
-			XalanNode*&			theLastChild,
-			ChildNodeType		theNewChild)
-{
-	assert(theParent != 0);
-	assert(theNewChild != 0);
-
-	if (theLastChild == 0)
-	{
-		theParent->appendChildNode(theNewChild);
-	}
-	else
-	{
-		XalanSourceTreeHelper::appendSibling(theLastChild, theNewChild);
-	}
-
-	theLastChild = theNewChild;
-}
-
-
-
-// A helper function to manage appending the new child.
-template <class ChildNodeType>
-inline void
-doAppendChildNode(
-			XalanSourceTreeDocument*			theDocument,
-			XalanSourceTreeDocumentFragment*	theDocumentFragment,
-			XalanSourceTreeElement*				theCurrentElement,
-			XalanNode*&							theLastChild,
-			ChildNodeType						theNewChild)
-{
-	assert(theDocument != 0);
-	assert(theNewChild != 0);
-
-	if (theCurrentElement == 0)
-	{
-		if (theDocumentFragment != 0)
-		{
-			doAppendChildNode(theDocumentFragment, theLastChild, theNewChild);
-		}
-		else
-		{
-			// If there is no current element. it means we haven't
-			// created the document element yet, so always append
-			// to the document, rather than the last child.
-			theDocument->appendChildNode(theNewChild);
-		}
-	}
-	else
-	{
-		doAppendChildNode(theCurrentElement, theLastChild, theNewChild);
-	}
-}
-
-
-
-void
-FormatterToSourceTree::startElement(
-			const	XMLCh* const	name,
-			AttributeList&			attrs)
-{
-	processAccumulatedText();
-
-	XalanSourceTreeElement* const	theNewElement =
-		createElementNode(name, attrs, m_currentElement);
-
-	doAppendChildNode(
-			m_document,
-			m_documentFragment,
-			m_currentElement,
-			m_lastChild,
-			theNewElement);
-
-	m_elementStack.push_back(theNewElement);
-
-	m_lastChildStack.push_back(m_lastChild);
-
-	m_currentElement = theNewElement;
-
-	m_lastChild = 0;
-}
-
-
-
-void
-FormatterToSourceTree::endElement(const	XMLCh* const	/* name */)
-{
-	processAccumulatedText();
-
-	assert(m_elementStack.empty() == false);
-
-	// Pop the element of the stack...
-	m_elementStack.pop_back();
-
-	assert(m_elementStack.empty() == false);
-
-	// Get the element from the back of the
-	// stack.
-	m_currentElement = m_elementStack.back();
-
-	assert(m_lastChildStack.empty() == false);
-
-	m_lastChild = m_lastChildStack.back();
-
-	// Pop the last child stack
-	m_lastChildStack.pop_back();
-}
-
-
-
-void
-FormatterToSourceTree::characters(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	if (m_documentFragment != 0)
-	{
-		doCharacters(chars, length);
-	}
-	else if (m_currentElement == 0)
-	{
-		if (isXMLWhitespace(chars) == false)
-		{
-			throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-		}
-	}
-	else
-	{
-		append(m_textBuffer, chars, length);
-	}
-}
-
-
-
-void
-FormatterToSourceTree::charactersRaw(
-		const XMLCh* const	chars,
-		const unsigned int	length)
-{
-	assert(m_document != 0);
-
-	processAccumulatedText();
-
-	doProcessingInstruction(c_wstr(s_xsltNextIsRawString), c_wstr(s_formatterListenerString));
-
-	characters(chars, length);
-}
-
-
-
-void
-FormatterToSourceTree::entityReference(const XMLCh* const	/* name */)
-{
-}
-
-
-
-void
-FormatterToSourceTree::ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	assert(m_document != 0);
-
-	// Ignore any whitespace reported before the document element has been parsed.
-	if (m_elementStack.size() > 1)
-	{
-		assert(m_documentFragment != 0 || m_document->getDocumentElement() != 0);
-
-		processAccumulatedText();
-
-		assert(m_currentElement != 0);
-
-		doAppendChildNode(
-			m_currentElement,
-			m_lastChild,
-			m_document->createTextIWSNode(chars, length, m_currentElement));
-	}
-	else if(m_documentFragment != 0)
-	{
-		processAccumulatedText();
-
-		doAppendChildNode(
-			m_documentFragment,
-			m_lastChild,
-			m_document->createTextIWSNode(chars, length, m_currentElement));
-	}
-}
-
-
-
-void
-FormatterToSourceTree::processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data)
-{
-	assert(m_document != 0);
-
-	processAccumulatedText();
-
-	doProcessingInstruction(target, data);
-}
-
-
-
-void
-FormatterToSourceTree::resetDocument()
-{
-}
-
-
-
-void
-FormatterToSourceTree::comment(const XMLCh* const	data)
-{
-	assert(m_document != 0);
-
-	processAccumulatedText();
-
-	XalanSourceTreeComment* const	theNewComment =
-		m_document->createCommentNode(data, length(data), m_currentElement);
-
-	doAppendChildNode(
-			m_document,
-			m_documentFragment,
-			m_currentElement,
-			m_lastChild,
-			theNewComment);
-}
-
-
-
-void
-FormatterToSourceTree::cdata(
-			const XMLCh* const	/* ch */,
-			const unsigned int 	/* length */)
-{
-}
-
-
-
-void
-FormatterToSourceTree::processAccumulatedText()
-{
-	if (isEmpty(m_textBuffer) == false)
-	{
-		doCharacters(c_wstr(m_textBuffer), length(m_textBuffer));
-
-		clear(m_textBuffer);
-	}
-}
-
-
-
-void
-FormatterToSourceTree::doCharacters(
-			const XMLCh*				chars,
-			XalanDOMString::size_type	length)
-{
-	if (m_currentElement != 0)
-	{
-		doAppendChildNode(
-			m_currentElement,
-			m_lastChild,
-			m_document->createTextNode(chars, length, m_currentElement));
-	}
-	else if (m_documentFragment != 0)
-	{
-		doAppendChildNode(
-			m_documentFragment,
-			m_lastChild,
-			m_document->createTextNode(chars, length, m_currentElement));
-	}
-	else
-	{
-		throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-	}
-}
-
-
-
-XalanSourceTreeElement*
-FormatterToSourceTree::createElementNode(
-			const XalanDOMChar*			name,
-			AttributeList&				attrs,
-			XalanSourceTreeElement*		theParentElement)
-{
-	if (m_prefixResolver != 0)
-	{
-		return m_document->createElementNode(name, attrs, *m_prefixResolver, theParentElement);
-	}
-	else
-	{
-		return m_document->createElementNode(name, attrs, theParentElement);
-	}
-}
-
-
-
-void
-FormatterToSourceTree::doProcessingInstruction(
-			const XMLCh*	target,
-			const XMLCh*	data)
-{
-	doAppendChildNode(
-			m_document,
-			m_documentFragment,
-			m_currentElement,
-			m_lastChild,
-			m_document->createProcessingInstructionNode(target, data));
-}
diff --git a/src/XalanSourceTree/FormatterToSourceTree.hpp b/src/XalanSourceTree/FormatterToSourceTree.hpp
deleted file mode 100644
index e08b5be..0000000
--- a/src/XalanSourceTree/FormatterToSourceTree.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FORMATTERTOSOURCETREE_HEADER_GUARD_1357924680)
-#define FORMATTERTOSOURCETREE_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-// Base class header file.
-#include <PlatformSupport/FormatterListener.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class PrefixResolver;
-class XalanNode;
-class XalanSourceTreeDocument;
-class XalanSourceTreeDocumentFragment;
-class XalanSourceTreeElement;
-
-
-
-/**
- * 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.
- */
-class XALAN_XALANSOURCETREE_EXPORT FormatterToSourceTree : public FormatterListener
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanSourceTreeElement*>			ElementStackType;
-	typedef vector<XalanNode*> 						LastChildStackType;
-#else
-	typedef std::vector<XalanSourceTreeElement*>	ElementStackType;
-	typedef std::vector<XalanNode*> 				LastChildStackType;
-#endif
-
-	enum { eDefaultStackSize = 50, eDefaultTextBufferSize = 100 };
-
-	/**
-	 * Perform static initialization.  See class XalanSourceTreeInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XalanSourceTreeInit.
-	 */
-	static void
-	terminate();
-
-
-	/**
-	 * Construct a FormatterToSourceTree instance.  it will add the nodes 
-	 * to the document.
-	 *
-	 * @param theDocument The document for nodes
-	 */
-	explicit
-	FormatterToSourceTree(XalanSourceTreeDocument*	theDocument = 0);
-
-	/**
-	 * Construct a FormatterToSourceTree instance.  it will add the nodes 
-	 * to the document fragment.
-	 *
-	 * @param theDocument The document for nodes
-	 * @param theDocumentFragment The document fragment for nodes
-	 */
-	FormatterToSourceTree(
-			XalanSourceTreeDocument*			theDocument,
-			XalanSourceTreeDocumentFragment*	theDocumentFragment);
-
-	virtual
-	~FormatterToSourceTree();
-
-
-	XalanSourceTreeDocument*
-	getDocument() const
-	{
-		return m_document;
-	}
-
-	void
-	setDocument(XalanSourceTreeDocument*	theDocument)
-	{
-		m_document = theDocument;
-	}
-
-	XalanSourceTreeDocumentFragment*
-	getDocumentFragment() const
-	{
-		return m_documentFragment;
-	}
-
-	void
-	setDocumentFragment(XalanSourceTreeDocumentFragment*	theDocumentFragment)
-	{
-		m_documentFragment = theDocumentFragment;
-	}
-
-	XalanSourceTreeElement*
-	getCurrentElement() const
-	{
-		return m_currentElement;
-	}
-
-	void
-	setCurrentElement(XalanSourceTreeElement*	theElement)
-	{
-		m_currentElement = theElement;
-	}
-
-	// These methods are inherited from DocumentHandler ...
-
-	virtual void
-	charactersRaw(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	comment(const XMLCh* const	data);
-
-	virtual void
-	cdata(
-			const XMLCh* const	ch,
-			const unsigned int 	length);
-
-	virtual void
-	entityReference(const XMLCh* const	name);
-
-	virtual void
-	setDocumentLocator(const Locator* const		locator);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	endDocument();
-
-	virtual void
-	startElement(
-				const	XMLCh* const	name,
-				AttributeList&			attrs);
-
-	virtual void
-	endElement(const XMLCh* const	name);
-
-	virtual void
-	characters(
-				const XMLCh* const	chars,
-				const unsigned int	length);
-
-	virtual void
-	ignorableWhitespace(
-				const XMLCh* const	chars,
-				const unsigned int	length);
-
-	virtual void
-	processingInstruction(
-			const XMLCh* const	target,
-			const XMLCh* const	data);
-
-	virtual void
-	resetDocument();
-
-private:
-
-	// Some utility functions...
-	void
-	processAccumulatedText();
-
-	XalanSourceTreeElement*
-	createElementNode(
-			const XalanDOMChar*			name,
-			AttributeList&				attrs,
-			XalanSourceTreeElement*		theParentElement);
-
-	void
-	doCharacters(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length);
-
-	void
-	doProcessingInstruction(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data);
-
-
-	// Data members...
-	XalanSourceTreeDocument*			m_document;
-
-	XalanSourceTreeDocumentFragment*	m_documentFragment;
-
-	XalanSourceTreeElement*				m_currentElement;
-
-	ElementStackType					m_elementStack;
-
-	// The last child appended to the current element.  This is
-	// an important optimization, because XalanSourceTreeElement
-	// does not have a pointer to it's last child.  Without this,
-	// appending a child becomes a linear search.
-	XalanNode* 							m_lastChild;
-
-	// Stack of last children appended.  There is a ono-to-one
-	// correspondance to the entries in m_elementStack.
-	LastChildStackType					m_lastChildStack;
-
-	XalanDOMString						m_textBuffer;
-};
-
-
-
-#endif	// FORMATTERTOSOURCETREE_HEADER_GUARD_1357924680
diff --git a/src/XalanSourceTree/XalanSourceTreeAttr.cpp b/src/XalanSourceTree/XalanSourceTreeAttr.cpp
deleted file mode 100644
index cd6b124..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttr.cpp
+++ /dev/null
@@ -1,384 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeAttr.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include "XalanSourceTreeElement.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeAttr::XalanSourceTreeAttr(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement,
-			unsigned int				theIndex) :
-	XalanAttr(),
-	m_name(theName),
-	m_value(theValue),
-	m_ownerElement(theOwnerElement),
-	m_index(theIndex)
-{
-}
-
-
-
-XalanSourceTreeAttr::~XalanSourceTreeAttr()
-{
-}
-
-
-
-XalanSourceTreeAttr::XalanSourceTreeAttr(
-			const XalanSourceTreeAttr&		theSource,
-			bool							/* deep */) :
-	XalanAttr(theSource),
-	m_name(theSource.m_name),
-	m_value(theSource.m_value),
-	m_ownerElement(0),
-	m_index(0)
-{
-	// Deep copy is the same as shallow copy -- The owning element
-	// must deal with the hookup of the siblings.
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getNodeName() const
-{
-	return m_name;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getNodeValue() const
-{
-	return m_value;
-}
-
-
-
-XalanSourceTreeAttr::NodeType
-XalanSourceTreeAttr::getNodeType() const
-{
-	return ATTRIBUTE_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeAttr::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeAttr::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XalanSourceTreeAttr::getOwnerDocument() const
-{
-	assert(m_ownerElement != 0);
-
-	return m_ownerElement->getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeAttr*
-#endif
-XalanSourceTreeAttr::cloneNode(bool	deep) const
-{
-	return new XalanSourceTreeAttr(*this, deep);
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::removeChild(XalanNode*		/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeAttr::appendChild(XalanNode*		/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeAttr::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XalanSourceTreeAttr::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeAttr::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeAttr::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XalanSourceTreeAttr::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeAttr::isIndexed() const
-{
-	return true;
-}
-
-
-
-unsigned long
-XalanSourceTreeAttr::getIndex() const
-{
-	return m_index;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getName() const
-{
-	return m_name;
-}
-
-
-
-bool
-XalanSourceTreeAttr::getSpecified() const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttr::getValue() const
-{
-	return m_value;
-}
-
-
-
-void
-XalanSourceTreeAttr::setValue(const XalanDOMString&		/* value */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanElement*
-XalanSourceTreeAttr::getOwnerElement() const
-{
-	return m_ownerElement;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeAttr.hpp b/src/XalanSourceTree/XalanSourceTreeAttr.hpp
deleted file mode 100644
index 9224308..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttr.hpp
+++ /dev/null
@@ -1,561 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEATTR_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEATTR_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanNodeListDummy.hpp>
-
-
-
-class XalanSourceTreeDocument;
-class XalanSourceTreeElement;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the Xalan source tree Attr interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeAttr : public XalanAttr
-{
-public:
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theName The name of the attribute
-	 * @param theValue The value of the attribute
-	 * @param theOwnerDocument The document that owns the instance
-	 * @param theOwnerElement The element that owns the instance
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeAttr(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement = 0,
-			unsigned int				theIndex = 0);
-
-	virtual
-	~XalanSourceTreeAttr();
-
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>Document</code> object used to create new nodes. When this
-	 * node is a <code>Document</code> or a <code>DocumentType</code>
-	 * which is not used with any <code>Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeAttr*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>Text</CODE>
-	 * nodes and <CODE>CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>Element</CODE> and <CODE>Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	/**
-	 * Determine if the document is node-order indexed.
-	 *
-	 * @return true if the document is indexed, otherwise false.
-	 */
-	virtual bool
-	isIndexed() const;
-
-	/**
-	 * Get the node's index.  Valid only if the owner document
-	 * reports that the document is node-order indexed.
-	 *
-	 * @return The index value, or 0 if the node is not indexed.
-	 */
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanAttr...
-
-	/** @name Getter functions */
-	 //@{
-    /**
-
-	* Returns the name of this attribute. 
-    */
-    virtual const XalanDOMString&
-	getName() const;
-
-	/**
-	 *
-     * Returns true if the attribute received its value explicitly in the
-     * XML document, or if a value was assigned programatically with
-     * the setValue function.  Returns false if the attribute value 
-     * came from the default value declared in the document's DTD.
-     */
-    virtual bool
-	getSpecified() const;
-
-    /**
-	 * Returns the value of the attribute.
-	 *
-     * The value of the attribute is returned as a string. 
-     * Character and general entity references are replaced with their values.
-     */
-    virtual const XalanDOMString&
-	getValue() const;
-
-	//@}
-	/** @name Setter functions */
-	//@{
-    
-	/**
-	 * Sets the value of the attribute.  A text node with the unparsed contents
-     * of the string will be created.
-	 *
-     * @param value The value of the DOM attribute to be set
-     */
-    virtual void
-	setValue(const XalanDOMString&	value);
-
-	//@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-    /**
-     * The <code>Element</code> node this attribute is attached to or
-     * <code>null</code> if this attribute is not in use.
-     */
-    virtual XalanElement*
-	getOwnerElement() const;
-    //@}
-
-
-	// public interfaces not inherited from XalanAttr...
-
-	void
-	setOwnerElement(XalanSourceTreeElement*		theElement)
-	{
-		m_ownerElement = theElement;
-	}
-
-	void
-	setIndex(unsigned int	theIndex)
-	{
-		m_index = theIndex;
-	}
-
-protected:
-
-	XalanSourceTreeAttr(
-			const XalanSourceTreeAttr&	theSource,
-			bool						deep = false);
-
-private:
-
-	// Not defined...
-	XalanSourceTreeAttr&
-	operator=(const XalanSourceTreeAttr&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeAttr&	theRHS) const;
-
-
-	// Data members...
-	const XalanDOMString&				m_name;
-
-	const XalanDOMString&				m_value;
-
-	XalanSourceTreeElement*				m_ownerElement;
-
-	unsigned int						m_index;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEATTR_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeAttrNS.cpp b/src/XalanSourceTree/XalanSourceTreeAttrNS.cpp
deleted file mode 100644
index 3a93a41..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttrNS.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeAttrNS.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-XalanSourceTreeAttrNS::XalanSourceTreeAttrNS(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement,
-			unsigned int				theIndex) :
-	XalanSourceTreeAttr(
-		theName,
-		theValue,
-		theOwnerElement,
-		theIndex),
-	m_localName(theLocalName),
-	m_prefix(thePrefix),
-	m_namespaceURI(theNamespaceURI)
-{
-}
-
-
-
-XalanSourceTreeAttrNS::~XalanSourceTreeAttrNS()
-{
-}
-
-
-
-XalanSourceTreeAttrNS::XalanSourceTreeAttrNS(
-			const XalanSourceTreeAttrNS&	theSource,
-			bool							deep) :
-	XalanSourceTreeAttr(theSource, deep),
-	m_localName(theSource.m_localName),
-	m_prefix(theSource.m_prefix),
-	m_namespaceURI(theSource.m_namespaceURI)
-{
-}
-
-
-
-XalanSourceTreeAttrNS::XalanSourceTreeAttrNS(
-			const XalanSourceTreeAttr&	theSource,
-			bool						deep) :
-	XalanSourceTreeAttr(theSource, deep),
-	m_localName(theSource.getLocalName()),
-	m_prefix(theSource.getPrefix()),
-	m_namespaceURI(theSource.getNamespaceURI())
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeAttrNS*
-#endif
-XalanSourceTreeAttrNS::cloneNode(bool	deep) const
-{
-	return new XalanSourceTreeAttrNS(*this, deep);
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttrNS::getNamespaceURI() const
-{
-	return m_namespaceURI;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttrNS::getPrefix() const
-{
-	return m_prefix;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeAttrNS::getLocalName() const
-{
-	return m_localName;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeAttrNS.hpp b/src/XalanSourceTree/XalanSourceTreeAttrNS.hpp
deleted file mode 100644
index a26490b..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttrNS.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEATTRNS_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEATTRNS_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeAttr.hpp>
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the Xalan source tree Attr interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeAttrNS : public XalanSourceTreeAttr
-{
-public:
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theName The name of the attribute
-	 * @param theLocalName The local name of the attribute
-	 * @param theNamespaceURI The namespace URI of the attribute
-	 * @param thePrefix The namespace prefix of the attribute
-	 * @param theValue The value of the attribute
-	 * @param theOwnerElement The element that owns the instance
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeAttrNS(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement = 0,
-			unsigned int				theIndex = 0);
-
-	virtual
-	~XalanSourceTreeAttrNS();
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeAttrNS*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-protected:
-
-	XalanSourceTreeAttrNS(
-			const XalanSourceTreeAttrNS&	theSource,
-			bool							deep = false);
-
-	XalanSourceTreeAttrNS(
-			const XalanSourceTreeAttr&	theSource,
-			bool						deep = false);
-
-private:
-
-	// Not defined...
-	XalanSourceTreeAttrNS&
-	operator=(const XalanSourceTreeAttrNS&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeAttrNS&		theRHS) const;
-
-	// Data members...
-	const XalanDOMString&	m_localName;
-
-	const XalanDOMString&	m_prefix;
-
-	const XalanDOMString&	m_namespaceURI;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEATTRNS_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeAttributeAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeAttributeAllocator.cpp
deleted file mode 100644
index ca7e04d..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttributeAllocator.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeAttributeAllocator.hpp"
-
-
-
-XalanSourceTreeAttributeAllocator::XalanSourceTreeAttributeAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeAttributeAllocator::~XalanSourceTreeAttributeAllocator()
-{
-}
-
-
-
-XalanSourceTreeAttributeAllocator::ObjectType*
-XalanSourceTreeAttributeAllocator::create(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement,
-			unsigned int				theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theName,
-						theValue,
-						theOwnerElement,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeAttributeAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeAttributeAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeAttributeAllocator.hpp
deleted file mode 100644
index 77ca810..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttributeAllocator.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEATTRIBUTEALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEATTRIBUTEALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeAttr.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeAttributeAllocator
-{
-public:
-
-	typedef XalanSourceTreeAttr						ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeAttributeAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeAttributeAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theName The name of the attribute
-	 * @param theValue The value of the attribute
-	 * @param theOwnerDocument The document that owns the instance
-	 * @param theOwnerElement The element that owns the instance
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement = 0,
-			unsigned int				theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeAttributeAllocator(const XalanSourceTreeAttributeAllocator&);
-
-	XalanSourceTreeAttributeAllocator&
-	operator=(const XalanSourceTreeAttributeAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEATTRIBUTEALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeAttributeNSAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeAttributeNSAllocator.cpp
deleted file mode 100644
index 53579b7..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttributeNSAllocator.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeAttributeNSAllocator.hpp"
-
-
-
-XalanSourceTreeAttributeNSAllocator::XalanSourceTreeAttributeNSAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeAttributeNSAllocator::~XalanSourceTreeAttributeNSAllocator()
-{
-}
-
-
-
-XalanSourceTreeAttributeNSAllocator::ObjectType*
-XalanSourceTreeAttributeNSAllocator::create(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement,
-			unsigned int				theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theName,
-						theLocalName,
-						theNamespaceURI,
-						thePrefix,
-						theValue,
-						theOwnerElement,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeAttributeNSAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeAttributeNSAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeAttributeNSAllocator.hpp
deleted file mode 100644
index 319c443..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttributeNSAllocator.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEATTRIBUTENSALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEATTRIBUTENSALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeAttrNS.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeAttributeNSAllocator
-{
-public:
-
-	typedef XalanSourceTreeAttrNS					ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeAttributeNSAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeAttributeNSAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theName The name of the attribute
-	 * @param theLocalName The local name of the attribute
-	 * @param theNamespaceURI The namespace URI of the attribute
-	 * @param thePrefix The namespace prefix of the attribute
-	 * @param theValue The value of the attribute
-	 * @param theOwnerElement The element that owns the instance
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&		theName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			const XalanDOMString&		theValue,
-			XalanSourceTreeElement*		theOwnerElement = 0,
-			unsigned int				theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeAttributeNSAllocator(const XalanSourceTreeAttributeNSAllocator&);
-
-	XalanSourceTreeAttributeNSAllocator&
-	operator=(const XalanSourceTreeAttributeNSAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEATTRIBUTENSALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeAttributesVector.cpp b/src/XalanSourceTree/XalanSourceTreeAttributesVector.cpp
deleted file mode 100644
index be4ce9e..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttributesVector.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeAttributesVector.hpp"
-
-
-
-#include <cassert>
-
-
-
-XalanSourceTreeAttributesVector::XalanSourceTreeAttributesVector(size_type	theBlockSize) :
-	m_list(),
-	m_blockSize(theBlockSize),
-	m_lastEntryFound(0)
-{
-}
-
-
-
-XalanSourceTreeAttributesVector::~XalanSourceTreeAttributesVector()
-{
-}
-
-
-
-XalanSourceTreeAttr**
-XalanSourceTreeAttributesVector::allocate(size_type		theCount)
-{
-	// Handle the case of theCount being greater than the block size first...
-	if (theCount >= m_blockSize)
-	{
-		return createEntry(theCount, theCount);
-	}
-	else
-	{
-		ListEntryType*	theEntry =
-			findEntry(theCount);
-
-		// Did we find a slot?
-		if (theEntry == 0)
-		{
-			// Nope, create a new one...
-            return createEntry(m_blockSize, theCount);;
-		}
-		else
-		{
-			// The address we want is that of the first free element in the
-			// vector...
-			XalanSourceTreeAttr** const		thePointer =
-				&*theEntry->second.begin() + (theEntry->second.size() - theEntry->first);
-
-			// Resize the vector to the appropriate size...
-			theEntry->first -= theCount;
-
-			return thePointer;
-		}
-	}
-}
-
-
-
-XalanSourceTreeAttr**
-XalanSourceTreeAttributesVector::createEntry(
-			size_type	theBlockSize,
-			size_type	theCount)
-{
-	assert(theBlockSize >= theCount);
-
-	// Push on a new entry.  The entry has no open space,
-	// since it's greater than our block size...
-	m_list.push_back(ListEntryType(0, VectorType()));
-
-	// Get the new entry...
-	ListEntryType&	theNewEntry = m_list.back();
-
-	// Resize the vector to the appropriate size...
-	theNewEntry.second.resize(theBlockSize, VectorType::value_type(0));
-
-	// Set the number of free spaces accordingly...
-	theNewEntry.first = theBlockSize - theCount;
-
-    if (theNewEntry.first != 0)
-    {
-        m_lastEntryFound = &theNewEntry;
-    }
-
-	// Return a pointer to the beginning of the allocated memory...
-	return &*theNewEntry.second.begin();
-}
-
-
-
-
-XalanSourceTreeAttributesVector::ListEntryType*
-XalanSourceTreeAttributesVector::findEntry(size_type	theCount)
-{
-	// Search for an entry that has some free space.
-
-	if (m_lastEntryFound != 0 && m_lastEntryFound->first >= theCount)
-	{
-		return m_lastEntryFound;
-	}
-	else
-	{
-		const ListType::iterator	theEnd = m_list.end();
-		ListType::iterator	theCurrent = m_list.begin();
-
-		ListEntryType*	theEntry = 0;
-
-		while(theCurrent != theEnd)
-		{
-			// We're looking for the best fit, so
-			// if the free space and the count we're
-			// looking for are equal, that's pretty
-			// much the best we can do...
-			if ((*theCurrent).first == theCount)
-			{
-				theEntry = &*theCurrent;
-
-				break;
-			}
-			else if ((*theCurrent).first >= theCount)
-			{
-				// If we haven't found anything yet, the first
-				// entry we find that's large enough becomes
-				// our best fit.
-				//
-				// Otherwise, we'll assume that a smaller
-				// slot is a better fit, though I may be
-				// wrong about this...
-				if (theEntry == 0 ||
-					(*theCurrent).first < theEntry->first)
-				{
-					// Nope, so this becomes our best-fit so far.
-					theEntry = &*theCurrent;
-				}
-
-				++theCurrent;
-			}
-			else
-			{
-				// Won't fit, so just continue...
-				++theCurrent;
-			}
-		}
-
-		m_lastEntryFound = theEntry;
-
-		return theEntry;
-	}
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeAttributesVector.hpp b/src/XalanSourceTree/XalanSourceTreeAttributesVector.hpp
deleted file mode 100644
index 7b5b6c7..0000000
--- a/src/XalanSourceTree/XalanSourceTreeAttributesVector.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCEATTRIBUTESVECTOR_HEADER_GUARD_1357924680)
-#define XALANSOURCEATTRIBUTESVECTOR_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <list>
-#include <utility>
-#include <vector>
-
-
-
-class XalanSourceTreeAttr;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeAttributesVector
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanSourceTreeAttr*>	VectorType;
-	typedef VectorType::size_type			size_type;
-	typedef pair<size_type, VectorType>		ListEntryType;
-	typedef list<ListEntryType>				ListType;
-#else
-	typedef std::vector<XalanSourceTreeAttr*>	VectorType;
-	typedef VectorType::size_type				size_type;
-	typedef std::pair<size_type, VectorType>	ListEntryType;
-	typedef std::list<ListEntryType>			ListType;
-#endif
-
-    // Default size for vector allocation.
-	enum { eDefaultBlockSize = 500 };
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theBlockSize The block size when allocating.
-	 */
-	XalanSourceTreeAttributesVector(size_type	theBlockSize = eDefaultBlockSize);
-
-	~XalanSourceTreeAttributesVector();
-
-
-	/**
-	 * Allocate slots for the given number of pointers to XalanSourceTreeAttr
-	 * instance and return the address of the slots.
-	 *
-	 * @param theCount The number of slots to allocate
-	 */
-	XalanSourceTreeAttr**
-	allocate(size_type	theCount);
-
-private:
-
-	// Utility functions...
-	XalanSourceTreeAttr**
-	createEntry(
-			size_type	theBlockSize,
-			size_type	theCount);
-
-	ListEntryType*
-	findEntry(size_type		theCount);
-
-	// Not implemented...
-	XalanSourceTreeAttributesVector(const XalanSourceTreeAttributesVector&	theSource);
-
-	XalanSourceTreeAttributesVector&
-	operator=(const XalanSourceTreeAttributesVector&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeAttributesVector&	theRHS) const;
-
-
-	// Data members...
-	ListType			m_list;
-
-	const size_type		m_blockSize;
-
-	ListEntryType*		m_lastEntryFound;
-};
-
-
-
-#endif	// !defined(XALANSOURCEATTRIBUTESVECTOR_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeComment.cpp b/src/XalanSourceTree/XalanSourceTreeComment.cpp
deleted file mode 100644
index c86cfb9..0000000
--- a/src/XalanSourceTree/XalanSourceTreeComment.cpp
+++ /dev/null
@@ -1,532 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeComment.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeDocumentFragment.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeProcessingInstruction.hpp"
-#include "XalanSourceTreeText.hpp"
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeComment::XalanSourceTreeComment(
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex) :
-	XalanComment(),
-	m_data(theData),
-	m_ownerDocument(theOwnerDocument),
-	m_parentNode(theParentNode),
-	m_previousSibling(thePreviousSibling),
-	m_nextSibling(theNextSibling),
-	m_index(theIndex)
-{
-}
-
-
-
-XalanSourceTreeComment::~XalanSourceTreeComment()
-{
-}
-
-
-
-XalanSourceTreeComment::XalanSourceTreeComment(
-			const XalanSourceTreeComment&	theSource,
-			bool							/* deep */) :
-	XalanComment(theSource),
-	m_data(theSource.m_data),
-	m_parentNode(0),
-	m_previousSibling(0),
-	m_nextSibling(0),
-	m_index(0)
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeComment::getNodeName() const
-{
-	return s_nameString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeComment::getNodeValue() const
-{
-	return m_data;
-}
-
-
-
-XalanSourceTreeComment::NodeType
-XalanSourceTreeComment::getNodeType() const
-{
-	return COMMENT_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::getParentNode() const
-{
-	assert(m_ownerDocument != 0);
-
-	if (m_parentNode != 0)
-	{
-		return m_parentNode;
-	}
-	else
-	{
-		return m_ownerDocument;
-	}
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeComment::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::getPreviousSibling() const
-{
-	return m_previousSibling;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::getNextSibling() const
-{
-	return m_nextSibling;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeComment::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XalanSourceTreeComment::getOwnerDocument() const
-{
-	assert(m_ownerDocument != 0);
-
-	return m_ownerDocument;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeComment*
-#endif
-XalanSourceTreeComment::cloneNode(bool	deep) const
-{
-	return new XalanSourceTreeComment(*this, deep);
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeComment::appendChild(XalanNode*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeComment::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XalanSourceTreeComment::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeComment::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeComment::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeComment::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeComment::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeComment::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XalanSourceTreeComment::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeComment::isIndexed() const
-{
-	return true;
-}
-
-
-
-unsigned long
-XalanSourceTreeComment::getIndex() const
-{
-	return m_index;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeComment::getData() const
-{
-	return m_data;
-}
-
-
-
-unsigned int
-XalanSourceTreeComment::getLength() const
-{
-	assert(unsigned(length(m_data)) == length(m_data));
-
-	return unsigned(length(m_data));
-}
-
-
-
-XalanDOMString
-XalanSourceTreeComment::substringData(
-			unsigned int	offset,
-			unsigned int	count) const
-{
-	return m_data.substr(offset, count);
-}
-
-
-
-void
-XalanSourceTreeComment::appendData(const XalanDOMString&	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeComment::insertData(
-			unsigned int			/* offset */,
-			const  XalanDOMString& 	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeComment::deleteData(
-			unsigned int	/* offset */,
-			unsigned int	/* count */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeComment::replaceData(
-			unsigned int			/* offset */,
-			unsigned int			/* count */,
-			const XalanDOMString&	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeComment::setParent(XalanSourceTreeElement*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeComment::setParent(XalanSourceTreeDocumentFragment*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeComment::setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeComment::setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeComment::setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeComment::setPreviousSibling(XalanSourceTreeText*		thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeComment::appendSiblingNode(XalanSourceTreeComment*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeComment::appendSiblingNode(XalanSourceTreeElement*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeComment::appendSiblingNode(XalanSourceTreeProcessingInstruction*		theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeComment::appendSiblingNode(XalanSourceTreeText*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-static XalanDOMString	s_nameString;
-
-
-
-const XalanDOMString&	XalanSourceTreeComment::s_nameString = ::s_nameString;
-
-
-
-void
-XalanSourceTreeComment::initialize()
-{
-	::s_nameString = XALAN_STATIC_UCODE_STRING("#comment");
-}
-
-
-
-void
-XalanSourceTreeComment::terminate()
-{
-	releaseMemory(::s_nameString);
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeComment.hpp b/src/XalanSourceTree/XalanSourceTreeComment.hpp
deleted file mode 100644
index e83d8b1..0000000
--- a/src/XalanSourceTree/XalanSourceTreeComment.hpp
+++ /dev/null
@@ -1,674 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREECOMMENT_HEADER_GUARD_1357924680)
-#define XALANSOURCETREECOMMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanComment.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanSourceTreeDocument;
-class XalanSourceTreeDocumentFragment;
-class XalanSourceTreeElement;
-class XalanSourceTreeProcessingInstruction;
-class XalanSourceTreeText;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the Xalan source tree Attr interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeComment : public XalanComment
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XalanSourceTreeInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XalanSourceTreeInit.
-	 */
-	static void
-	terminate();
-
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theData The text data of the node.
-	 * @param theOwnerDocument The owner document of the comment node.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeComment(
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	virtual
-	~XalanSourceTreeComment();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeComment*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanCDATASection...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>DOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>DOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>DOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>DOMString</code> specified.
-	 * @param arg The <code>DOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg);
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>DOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg);
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count);
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>DOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-
-  //@}
-
-
-	// public interfaces not inherited from XalanComment...
-
-	void
-	setParent(XalanSourceTreeElement*	theParent);
-
-	void
-	setParent(XalanSourceTreeDocumentFragment*	theParent);
-
-	void
-	setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeText*		thePreviousSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeComment*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeElement*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeProcessingInstruction*		theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeText*	theSibling);
-
-	void
-	setIndex(unsigned int	theIndex)
-	{
-		m_index = theIndex;
-	}
-
-protected:
-
-	XalanSourceTreeComment(
-			const XalanSourceTreeComment&	theSource,
-			bool							deep = false);
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeComment&
-	operator=(const XalanSourceTreeComment&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeComment&	theRHS) const;
-
-
-	// Data members...
-	const XalanDOMString&			m_data;
-
-	XalanSourceTreeDocument*		m_ownerDocument;
-
-	XalanNode*						m_parentNode;
-
-	XalanNode*						m_previousSibling;
-
-	XalanNode*						m_nextSibling;
-
-	unsigned int					m_index;
-
-	static const XalanDOMString&	s_nameString;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREECOMMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeCommentAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeCommentAllocator.cpp
deleted file mode 100644
index d3b38cc..0000000
--- a/src/XalanSourceTree/XalanSourceTreeCommentAllocator.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeCommentAllocator.hpp"
-
-
-
-XalanSourceTreeCommentAllocator::XalanSourceTreeCommentAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeCommentAllocator::~XalanSourceTreeCommentAllocator()
-{
-}
-
-
-
-XalanSourceTreeCommentAllocator::ObjectType*
-XalanSourceTreeCommentAllocator::create(
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theData,
-						theOwnerDocument,
-						theParentNode,
-						thePreviousSibling,
-						theNextSibling,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeCommentAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeCommentAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeCommentAllocator.hpp
deleted file mode 100644
index dafa180..0000000
--- a/src/XalanSourceTree/XalanSourceTreeCommentAllocator.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREECOMMENTALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREECOMMENTALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeComment.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeCommentAllocator
-{
-public:
-
-	typedef XalanSourceTreeComment					ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeCommentAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeCommentAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theData The data for the comment
-	 * @param theOwnerDocument The owner document of the comment node.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The next sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeCommentAllocator(const XalanSourceTreeCommentAllocator&);
-
-	XalanSourceTreeCommentAllocator&
-	operator=(const XalanSourceTreeCommentAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREECOMMENTALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeContentHandler.cpp b/src/XalanSourceTree/XalanSourceTreeContentHandler.cpp
deleted file mode 100644
index 92f87e9..0000000
--- a/src/XalanSourceTree/XalanSourceTreeContentHandler.cpp
+++ /dev/null
@@ -1,540 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- * 
- * Copyright (c) 1999-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 "Xerces" 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, International
- * Business Machines, Inc., http://www.ibm.com .  For more information
- * on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanSourceTreeContentHandler.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-XalanSourceTreeContentHandler::XalanSourceTreeContentHandler(
-			XalanSourceTreeDocument*	theDocument,
-			bool						fAccumulateText) :
-	ContentHandler(),
-	DTDHandler(),
-	LexicalHandler(),
-	m_document(theDocument),
-	m_currentElement(0),
-	m_elementStack(),
-	m_lastChild(0),
-	m_lastChildStack(),
-	m_accumulateText(fAccumulateText),
-	m_textBuffer(),
-	m_inDTD(false)
-{
-}
-
-
-
-XalanSourceTreeContentHandler::~XalanSourceTreeContentHandler()
-{
-}
-
-
-
-void
-XalanSourceTreeContentHandler::characters(
-			const	XMLCh* const	chars,
-			const unsigned int		length)
-{
-	assert(m_inDTD == false);
-
-	if (m_currentElement == 0)
-	{
-		if (isXMLWhitespace(chars) == false)
-		{
-			throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-		}
-	}
-	else if (m_accumulateText == true)
-	{
-		append(m_textBuffer, chars, length);
-	}
-	else
-	{
-		doCharacters(chars, length);
-	}
-}
-
-
-
-void
-XalanSourceTreeContentHandler::endDocument()
-{
-	assert(m_inDTD == false);
-
-	// Pop off the dummy value that we pushed in 
-	// startDocument()...
-	m_elementStack.pop_back();
-
-	assert(m_document->getDocumentElement() != 0);
-
-	assert(m_elementStack.empty() == true);
-	assert(m_lastChildStack.empty() == true);
-
-	assert(isEmpty(m_textBuffer) == true);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::endElement(
-			const XMLCh* const	/* uri */, 
-			const XMLCh* const	/* localname */, 
-			const XMLCh* const	/* qname */)
-{
-	assert(m_inDTD == false);
-
-	// Process any text that we may have accumulated...
-	processAccumulatedText();
-
-	assert(m_elementStack.empty() == false);
-
-	// Pop the element of the stack...
-	m_elementStack.pop_back();
-
-	assert(m_elementStack.empty() == false);
-
-	// Get the element from the back of the
-	// stack.
-	m_currentElement = m_elementStack.back();
-
-	assert(m_lastChildStack.empty() == false);
-
-	m_lastChild = m_lastChildStack.back();
-
-	// Pop the last child stack
-	m_lastChildStack.pop_back();
-}
-
-
-
-// A helper function to manage appending the new child.
-template <class ParentNodeType, class ChildNodeType>
-inline void
-doAppendChildNode(
-			ParentNodeType*		theParent,
-			XalanNode*&			theLastChild,
-			ChildNodeType		theNewChild)
-{
-	assert(theParent != 0);
-	assert(theNewChild != 0);
-
-	if (theLastChild == 0)
-	{
-		theParent->appendChildNode(theNewChild);
-	}
-	else
-	{
-		XalanSourceTreeHelper::appendSibling(theLastChild, theNewChild);
-	}
-
-	theLastChild = theNewChild;
-}
-
-
-
-// A helper function to manage appending the new child.
-template <class ChildNodeType>
-inline void
-doAppendChildNode(
-			XalanSourceTreeDocument*	theDocument,
-			XalanSourceTreeElement*		theCurrentElement,
-			XalanNode*&					theLastChild,
-			ChildNodeType				theNewChild)
-{
-	assert(theDocument != 0);
-	assert(theNewChild != 0);
-
-	if (theCurrentElement == 0)
-	{
-		// If there is no current element. it means we haven't
-		// created the document element yet, so always append
-		// to the document, rather than the last child.
-		theDocument->appendChildNode(theNewChild);
-	}
-	else
-	{
-		doAppendChildNode(theCurrentElement, theLastChild, theNewChild);
-	}
-}
-
-
-
-void
-XalanSourceTreeContentHandler::ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	assert(m_inDTD == false);
-
-	// Ignore any whitespace reported before the document element has been parsed.
-	if (m_elementStack.empty() == false)
-	{
-		assert(m_currentElement != 0);
-
-		processAccumulatedText();
-
-		XalanSourceTreeText*	theNewTextNode =
-			m_document->createTextIWSNode(chars, length, m_currentElement);
-
-		doAppendChildNode(m_currentElement, m_lastChild, theNewTextNode);
-	}
-}
-
-
-
-void
-XalanSourceTreeContentHandler::processingInstruction(
-		const XMLCh* const	target,
-		const XMLCh* const	data)
-{
-	assert(m_inDTD == false);
-
-	processAccumulatedText();
-
-	XalanSourceTreeProcessingInstruction* const		theNewPI =
-		m_document->createProcessingInstructionNode(target, data, m_currentElement);
-
-	doAppendChildNode(
-			m_document,
-			m_currentElement,
-			m_lastChild,
-			theNewPI);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::setDocumentLocator(const Locator* const	/* locator */)
-{
-}
-
-
-
-void
-XalanSourceTreeContentHandler::startDocument()
-{
-	assert(m_inDTD == false);
-
-	m_currentElement = 0;
-
-	m_elementStack.clear();
-
-	m_elementStack.reserve(eDefaultStackSize);
-
-	m_lastChild = 0;
-
-	m_lastChildStack.clear();
-
-	m_lastChildStack.reserve(eDefaultStackSize);
-
-	if (m_accumulateText == true)
-	{
-		clear(m_textBuffer);
-
-		reserve(m_textBuffer, eDefaultTextBufferSize);
-	}
-
-	// Push a dummy value for the current element, so we
-	// don't have to check for an empty stack in endElement().
-	m_elementStack.push_back(ElementStackType::value_type(0));
-}
-
-
-
-void
-XalanSourceTreeContentHandler::startElement(
-			const XMLCh* const	uri,
-			const XMLCh* const	localname,
-			const XMLCh* const	qname,
-			const Attributes& 	attrs)
-{
-	assert(m_inDTD == false);
-
-	processAccumulatedText();
-
-	XalanSourceTreeElement* const	theNewElement =
-		createElement(uri, localname, qname, attrs, m_currentElement);
-
-	doAppendChildNode(
-			m_document,
-			m_currentElement,
-			m_lastChild,
-			theNewElement);
-
-	m_elementStack.push_back(theNewElement);
-
-	m_lastChildStack.push_back(m_lastChild);
-
-	m_currentElement = theNewElement;
-
-	m_lastChild = 0;
-}
-
-
-
-void
-XalanSourceTreeContentHandler::startPrefixMapping(
-		const XMLCh* const	/* prefix */,
-		const XMLCh* const	/* uri */)
-{
-	assert(m_inDTD == false);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::endPrefixMapping(const XMLCh* const	/* prefix */)
-{
-	assert(m_inDTD == false);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::skippedEntity(const XMLCh* const		/* name */)
-{
-}
-
-
-
-void
-XalanSourceTreeContentHandler::notationDecl(
-			const XMLCh* const    name,
-			const XMLCh* const    publicId,
-			const XMLCh* const    systemId)
-{
-}
-
-
-
-void
-XalanSourceTreeContentHandler::unparsedEntityDecl(
-			const XMLCh* const    name,
-			const XMLCh* const    publicId,
-			const XMLCh* const    systemId,
-			const XMLCh* const    notationName)
-{
-	assert(m_document != 0);
-
-	m_document->unparsedEntityDeclaration(name, publicId, systemId, notationName);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::resetDocType()
-{
-}
-
-
-
-void
-XalanSourceTreeContentHandler::comment(
-			const XMLCh* const	chars,
-			const unsigned int	length)
-{
-	assert(m_document != 0);
-
-	if (m_inDTD == false)
-	{
-		processAccumulatedText();
-
-		XalanSourceTreeComment* const	theNewComment =
-			m_document->createCommentNode(chars, length, m_currentElement);
-
-		doAppendChildNode(
-				m_document,
-				m_currentElement,
-				m_lastChild,
-				theNewComment);
-	}
-}
-
-
-
-void
-XalanSourceTreeContentHandler::endCDATA()
-{
-	assert(m_inDTD == false);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::endDTD()
-{
-	m_inDTD = false;
-
-	assert(m_document != 0);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::endEntity(const XMLCh* const		name)
-{
-	assert(m_document != 0);
-}
-
-
-void
-XalanSourceTreeContentHandler::startCDATA()
-{
-	assert(m_inDTD == false);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::startDTD(
-			const XMLCh* const	name,
-			const XMLCh* const	publicId,
-			const XMLCh* const	systemId)
-{
-	assert(m_inDTD == false);
-	assert(m_document != 0);
-
-	m_inDTD = true;
-}
-
-
-
-void
-XalanSourceTreeContentHandler::startEntity(const XMLCh* const	name)
-{
-	assert(m_document != 0);
-}
-
-
-
-void
-XalanSourceTreeContentHandler::setDocument(XalanSourceTreeDocument*	theDocument)
-{
-	m_document = theDocument;
-}
-
-
-
-XalanSourceTreeElement*
-XalanSourceTreeContentHandler::createElement(
-			const XMLCh* const			uri,
-			const XMLCh* const			localname,
-			const XMLCh* const			qname,
-			const Attributes& 			attrs,
-			XalanSourceTreeElement*		theOwnerElement)
-{
-	assert(m_inDTD == false);
-
-	// If we're creating the document element, add the special xml namespace attribute...
-	const bool	fAddXMLNamespaceAttribute = theOwnerElement == 0 ? true : false;
-
-	if (length(uri) != 0)
-	{
-		return m_document->createElementNode(uri, localname, qname, attrs, theOwnerElement, 0, 0, fAddXMLNamespaceAttribute);
-	}
-	else
-	{
-		return m_document->createElementNode(qname, attrs, theOwnerElement, 0, 0, fAddXMLNamespaceAttribute);
-	}
-}
-
-
-
-void
-XalanSourceTreeContentHandler::processAccumulatedText()
-{
-	assert(m_inDTD == false);
-
-	if (isEmpty(m_textBuffer) == false)
-	{
-		assert(unsigned(length(m_textBuffer)) == length(m_textBuffer));
-
-		doCharacters(c_wstr(m_textBuffer), length(m_textBuffer));
-
-		clear(m_textBuffer);
-	}
-}
-
-
-
-void
-XalanSourceTreeContentHandler::doCharacters(
-			const XMLCh*	chars,
-			unsigned int	length)
-{
-	assert(m_inDTD == false);
-
-	assert(m_currentElement != 0);
-
-	XalanSourceTreeText*	theNewTextNode = 
-				m_document->createTextNode(chars, length, m_currentElement);
-
-	doAppendChildNode(m_currentElement, m_lastChild, theNewTextNode);
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeContentHandler.hpp b/src/XalanSourceTree/XalanSourceTreeContentHandler.hpp
deleted file mode 100644
index 3fe35ba..0000000
--- a/src/XalanSourceTree/XalanSourceTreeContentHandler.hpp
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- * 
- * Copyright (c) 1999-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 "Xerces" 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, International
- * Business Machines, Inc., http://www.ibm.com .  For more information
- * on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREECONTENTHANDLER_HEADER_GUARD_1357924680)
-#define XALANSOURCETREECONTENTHANDLER_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <xercesc/sax/DocumentHandler.hpp>
-#include <xercesc/sax/DTDHandler.hpp>
-#include <xercesc/sax2/ContentHandler.hpp>
-#include <xercesc/sax2/LexicalHandler.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanNode;
-class XalanSourceTreeDocument;
-class XalanSourceTreeElement;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeContentHandler : public ContentHandler, public DTDHandler, public LexicalHandler
-{
-public:
-	/** @name Constructors and Destructor */
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<XalanSourceTreeElement*> 		ElementStackType;
-	typedef vector<XalanNode*> 						LastChildStackType;
-#else
-	typedef std::vector<XalanSourceTreeElement*>	ElementStackType;
-	typedef std::vector<XalanNode*> 				LastChildStackType;
-#endif
-
-	enum { eDefaultStackSize = 50, eDefaultTextBufferSize = 100 };
-
-
-	// Constructor
-	explicit
-	XalanSourceTreeContentHandler(
-			XalanSourceTreeDocument*	theDocument = 0,
-			bool						fAccumulateText = true);
-
-	virtual
-	~XalanSourceTreeContentHandler();
-
-
-	// Inherited from ContentHandler...
-	virtual void
-	characters(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	endDocument();
-
-	virtual void
-	endElement(
-			const XMLCh* const	uri, 
-			const XMLCh* const	localname, 
-			const XMLCh* const	qname);
-
-	virtual void
-	ignorableWhitespace(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	processingInstruction(
-		const XMLCh* const	target,
-		const XMLCh* const	data);
-
-	virtual void
-	setDocumentLocator(const Locator* const 	locator);
-
-	virtual void
-	startDocument();
-
-	virtual void
-	startElement(
-			const XMLCh* const	uri,
-			const XMLCh* const	localname,
-			const XMLCh* const	qname,
-			const Attributes&	attrs);
-
-	virtual void
-	startPrefixMapping(
-		const XMLCh* const	prefix,
-		const XMLCh* const	uri);
-
-	virtual void
-	endPrefixMapping(const XMLCh* const 	prefix);
-
-
-	virtual void
-	skippedEntity(const XMLCh* const	name);
-
-
-	// Inherited from DTDHandler...
-
-	virtual void
-	notationDecl(
-			const XMLCh* const	  name,
-			const XMLCh* const	  publicId,
-			const XMLCh* const	  systemId);
-
-	virtual void
-	unparsedEntityDecl(
-			const XMLCh* const	  name,
-			const XMLCh* const	  publicId,
-			const XMLCh* const	  systemId,
-			const XMLCh* const	  notationName);
-
-	virtual void
-	resetDocType();
-
-
-	// Inherited from LexicalHandler...
-
-	virtual void
-	comment(
-			const XMLCh* const	chars,
-			const unsigned int	length);
-
-	virtual void
-	endCDATA();
-
-	virtual void
-	endDTD();
-
-	virtual void
-	endEntity(const XMLCh* const	name);
-
-	virtual void
-	startCDATA();
-
-	virtual void
-	startDTD(
-			const XMLCh* const	name,
-			const XMLCh* const	publicId,
-			const XMLCh* const	systemId);
-
-	virtual void
-	startEntity(const XMLCh* const	name);
-
-	
-	// New to XalanSourceTreeContentHandler...
-
-	XalanSourceTreeDocument*
-	getDocument() const
-	{
-		return m_document;
-	}
-
-	void
-	setDocument(XalanSourceTreeDocument*	theDocument);
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeContentHandler(const XalanSourceTreeContentHandler&);
-
-	XalanSourceTreeContentHandler&
-	operator=(const XalanSourceTreeContentHandler&);
-
-	bool
-	operator==(const XalanSourceTreeContentHandler&) const;
-
-	// Helper functions...
-	XalanSourceTreeElement*
-	createElement(
-			const XMLCh* const			uri,
-			const XMLCh* const			localname,
-			const XMLCh* const			qname,
-			const Attributes&			attrs,
-			XalanSourceTreeElement* 	theOwnerElement);
-
-	void
-	processAccumulatedText();
-
-	void
-	doCharacters(
-			const XMLCh*	chars,
-			unsigned int	length);
-
-
-	// Data members...
-
-	// The current document we're building...
-	XalanSourceTreeDocument*	m_document;
-
-	// The current element...
-	XalanSourceTreeElement* 	m_currentElement;
-
-	// Stack of elements...
-	ElementStackType			m_elementStack;
-
-	// The last child appended to the current element.  This is
-	// an important optimization, because XalanSourceTreeElement
-	// does not have a pointer to it's last child.  Without this,
-	// appending a child becomes a linear search.
-	XalanNode* 					m_lastChild;
-
-	// Stack of last children appended.  There is a ono-to-one
-	// correspondance to the entries in m_elementStack.
-	LastChildStackType			m_lastChildStack;
-
-	// If true, the handler will accumulate text from calls to
-	// characters() until another event triggers the creation
-	// of the node.
-	const bool					m_accumulateText;
-
-	// A buffer to hold accumulated text.
-	XalanDOMString				m_textBuffer;
-
-	// A flag to determine if the DTD is being processed.
-	bool						m_inDTD;
-};
-
-
-
-#endif	// #if !defined(XALANSOURCETREECONTENTHANDLER_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeDOMSupport.cpp b/src/XalanSourceTree/XalanSourceTreeDOMSupport.cpp
deleted file mode 100644
index 723660c..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDOMSupport.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeDOMSupport.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeParserLiaison.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeDOMSupport::XalanSourceTreeDOMSupport() :
-	DOMSupport(),
-	m_parserLiaison(0)
-{
-}
-
-
-
-XalanSourceTreeDOMSupport::~XalanSourceTreeDOMSupport()
-{
-}
-
-
-
-void
-XalanSourceTreeDOMSupport::reset()
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDOMSupport::getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const
-{
-	if (m_parserLiaison != 0)
-	{
-		const XalanSourceTreeDocument* const	theXSTDocument =
-			m_parserLiaison->mapDocument(&theDocument);
-
-		if (theXSTDocument != 0)
-		{
-			return theXSTDocument->getUnparsedEntityURI(theName);
-		}
-	}
-
-	return s_emptyString;
-}
-
-
-
-bool
-XalanSourceTreeDOMSupport::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-{
-	assert(node1.isIndexed() == true && node2.isIndexed() == true);
-
-	return node1.getIndex() > node2.getIndex() ? true : false;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeDOMSupport.hpp b/src/XalanSourceTree/XalanSourceTreeDOMSupport.hpp
deleted file mode 100644
index ac09b23..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDOMSupport.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEDOMSUPPORT_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEDOMSUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-class XalanSourceTreeParserLiaison;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeDOMSupport : public DOMSupport
-{
-public:
-
-	explicit
-	XalanSourceTreeDOMSupport();
-
-	virtual
-	~XalanSourceTreeDOMSupport();
-
-	virtual void
-	reset();
-
-	// These interfaces are inherited from DOMSupport...
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const;
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const;
-
-	const XalanSourceTreeParserLiaison*
-	getParserLiaison() const
-	{
-		return m_parserLiaison;
-	}
-
-	void
-	setParserLiaison(const XalanSourceTreeParserLiaison*	theParserLiaison)
-	{
-		m_parserLiaison = theParserLiaison;
-	}
-
-private:
-
-	const XalanSourceTreeParserLiaison*		m_parserLiaison;
-};
-
-
-
-#endif	// XALANSOURCETREEDOMSUPPORT_HEADER_GUARD_1357924680
diff --git a/src/XalanSourceTree/XalanSourceTreeDefinitions.hpp b/src/XalanSourceTree/XalanSourceTreeDefinitions.hpp
deleted file mode 100644
index c1e57f6..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDefinitions.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEDEFINITIONS_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_XALANSOURCETREE_BUILD_DLL)
-
-#define XALAN_XALANSOURCETREE_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_XALANSOURCETREE_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_XALANSOURCETREE_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_XALANSOURCETREE_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// XALANSOURCETREEDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XalanSourceTree/XalanSourceTreeDocument.cpp b/src/XalanSourceTree/XalanSourceTreeDocument.cpp
deleted file mode 100644
index f1a528b..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDocument.cpp
+++ /dev/null
@@ -1,1445 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeDocument.hpp"
-
-
-
-#include <xercesc/sax/AttributeList.hpp>
-#include <xercesc/sax2/Attributes.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeDocument::XalanSourceTreeDocument(
-			bool				fPoolAllText,
-			block_size_type		theNamesStringPoolBlockSize,
-			bucket_count_type	theNamesStringPoolBucketCount,
-			bucket_size_type	theNamesStringPoolBucketSize,
-			block_size_type		theValuesStringPoolBlockSize,
-			bucket_count_type	theValuesStringPoolBucketCount,
-			bucket_size_type	theValuesStringPoolBucketSize) :
-	XalanDocument(),
-	m_firstChild(0),
-	m_documentElement(0),
-	m_attributeAllocator(eDefaultAttributeAllocatorBlockSize),
-	m_attributeNSAllocator(eDefaultAttributeNSAllocatorBlockSize),
-	m_commentAllocator(eDefaultCommentAllocatorBlockSize),
-	m_elementAllocator(eDefaultElementAllocatorBlockSize),
-	m_elementNSAllocator(eDefaultElementNSAllocatorBlockSize),
-	m_piAllocator(eDefaultPIAllocatorBlockSize),
-	m_textAllocator(eDefaultTextAllocatorBlockSize),
-	m_textIWSAllocator(eDefaultTextIWSAllocatorBlockSize),
-	m_namesStringPool(theNamesStringPoolBlockSize, theNamesStringPoolBucketCount, theNamesStringPoolBucketSize),
-	m_valuesStringPool(theValuesStringPoolBlockSize, theValuesStringPoolBucketCount, theValuesStringPoolBucketSize),
-	m_attributesVector(),
-	m_nextIndexValue(2),
-	m_poolAllText(fPoolAllText),
-	m_elementsByID(),
-	m_unparsedEntityURIs(),
-	m_nonPooledStrings(),
-	m_stringBuffer()
-{
-}
-
-
-
-XalanSourceTreeDocument::XalanSourceTreeDocument(
-			allocator_size_type		theAttributeBlockSize,
-			allocator_size_type		theAttributeNSBlockSize,
-			allocator_size_type		theCommentBlockSize,
-			allocator_size_type		theElementBlockSize,
-			allocator_size_type		theElementNSBlockSize,
-			allocator_size_type		thePIBlockSize,
-			allocator_size_type		theTextBlockSize,
-			allocator_size_type		theTextIWSBlockSize,
-			bool					fPoolAllText) :
-	XalanDocument(),
-	m_firstChild(0),
-	m_documentElement(0),
-	m_attributeAllocator(theAttributeBlockSize),
-	m_attributeNSAllocator(theAttributeNSBlockSize),
-	m_commentAllocator(theCommentBlockSize),
-	m_elementAllocator(theElementBlockSize),
-	m_elementNSAllocator(theElementNSBlockSize),
-	m_piAllocator(thePIBlockSize),
-	m_textAllocator(theTextBlockSize),
-	m_textIWSAllocator(theTextIWSBlockSize),
-	m_namesStringPool(eDefaultNamesStringPoolBlockSize, eDefaultNamesStringPoolBucketCount, eDefaultNamesStringPoolBucketSize),
-	m_valuesStringPool(eDefaultValuesStringPoolBlockSize, eDefaultValuesStringPoolBucketCount, eDefaultValuesStringPoolBucketSize),
-	m_attributesVector(),
-	m_nextIndexValue(2),
-	m_poolAllText(fPoolAllText),
-	m_elementsByID(),
-	m_unparsedEntityURIs(),
-	m_nonPooledStrings(),
-	m_stringBuffer()
-{
-}
-
-
-
-XalanSourceTreeDocument::~XalanSourceTreeDocument()
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocument::getNodeName() const
-{
-	return s_nameString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocument::getNodeValue() const
-{
-	return s_emptyString;
-}
-
-
-
-XalanSourceTreeDocument::NodeType
-XalanSourceTreeDocument::getNodeType() const
-{
-	return DOCUMENT_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeDocument::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::getFirstChild() const
-{
-	return m_firstChild;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::getLastChild() const
-{
-	return m_documentElement;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeDocument::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XalanSourceTreeDocument::getOwnerDocument() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeDocument*
-#endif
-XalanSourceTreeDocument::cloneNode(bool		/* deep */) const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::removeChild(XalanNode*	 /* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::appendChild(XalanNode*		/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeDocument::hasChildNodes() const
-{
-	return m_documentElement != 0 ? true : false;
-}
-
-
-
-void
-XalanSourceTreeDocument::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeDocument::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-bool
-XalanSourceTreeDocument::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocument::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocument::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocument::getLocalName() const
-{
-	return s_nameString;
-}
-
-
-
-void
-XalanSourceTreeDocument::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeDocument::isIndexed() const
-{
-	return true;
-}
-
-
-
-unsigned long
-XalanSourceTreeDocument::getIndex() const
-{
-	return 1;
-}
-
-
-
-XalanElement*
-XalanSourceTreeDocument::createElement(const XalanDOMString&	/* tagName */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanDocumentFragment*
-XalanSourceTreeDocument::createDocumentFragment()
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanText*
-XalanSourceTreeDocument::createTextNode(const XalanDOMString&	/* data */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanComment*
-XalanSourceTreeDocument::createComment(const XalanDOMString&	/* data */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanCDATASection*
-XalanSourceTreeDocument::createCDATASection(const XalanDOMString&	/* data */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanProcessingInstruction*
-XalanSourceTreeDocument::createProcessingInstruction(
-			const XalanDOMString&	/* target */,
-			const XalanDOMString&	/* data */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanAttr*
-XalanSourceTreeDocument::createAttribute(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanEntityReference*
-XalanSourceTreeDocument::createEntityReference(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanDocumentType*
-XalanSourceTreeDocument::getDoctype() const
-{
-	return 0;
-}
-
-
-
-
-XalanDOMImplementation*
-XalanSourceTreeDocument::getImplementation() const
-{
-	return 0;
-}
-
-
-
-XalanElement*
-XalanSourceTreeDocument::getDocumentElement() const
-{
-	return m_documentElement;
-}
-
-
-
-XalanNodeList*
-XalanSourceTreeDocument::getElementsByTagName(const XalanDOMString&	/* tagname */) const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocument::importNode(
-			XalanNode*	/* importedNode */,
-			bool		/* deep */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-XalanElement*
-XalanSourceTreeDocument::createElementNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* qualifiedName */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-XalanAttr*
-XalanSourceTreeDocument::createAttributeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* qualifiedName */)
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-XalanNodeList*
-XalanSourceTreeDocument::getElementsByTagNameNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	// Not supported
-	return 0;
-}
-
-
-
-XalanElement*
-XalanSourceTreeDocument::getElementById(const XalanDOMString&	elementId) const
-{
-	const ElementByIDMapType::const_iterator	i =
-		m_elementsByID.find(c_wstr(elementId));
-
-	if (i == m_elementsByID.end())
-	{
-		return 0;
-	}
-	else
-	{
-		return (*i).second;
-	}
-}
-
-
-
-static bool
-hasXMLNamespaceAttribute(const AttributeList&	attrs)
-{
-	const unsigned int	theLength = attrs.getLength();
-
-	for (unsigned int i = 0; i < theLength; ++i)
-	{
-		const XalanDOMChar* const	theName =
-			attrs.getName(i);
-		assert(theName != 0);
-
-		if(equals(theName, DOMServices::s_XMLNamespacePrefix) == true)
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-static bool
-hasXMLNamespaceAttribute(const Attributes&	attrs)
-{
-	const unsigned int	theLength = attrs.getLength();
-
-	for (unsigned int i = 0; i < theLength; ++i)
-	{
-		const XalanDOMChar* const	theName =
-			attrs.getQName(i);
-		assert(theName != 0);
-
-		if(equals(theName, DOMServices::s_XMLNamespacePrefix) == true)
-		{
-			return true;
-		}
-	}
-
-	return false;
-}
-
-
-
-XalanSourceTreeElement*
-XalanSourceTreeDocument::createElementNode(
-			const XalanDOMChar*		name,
-			const AttributeList&	attrs,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			bool					fAddXMLNamespaceAttribute)
-{
-	// We might have typedef'ed this to something smaller than unsigned int.
-	AttributesCountType		theAttributeCount = AttributesCountType(attrs.getLength());
-
-	// assert that we didn't lose anything...
-	assert(theAttributeCount == attrs.getLength());
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		if (hasXMLNamespaceAttribute(attrs) == true)
-		{
-			fAddXMLNamespaceAttribute = false;
-		}
-		else
-		{
-			++theAttributeCount;
-		}
-	}
-
-	XalanSourceTreeAttr** const		theAttributeVector =
-		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
-
-	XalanSourceTreeElement* const	theNewElement =
-			m_elementAllocator.create(
-				m_namesStringPool.get(name),
-				this,
-				theAttributeVector,
-				theAttributeCount,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-	assert(theNewElement != 0);
-
-	size_t	theIndex = 0;
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		// The constructor parameters for AttrNS are:
-		//
-		// name
-		// local name
-		// namespace URI
-		// prefix
-		// value
-		// owner element
-		// index
-		//
-		theAttributeVector[theIndex] =
-				m_attributeNSAllocator.create(
-						m_namesStringPool.get(DOMServices::s_XMLNamespacePrefix),
-						m_namesStringPool.get(DOMServices::s_XMLString),
-						m_namesStringPool.get(DOMServices::s_XMLNamespacePrefixURI),
-						m_namesStringPool.get(DOMServices::s_XMLNamespace),
-						m_valuesStringPool.get(DOMServices::s_XMLNamespaceURI),
-						theNewElement,
-						m_nextIndexValue++);
-
-		assert(theAttributeVector[theIndex] != 0);
-
-		++theIndex;
-	}
-
-	const AttributesCountType	theSAXAttributeCount = attrs.getLength();
-
-	// Now, create the attributes...
-	for(AttributesCountType i = 0; i < theSAXAttributeCount; ++i, ++theIndex)
-	{
-		const XalanDOMChar* const	theName =
-			attrs.getName(i);
-		assert(theName != 0);
-
-		const XalanDOMChar* const	theValue =
-			attrs.getValue(i);
-		assert(theValue != 0);
-
-		theAttributeVector[theIndex] =
-			m_attributeAllocator.create(
-				m_namesStringPool.get(theName),
-				m_valuesStringPool.get(theValue),
-				theNewElement,
-				m_nextIndexValue++);
-
-		assert(theAttributeVector[theIndex] != 0);
-	}
-
-	return theNewElement;
-}
-
-
-
-XalanSourceTreeElement*
-XalanSourceTreeDocument::createElementNode(
-			const XalanDOMChar*		tagName,
-			const AttributeList&	attrs,
-			const PrefixResolver&	thePrefixResolver,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			bool					fAddXMLNamespaceAttribute)
-{
-	// We might have typedef'ed this to something smaller than unsigned int.
-	AttributesCountType		theAttributeCount = AttributesCountType(attrs.getLength());
-
-	// assert that we didn't lose anything...
-	assert(theAttributeCount == attrs.getLength());
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		if (hasXMLNamespaceAttribute(attrs) == true)
-		{
-			fAddXMLNamespaceAttribute = false;
-		}
-		else
-		{
-			++theAttributeCount;
-		}
-	}
-
-	XalanSourceTreeAttr** const		theAttributeVector =
-		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
-
-	XalanSourceTreeElement* const	theNewElement =
-		createElementNode(
-			tagName,
-			theAttributeVector,
-			theAttributeCount,
-			theParentNode,
-			thePreviousSibling,
-			theNextSibling,
-			thePrefixResolver);
-
-	assert(theNewElement != 0);
-
-	size_t	theIndex = 0;
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		// The constructor parameters for AttrNS are:
-		//
-		// name
-		// local name
-		// namespace URI
-		// prefix
-		// value
-		// owner element
-		// index
-		//
-		theAttributeVector[theIndex] =
-				m_attributeNSAllocator.create(
-						m_namesStringPool.get(DOMServices::s_XMLNamespacePrefix),
-						m_namesStringPool.get(DOMServices::s_XMLString),
-						m_namesStringPool.get(DOMServices::s_XMLNamespacePrefixURI),
-						m_namesStringPool.get(DOMServices::s_XMLNamespace),
-						m_valuesStringPool.get(DOMServices::s_XMLNamespaceURI),
-						theNewElement,
-						m_nextIndexValue++);
-
-		assert(theAttributeVector[theIndex] != 0);
-
-		++theIndex;
-	}
-
-	const AttributesCountType	theSAXAttributeCount = attrs.getLength();
-
-	// Now, create the attributes...
-	for(AttributesCountType i = 0; i < theSAXAttributeCount; ++i, ++theIndex)
-	{
-		const XalanDOMChar* const	theName =
-			attrs.getName(i);
-		assert(theName != 0);
-
-		const XalanDOMChar* const	theValue =
-			attrs.getValue(i);
-		assert(theValue != 0);
-
-		theAttributeVector[theIndex] =
-			createAttribute(
-				theName,
-				theValue,
-				theNewElement,
-				thePrefixResolver);
-
-		assert(theAttributeVector[theIndex] != 0);
-	}
-
-	return theNewElement;
-}
-
-
-
-inline const XalanDOMString&
-getElementNodePrefix(
-			const XalanDOMChar*			qname,
-			XalanDOMStringPool*			theStringPool,
-			XalanDOMString::size_type	theLength,			
-			XalanDOMString::size_type	theColonIndex)
-{
-	if(theColonIndex == theLength)
-	{
-		return theStringPool->get(XalanDOMString()); 
-	}
-	else
-	{
-		return theStringPool->get(qname, theColonIndex);
-	}
-	
-
-}
-
-
-
-XalanSourceTreeElement*
-XalanSourceTreeDocument::createElementNode(
-			const XalanDOMChar*		uri,
-			const XalanDOMChar*		localname,
-			const XalanDOMChar*		qname,
-			const Attributes&		attrs,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			bool					fAddXMLNamespaceAttribute)
-{
-
-	// We might have typedef'ed this to something smaller than unsigned int.
-	AttributesCountType		theAttributeCount = AttributesCountType(attrs.getLength());
-
-	// assert that we didn't lose anything...
-	assert(theAttributeCount == attrs.getLength());
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		if (hasXMLNamespaceAttribute(attrs) == true)
-		{
-			fAddXMLNamespaceAttribute = false;
-		}
-		else
-		{
-			++theAttributeCount;
-		}
-	}
-
-	XalanSourceTreeAttr** const		theAttributeVector =
-		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
-
-	const XalanDOMString::size_type		theColonIndex = indexOf(qname, XalanUnicode::charColon);
-	const XalanDOMString::size_type		theLength = length(qname);
-
-	XalanSourceTreeElement* const	theNewElement =
-		m_elementNSAllocator.create(
-				m_namesStringPool.get(qname),
-				m_namesStringPool.get(localname),
-				m_namesStringPool.get(uri),
-				// This is the prefix...
-				getElementNodePrefix(qname, &m_namesStringPool, theLength, theColonIndex),
-				this,
-				theAttributeVector,
-				theAttributeCount,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-
-	if (theAttributeCount != 0)
-	{
-		createAttributes(attrs, theAttributeVector, theNewElement, fAddXMLNamespaceAttribute);
-	}
-
-	return theNewElement;
-}
-
-
-
-XalanSourceTreeElement*
-XalanSourceTreeDocument::createElementNode(
-			const XalanDOMChar*		name,
-			const Attributes&		attrs,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			bool					fAddXMLNamespaceAttribute)
-{
-	// We might have typedef'ed this to something smaller than unsigned int.
-	AttributesCountType		theAttributeCount = AttributesCountType(attrs.getLength());
-
-	// assert that we didn't lose anything...
-	assert(theAttributeCount == attrs.getLength());
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		if (hasXMLNamespaceAttribute(attrs) == true)
-		{
-			fAddXMLNamespaceAttribute = false;
-		}
-		else
-		{
-			++theAttributeCount;
-		}
-	}
-
-	XalanSourceTreeAttr** const		theAttributeVector =
-		theAttributeCount == 0 ? 0 : m_attributesVector.allocate(theAttributeCount);
-
-	assert(indexOf(name, XalanUnicode::charColon) == length(name));
-
-	XalanSourceTreeElement* const	theNewElement =
-		m_elementAllocator.create(
-				m_namesStringPool.get(name),
-				this,
-				theAttributeVector,
-				theAttributeCount,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-
-	if (theAttributeCount != 0)
-	{
-		createAttributes(attrs, theAttributeVector, theNewElement, fAddXMLNamespaceAttribute);
-	}
-
-	return theNewElement;
-}
-
-
-
-XalanSourceTreeComment*
-XalanSourceTreeDocument::createCommentNode(
-			const XalanDOMChar*			data,
-			XalanDOMString::size_type	length,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling)
-{
-	return m_commentAllocator.create(
-				m_valuesStringPool.get(data, length),
-				this,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-}
-
-
-
-XalanSourceTreeProcessingInstruction*
-XalanSourceTreeDocument::createProcessingInstructionNode(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling)
-{
-	assert(target != 0);
-	assert(data != 0);
-
-	return m_piAllocator.create(
-				m_namesStringPool.get(target),
-				m_valuesStringPool.get(data),
-				this,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-}
-
-
-
-inline const XalanDOMString&
-XalanSourceTreeDocument::getTextNodeString(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length)
-{
-	if (m_poolAllText == true)
-	{
-		return m_valuesStringPool.get(chars, length);
-	}
-	else
-	{
-		const StringCollectionType::iterator	theIterator =
-				m_nonPooledStrings.insert(m_nonPooledStrings.end(), XalanDOMString());
-
-		XalanDOMString&		theString = *theIterator;
-
-		assign(theString, chars, length);
-
-		assert(length == ::length(theString));
-
-		return theString;
-	}
-}
-
-
-
-const XalanDOMString*
-XalanSourceTreeDocument::getNamespaceForPrefix(
-			const XalanDOMChar*		theName,
-			const PrefixResolver&	thePrefixResolver,
-			XalanDOMString&			thePrefix,
-			bool					fUseDefault)
-{
-	const XalanDOMString::size_type		theLength = length(theName);
-	const XalanDOMString::size_type		theColonIndex = indexOf(theName, XalanUnicode::charColon);
-
-	if (theColonIndex != theLength)
-	{
-		// Get the prefix from theName...
-		assign(thePrefix, theName, theColonIndex);
-		assert(length(thePrefix) != 0);
-
-		return thePrefixResolver.getNamespaceForPrefix(thePrefix);
-	}
-	else
-	{
-		clear(thePrefix);
-
-		if (fUseDefault == false)
-		{
-			return 0;
-		}
-		else
-		{
-			return thePrefixResolver.getNamespaceForPrefix(s_emptyString);
-		}
-	}
-}
-
-
-
-XalanSourceTreeText*
-XalanSourceTreeDocument::createTextNode(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling)
-{
-	assert(chars != 0);
-
-	if (isXMLWhitespace(chars, 0, length) == true)
-	{
-		const XalanDOMString&	theString = m_valuesStringPool.get(chars, length);
-
-		return m_textIWSAllocator.create(
-				theString,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-	}
-	else
-	{
-		return m_textAllocator.create(
-				getTextNodeString(chars, length),
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-	}
-}
-
-
-
-XalanSourceTreeText*
-XalanSourceTreeDocument::createTextIWSNode(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling)
-{
-	assert(chars != 0);
-
-	return m_textIWSAllocator.create(
-			m_valuesStringPool.get(chars, length),
-			theParentNode,
-			thePreviousSibling,
-			theNextSibling,
-			m_nextIndexValue++);
-}
-
-
-
-void
-XalanSourceTreeDocument::unparsedEntityDeclaration(
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		publicId,
-			const XalanDOMChar*		systemId,
-			const XalanDOMChar*		notationName)
-{
-	m_unparsedEntityURIs[XalanDOMString(name)] = XalanDOMString(systemId);
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocument::getUnparsedEntityURI(const XalanDOMString&		theName) const
-{
-	const UnparsedEntityURIMapType::const_iterator	i =
-		m_unparsedEntityURIs.find(theName);
-
-	if (i != m_unparsedEntityURIs.end())
-	{
-		return (*i).second;
-	}
-	else
-	{
-		return s_emptyString;
-	}
-}
-
-
-
-XalanSourceTreeAttr*
-XalanSourceTreeDocument::createAttribute(
-			const XalanDOMChar*			theName,
-			const XalanDOMChar*			theValue,
-			XalanSourceTreeElement*		theOwnerElement,
-			const PrefixResolver&		thePrefixResolver)
-{
-	// Get the namespace for the theName.  Since attributes do not use
-	// the default namespace, make sure we don't get it...
-	const XalanDOMString* const		theNamespace =
-		getNamespaceForPrefix(
-				theName,
-				thePrefixResolver,
-				m_stringBuffer,
-				false);
-
-	assert(theNamespace == 0 && length(m_stringBuffer) == 0 ||
-		   theNamespace != 0 && length(m_stringBuffer) != 0);
-
-	if (theNamespace == 0 || length(*theNamespace) == 0)
-	{
-		return m_attributeAllocator.create(
-				m_namesStringPool.get(theName),
-				m_valuesStringPool.get(theValue),
-				theOwnerElement,
-				m_nextIndexValue++);
-	}
-	else
-	{
-		// There must be a prefix, so we don't have to check to see if
-		// we got one...
-
-		// The constructor parameters for AttrNS are:
-		//
-		// name
-		// local name
-		// namespace URI
-		// prefix
-		// value
-		// owner element
-		// index
-		//
-		return m_attributeNSAllocator.create(
-				m_namesStringPool.get(theName),
-				m_namesStringPool.get(theName + length(m_stringBuffer) + 1),
-				m_namesStringPool.get(*theNamespace),
-				// This is the prefix...
-				m_namesStringPool.get(m_stringBuffer),
-				m_valuesStringPool.get(theValue),
-				theOwnerElement,
-				m_nextIndexValue++);
-	}
-}
-
-
-
-XalanSourceTreeElement*
-XalanSourceTreeDocument::createElementNode(
-			const XalanDOMChar*		theTagName,
-			XalanSourceTreeAttr**	theAttributeVector,
-			AttributesCountType		theAttributeCount,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			const PrefixResolver&	thePrefixResolver)
-{
-	const XalanDOMString* const		theNamespace =
-		getNamespaceForPrefix(
-				theTagName,
-				thePrefixResolver,
-				m_stringBuffer,
-				true);
-
-	if (theNamespace == 0 || length(*theNamespace) == 0)
-	{
-		// the prefix was returned by getNamespaceForPrefix()...
-		assert(length(m_stringBuffer) == 0);
-
-		return m_elementAllocator.create(
-				m_namesStringPool.get(theTagName),
-				this,
-				theAttributeVector,
-				theAttributeCount,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-	}
-	else
-	{
-		// We need figure out if there's a prefix on theTagName.  If not,
-		// the local name is the same as the tag name.  Otherwise, we need
-		// to remove the prefix and the ':' that separates them.  If
-		// m_stringBuffer is of length 0, there's no prefix.
-		const XalanDOMString::size_type		thePrefixLength = length(m_stringBuffer);
-
-		const XalanDOMChar* const			theLocalName =
-			thePrefixLength == 0 ? theTagName : theTagName + thePrefixLength + 1;
-
-		// The constructor parameters for ElementNS are:
-		//
-		// tag name
-		// local name
-		// namespace URI
-		// prefix
-		// owner document
-		// attributes
-		// attribute count
-		// parent element
-		// previous sibling
-		// next sibling
-		// index
-		//
-		return m_elementNSAllocator.create(
-				m_namesStringPool.get(theTagName),
-				m_namesStringPool.get(theLocalName),
-				m_namesStringPool.get(*theNamespace),
-				m_namesStringPool.get(m_stringBuffer),
-				this,
-				theAttributeVector,
-				theAttributeCount,
-				theParentNode,
-				thePreviousSibling,
-				theNextSibling,
-				m_nextIndexValue++);
-	}
-}
-
-
-
-void
-XalanSourceTreeDocument::createAttributes(
-			const Attributes&			theAttributes,
-			XalanSourceTreeAttr**		theAttributeVector,
-			XalanSourceTreeElement*		theOwnerElement,
-			bool						fAddXMLNamespaceAttribute)
-{
-	size_t	theIndex = 0;
-
-	if (fAddXMLNamespaceAttribute == true)
-	{
-		// The constructor parameters for AttrNS are:
-		//
-		// name
-		// local name
-		// namespace URI
-		// prefix
-		// value
-		// owner element
-		// index
-		//
-		theAttributeVector[theIndex] =
-				m_attributeNSAllocator.create(
-						m_namesStringPool.get(DOMServices::s_XMLNamespacePrefix),
-						m_namesStringPool.get(DOMServices::s_XMLString),
-						m_namesStringPool.get(DOMServices::s_XMLNamespacePrefixURI),
-						m_namesStringPool.get(DOMServices::s_XMLNamespace),
-						m_valuesStringPool.get(DOMServices::s_XMLNamespaceURI),
-						theOwnerElement,
-						m_nextIndexValue++);
-
-		++theIndex;
-	}
-
-	const AttributesCountType	theSAXAttributeCount = theAttributes.getLength();
-
-	// Now, create the attributes...
-	for(AttributesCountType i = 0; i < theSAXAttributeCount; ++i, ++theIndex)
-	{
-		const XalanDOMChar* const	theQName =
-			theAttributes.getQName(i);
-		assert(theQName != 0);
-
-		const XalanDOMChar* const	theValue =
-			theAttributes.getValue(i);
-		assert(theValue != 0);
-
-		const XalanDOMChar* const	theURI =
-			theAttributes.getURI(i);
-
-		if (length(theURI) == 0)
-		{
-			theAttributeVector[theIndex] =
-				m_attributeAllocator.create(
-					m_namesStringPool.get(theQName),
-					m_valuesStringPool.get(theValue),
-					theOwnerElement,
-					m_nextIndexValue++);
-		}
-		else
-		{
-			const XalanDOMChar* const	theLocalName =
-				theAttributes.getLocalName(i);
-			assert(theLocalName != 0);
-
-			const XalanDOMString::size_type		theColonIndex = indexOf(theQName, XalanUnicode::charColon);
-			assert(theColonIndex != length(theQName));
-
-			// The constructor parameters for AttrNS are:
-			//
-			// name
-			// local name
-			// namespace URI
-			// prefix
-			// value
-			// owner element
-			// index
-			//
-			theAttributeVector[theIndex] =
-				m_attributeNSAllocator.create(
-						m_namesStringPool.get(theQName),
-						m_namesStringPool.get(theLocalName),
-						m_namesStringPool.get(theURI),
-						// This is the prefix...
-						m_namesStringPool.get(theQName, theColonIndex),
-						m_valuesStringPool.get(theValue),
-						theOwnerElement,
-						m_nextIndexValue++);
-		}
-
-		// OK, now let's see if we have an ID attribute...
-		const XalanDOMChar*		theType =
-			theAttributes.getType(i);
-
-		// Look for an attribute that was declared as type ID in the DTD.
-		// Note that we can just save a pointer to the attribute's XalanDOMString
-		// data, since the attribute is guaranteed to exist for as long as the
-		// document does.
-		if (*theType == XalanUnicode::charLetter_I &&
-			*++theType == XalanUnicode::charLetter_D &&
-			*++theType == 0)
-		{
-			// The XPath says that if there are duplicate IDs, the first node is
-			// always returned, so use insert(), rather than []
-			m_elementsByID.insert(
-				ElementByIDMapType::value_type(
-					c_wstr(theAttributeVector[theIndex]->getValue()),
-					theOwnerElement));
-		}
-	}
-}
-
-
-
-void
-XalanSourceTreeDocument::appendChildNode(XalanSourceTreeComment*	theChild)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeDocument::appendChildNode(XalanSourceTreeElement*	theChild)
-{
-	if (m_documentElement != 0)
-	{
-		throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-	}
-	else
-	{
-		m_documentElement = theChild;
-
-		XalanSourceTreeHelper::appendSibling(this, m_firstChild, theChild);
-	}
-}
-
-
-
-void
-XalanSourceTreeDocument::appendChildNode(XalanSourceTreeProcessingInstruction*	theChild)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_firstChild, theChild);
-}
-
-
-
-static XalanDOMString	s_nameString;
-
-
-
-const XalanDOMString&	XalanSourceTreeDocument::s_nameString = ::s_nameString;
-
-
-
-void
-XalanSourceTreeDocument::initialize()
-{
-	::s_nameString = XALAN_STATIC_UCODE_STRING("#document");
-}
-
-
-
-void
-XalanSourceTreeDocument::terminate()
-{
-	releaseMemory(::s_nameString);
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeDocument.hpp b/src/XalanSourceTree/XalanSourceTreeDocument.hpp
deleted file mode 100644
index 1bedd1c..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDocument.hpp
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <deque>
-#include <map>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/XalanDOMStringPool.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeAttributeAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeAttributeNSAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeAttributesVector.hpp>
-#include <XalanSourceTree/XalanSourceTreeCommentAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeElementAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeElementNSAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeTextAllocator.hpp>
-#include <XalanSourceTree/XalanSourceTreeTextIWSAllocator.hpp>
-
-
-
-class AttributeList;
-class Attributes;
-class PrefixResolver;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeDocument : public XalanDocument
-{
-public:
-
-	typedef XalanSourceTreeElement::AttributesCountType		AttributesCountType;
-
-#if defined (XALAN_NO_NAMESPACES)
-	typedef map<
-				const XalanDOMChar*,
-				XalanSourceTreeElement*,
-				less_null_terminated_arrays<XalanDOMChar> >		ElementByIDMapType;
-
-	typedef map<
-				XalanDOMString,
-				XalanDOMString,
-				less<XalanDOMString> >							UnparsedEntityURIMapType;
-
-	typedef deque<XalanDOMString>								StringCollectionType;
-#else
-	typedef std::map<
-				const XalanDOMChar*,
-				XalanSourceTreeElement*,
-				less_null_terminated_arrays<XalanDOMChar> >		ElementByIDMapType;
-
-	typedef std::map<
-				XalanDOMString,
-				XalanDOMString>									UnparsedEntityURIMapType;
-
-	typedef std::deque<XalanDOMString>							StringCollectionType;
-#endif
-
-	/**
-	 * Perform static initialization.  See class XalanSourceTreeInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XalanSourceTreeInit.
-	 */
-	static void
-	terminate();
-
-
-	enum { eDefaultAttributeAllocatorBlockSize = 100,
-		   eDefaultAttributeNSAllocatorBlockSize = 50,
-		   eDefaultCommentAllocatorBlockSize = 10,
-		   eDefaultElementAllocatorBlockSize = 100,
-		   eDefaultElementNSAllocatorBlockSize = 100,
-		   eDefaultPIAllocatorBlockSize = 10,
-		   eDefaultTextAllocatorBlockSize = 100,
-		   eDefaultTextIWSAllocatorBlockSize = 100,
-		   eDefaultNamesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize,
-		   eDefaultNamesStringPoolBucketCount = XalanDOMStringPool::eDefaultBucketCount,
-		   eDefaultNamesStringPoolBucketSize = XalanDOMStringPool::eDefaultBucketSize,
-		   eDefaultValuesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize,
-		   eDefaultValuesStringPoolBucketCount = 997,
-		   eDefaultValuesStringPoolBucketSize = XalanDOMStringPool::eDefaultBucketSize };
-
-
-	typedef XalanSourceTreeAttributeAllocator::size_type	allocator_size_type;
-	typedef XalanDOMStringPool::block_size_type				block_size_type;
-	typedef XalanDOMStringPool::bucket_count_type			bucket_count_type;
-	typedef XalanDOMStringPool::bucket_size_type			bucket_size_type;
-
-	/**
-	 *
-	 * Constructor for XalanSourceTreeDocument.
-	 *
-	 * @param fPoolAllText If false, text node data that is not whitespace will not be pooled.
-	 * @param theNamesStringPoolBlockSize The block size for allocating strings in the name pool
-	 * @param theNamesStringPoolBucketCount The number of buckets for allocating strings in the name pool
-	 * @param theNamesStringPoolBucketSize The bucket size for allocating strings in the name pool
-	 * @param theValuesStringPoolBlockSize The block size for allocating strings in the values pool
-	 * @param theValuesStringPoolBucketCount The number of buckets for allocating strings in the values pool
-	 * @param theValuesStringPoolBucketSize The bucket size for allocating strings in the values pool
-	 *
-	 */
-	XalanSourceTreeDocument(
-			bool				fPoolAllText = true,
-			block_size_type		theNamesStringPoolBlockSize = eDefaultNamesStringPoolBlockSize,
-			bucket_count_type	theNamesStringPoolBucketCount = eDefaultNamesStringPoolBucketCount,
-			bucket_size_type	theNamesStringPoolBucketSize = eDefaultNamesStringPoolBucketSize,
-			block_size_type		theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
-			bucket_count_type	theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
-			bucket_size_type	theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
-
-	/**
-	 *
-	 * Constructor for XalanSourceTreeDocument.
-	 *
-	 * @param theAttributeBlockSize The block size for allocating attribute nodes
-	 * @param theAttributeNSBlockSize The block size for allocating attribute NS nodes
-	 * @param theCommentBlockSize The block size for allocating comment nodes
-	 * @param theElementBlockSize The block size for allocating element nodes
-	 * @param theElementNSBlockSize The block size for allocating element nodes
-	 * @param theTextBlockSize The block size for allocating text nodes,
-	 * @param theTextIWSBlockSize The block size for allocating text IWS nodes,
-	 * @param fPoolAllText If false, text node data that is not whitespace will not be pooled.
-	 *
-	 */
-	XalanSourceTreeDocument(
-			allocator_size_type		theAttributeBlockSize,
-			allocator_size_type		theAttributeNSBlockSize,
-			allocator_size_type		theCommentBlockSize,
-			allocator_size_type		theElementBlockSize,
-			allocator_size_type		theElementNSBlockSize,
-			allocator_size_type		thePIBlockSize,
-			allocator_size_type		theTextBlockSize,
-			allocator_size_type		theTextIWSBlockSize,
-			bool					fPoolAllText = true);
-
-	virtual
-	~XalanSourceTreeDocument();
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeDocument*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const;
-
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString& prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	virtual XalanElement*
-	createElement(const XalanDOMString& tagName);
-
-	virtual XalanDocumentFragment*
-	createDocumentFragment();
-
-	virtual XalanText*
-	createTextNode(const XalanDOMString&	data);
-
-	virtual XalanComment*
-	createComment(const XalanDOMString& data);
-
-	virtual XalanCDATASection*
-	createCDATASection(const XalanDOMString&	data);
-
-	virtual XalanProcessingInstruction*
-	createProcessingInstruction(
-			const XalanDOMString&	target,
-			const XalanDOMString&	data);
-
-	virtual XalanAttr*
-	createAttribute(const XalanDOMString&	name);
-
-	virtual XalanEntityReference*
-	createEntityReference(const XalanDOMString& name);
-
-	virtual XalanDocumentType*
-	getDoctype() const;
-
-	virtual XalanDOMImplementation*
-	getImplementation() const;
-
-	virtual XalanElement*
-	getDocumentElement() const;
-
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&		tagname) const;
-
-	virtual XalanNode*
-	importNode(
-			XalanNode*	importedNode,
-			bool		deep);
-
-	virtual XalanElement*
-	createElementNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName);
-
-	virtual XalanAttr*
-	createAttributeNS(
-			const XalanDOMString& namespaceURI,
-			const XalanDOMString& qualifiedName);
-
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual XalanElement*
-	getElementById(const XalanDOMString&	elementId) const;
-
-
-	// Interfaces not inherited from XalanDocument...
-
-	XalanSourceTreeElement*
-	createElementNode(
-			const XalanDOMChar*		name,
-			const AttributeList&	attrs,
-			XalanNode*				theParentNode = 0,
-			XalanNode*				thePreviousSibling = 0,
-			XalanNode*				theNextSibling = 0,
-			bool					fAddXMLNamespaceAttribute = false);
-
-	XalanSourceTreeElement*
-	createElementNode(
-			const XalanDOMChar*			uri,
-			const XalanDOMChar*			localname,
-			const XalanDOMChar*			qname,
-			const Attributes&			attrs,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			bool						fAddXMLNamespaceAttribute = false);
-
-	XalanSourceTreeElement*
-	createElementNode(
-			const XalanDOMChar*			tagName,
-			const AttributeList&		attrs,
-			const PrefixResolver&		thePrefixResolver,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			bool						fAddXMLNamespaceAttribute = false);
-
-	XalanSourceTreeElement*
-	createElementNode(
-			const XalanDOMChar*			name,
-			const Attributes&			attrs,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			bool						fAddXMLNamespaceAttribute = false);
-
-	XalanSourceTreeComment*
-	createCommentNode(
-			const XalanDOMChar*			data,
-			XalanDOMString::size_type	length,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0);
-
-	XalanSourceTreeProcessingInstruction*
-	createProcessingInstructionNode(
-			const XalanDOMChar*		target,
-			const XalanDOMChar*		data,
-			XalanNode*				theParentNode = 0,
-			XalanNode*				thePreviousSibling = 0,
-			XalanNode*				theNextSibling = 0);
-
-	XalanSourceTreeText*
-	createTextNode(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0);
-
-	XalanSourceTreeText*
-	createTextIWSNode(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0);
-
-	void
-	unparsedEntityDeclaration(
-			const XalanDOMChar*		name,
-			const XalanDOMChar*		publicId,
-			const XalanDOMChar*		systemId,
-			const XalanDOMChar*		notationName);
-
-	const XalanDOMString&
-	getUnparsedEntityURI(const XalanDOMString&	theName) const;
-
-	// Child node setters...
-	void
-	appendChildNode(XalanSourceTreeComment*		theChild);
-
-	void
-	appendChildNode(XalanSourceTreeElement*		theChild);
-
-	void
-	appendChildNode(XalanSourceTreeProcessingInstruction*	theChild);
-
-private:
-
-	// Helper functions...
-	XalanSourceTreeAttr*
-	createAttribute(
-			const XalanDOMChar*			theName,
-			const XalanDOMChar*			theValue,
-			XalanSourceTreeElement*		theOwnerElement,
-			const PrefixResolver&		thePrefixResolver);
-
-	XalanSourceTreeAttr*
-	createAttribute(
-			const XalanDOMChar*			theName,
-			const XalanDOMChar*			theValue,
-			XalanSourceTreeElement*		theOwnerElement);
-
-	XalanSourceTreeElement*
-	createElementNode(
-			const XalanDOMChar*		theTagName,
-			XalanSourceTreeAttr**	theAttributeVector,
-			AttributesCountType		theAttributeCount,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			const PrefixResolver&	thePrefixResolver);
-
-	void
-	createAttributes(
-			const Attributes&			theAttributes,
-			XalanSourceTreeAttr**		theAttributeVector,
-			XalanSourceTreeElement*		theOwnerElement,
-			bool						fAddXMLNamespaceAttribute);
-
-	const XalanDOMString&
-	getTextNodeString(
-			const XalanDOMChar*			chars,
-			XalanDOMString::size_type	length);
-
-	const XalanDOMString*
-	getNamespaceForPrefix(
-			const XalanDOMChar*		theName,
-			const PrefixResolver&	thePrefixResolver,
-			XalanDOMString&			thePrefix,
-			bool					fUseDefault);
-
-	// Not implemented...
-	XalanSourceTreeDocument(const XalanSourceTreeDocument&	theSource);
-
-	XalanSourceTreeDocument&
-	operator=(const XalanSourceTreeDocument&	theRHS);
-
-	bool
-	operator==(const XalanSourceTreeDocument&	theRHS) const;
-
-
-	// Data members...
-	XalanNode*										m_firstChild;
-
-	XalanSourceTreeElement*							m_documentElement;
-
-	XalanSourceTreeAttributeAllocator				m_attributeAllocator;
-
-	XalanSourceTreeAttributeNSAllocator				m_attributeNSAllocator;
-
-	XalanSourceTreeCommentAllocator					m_commentAllocator;
-
-	XalanSourceTreeElementAllocator					m_elementAllocator;
-
-	XalanSourceTreeElementNSAllocator				m_elementNSAllocator;
-
-	XalanSourceTreeProcessingInstructionAllocator	m_piAllocator;
-
-	XalanSourceTreeTextAllocator					m_textAllocator;
-
-	XalanSourceTreeTextIWSAllocator					m_textIWSAllocator;
-
-	XalanDOMStringPool								m_namesStringPool;
-
-	XalanDOMStringPool								m_valuesStringPool;
-
-	XalanSourceTreeAttributesVector					m_attributesVector;
-
-	unsigned int									m_nextIndexValue;
-
-	const bool										m_poolAllText;
-
-	ElementByIDMapType								m_elementsByID;
-
-	UnparsedEntityURIMapType						m_unparsedEntityURIs;
-
-	StringCollectionType							m_nonPooledStrings;
-
-	XalanDOMString									m_stringBuffer;
-
-	static const XalanDOMString&					s_nameString;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEDOCUMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeDocumentFragment.cpp b/src/XalanSourceTree/XalanSourceTreeDocumentFragment.cpp
deleted file mode 100644
index fed26d1..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDocumentFragment.cpp
+++ /dev/null
@@ -1,378 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeDocumentFragment.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/AttributeListImpl.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeDocumentFragment::XalanSourceTreeDocumentFragment(XalanSourceTreeDocument&	theOwnerDocument) :
-	XalanDocumentFragment(),
-	m_ownerDocument(&theOwnerDocument),
-	m_firstChild(0)
-{
-}
-
-
-
-XalanSourceTreeDocumentFragment::XalanSourceTreeDocumentFragment(
-			const XalanSourceTreeDocumentFragment&	theSource,
-			bool									deep) :
-	m_ownerDocument(theSource.m_ownerDocument),
-	m_firstChild(theSource.m_firstChild == 0 ? 0 : theSource.m_firstChild->cloneNode(deep))
-{
-}
-
-
-
-XalanSourceTreeDocumentFragment::~XalanSourceTreeDocumentFragment()
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocumentFragment::getNodeName() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocumentFragment::getNodeValue() const
-{
-	return s_emptyString;
-}
-
-
-
-XalanSourceTreeDocumentFragment::NodeType
-XalanSourceTreeDocumentFragment::getNodeType() const
-{
-	return DOCUMENT_FRAGMENT_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeDocumentFragment::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::getFirstChild() const
-{
-	return m_firstChild;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::getLastChild() const
-{
-	return XalanSourceTreeHelper::getLastSibling(m_firstChild);
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeDocumentFragment::getAttributes() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanDocument*
-#else
-XalanSourceTreeDocument*
-#endif
-XalanSourceTreeDocumentFragment::getOwnerDocument() const
-{
-	return m_ownerDocument;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeDocumentFragment*
-#endif
-XalanSourceTreeDocumentFragment::cloneNode(bool deep) const
-{
-	return new XalanSourceTreeDocumentFragment(*this, deep);
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::removeChild(XalanNode*		/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeDocumentFragment::appendChild(XalanNode*		/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeDocumentFragment::hasChildNodes() const
-{
-	return m_firstChild != 0 ? true : false;
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeDocumentFragment::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocumentFragment::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocumentFragment::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeDocumentFragment::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeDocumentFragment::isIndexed() const
-{
-	return false;
-}
-
-
-
-unsigned long
-XalanSourceTreeDocumentFragment::getIndex() const
-{
-	return 0;
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::appendChildNode(XalanSourceTreeComment*	theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::appendChildNode(XalanSourceTreeElement*	theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::appendChildNode(XalanSourceTreeProcessingInstruction*	theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::appendChildNode(XalanSourceTreeText*	theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeDocumentFragment::clearChildren()
-{
-	m_firstChild = 0;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeDocumentFragment.hpp b/src/XalanSourceTree/XalanSourceTreeDocumentFragment.hpp
deleted file mode 100644
index ce4a0b5..0000000
--- a/src/XalanSourceTree/XalanSourceTreeDocumentFragment.hpp
+++ /dev/null
@@ -1,231 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEDOCUMENTFRAGMENT_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEDOCUMENTFRAGMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDocumentFragment.hpp>
-
-
-
-#if !defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-#endif
-
-
-
-class XalanSourceTreeComment;
-class XalanSourceTreeDocument;
-class XalanSourceTreeElement;
-class XalanSourceTreeProcessingInstruction;
-class XalanSourceTreeText;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeDocumentFragment : public XalanDocumentFragment
-{
-public:
-
-	XalanSourceTreeDocumentFragment(XalanSourceTreeDocument&	theOwnerDocument);
-
-	XalanSourceTreeDocumentFragment(
-			const XalanSourceTreeDocumentFragment&	theSource,
-			bool									deep = false);
-
-	virtual
-	~XalanSourceTreeDocumentFragment();
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanDocument*
-#else
-	virtual XalanSourceTreeDocument*
-#endif
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeDocumentFragment*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const;
-
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	// These interfaces are new...
-
-	void
-	appendChildNode(XalanSourceTreeComment*		theChild);
-
-	void
-	appendChildNode(XalanSourceTreeElement*		theChild);
-
-	void
-	appendChildNode(XalanSourceTreeProcessingInstruction*	theChild);
-
-	void
-	appendChildNode(XalanSourceTreeText*	theChild);
-
-	void
-	clearChildren();
-
-	XalanSourceTreeDocumentFragment*
-	clone(bool	deep) const
-	{
-		return new XalanSourceTreeDocumentFragment(*this, deep);
-	}
-
-protected:
-
-	XalanSourceTreeDocumentFragment&
-	operator=(const XalanSourceTreeDocumentFragment&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeDocumentFragment&		theRHS) const;
-
-private:
-
-	XalanSourceTreeDocument* const	m_ownerDocument;
-
-	XalanNode*						m_firstChild;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEDOCUMENTFRAGMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeElement.cpp b/src/XalanSourceTree/XalanSourceTreeElement.cpp
deleted file mode 100644
index 2fdbb7a..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElement.cpp
+++ /dev/null
@@ -1,710 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeElement.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XalanSourceTreeAttr.hpp"
-#include "XalanSourceTreeComment.hpp"
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeDocumentFragment.hpp"
-#include "XalanSourceTreeProcessingInstruction.hpp"
-#include "XalanSourceTreeText.hpp"
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeElement::XalanSourceTreeElement(
-			const XalanDOMString&		theTagName,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex) :
-	XalanElement(),
-	m_tagName(theTagName),
-	m_ownerDocument(theOwnerDocument),
-	m_parentNode(theParentNode),
-	m_previousSibling(thePreviousSibling),
-	m_nextSibling(theNextSibling),
-	m_firstChild(0),
-	m_index(theIndex),
-	m_attributes(theAttributes),
-	m_attributeCount(theAttributeCount)
-{
-}
-
-
-
-XalanSourceTreeElement::~XalanSourceTreeElement()
-{
-}
-
-
-
-XalanSourceTreeElement::XalanSourceTreeElement(
-			const XalanSourceTreeElement&	theSource,
-			bool							deep) :
-	XalanElement(theSource),
-	m_tagName(theSource.m_tagName),
-	m_ownerDocument(theSource.m_ownerDocument),
-	m_parentNode(0),
-	m_previousSibling(0),
-	m_nextSibling(0),
-	m_firstChild(theSource.m_firstChild == 0 ? 0 : theSource.m_firstChild->cloneNode(deep)),
-	m_index(0),
-	m_attributes(theSource.m_attributes),
-	m_attributeCount(theSource.m_attributeCount)
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getNodeName() const
-{
-	return m_tagName;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getNodeValue() const
-{
-	return s_emptyString;
-}
-
-
-
-XalanSourceTreeElement::NodeType
-XalanSourceTreeElement::getNodeType() const
-{
-	return ELEMENT_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getParentNode() const
-{
-	if (m_parentNode != 0)
-	{
-		return m_parentNode;
-	}
-	else
-	{
-		return m_ownerDocument;
-	}
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeElement::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getFirstChild() const
-{
-	return m_firstChild;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getLastChild() const
-{
-	return XalanSourceTreeHelper::getLastSibling(m_firstChild);
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getPreviousSibling() const
-{
-	return m_previousSibling;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getNextSibling() const
-{
-	return m_nextSibling;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeElement::getAttributes() const
-{
-	return this;
-}
-
-
-
-XalanDocument*
-XalanSourceTreeElement::getOwnerDocument() const
-{
-	return m_ownerDocument;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeElement*
-#endif
-XalanSourceTreeElement::cloneNode(bool	deep) const
-{
-	return clone(deep);
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::appendChild(XalanNode*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeElement::hasChildNodes() const
-{
-	return m_firstChild != 0 ? true : false;
-}
-
-
-
-void
-XalanSourceTreeElement::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeElement::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeElement::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XalanSourceTreeElement::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeElement::isIndexed() const
-{
-	return true;
-}
-
-
-
-unsigned long
-XalanSourceTreeElement::getIndex() const
-{
-	return m_index;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getTagName() const
-{
-	return m_tagName;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getAttribute(const XalanDOMString&		name) const
-{
-	XalanAttr* const	theAttr = getAttributeNode(name);
-
-	return theAttr == 0 ? s_emptyString : theAttr->getValue();
-}
-
-
-
-XalanAttr*
-XalanSourceTreeElement::getAttributeNode(const XalanDOMString&		name) const
-{
-	for(unsigned int i = 0; i < m_attributeCount; ++i)
-	{
-		assert(m_attributes[i] != 0);
-
-		if (equals(m_attributes[i]->getNodeName(), name) == true)
-		{
-			return m_attributes[i];
-		}
-	}
-
-	return 0;
-}
-
-
-
-XalanNodeList*
-XalanSourceTreeElement::getElementsByTagName(const XalanDOMString&	/* name */) const
-{
-	return 0;
-}
-
-
-
-void
-XalanSourceTreeElement::setAttribute(
-			const XalanDOMString&	/* name */,
-			const XalanDOMString&	/* value */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanAttr*
-XalanSourceTreeElement::setAttributeNode(XalanAttr*		/* newAttr */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanAttr*
-XalanSourceTreeElement::removeAttributeNode(XalanAttr*	/* oldAttr */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-void
-XalanSourceTreeElement::removeAttribute(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElement::getAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	XalanAttr* const	theAttr = getAttributeNodeNS(namespaceURI, localName);
-
-	return theAttr == 0 ? s_emptyString : theAttr->getValue();
-}
-
-
-
-void
-XalanSourceTreeElement::setAttributeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* qualifiedName */,
-			const XalanDOMString&	/* value */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeElement::removeAttributeNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanAttr*
-XalanSourceTreeElement::getAttributeNodeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	for(unsigned int i = 0; i < m_attributeCount; ++i)
-	{
-		assert(m_attributes[i] != 0);
-
-		if (equals(m_attributes[i]->getLocalName(), localName) == true &&
-			equals(m_attributes[i]->getNamespaceURI(), namespaceURI) == true)
-		{
-			return m_attributes[i];
-		}
-	}
-
-	return 0;
-}
-
-
-
-XalanAttr*
-XalanSourceTreeElement::setAttributeNodeNS(XalanAttr*	/* newAttr */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNodeList*
-XalanSourceTreeElement::getElementsByTagNameNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	return 0;
-}
-
-
-
-void
-XalanSourceTreeElement::setParent(XalanSourceTreeDocumentFragment*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeElement::setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeElement::setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeElement::setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeElement::setPreviousSibling(XalanSourceTreeText*		thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeElement::appendSiblingNode(XalanSourceTreeComment*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeElement::appendSiblingNode(XalanSourceTreeElement*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeElement::appendSiblingNode(XalanSourceTreeProcessingInstruction*		theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeElement::appendSiblingNode(XalanSourceTreeText*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeElement::appendChildNode(XalanSourceTreeComment*		theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeElement::appendChildNode(XalanSourceTreeElement*		theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeElement::appendChildNode(XalanSourceTreeProcessingInstruction*	theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-void
-XalanSourceTreeElement::appendChildNode(XalanSourceTreeText*	theChild)
-{
-	XalanSourceTreeHelper::appendSiblingToChild(this, m_firstChild, theChild);
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::setNamedItem(XalanNode* 	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::item(unsigned int	index) const
-{
-	return index < m_attributeCount ? m_attributes[index] : 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getNamedItem(const XalanDOMString& 	name) const
-{
-	return getAttributeNode(name);
-}
-
-
-
-unsigned int
-XalanSourceTreeElement::getLength() const
-{
-	return m_attributeCount;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::removeNamedItem(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	return getAttributeNodeNS(namespaceURI, localName);
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::setNamedItemNS(XalanNode*	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeElement::removeNamedItemNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeElement.hpp b/src/XalanSourceTree/XalanSourceTreeElement.hpp
deleted file mode 100644
index 1cfb8f4..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElement.hpp
+++ /dev/null
@@ -1,892 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEELEMENT_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEELEMENT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-class XalanSourceTreeAttr;
-class XalanSourceTreeComment;
-class XalanSourceTreeDocument;
-class XalanSourceTreeDocumentFragment;
-class XalanSourceTreeProcessingInstruction;
-class XalanSourceTreeText;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElement : public XalanElement, private XalanNamedNodeMap
-{
-public:
-
-	typedef unsigned long	AttributesCountType;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theTagName The tag name of the element
-	 * @param theOwnerDocument The document that owns the instance
-	 * @param theAttributes An array of pointers to the attribute instances for the element
-	 * @param theAttributeCount The number of attributes.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeElement(
-			const XalanDOMString&		theTagName,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	virtual
-	~XalanSourceTreeElement();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeElement*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanElement...
-
-	/**
-	 * The name of the element. 
-	 *
-	 * For example, in: &lt;elementExample 
-	 * id="demo"&gt;  ... &lt;/elementExample&gt; , <code>tagName</code> has 
-	 * the value <code>"elementExample"</code>. Note that this is 
-	 * case-preserving in XML, as are all of the operations of the DOM. 
-	 */
-	virtual const XalanDOMString&
-	getTagName() const;
-
-	/**
-	 * Retrieves an attribute value by name.
-	 *
-	 * @param name The name of the attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> value as a string, or the empty  string if 
-	 *   that attribute does not have a specified or default value.
-	 */
-	virtual const XalanDOMString&
-	getAttribute(const XalanDOMString&		name) const;
-
-	/**
-	 * Retrieves an <code>DOM_Attr</code> node by name.
-	 *
-	 * @param name The name (<CODE>nodeName</CODE>) of the attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> node with the specified name (<CODE>nodeName</CODE>) or 
-	 *   <code>null</code> if there is no such attribute.
-	 */
-	virtual XalanAttr*
-	getAttributeNode(const XalanDOMString&		name) const;
-
-	/**
-	 * Returns a <code>NodeList</code> of all descendant elements with a given 
-	 * tag name, in the order in which they would be encountered in a preorder 
-	 * traversal of the <code>DOM_Element</code> tree.  Caller is
-	 * responsible for deleting the XalanNodeList instance.
-	 *
-	 * @param name The name of the tag to match on. The special value "*" 
-	 *   matches all tags.
-	 * @return A list of matching <code>DOM_Element</code> nodes.
-	 */
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&	name) const;
-
-	//@}
-	 /** @name Set functions. */
-	 //@{
-
-	/**
-	 * Adds a new attribute. 
-	 * 
-	 * If an attribute with that name is already present 
-	 * in the element, its value is changed to be that of the value parameter. 
-	 * This value is a simple string, it is not parsed as it is being set. So 
-	 * any markup (such as syntax to be recognized as an entity reference) is 
-	 * treated as literal text, and needs to be appropriately escaped by the 
-	 * implementation when it is written out. In order to assign an attribute 
-	 * value that contains entity references, the user must create an 
-	 * <code>DOM_Attr</code> node plus any <code>Text</code> and 
-	 * <code>EntityReference</code> nodes, build the appropriate subtree, and 
-	 * use <code>setAttributeNode</code> to assign it as the value of an 
-	 * attribute.
-	 * @param name The name of the attribute to create or alter.
-	 * @param value Value to set in string form.
-	 * @exception DOMException
-	 *   INVALID_CHARACTER_ERR: Raised if the specified name contains an 
-	 *   illegal character.
-	 *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	setAttribute(
-			const XalanDOMString&	name, 
-			const XalanDOMString&	value);
-
-	/**
-	 * Adds a new attribute. 
-	 * 
-	 * If an attribute with that name (<CODE>nodeName</CODE>) is already present 
-	 * in the element, it is replaced by the new one.
-	 * @param newAttr The <code>DOM_Attr</code> node to add to the attribute list.
-	 * @return If the <code>newAttr</code> attribute replaces an existing 
-     *   attribute, the replaced
-     *   <code>DOM_Attr</code> node is returned, otherwise <code>null</code> is 
-     *   returned.
-     * @exception DOMException
-     *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a 
-     *   different document than the one that created the element.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an 
-     *   attribute of another <code>DOM_Element</code> object. The DOM user must 
-     *   explicitly clone <code>DOM_Attr</code> nodes to re-use them in other 
-     *   elements.
-     */
-	virtual XalanAttr*
-	setAttributeNode(XalanAttr*		newAttr);
-
-    //@}
-    /** @name Functions which modify the Element. */
-    //@{
-    
-	/**
-	 * Removes the specified attribute node.
-	 * If the removed <CODE>DOM_Attr</CODE>
-	 *   has a default value it is immediately replaced. The replacing attribute 
-	 *   has the same namespace URI and local name, as well as the original prefix, 
-	 *   when applicable.
-	 *
-	 * @param oldAttr The <code>DOM_Attr</code> node to remove from the attribute 
-	 *   list.
-	 * @return The <code>DOM_Attr</code> node that was removed.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 *   <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute 
-	 *   of the element.
-	 */
-	virtual XalanAttr*
-	removeAttributeNode(XalanAttr*	oldAttr);
-
-	/**
-	 * Removes an attribute by name. 
-	 *
-	 * If the removed attribute 
-	 *   is known to have a default value, an attribute immediately appears 
-	 *   containing the default value as well as the corresponding namespace URI, 
-	 *   local name, and prefix when applicable.<BR>To remove an attribute by local 
-	 *   name and namespace URI, use the <CODE>removeAttributeNS</CODE> method.
-	 * @param name The name of the attribute to remove.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	removeAttribute(const XalanDOMString&	name);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Retrieves an attribute value by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to retrieve.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> value as a string, or an empty string if
-	*    that attribute does not have a specified or default value.
-	 */
-	virtual const XalanDOMString&
-	getAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	 * Adds a new attribute. If the given 
-	 *   <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string and the 
-	 *   <CODE>qualifiedName</CODE> has a prefix that is "xml", the new attribute 
-	 *   is bound to the predefined namespace 
-	 *   "http://www.w3.org/XML/1998/namespace". 
-	 *   If an attribute with the same local name and namespace URI is already 
-	 *   present on the element, its prefix is changed to be the prefix part of the 
-	 *   <CODE>qualifiedName</CODE>, and its value is changed to be the 
-	 *   <CODE>value</CODE> parameter. 
-	 * This value is a simple string, it is
-	 * not parsed as it is being set. So any markup (such as syntax to be
-	 * recognized as an entity reference) is treated as literal text, and
-	 * needs to be appropriately escaped by the implementation when it is
-	 * written out. In order to assign an attribute value that contains entity
-	 * references, the user must create a <code>DOM_Attr</code> node plus any
-	 * <code>DOM_Text</code> and <code>DOM_EntityReference</code> nodes, build the
-	 * appropriate subtree, and use <code>setAttributeNodeNS</code> or
-	 * <code>setAttributeNode</code> to assign it as the value of an
-	 * attribute.
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to create or alter.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to create or alter.
-	 * @param value The value to set in string form.
-	 * @exception DOMException
-	 *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an 
-	 *   illegal character.
-	 *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is 
-	 *         malformed, if the <CODE>qualifiedName</CODE> has a prefix that is 
-	 *         "xml" and the <CODE>namespaceURI</CODE> is neither <CODE>null</CODE> 
-	 *         nor an empty string nor "http://www.w3.org/XML/1998/namespace", or 
-	 *         if the <CODE>qualifiedName</CODE> has a prefix that is "xmlns" but 
-	 *         the <CODE>namespaceURI</CODE> is neither <CODE>null</CODE> nor an 
-	 *         empty string, or if if the <CODE>qualifiedName</CODE> has a prefix 
-	 *         different from "xml" and "xmlns" and the <CODE>namespaceURI</CODE> 
-	 *         is <CODE>null</CODE> or an empty string.
-	 */
-	virtual void
-	setAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	value);
-
-	/**
-	 * Removes an attribute by local name and namespace URI. If the
-	 * removed attribute has a default value it is immediately replaced.
-	 * The replacing attribute has the same namespace URI and local name, as well as 
-	 * the original prefix.<BR>HTML-only DOM implementations do not need to 
-	 * implement this method.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to remove.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to remove.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	removeAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-	/**
-	 * Retrieves an <code>DOM_Attr</code> node by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to retrieve.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> node with the specified attribute local
-	 *    name and namespace URI or <code>null</code> if there is no such attribute.
-	 */
-	virtual XalanAttr*
-	getAttributeNodeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	  * Adds a new attribute. 
-	  * 
-	  * If an attribute with that local name and namespace URI is already present 
-	  * in the element, it is replaced by the new one.
-	  * @param newAttr The <code>DOM_Attr</code> node to add to the attribute list.
-	  * @return If the <code>newAttr</code> attribute replaces an existing
-	  *    attribute with the same <em>local name</em> and <em>namespace URI</em>,
-	  *    the replaced <code>DOM_Attr</code> node is
-	  *    returned, otherwise <code>null</code> is returned.
-	  * @exception DOMException
-	  *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a 
-	  *   different document than the one that created the element.
-	  *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	  *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an 
-	  *   attribute of another <code>DOM_Element</code> object. The DOM user must 
-	  *   explicitly clone <code>DOM_Attr</code> nodes to re-use them in other 
-	  *   elements.
-	  */
-	virtual XalanAttr*
-	setAttributeNodeNS(XalanAttr*	newAttr);
-
-	/**
-	 * Returns a <code>DOM_NodeList</code> of all the <code>DOM_Element</code>s
-	 * with a given local name and namespace URI in the order in which they
-	 * would be encountered in a preorder traversal of the
-	 * <code>DOM_Document</code> tree, starting from this node.  Caller is
-	 * responsible for deleting the XalanNodeList instance.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the elements to match on. The special value "*" matches all
-	 *    namespaces.
-	 * @param localName The <em>local name</em> of the
-	 *    elements to match on. The special value "*" matches all local names.
-	 * @return A new <code>DOM_NodeList</code> object containing all the matched
-	 *    <code>Element</code>s.
-	 */
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-  //@}
-
-
-	// public interfaces not inherited from XalanElement...
-
-	XalanSourceTreeDocument*
-	getDocument() const
-	{
-		return m_ownerDocument;
-	}
-
-	void
-	setParent(XalanSourceTreeElement*	theParent)
-	{
-		m_parentNode = theParent;
-	}
-
-	void
-	setParent(XalanSourceTreeDocumentFragment*	theParent);
-
-	void
-	setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeText*		thePreviousSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeComment*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeElement*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeProcessingInstruction*		theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeText*	theSibling);
-
-	void
-	appendChildNode(XalanSourceTreeComment*		theChild);
-
-	void
-	appendChildNode(XalanSourceTreeElement*		theChild);
-
-	void
-	appendChildNode(XalanSourceTreeProcessingInstruction*	theChild);
-
-	void
-	appendChildNode(XalanSourceTreeText*	theChild);
-
-	void
-	setIndex(unsigned int	theIndex)
-	{
-		m_index = theIndex;
-	}
-
-	unsigned int
-	getAttributeCount() const
-	{
-		return m_attributeCount;
-	}
-
-	XalanSourceTreeAttr*
-	getAttributeByIndex(unsigned int	index) const
-	{
-		return index < m_attributeCount ? m_attributes[index] : 0;
-	}
-
-	/**
-	  * Removes all of the children.  Since the owner document controls the
-	  * lifetime of all nodes in the document, this just sets the first child
-	  * to 0.
-	  */
-	void
-	clearChildren()
-	{
-		m_firstChild = 0;
-	}
-
-	XalanSourceTreeElement*
-	clone(bool	deep) const
-	{
-		return new XalanSourceTreeElement(*this, deep);
-	}
-
-protected:
-
-	XalanSourceTreeElement(
-			const XalanSourceTreeElement&	theSource,
-			bool							deep = false);
-
-private:
-
-	// These are from XalanNamedNodeMap...
-
-	virtual XalanNode*
-	setNamedItem(XalanNode* 	arg);
-
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	virtual XalanNode*
-	getNamedItem(const XalanDOMString& 	name) const;
-
-	virtual unsigned int
-	getLength() const;
-
-	virtual XalanNode*
-	removeNamedItem(const XalanDOMString&	name);
-
-	virtual XalanNode*
-	getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual XalanNode*
-	setNamedItemNS(XalanNode*	arg);
-
-	virtual XalanNode*
-	removeNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-
-	// Not implemented...
-	XalanSourceTreeElement&
-	operator=(const XalanSourceTreeElement&		theSource);
-
-	bool
-	operator==(const XalanSourceTreeElement&	theRHS) const;
-
-
-	// Data members...
-	const XalanDOMString&			m_tagName;
-
-	XalanSourceTreeDocument*		m_ownerDocument;
-
-	XalanNode*						m_parentNode;
-
-	XalanNode*						m_previousSibling;
-
-	XalanNode*						m_nextSibling;
-
-	XalanNode*						m_firstChild;
-
-	unsigned int					m_index;
-
-	XalanSourceTreeAttr* const *	m_attributes;
-
-	const AttributesCountType		m_attributeCount;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEELEMENT_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeElementAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeElementAllocator.cpp
deleted file mode 100644
index 55b7ee2..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElementAllocator.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeElementAllocator.hpp"
-
-
-
-XalanSourceTreeElementAllocator::XalanSourceTreeElementAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeElementAllocator::~XalanSourceTreeElementAllocator()
-{
-}
-
-
-
-XalanSourceTreeElementAllocator::ObjectType*
-XalanSourceTreeElementAllocator::create(
-			const XalanDOMString&		theTagName,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theTagName,
-						theOwnerDocument,
-						theAttributes,
-						theAttributeCount,
-						theParentNode,
-						thePreviousSibling,
-						theNextSibling,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeElementAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeElementAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeElementAllocator.hpp
deleted file mode 100644
index ea39bbd..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElementAllocator.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEELEMENTALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEELEMENTALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeElement.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElementAllocator
-{
-public:
-
-	typedef XalanSourceTreeElement					ObjectType;
-
-	typedef ObjectType::AttributesCountType			AttributesCountType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeElementAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeElementAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theTagName The tag name of the element
-	 * @param theOwnerDocument The document that owns the instance
-	 * @param theAttributes An array of pointers to the attribute instances for the element
-	 * @param theAttributeCount The number of attributes.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&		theTagName,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeElementAllocator(const XalanSourceTreeElementAllocator&);
-
-	XalanSourceTreeElementAllocator&
-	operator=(const XalanSourceTreeElementAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEELEMENTALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeElementNS.cpp b/src/XalanSourceTree/XalanSourceTreeElementNS.cpp
deleted file mode 100644
index 6dc07a6..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElementNS.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeElementNS.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-XalanSourceTreeElementNS::XalanSourceTreeElementNS(
-			const XalanDOMString&		theTagName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex) :
-	XalanSourceTreeElement(
-		theTagName,
-		theOwnerDocument,
-		theAttributes,
-		theAttributeCount,
-		theParentNode,
-		thePreviousSibling,
-		theNextSibling,
-		theIndex),
-	m_localName(theLocalName),
-	m_prefix(thePrefix),
-	m_namespaceURI(theNamespaceURI)
-{
-}
-
-
-
-XalanSourceTreeElementNS::~XalanSourceTreeElementNS()
-{
-}
-
-
-
-XalanSourceTreeElementNS::XalanSourceTreeElementNS(
-			const XalanSourceTreeElementNS&		theSource,
-			bool								deep) :
-	XalanSourceTreeElement(theSource, deep),
-	m_localName(theSource.m_localName),
-	m_prefix(theSource.m_prefix),
-	m_namespaceURI(theSource.m_namespaceURI)
-{
-}
-
-
-
-XalanSourceTreeElementNS::XalanSourceTreeElementNS(
-			const XalanSourceTreeElement&	theSource,
-			bool							deep) :
-	XalanSourceTreeElement(theSource, deep),
-	m_localName(theSource.getLocalName()),
-	m_prefix(theSource.getPrefix()),
-	m_namespaceURI(theSource.getNamespaceURI())
-{
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeElementNS*
-#endif
-XalanSourceTreeElementNS::cloneNode(bool	deep) const
-{
-	return new XalanSourceTreeElementNS(*this, deep);
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElementNS::getNamespaceURI() const
-{
-	return m_namespaceURI;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElementNS::getPrefix() const
-{
-	return m_prefix;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeElementNS::getLocalName() const
-{
-	return m_localName;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeElementNS.hpp b/src/XalanSourceTree/XalanSourceTreeElementNS.hpp
deleted file mode 100644
index a97a064..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElementNS.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEELEMENTNS_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEELEMENTNS_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeElement.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElementNS : public XalanSourceTreeElement
-{
-public:
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theTagName The tag name of the element
-	 * @param theLocalName The local name of the attribute
-	 * @param theNamespaceURI The namespace URI of the attribute
-	 * @param thePrefix The namespace prefix of the attribute
-	 * @param theOwnerDocument The document that owns the instance
-	 * @param theAttributes An array of pointers to the attribute instances for the element
-	 * @param theAttributeCount The number of attributes.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeElementNS(
-			const XalanDOMString&		theTagName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	virtual
-	~XalanSourceTreeElementNS();
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeElementNS*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-protected:
-
-	XalanSourceTreeElementNS(
-			const XalanSourceTreeElementNS&		theSource,
-			bool								deep);
-
-	XalanSourceTreeElementNS(
-			const XalanSourceTreeElement&	theSource,
-			bool							deep);
-private:
-
-	// Not implemented...
-	XalanSourceTreeElementNS&
-	operator=(const XalanSourceTreeElementNS&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeElementNS&	theRHS) const;
-
-
-	// Data members...
-	const XalanDOMString&	m_localName;
-
-	const XalanDOMString&	m_prefix;
-
-	const XalanDOMString&	m_namespaceURI;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEELEMENTNS_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.cpp
deleted file mode 100644
index 15e44ae..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeElementNSAllocator.hpp"
-
-
-
-XalanSourceTreeElementNSAllocator::XalanSourceTreeElementNSAllocator(size_type		theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeElementNSAllocator::~XalanSourceTreeElementNSAllocator()
-{
-}
-
-
-
-XalanSourceTreeElementNSAllocator::ObjectType*
-XalanSourceTreeElementNSAllocator::create(
-			const XalanDOMString&		theTagName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theTagName,
-						theLocalName,
-						theNamespaceURI,
-						thePrefix,
-						theOwnerDocument,
-						theAttributes,
-						theAttributeCount,
-						theParentNode,
-						thePreviousSibling,
-						theNextSibling,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeElementNSAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.hpp
deleted file mode 100644
index 6058ff5..0000000
--- a/src/XalanSourceTree/XalanSourceTreeElementNSAllocator.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEELEMENTNSALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEELEMENTNSALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeElementNS.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElementNSAllocator
-{
-public:
-
-	typedef XalanSourceTreeElementNS				ObjectType;
-
-	typedef ObjectType::AttributesCountType			AttributesCountType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeElementNSAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeElementNSAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theTagName The tag name of the element
-	 * @param theLocalName The local name of the attribute
-	 * @param theNamespaceURI The namespace URI of the attribute
-	 * @param thePrefix The namespace prefix of the attribute
-	 * @param theOwnerDocument The document that owns the instance
-	 * @param theAttributes An array of pointers to the attribute instances for the element
-	 * @param theAttributeCount The number of attributes.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&		theTagName,
-			const XalanDOMString&		theLocalName,
-			const XalanDOMString&		theNamespaceURI,
-			const XalanDOMString&		thePrefix,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanSourceTreeAttr**		theAttributes,
-			AttributesCountType			theAttributeCount,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeElementNSAllocator(const XalanSourceTreeElementNSAllocator&);
-
-	XalanSourceTreeElementNSAllocator&
-	operator=(const XalanSourceTreeElementNSAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEELEMENTNSALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeHelper.cpp b/src/XalanSourceTree/XalanSourceTreeHelper.cpp
deleted file mode 100644
index 0deb83b..0000000
--- a/src/XalanSourceTree/XalanSourceTreeHelper.cpp
+++ /dev/null
@@ -1,571 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include "XalanSourceTreeComment.hpp"
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeDocumentFragment.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeProcessingInstruction.hpp"
-#include "XalanSourceTreeText.hpp"
-
-
-
-inline XalanSourceTreeComment*
-castToComment(XalanNode*	theNode)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XalanSourceTreeComment*)theNode;
-#else
-	return static_cast<XalanSourceTreeComment*>(theNode);
-#endif
-}
-
-
-
-inline XalanSourceTreeElement*
-castToElement(XalanNode*	theNode)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XalanSourceTreeElement*)theNode;
-#else
-	return static_cast<XalanSourceTreeElement*>(theNode);
-#endif
-}
-
-
-
-inline XalanSourceTreeProcessingInstruction*
-castToProcessingInstruction(XalanNode*	theNode)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XalanSourceTreeProcessingInstruction*)theNode;
-#else
-	return static_cast<XalanSourceTreeProcessingInstruction*>(theNode);
-#endif
-}
-
-
-
-inline XalanSourceTreeText*
-castToText(XalanNode*	theNode)
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XalanSourceTreeText*)theNode;
-#else
-	return static_cast<XalanSourceTreeText*>(theNode);
-#endif
-}
-
-
-
-template<class NodeType>
-inline void
-doAppendSibling(
-			XalanNode*	theSibling,
-			NodeType*	theNewSibling)
-{
-	assert(theSibling != 0);
-	assert(theNewSibling != 0);
-
-	XalanNode* const	theLastSibling = XalanSourceTreeHelper::getLastSibling(theSibling);
-
-	switch(theLastSibling->getNodeType())
-	{
-	case XalanNode::COMMENT_NODE:
-		castToComment(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		castToElement(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		castToProcessingInstruction(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	case XalanNode::TEXT_NODE:
-		castToText(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	default:
-		throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-		break;
-	}
-}
-
-
-
-template<class NodeType>
-inline void
-doAppendToLastSibling(
-			XalanNode*	theLastSibling,
-			NodeType*	theNewSibling)
-{
-	assert(theLastSibling != 0);
-	assert(theNewSibling != 0);
-	assert(theLastSibling->getNextSibling() == 0);
-
-	switch(theLastSibling->getNodeType())
-	{
-	case XalanNode::COMMENT_NODE:
-		castToComment(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		castToElement(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		castToProcessingInstruction(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	case XalanNode::TEXT_NODE:
-		castToText(theLastSibling)->appendSiblingNode(theNewSibling);
-		break;
-
-	default:
-		throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-		break;
-	}
-}
-
-
-
-template <class NodeType1, class NodeType2>
-inline void
-append(
-			NodeType1*		thePreviousSibling,
-			XalanNode*&		theNextSiblingSlot,
-			NodeType2*		theNewSibling)
-{
-	if (theNextSiblingSlot == 0)
-	{
-		theNextSiblingSlot = theNewSibling;
-
-		if (thePreviousSibling != 0)
-		{
-			theNewSibling->setPreviousSibling(thePreviousSibling);
-		}
-	}
-	else
-	{
-		doAppendSibling(theNextSiblingSlot, theNewSibling);
-	}
-}
-
-
-
-template <class NodeType>
-inline void
-append(
-			XalanNode*&		theNextSiblingSlot,
-			NodeType*		theNewSibling)
-{
-	if (theNextSiblingSlot == 0)
-	{
-		theNextSiblingSlot = theNewSibling;
-	}
-	else
-	{
-		doAppendSibling(theNextSiblingSlot, theNewSibling);
-	}
-}
-
-
-
-template <class NodeType>
-inline void
-doAppendSibling(
-			NodeType*		thePreviousSibling,
-			XalanNode*&		theNextSiblingSlot,
-			XalanNode*		theNewSibling)
-{
-	assert(theNewSibling != 0);
-	assert(theNextSiblingSlot == 0 || theNextSiblingSlot->getParentNode() == theNewSibling->getParentNode());
-
-	switch(theNewSibling->getNodeType())
-	{
-	case XalanNode::COMMENT_NODE:
-		append(thePreviousSibling, theNextSiblingSlot, castToComment(theNewSibling));
-		break;
-
-	case XalanNode::ELEMENT_NODE:
-		append(thePreviousSibling, theNextSiblingSlot, castToElement(theNewSibling));
-		break;
-
-	case XalanNode::PROCESSING_INSTRUCTION_NODE:
-		append(thePreviousSibling, theNextSiblingSlot, castToProcessingInstruction(theNewSibling));
-		break;
-
-	case XalanNode::TEXT_NODE:
-		append(thePreviousSibling, theNextSiblingSlot, castToText(theNewSibling));
-		break;
-
-	default:
-		throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-		break;
-	}
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanSourceTreeDocument*	theDocument,
-			XalanNode*&					theNextSiblingSlot,
-			XalanNode*					theNewSibling)
-{
-	if (theNewSibling->getOwnerDocument() != theDocument)
-	{
-		throw XalanDOMException(XalanDOMException::WRONG_DOCUMENT_ERR);
-	}
-	else
-	{
-		switch(theNewSibling->getNodeType())
-		{
-		case XalanNode::COMMENT_NODE:
-			append(theNextSiblingSlot, castToComment(theNewSibling));
-			break;
-
-		case XalanNode::ELEMENT_NODE:
-			append(theNextSiblingSlot, castToElement(theNewSibling));
-			break;
-
-		case XalanNode::PROCESSING_INSTRUCTION_NODE:
-			append(theNextSiblingSlot, castToProcessingInstruction(theNewSibling));
-			break;
-
-		default:
-			throw XalanDOMException(XalanDOMException::HIERARCHY_REQUEST_ERR);
-			break;
-		}
-	}
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanSourceTreeComment*		theNode,
-			XalanNode*&					theNextSiblingSlot,
-			XalanNode*					theNewSibling)
-{
-	doAppendSibling(theNode, theNextSiblingSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanSourceTreeElement*		theNode,
-			XalanNode*&					theNextSiblingSlot,
-			XalanNode*					theNewSibling)
-{
-	doAppendSibling(theNode, theNextSiblingSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanSourceTreeProcessingInstruction*	theNode,
-			XalanNode*&								theNextSiblingSlot,
-			XalanNode*								theNewSibling)
-{
-	doAppendSibling(theNode, theNextSiblingSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanSourceTreeText*	theNode,
-			XalanNode*&				theNextSiblingSlot,
-			XalanNode*				theNewSibling)
-{
-	doAppendSibling(theNode, theNextSiblingSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanNode*					theLastSibling,
-			XalanSourceTreeComment*		theNewLastSibling)
-{
-	doAppendToLastSibling(theLastSibling, theNewLastSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanNode*					theLastSibling,
-			XalanSourceTreeElement*		theNewLastSibling)
-{
-	doAppendToLastSibling(theLastSibling, theNewLastSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanNode*								theLastSibling,
-			XalanSourceTreeProcessingInstruction*	theNewLastSibling)
-{
-	doAppendToLastSibling(theLastSibling, theNewLastSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSibling(
-			XalanNode*				theLastSibling,
-			XalanSourceTreeText*	theNewLastSibling)
-{
-	doAppendToLastSibling(theLastSibling, theNewLastSibling);
-}
-
-
-
-XalanNode*
-doGetLastSibling(XalanNode*		theNode)
-{
-	if (theNode == 0)
-	{
-		return 0;
-	}
-	else
-	{
-		XalanNode*	theNextSibling = theNode->getNextSibling();
-
-		while(theNextSibling != 0)
-		{
-			theNode = theNextSibling;
-
-			theNextSibling = theNode->getNextSibling();
-		}
-
-		return theNode;
-	}
-}
-
-
-
-template <class NodeType>
-void
-doAppendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			NodeType*					theNewSibling)
-{
-	assert(theOwnerElement != 0);
-	assert(theNewSibling != 0);
-
-	if (theNewSibling->getParentNode() != theOwnerElement)
-	{
-		theNewSibling->setParent(theOwnerElement);
-	}
-
-	if (theFirstChildSlot == 0)
-	{
-		append(theFirstChildSlot, theNewSibling);
-	}
-	else
-	{
-		XalanNode* const	theLastSibling = doGetLastSibling(theFirstChildSlot);
-
-		doAppendSibling(theLastSibling, theNewSibling);	
-	}
-}
-
-
-
-template <class NodeType>
-void
-doAppendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			NodeType*							theNewSibling)
-{
-	assert(theOwnerDocumentFragment != 0);
-	assert(theNewSibling != 0);
-
-	if (theNewSibling->getParentNode() != theOwnerDocumentFragment)
-	{
-		theNewSibling->setParent(theOwnerDocumentFragment);
-	}
-
-	if (theFirstChildSlot == 0)
-	{
-		append(theFirstChildSlot, theNewSibling);
-	}
-	else
-	{
-		XalanNode* const	theLastSibling = doGetLastSibling(theFirstChildSlot);
-
-		doAppendSibling(theLastSibling, theNewSibling);	
-	}
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			XalanSourceTreeComment*		theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerElement, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			XalanSourceTreeElement*		theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerElement, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeElement*					theOwnerElement,
-			XalanNode*&								theFirstChildSlot,
-			XalanSourceTreeProcessingInstruction*	theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerElement, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			XalanSourceTreeText*		theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerElement, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			XalanSourceTreeComment*				theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerDocumentFragment, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			XalanSourceTreeElement*				theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerDocumentFragment, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*		theOwnerDocumentFragment,
-			XalanNode*&								theFirstChildSlot,
-			XalanSourceTreeProcessingInstruction*	theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerDocumentFragment, theFirstChildSlot, theNewSibling);
-}
-
-
-
-void
-XalanSourceTreeHelper::appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			XalanSourceTreeText*				theNewSibling)
-{
-	doAppendSiblingToChild(theOwnerDocumentFragment, theFirstChildSlot, theNewSibling);
-}
-
-
-
-XalanNode*
-XalanSourceTreeHelper::getLastSibling(XalanNode*	theNode)
-{
-	return doGetLastSibling(theNode);
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeHelper.hpp b/src/XalanSourceTree/XalanSourceTreeHelper.hpp
deleted file mode 100644
index e4b6ae7..0000000
--- a/src/XalanSourceTree/XalanSourceTreeHelper.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEHELPER_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEHELPER_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanNode;
-class XalanSourceTreeComment;
-class XalanSourceTreeDocument;
-class XalanSourceTreeDocumentFragment;
-class XalanSourceTreeElement;
-class XalanSourceTreeProcessingInstruction;
-class XalanSourceTreeText;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeHelper
-{
-public:
-
-	static XalanNode*
-	getLastSibling(XalanNode*	theNode);
-
-	static void
-	appendSibling(
-			XalanSourceTreeDocument*	theDocument,
-			XalanNode*&					theNextSiblingSlot,
-			XalanNode*					theNewSibling);
-
-	static void
-	appendSibling(
-			XalanSourceTreeComment*		theNode,
-			XalanNode*&					theNextSiblingSlot,
-			XalanNode*					theNewSibling);
-
-	static void
-	appendSibling(
-			XalanSourceTreeElement*		theNode,
-			XalanNode*&					theNextSiblingSlot,
-			XalanNode*					theNewSibling);
-
-	static void
-	appendSibling(
-			XalanSourceTreeProcessingInstruction*	theNode,
-			XalanNode*&								theNextSiblingSlot,
-			XalanNode*								theNewSibling);
-
-	static void
-	appendSibling(
-			XalanSourceTreeText*	theNode,
-			XalanNode*&				theNextSiblingSlot,
-			XalanNode*				theNewSibling);
-
-	// New appendSibling interfaces...
-	static void
-	appendSibling(
-			XalanNode*					theLastSibling,
-			XalanSourceTreeComment*		theNewLastSibling);
-
-	static void
-	appendSibling(
-			XalanNode*					theLastSibling,
-			XalanSourceTreeElement*		theNewLastSibling);
-
-	static void
-	appendSibling(
-			XalanNode*								theLastSibling,
-			XalanSourceTreeProcessingInstruction*	theNewLastSibling);
-
-	static void
-	appendSibling(
-			XalanNode*				theLastSibling,
-			XalanSourceTreeText*	theNewLastSibling);
-
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			XalanSourceTreeComment*		theNewSibling);
-
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			XalanSourceTreeElement*		theNewSibling);
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeElement*					theOwnerElement,
-			XalanNode*&								theFirstChildSlot,
-			XalanSourceTreeProcessingInstruction*	theNewSibling);
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeElement*		theOwnerElement,
-			XalanNode*&					theFirstChildSlot,
-			XalanSourceTreeText*		theNewSibling);
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			XalanSourceTreeComment*				theNewSibling);
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			XalanSourceTreeElement*				theNewSibling);
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*		theOwnerDocumentFragment,
-			XalanNode*&								theFirstChildSlot,
-			XalanSourceTreeProcessingInstruction*	theNewSibling);
-
-	static void
-	appendSiblingToChild(
-			XalanSourceTreeDocumentFragment*	theOwnerDocumentFragment,
-			XalanNode*&							theFirstChildSlot,
-			XalanSourceTreeText*				theNewSibling);
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeHelper();
-
-	XalanSourceTreeHelper(const XalanSourceTreeHelper&);
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEHELPER_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeInit.cpp b/src/XalanSourceTree/XalanSourceTreeInit.cpp
deleted file mode 100644
index e0c5715..0000000
--- a/src/XalanSourceTree/XalanSourceTreeInit.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XalanSourceTreeInit.hpp"
-
-
-
-#include "XalanSourceTreeComment.hpp"
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeText.hpp"
-
-
-
-unsigned long	XalanSourceTreeInit::s_initCounter = 0;
-
-
-
-XalanSourceTreeInit::XalanSourceTreeInit() :
-	m_platformSupportInit(),
-	m_domSupportInit(),
-	m_xmlSupportInit()
-{
-	++s_initCounter;
-
-	if (s_initCounter == 1)
-	{
-		initialize();
-	}
-}
-
-
-
-XalanSourceTreeInit::~XalanSourceTreeInit()
-{
-	--s_initCounter;
-
-	if (s_initCounter == 0)
-	{
-		terminate();
-	}
-}
-
-
-
-void
-XalanSourceTreeInit::initialize()
-{
-	XalanSourceTreeDocument::initialize();
-
-	XalanSourceTreeComment::initialize();
-
-	XalanSourceTreeText::initialize();
-}
-
-
-
-void
-XalanSourceTreeInit::terminate()
-{
-	XalanSourceTreeText::terminate();
-
-	XalanSourceTreeComment::terminate();
-
-	XalanSourceTreeDocument::terminate();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeInit.hpp b/src/XalanSourceTree/XalanSourceTreeInit.hpp
deleted file mode 100644
index 26f76ab..0000000
--- a/src/XalanSourceTree/XalanSourceTreeInit.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEINIT_INCLUDE_GUARD_1357924680)
-#define XALANSOURCETREEINIT_INCLUDE_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/PlatformSupportInit.hpp>
-
-
-
-#include <DOMSupport/DOMSupportInit.hpp>
-
-
-
-#include <XMLSupport/XMLSupportInit.hpp>
-
-
-
-#include <XPath/XPathInit.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeInit
-{
-public:
-
-	explicit
-	XalanSourceTreeInit();
-
-	~XalanSourceTreeInit();
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeInit(const XalanSourceTreeInit&);
-
-	XalanSourceTreeInit&
-	operator=(const XalanSourceTreeInit&);
-
-	
-	static void
-	initialize();
-
-	static void
-	terminate();
-
-	const PlatformSupportInit	m_platformSupportInit;
-
-	const DOMSupportInit		m_domSupportInit;
-
-	const XMLSupportInit		m_xmlSupportInit;
-
-	static unsigned long	s_initCounter;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEINIT_INCLUDE_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.cpp b/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.cpp
deleted file mode 100644
index b064c6c..0000000
--- a/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeNamedNodeMap.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XalanSourceTreeAttr.hpp"
-#include "XalanSourceTreeElement.hpp"
-
-
-
-
-XalanSourceTreeNamedNodeMap::XalanSourceTreeNamedNodeMap(const XalanSourceTreeElement*	theElement) :
-	m_element(theElement)
-{
-	assert(m_element != 0);
-}
-
-
-
-XalanSourceTreeNamedNodeMap::~XalanSourceTreeNamedNodeMap()
-{
-}
-
-
-
-XalanSourceTreeNamedNodeMap::XalanSourceTreeNamedNodeMap(const XalanSourceTreeNamedNodeMap&		theSource) :
-	m_element(theSource.m_element)
-{
-}
-
-
-
-XalanSourceTreeNamedNodeMap&
-XalanSourceTreeNamedNodeMap::operator=(const XalanSourceTreeNamedNodeMap&	theSource)
-{
-	if (&theSource != this)
-	{
-		m_element = theSource.m_element;
-	}
-
-	return *this;
-}
-
-
-
-bool
-XalanSourceTreeNamedNodeMap::operator==(const XalanSourceTreeNamedNodeMap&	/* theRHS */) const
-{
-	return false;
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::setNamedItem(XalanNode* 	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::item(unsigned int	index) const
-{
-	return m_element->getAttributeByIndex(index);
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::getNamedItem(const XalanDOMString& 	name) const
-{
-	assert(m_element != 0);
-
-	return m_element->getAttributeNode(name);
-}
-
-
-
-unsigned int
-XalanSourceTreeNamedNodeMap::getLength() const
-{
-	assert(m_element != 0);
-
-	return m_element->getAttributeCount();
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::removeNamedItem(const XalanDOMString&	/* name */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	assert(m_element != 0);
-
-	return m_element->getAttributeNodeNS(namespaceURI, localName);
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::setNamedItemNS(XalanNode*	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeNamedNodeMap::removeNamedItemNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.hpp b/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.hpp
deleted file mode 100644
index a6687b6..0000000
--- a/src/XalanSourceTree/XalanSourceTreeNamedNodeMap.hpp
+++ /dev/null
@@ -1,269 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREENAMEDNODEMAP_HEADER_GUARD_1357924680)
-#define XALANSOURCETREENAMEDNODEMAP_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-class XalanSourceTreeElement;
-
-
-
-/*
- * <meta name="usage" content="experimental"/>
- *
- * Base class for the source tree NamedNodeMap interface.
- *
- * This class is experimental and subject to change!!
- */
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeNamedNodeMap : public XalanNamedNodeMap
-{
-public:
-
-	XalanSourceTreeNamedNodeMap(const XalanSourceTreeElement*	theElement);
-
-	XalanSourceTreeNamedNodeMap(const XalanSourceTreeNamedNodeMap&	theSource);
-
-	virtual
-	~XalanSourceTreeNamedNodeMap();
-
-	XalanSourceTreeNamedNodeMap&
-	operator=(const XalanSourceTreeNamedNodeMap&		theSource);
-
-	bool
-	operator==(const XalanSourceTreeNamedNodeMap& 	theRHS) const;
-
-
-	/** @name Set functions. */
-	//@{
-
-	/**
-	 * Adds a node using its <code>nodeName</code> attribute. 
-	 *
-	 * <br>As the <code>nodeName</code> attribute is used to derive the name 
-	 * which the node must be stored under, multiple nodes of certain types 
-	 * (those that have a "special" string value) cannot be stored as the names 
-	 * would clash. This is seen as preferable to allowing nodes to be aliased.
-	 * @param arg A node to store in a named node map. The node will later be 
-	 *	 accessible using the value of the <code>nodeName</code> attribute of 
-	 *	 the node. If a node with that name is already present in the map, it 
-	 *	 is replaced by the new one.
-	 * @return If the new <code>Node</code> replaces an existing node the
-	 *	 replaced <code>Node</code> is returned, 
-	 *	 otherwise <code>null</code> is returned.
-	 * @exception DOMException
-	 *	 WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
-	 *	 different document than the one that created the 
-	 *	 <code>NamedNodeMap</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
-	 *	 <code>NamedNodeMap</code> is readonly.
-	 *	 <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
-	 *	 <code>Attr</code> that is already an attribute of another 
-	 *	 <code>Element</code> object. The DOM user must explicitly clone 
-	 *	 <code>Attr</code> nodes to re-use them in other elements.
-	 */
-	virtual XalanNode*
-	setNamedItem(XalanNode* 	arg);
-
-	/**
-	 * Returns the <code>index</code>th item in the map. 
-	 *
-	 * If <code>index</code> 
-	 * is greater than or equal to the number of nodes in the map, this returns 
-	 * <code>null</code>.
-	 * @param index Index into the map.
-	 * @return The node at the <code>index</code>th position in the 
-	 *	 <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid 
-	 *	 index.
-	 */
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	//@}
-	/** @name Get functions. */
-	//@{
-
-	/**
-	 * Retrieves a node specified by name.
-	 *
-	 * @param name The <code>nodeName</code> of a node to retrieve.
-	 * @return A <code>Node</code> (of any type) with the specified <code>nodeName</code>, or 
-	 *	 <code>null</code> if it does not identify any node in 
-	 *	 the map. 
-	 */
-	virtual XalanNode*
-	getNamedItem(const XalanDOMString& 	name) const;
-
-	/**
-	 * The number of nodes in the map. 
-	 *
-	 * The range of valid child node indices is 
-	 * 0 to <code>length-1</code> inclusive. 
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	//@}
-	/** @name Functions to change the node collection. */
-	//@{
-
-	/**
-	* Removes a node specified by name.
-	*
-	* If the removed node is an 
-	* <code>Attr</code> with a default value it is immediately replaced.
-	* @param name The <code>nodeName</code> of a node to remove.
-	* @return The node removed from the map or <code>null</code> if no node 
-	*	with such a name exists.
-	* @exception DOMException
-	*	NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
-	*	the map.
-	* <br>
-	*	NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
-	*	is readonly.
-	*/
-	virtual XalanNode*
-	removeNamedItem(const XalanDOMString&	name);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Retrieves a node specified by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *	  the node to retrieve.
-	 * @param localName The <em>local name</em> of the node to retrieve.
-	 * @return A <code>Node</code> (of any type) with the specified
-	 *	  local name and namespace URI, or <code>null</code> if they do not
-	 *	  identify any node in the map.
-	 */
-	virtual XalanNode*
-	getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	 * Adds a node using its <CODE>namespaceURI</CODE> and <CODE>localName</CODE>.
-	 * @param arg A node to store in a named node map. The node will later be 
-	 *		 accessible using the value of the <CODE>namespaceURI</CODE> and 
-	 *		 <CODE>localName</CODE> attribute of the node. If a node with those 
-	 *		 namespace URI and local name is already present in the map, it is 
-	 *		 replaced by the new one.
-	 * @return If the new <code>Node</code> replaces an existing node the
-	 *	 replaced <code>Node</code> is returned, 
-	 *	 otherwise <code>null</code> is returned.
-	 * @exception DOMException
-	 *	 WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
-	 *	 different document than the one that created the 
-	 *	 <code>NamedNodeMap</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
-	 *	 <code>NamedNodeMap</code> is readonly.
-	 *	 <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
-	 *	 <code>Attr</code> that is already an attribute of another 
-	 *	 <code>Element</code> object. The DOM user must explicitly clone 
-	 *	 <code>Attr</code> nodes to re-use them in other elements.
-	 */
-	virtual XalanNode*
-	setNamedItemNS(XalanNode*	arg);
-
-	/**
-	 * Removes a node specified by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *	  the node to remove.
-	 * @param localName The <em>local name</em> of the
-	 *	  node to remove. When this <code>NamedNodeMap</code> contains the
-	 *	  attributes attached to an element, as returned by the attributes
-	 *	  attribute of the <code>Node</code> interface, if the removed
-	 *	  attribute is known to have a default value, an attribute
-	 *	  immediately appears containing the default value
-	 *	  as well as the corresponding namespace URI, local name, and prefix.
-	 * @return The node removed from the map if a node with such a local name
-	 *	  and namespace URI exists.
-	 * @exception DOMException
-	 *	 NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
-	 *	 the map.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
-	 *	 is readonly.
-	 */
-	virtual XalanNode*
-	removeNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-	//@}
-
-private:
-
-	const XalanSourceTreeElement*	m_element;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREENAMEDNODEMAP_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeParserLiaison.cpp b/src/XalanSourceTree/XalanSourceTreeParserLiaison.cpp
deleted file mode 100644
index b7ae2c8..0000000
--- a/src/XalanSourceTree/XalanSourceTreeParserLiaison.cpp
+++ /dev/null
@@ -1,635 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XalanSourceTreeParserLiaison.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#include <xercesc/sax2/XMLReaderFactory.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include "XalanSourceTreeContentHandler.hpp"
-#include "XalanSourceTreeDOMSupport.hpp"
-#include "XalanSourceTreeDocument.hpp"
-
-
-
-// http://xml.org/sax/features/validation
-const XalanDOMChar	XalanSourceTreeParserLiaison::validationString[] = {
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_v,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_d,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_n,
-	0
-};
-
-
-
-// http://xml.org/sax/features/namespaces
-const XalanDOMChar	XalanSourceTreeParserLiaison::namespacesString[] = {
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	0
-};
-
-
-
-// http://xml.org/sax/features/namespace-prefixes
-const XalanDOMChar	XalanSourceTreeParserLiaison::namespacePrefixesString[] = {
-	XalanUnicode::charLetter_h,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charColon,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_l,
-	XalanUnicode::charFullStop,
-	XalanUnicode::charLetter_o,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_g,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_t,
-	XalanUnicode::charLetter_u,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charSolidus,
-	XalanUnicode::charLetter_n,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_m,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_a,
-	XalanUnicode::charLetter_c,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charHyphenMinus,
-	XalanUnicode::charLetter_p,
-	XalanUnicode::charLetter_r,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_f,
-	XalanUnicode::charLetter_i,
-	XalanUnicode::charLetter_x,
-	XalanUnicode::charLetter_e,
-	XalanUnicode::charLetter_s,
-	0
-};
-
-
-
-XalanSourceTreeParserLiaison::XalanSourceTreeParserLiaison(
-			XalanSourceTreeDOMSupport&	/* theSupport */) :
-	m_xercesParserLiaison(),
-	m_documentMap(),
-	m_persistentDocumentMap(),
-	m_poolAllText(true)
-{
-}
-
-
-
-XalanSourceTreeParserLiaison::XalanSourceTreeParserLiaison() :
-	m_xercesParserLiaison(),
-	m_documentMap(),
-	m_persistentDocumentMap(),
-	m_poolAllText(true)
-{
-}
-
-
-
-XalanSourceTreeParserLiaison::~XalanSourceTreeParserLiaison()
-{
-	reset();
-
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Delete any persistent documents.
-	for_each(m_persistentDocumentMap.begin(),
-			 m_persistentDocumentMap.end(),
-			 makeMapValueDeleteFunctor(m_persistentDocumentMap));
-
-	m_persistentDocumentMap.clear();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::reset()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Delete any documents.
-	for_each(m_documentMap.begin(),
-			 m_documentMap.end(),
-			 makeMapValueDeleteFunctor(m_documentMap));
-
-	m_documentMap.clear();
-
-	m_xercesParserLiaison.reset();
-}
-
-
-
-ExecutionContext*
-XalanSourceTreeParserLiaison::getExecutionContext() const
-{
-	return m_xercesParserLiaison.getExecutionContext();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setExecutionContext(ExecutionContext&		theContext)
-{
-	m_xercesParserLiaison.setExecutionContext(theContext);
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::parseXMLStream(
-			const InputSource&		inputSource,
-			DocumentHandler&		handler,
-			const XalanDOMString&	identifier)
-{
-	m_xercesParserLiaison.parseXMLStream(inputSource, handler, identifier);
-}
-
-
-
-XalanDocument*
-XalanSourceTreeParserLiaison::parseXMLStream(
-			const InputSource&		inputSource,
-			const XalanDOMString&	/* identifier */)
-{
-	XalanSourceTreeContentHandler	theContentHandler(createXalanSourceTreeDocument());
-
-	XalanAutoPtr<SAX2XMLReader>		theReader(XMLReaderFactory::createXMLReader());
-
-	theReader->setFeature(
-		validationString,
-		m_xercesParserLiaison.getUseValidation());
-
-	theReader->setFeature(
-		namespacesString,
-		true);
-
-	theReader->setFeature(
-		namespacePrefixesString,
-		true);
-
-	theReader->setContentHandler(&theContentHandler);
-
-	theReader->setDTDHandler(&theContentHandler);
-
-	ErrorHandler* const		theHandler = getErrorHandler();
-
-	if (theHandler == 0)
-	{
-		theReader->setErrorHandler(&m_xercesParserLiaison);
-	}
-	else
-	{
-		theReader->setErrorHandler(theHandler);
-	}
-
-	theReader->setLexicalHandler(&theContentHandler);
-
-	theReader->setEntityResolver(getEntityResolver());
-
-	theReader->parse(inputSource);
-
-	return theContentHandler.getDocument();
-}
-
-
-
-XalanDocument*
-XalanSourceTreeParserLiaison::createDocument()
-{
-	return createXalanSourceTreeDocument();
-}
-
-
-
-XalanDocument*
-XalanSourceTreeParserLiaison::createDOMFactory()
-{
-	return m_xercesParserLiaison.createDocument();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::destroyDocument(XalanDocument*	theDocument)
-{
-	if (mapDocument(theDocument) != 0)
-	{
-		m_documentMap.erase(theDocument);
-
-		delete theDocument;
-	}
-	else
-	{
-		m_xercesParserLiaison.destroyDocument(theDocument);
-	}
-}
-
-
-
-int
-XalanSourceTreeParserLiaison::getIndent() const
-{
-	return m_xercesParserLiaison.getIndent();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setIndent(int		i)
-{
-	m_xercesParserLiaison.setIndent(i);
-}
-
-
-
-bool
-XalanSourceTreeParserLiaison::getUseValidation() const
-{
-	return m_xercesParserLiaison.getUseValidation();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setUseValidation(bool		b)
-{
-	m_xercesParserLiaison.setUseValidation(b);
-}
-
-
-
-const XalanDOMString
-XalanSourceTreeParserLiaison::getParserDescription() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("XalanSourceTree"));
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::parseXMLStream(
-			const InputSource&		theInputSource,
-			ContentHandler&			theContentHandler,
-			DTDHandler*				theDTDHandler,
-			LexicalHandler*			theLexicalHandler,
-			const XalanDOMString&	/* theIdentifier */)
-{
-	XalanAutoPtr<SAX2XMLReader>		theReader(XMLReaderFactory::createXMLReader());
-
-	theReader->setFeature(
-		validationString,
-		m_xercesParserLiaison.getUseValidation());
-
-	theReader->setContentHandler(&theContentHandler);
-
-	theReader->setDTDHandler(theDTDHandler);
-
-	ErrorHandler* const		theHandler = getErrorHandler();
-
-	if (theHandler == 0)
-	{
-		theReader->setErrorHandler(&m_xercesParserLiaison);
-	}
-	else
-	{
-		theReader->setErrorHandler(theHandler);
-	}
-
-	theReader->setLexicalHandler(theLexicalHandler);
-
-	EntityResolver* const	theResolver = getEntityResolver();
-
-	if (theResolver != 0)
-	{
-		theReader->setEntityResolver(theResolver);
-	}
-
-	theReader->parse(theInputSource);
-}
-
-
-
-bool
-XalanSourceTreeParserLiaison::getIncludeIgnorableWhitespace() const
-{
-	return m_xercesParserLiaison.getIncludeIgnorableWhitespace();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setIncludeIgnorableWhitespace(bool	include)
-{
-	m_xercesParserLiaison.setIncludeIgnorableWhitespace(include);
-}
-
-
-
-ErrorHandler*
-XalanSourceTreeParserLiaison::getErrorHandler() const
-{
-	return m_xercesParserLiaison.getErrorHandler();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setErrorHandler(ErrorHandler*	handler)
-{
-	m_xercesParserLiaison.setErrorHandler(handler);
-}
-
-
-
-bool
-XalanSourceTreeParserLiaison::getDoNamespaces() const
-{
-	return m_xercesParserLiaison.getDoNamespaces();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setDoNamespaces(bool	newState)
-{
-	m_xercesParserLiaison.setDoNamespaces(newState);
-}
-
-
-
-bool
-XalanSourceTreeParserLiaison::getExitOnFirstFatalError() const
-{
-	return m_xercesParserLiaison.getExitOnFirstFatalError();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setExitOnFirstFatalError(bool		newState)
-{
-	m_xercesParserLiaison.setExitOnFirstFatalError(newState);
-}
-
-
-
-EntityResolver*
-XalanSourceTreeParserLiaison::getEntityResolver() const
-{
-	return m_xercesParserLiaison.getEntityResolver();
-}
-
-
-
-void
-XalanSourceTreeParserLiaison::setEntityResolver(EntityResolver*	resolver)
-{
-	m_xercesParserLiaison.setEntityResolver(resolver);
-}
-
-
-
-XalanSourceTreeDocument*
-XalanSourceTreeParserLiaison::mapDocument(const XalanDocument*	theDocument) const
-{
-	DocumentMapType::const_iterator		i =
-		m_documentMap.find(theDocument);
-
-	if (i != m_documentMap.end())
-	{
-		return (*i).second;
-	}
-	else
-	{
-		i =	m_persistentDocumentMap.find(theDocument);
-
-		if (i != m_persistentDocumentMap.end())
-		{
-			return (*i).second;
-		}
-		else
-		{
-			return 0;
-		}
-	}
-}
-
-
-
-XalanSourceTreeDocument*
-XalanSourceTreeParserLiaison::createXalanSourceTreeDocument()
-{
-	XalanSourceTreeDocument* const	theNewDocument =
-		new XalanSourceTreeDocument(m_poolAllText);
-
-	m_documentMap[theNewDocument] = theNewDocument;
-
-	return theNewDocument;
-}
-
-
-
-bool
-XalanSourceTreeParserLiaison::setPersistent(XalanSourceTreeDocument*	theDocument)
-{
-	const DocumentMapType::iterator		i =
-		m_documentMap.find(theDocument);
-
-	if (i != m_documentMap.end())
-	{
-		return false;
-	}
-	else
-	{
-		m_persistentDocumentMap[(*i).first] = (*i).second;
-
-		m_documentMap.erase(i);
-
-		return true;
-	}
-}
-
-
-bool
-XalanSourceTreeParserLiaison::unsetPersistent(XalanSourceTreeDocument*	theDocument)
-{
-	const DocumentMapType::iterator		i =
-		m_persistentDocumentMap.find(theDocument);
-
-	if (i != m_persistentDocumentMap.end())
-	{
-		return false;
-	}
-	else
-	{
-		m_documentMap[(*i).first] = (*i).second;
-
-		m_persistentDocumentMap.erase(i);
-
-		return true;
-	}
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeParserLiaison.hpp b/src/XalanSourceTree/XalanSourceTreeParserLiaison.hpp
deleted file mode 100644
index 470a953..0000000
--- a/src/XalanSourceTree/XalanSourceTreeParserLiaison.hpp
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEPARSERLIAISON_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEPARSERLIAISON_HEADER_GUARD_1357924680
-
-
-// Base include file.  Must be first.
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-// Standard Library header files.
-#include <map>
-
-
-
-#include <XercesParserLiaison/XercesDOMSupport.hpp>
-#include <XercesParserLiaison/XercesParserLiaison.hpp>
-
-
-
-class ContentHandler;
-class DTDHandler;
-class LexicalHandler;
-class XalanSourceTreeDOMSupport;
-class XalanSourceTreeDocument;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT  XalanSourceTreeParserLiaison : public XMLParserLiaison
-{
-public:
-
-	/**
-	 * Construct a XalanSourceTreeParserLiaison instance.
-	 *
-	 * @param theSupport instance of DOMSupport object
-	 *
-	 * @deprecated This constructor is deprecated.  Use the next constructor instead.
-	 */
-	XalanSourceTreeParserLiaison(XalanSourceTreeDOMSupport&		theSupport);
-
-	/**
-	 * Construct a XalanSourceTreeParserLiaison instance.
-	 */
-	XalanSourceTreeParserLiaison();
-
-	virtual
-	~XalanSourceTreeParserLiaison();
-
-	/**
-	 * Get the value of the flag which determines if the data of all
-	 * text nodes are pooled, or just whitespace text nodes.
-	 *
-	 * @return true if the data of all text nodes are pooled, false otherwise.
-	 */
-	bool
-	getPoolAllText() const
-	{
-		return m_poolAllText;
-	}
-
-	/**
-	 * Set the value of the flag which determines if the data of all
-	 * text nodes are pooled, or just whitespace text nodes.
-	 *
-	 * @param fValue The new value for the flag.
-	 */
-	void
-	setPoolAllText(bool	fValue)
-	{
-		m_poolAllText = fValue;
-	}
-
-	// These interfaces are inherited from XMLParserLiaison...
-
-	virtual void
-	reset();
-
-	virtual ExecutionContext*
-	getExecutionContext() const;
-
-	virtual void
-	setExecutionContext(ExecutionContext&	theContext);
-
-	virtual XalanDocument*
-	parseXMLStream(
-			const InputSource&		reader,
-			const XalanDOMString&	identifier = XalanDOMString());
-
-	virtual void
-	parseXMLStream(
-			const InputSource&		inputSource,
-			DocumentHandler&		handler,
-			const XalanDOMString&	identifier = XalanDOMString());
-
-	virtual XalanDocument*
-	createDocument();
-
-	virtual XalanDocument*
-	createDOMFactory();
-
-	virtual void
-	destroyDocument(XalanDocument*	theDocument);
-
-	virtual int
-	getIndent() const;
-
-	virtual void
-	setIndent(int	i);
-
-	virtual bool
-	getUseValidation() const;
-
-	virtual void
-	setUseValidation(bool	b);
-
-	virtual const XalanDOMString
-	getParserDescription() const;
-
-	virtual EntityResolver*
-	getEntityResolver() const;
-
-	virtual void
-	setEntityResolver(EntityResolver*	resolver);
-
-
-	// These interfaces are new to XalanSourceTreeParserLiaison...
-
-	/**
-	 * Parse using a SAX2 ContentHandler, DTDHandler, and LexicalHandler.
-	 *
-	 * @param theInputSource The input source for the parser
-	 * @param theContentHandler The ContentHandler to use
-	 * @param theDTDHandler The DTDHandler to use.  May be null.
-	 * @param theLexicalHandler The LexicalHandler to use.  May be null.
-	 * @param identifier Used for error reporting only.
-	 */
-	virtual void
-	parseXMLStream(
-			const InputSource&		theInputSource,
-			ContentHandler&			theContentHandler,
-			DTDHandler*				theDTDHandler = 0,
-			LexicalHandler*			theLexicalHandler = 0,
-			const XalanDOMString&	theIdentifier = XalanDOMString());
-
-	/** Get the 'include ignorable whitespace' flag.
-	  *
-	  * This method returns the state of the parser's include ignorable
-	  * whitespace flag.
-	  *
-	  * @return 'true' if the include ignorable whitespace flag is set on
-	  * 		the parser, 'false' otherwise.
-	  *
-	  * @see #setIncludeIgnorableWhitespace
-	  */
-	virtual bool
-	getIncludeIgnorableWhitespace() const;
-
-	/** Set the 'include ignorable whitespace' flag
-	  *
-	  * This method allows the user to specify whether a validating parser
-	  * should include ignorable whitespaces as text nodes.  It has no effect
-	  * on non-validating parsers which always include non-markup text.
-	  * <p>When set to true (also the default), ignorable whitespaces will be
-	  * added to the DOM tree as text nodes.  The method
-	  * DOM_Text::isIgnorableWhitespace() will return true for those text
-	  * nodes only.
-	  * <p>When set to false, all ignorable whitespace will be discarded and
-	  * no text node is added to the DOM tree.	Note: applications intended
-	  * to process the "xml:space" attribute should not set this flag to false.
-	  *
-	  * @param include The new state of the include ignorable whitespace
-	  * 			   flag.
-	  *
-	  * @see #getIncludeIgnorableWhitespace
-	  */
-	virtual void
-	setIncludeIgnorableWhitespace(bool	include);
-
-	/**
-	  * This method returns the installed error handler.
-	  *
-	  * @return A pointer to the installed error handler object.
-	  */
-	virtual ErrorHandler*
-	getErrorHandler() const;
-
-	/**
-	  * This method installs the user specified error handler on
-	  * the parser.
-	  *
-	  * @param handler A pointer to the error handler to be called
-	  * 			   when the parser comes across 'error' events
-	  * 			   as per the SAX specification.
-	  *
-	  * @see Parser#setErrorHandler
-	  */
-	virtual void
-	setErrorHandler(ErrorHandler*	handler);
-
-	/**
-	  * This method returns the state of the parser's namespace
-	  * handling capability.
-	  *
-	  * @return true, if the parser is currently configured to
-	  * 		understand namespaces, false otherwise.
-	  *
-	  * @see #setDoNamespaces
-	  */
-	virtual bool
-	getDoNamespaces() const;
-
-	/**
-	  * This method allows users to enable or disable the parser's
-	  * namespace processing. When set to true, parser starts enforcing
-	  * all the constraints / rules specified by the NameSpace
-	  * specification.
-	  *
-	  * <p>The parser's default state is: false.</p>
-	  *
-	  * <p>This flag is ignored by the underlying scanner if the installed
-	  * validator indicates that namespace constraints should be
-	  * enforced.</p>
-	  *
-	  * @param newState The value specifying whether NameSpace rules should
-	  * 				be enforced or not.
-	  *
-	  * @see #getDoNamespaces
-	  */
-	virtual void
-	setDoNamespaces(bool	newState);
-
-	/**
-	  * This method returns the state of the parser's
-	  * exit-on-First-Fatal-Error flag.
-	  *
-	  * @return true, if the parser is currently configured to
-	  * 		exit on the first fatal error, false otherwise.
-	  *
-	  * @see #setExitOnFirstFatalError
-	  */
-	virtual bool
-	getExitOnFirstFatalError() const;
-
-	/**
-	  * This method allows users to set the parser's behaviour when it
-	  * encounters the first fatal error. If set to true, the parser
-	  * will exit at the first fatal error. If false, then it will
-	  * report the error and continue processing.
-	  *
-	  * <p>The default value is 'true' and the parser exits on the
-	  * first fatal error.</p>
-	  *
-	  * @param newState The value specifying whether the parser should
-	  * 				continue or exit when it encounters the first
-	  * 				fatal error.
-	  *
-	  * @see #getExitOnFirstFatalError
-	  */
-	virtual void
-	setExitOnFirstFatalError(bool	newState);
-
-	/** 
-	 * Map a pointer to a XalanDocument instance to its implementation
-	 * class pointer.  Normally, you should have no reason for doing
-	 * this.  The liaison will return a null pointer if it did not
-	 * create the instance passed.
-	 *
-	 * @param theDocument A pointer to a XalanDocument instance.
-	 * @return A pointer to the XalanSourceTreeDocument instance.
-	 */
-	XalanSourceTreeDocument*
-	mapDocument(const XalanDocument*	theDocument) const;
-
-	/** 
-	 * Create a XalanSourceTreeDocument instance.
-	 *
-	 * @return A pointer to the XalanSourceTreeDocument instance.
-	 */
-	XalanSourceTreeDocument*
-	createXalanSourceTreeDocument();
-
-	bool
-	setPersistent(XalanSourceTreeDocument*	theDocument);
-
-	bool
-	unsetPersistent(XalanSourceTreeDocument*	theDocument);
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<const XalanDocument*,
-				XalanSourceTreeDocument*,
-				less<const XalanDocument*> >	DocumentMapType;
-#else
-	typedef std::map<const XalanDocument*,
-					 XalanSourceTreeDocument*>	DocumentMapType;
-#endif
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeParserLiaison(const XalanSourceTreeParserLiaison&);
-
-	XalanSourceTreeParserLiaison&
-	operator=(const XalanSourceTreeParserLiaison&);
-
-
-	// Data members...
-	XercesParserLiaison			m_xercesParserLiaison;
-
-	DocumentMapType 			m_documentMap;
-
-	DocumentMapType 			m_persistentDocumentMap;
-
-	bool						m_poolAllText;
-
-	static const XalanDOMChar	validationString[];
-
-	static const XalanDOMChar	namespacesString[];
-
-	static const XalanDOMChar	namespacePrefixesString[];
-};
-
-
-
-#endif	// XALANSOURCETREEPARSERLIAISON_HEADER_GUARD_1357924680
diff --git a/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.cpp b/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.cpp
deleted file mode 100644
index 7f744bd..0000000
--- a/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.cpp
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeProcessingInstruction.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XalanSourceTreeComment.hpp"
-#include "XalanSourceTreeDocument.hpp"
-#include "XalanSourceTreeDocumentFragment.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeText.hpp"
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeProcessingInstruction::XalanSourceTreeProcessingInstruction(
-			const XalanDOMString&		theTarget,
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex) :
-	XalanProcessingInstruction(),
-	m_target(theTarget),
-	m_data(theData),
-	m_ownerDocument(theOwnerDocument),
-	m_parentNode(theParentNode),
-	m_previousSibling(thePreviousSibling),
-	m_nextSibling(theNextSibling),
-	m_index(theIndex)
-{
-}
-
-
-
-XalanSourceTreeProcessingInstruction::~XalanSourceTreeProcessingInstruction()
-{
-}
-
-
-
-XalanSourceTreeProcessingInstruction::XalanSourceTreeProcessingInstruction(
-			const XalanSourceTreeProcessingInstruction&		theSource,
-			bool											/* deep */) :
-	XalanProcessingInstruction(theSource),
-	m_target(theSource.m_target),
-	m_data(theSource.m_data),
-	m_parentNode(0),
-	m_previousSibling(0),
-	m_nextSibling(0),
-	m_index(0)
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getNodeName() const
-{
-	return m_target;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getNodeValue() const
-{
-	return m_data;
-}
-
-
-
-XalanSourceTreeProcessingInstruction::NodeType
-XalanSourceTreeProcessingInstruction::getNodeType() const
-{
-	return PROCESSING_INSTRUCTION_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::getParentNode() const
-{
-	if (m_parentNode != 0)
-	{
-		return m_parentNode;
-	}
-	else
-	{
-		return m_ownerDocument;
-	}
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeProcessingInstruction::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::getPreviousSibling() const
-{
-	return m_previousSibling;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::getNextSibling() const
-{
-	return m_nextSibling;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeProcessingInstruction::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XalanSourceTreeProcessingInstruction::getOwnerDocument() const
-{
-	assert(m_ownerDocument != 0);
-
-	return m_ownerDocument;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeProcessingInstruction*
-#endif
-XalanSourceTreeProcessingInstruction::cloneNode(bool	deep) const
-{
-	return new XalanSourceTreeProcessingInstruction(*this, deep);
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeProcessingInstruction::appendChild(XalanNode*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeProcessingInstruction::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeProcessingInstruction::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeProcessingInstruction::isIndexed() const
-{
-	return true;
-}
-
-
-
-unsigned long
-XalanSourceTreeProcessingInstruction::getIndex() const
-{
-	return m_index;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getTarget() const
-{
-	return m_target;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeProcessingInstruction::getData() const
-{
-	return m_data;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setData(const XalanDOMString&		/* theData */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setParent(XalanSourceTreeElement*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setParent(XalanSourceTreeDocumentFragment*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::setPreviousSibling(XalanSourceTreeText*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::appendSiblingNode(XalanSourceTreeComment*		theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::appendSiblingNode(XalanSourceTreeElement*		theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::appendSiblingNode(XalanSourceTreeProcessingInstruction*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeProcessingInstruction::appendSiblingNode(XalanSourceTreeText*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.hpp b/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.hpp
deleted file mode 100644
index 2b3d1f3..0000000
--- a/src/XalanSourceTree/XalanSourceTreeProcessingInstruction.hpp
+++ /dev/null
@@ -1,568 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREEPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680)
-#define XALANSOURCETREEPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanSourceTreeComment;
-class XalanSourceTreeDocument;
-class XalanSourceTreeDocumentFragment;
-class XalanSourceTreeElement;
-class XalanSourceTreeText;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeProcessingInstruction : public XalanProcessingInstruction
-{
-public:
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theTarget The target for the processing instruction.
-	 * @param theData The data for the node
-	 * @param theOwnerDocument The document that owns the instance.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The next sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	XalanSourceTreeProcessingInstruction(
-			const XalanDOMString&		theTarget,
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	virtual
-	~XalanSourceTreeProcessingInstruction();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeProcessingInstruction*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanProcessingInstruction...
-
-    //@}
-    /** @name Get functions. */
-    //@{
-    /**
-     * The target of this processing instruction. 
-     *
-     * XML defines this as being the 
-     * first token following the markup that begins the processing instruction.
-     */
-    virtual const XalanDOMString&
-	getTarget() const;
-
-    /**
-     * The content of this processing instruction. 
-     *
-     * This is from the first non 
-     * white space character after the target to the character immediately 
-     * preceding the <code>?&gt;</code>.
-     * @exception DOMException
-     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-     */
-    virtual const XalanDOMString&
-	getData() const;
-
-    //@}
-    /** @name Set functions. */
-    //@{
-    /**
-    * Sets the content of this processing instruction. 
-    *
-    * This is from the first non 
-    * white space character after the target to the character immediately 
-    * preceding the <code>?&gt;</code>.
-    * @param data The string containing the processing instruction
-    */
-    virtual void
-	setData(const XalanDOMString&	data);
-    //@}
-
-
-	// public interfaces not inherited from XalanProcessingInstruction...
-
-	void
-	setParent(XalanSourceTreeElement*	theParent);
-
-	void
-	setParent(XalanSourceTreeDocumentFragment*	theParent);
-
-	void
-	setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeText*		thePreviousSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeComment*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeElement*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeProcessingInstruction*		theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeText*	theSibling);
-
-	void
-	setIndex(unsigned int	theIndex)
-	{
-		m_index = theIndex;
-	}
-
-protected:
-
-	XalanSourceTreeProcessingInstruction(
-			const XalanSourceTreeProcessingInstruction&		theSource,
-			bool											deep = false);
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeProcessingInstruction&
-	operator=(const XalanSourceTreeProcessingInstruction&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeProcessingInstruction&		theRHS) const;
-
-
-	// Data members...
-	const XalanDOMString&		m_target;
-
-	const XalanDOMString&		m_data;
-
-	XalanSourceTreeDocument*	m_ownerDocument;
-
-	XalanNode*					m_parentNode;
-
-	XalanNode*					m_previousSibling;
-
-	XalanNode*					m_nextSibling;
-
-	unsigned int				m_index;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREEPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.cpp
deleted file mode 100644
index d028b75..0000000
--- a/src/XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeProcessingInstructionAllocator.hpp"
-
-
-
-XalanSourceTreeProcessingInstructionAllocator::XalanSourceTreeProcessingInstructionAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeProcessingInstructionAllocator::~XalanSourceTreeProcessingInstructionAllocator()
-{
-}
-
-
-
-XalanSourceTreeProcessingInstructionAllocator::ObjectType*
-XalanSourceTreeProcessingInstructionAllocator::create(
-			const XalanDOMString&		theTarget,
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode,
-			XalanNode*					thePreviousSibling,
-			XalanNode*					theNextSibling,
-			unsigned int				theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theTarget,
-						theData,
-						theOwnerDocument,
-						theParentNode,
-						thePreviousSibling,
-						theNextSibling,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeProcessingInstructionAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.hpp
deleted file mode 100644
index 4ab2e81..0000000
--- a/src/XalanSourceTree/XalanSourceTreeProcessingInstructionAllocator.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREEPROCESSINGINSTRUCTIONALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREEPROCESSINGINSTRUCTIONALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeProcessingInstruction.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeProcessingInstructionAllocator
-{
-public:
-
-	typedef XalanSourceTreeProcessingInstruction	ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeProcessingInstructionAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeProcessingInstructionAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theTarget The target for the processing instruction.
-	 * @param theData The data for the node
-	 * @param theOwnerDocument The document that owns the instance.
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The next sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&		theTarget,
-			const XalanDOMString&		theData,
-			XalanSourceTreeDocument*	theOwnerDocument,
-			XalanNode*					theParentNode = 0,
-			XalanNode*					thePreviousSibling = 0,
-			XalanNode*					theNextSibling = 0,
-			unsigned int				theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeProcessingInstructionAllocator(const XalanSourceTreeProcessingInstructionAllocator&);
-
-	XalanSourceTreeProcessingInstructionAllocator&
-	operator=(const XalanSourceTreeProcessingInstructionAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREEPROCESSINGINSTRUCTIONALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeText.cpp b/src/XalanSourceTree/XalanSourceTreeText.cpp
deleted file mode 100644
index 35e339a..0000000
--- a/src/XalanSourceTree/XalanSourceTreeText.cpp
+++ /dev/null
@@ -1,537 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeText.hpp"
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XalanSourceTreeComment.hpp"
-#include "XalanSourceTreeDocumentFragment.hpp"
-#include "XalanSourceTreeElement.hpp"
-#include "XalanSourceTreeProcessingInstruction.hpp"
-#include "XalanSourceTreeHelper.hpp"
-
-
-
-static const XalanDOMString		s_emptyString;
-
-
-
-XalanSourceTreeText::XalanSourceTreeText(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			unsigned int			theIndex) :
-	XalanText(),
-	m_data(theData),
-	m_parentNode(theParentNode),
-	m_previousSibling(thePreviousSibling),
-	m_nextSibling(theNextSibling),
-	m_index(theIndex)
-{
-}
-
-
-
-XalanSourceTreeText::~XalanSourceTreeText()
-{
-}
-
-
-
-XalanSourceTreeText::XalanSourceTreeText(
-			const XalanSourceTreeText&	theSource,
-			bool						/* deep */) :
-	XalanText(theSource),
-	m_data(theSource.m_data),
-	m_parentNode(0),
-	m_previousSibling(0),
-	m_nextSibling(0),
-	m_index(0)
-{
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeText::getNodeName() const
-{
-	return s_nameString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeText::getNodeValue() const
-{
-	return m_data;
-}
-
-
-
-XalanSourceTreeText::NodeType
-XalanSourceTreeText::getNodeType() const
-{
-	return TEXT_NODE;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::getParentNode() const
-{
-	return m_parentNode;
-}
-
-
-
-const XalanNodeList*
-XalanSourceTreeText::getChildNodes() const
-{
-	throw XalanDOMException(XalanDOMException::NOT_SUPPORTED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::getPreviousSibling() const
-{
-	return m_previousSibling;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::getNextSibling() const
-{
-	return m_nextSibling;
-}
-
-
-
-const XalanNamedNodeMap*
-XalanSourceTreeText::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XalanSourceTreeText::getOwnerDocument() const
-{
-	assert(m_parentNode != 0);
-
-	return m_parentNode->getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XalanSourceTreeText*
-#endif
-XalanSourceTreeText::cloneNode(bool	deep) const
-{
-	return new XalanSourceTreeText(*this, deep);
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-XalanNode*
-XalanSourceTreeText::appendChild(XalanNode*	/* newChild */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	// Dummy return value...
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeText::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XalanSourceTreeText::setNodeValue(const XalanDOMString&		/* nodeValue */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeText::normalize()
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeText::isSupported(
-			const XalanDOMString&	/* feature */,
-			const XalanDOMString&	/* version */) const
-{
-	return false;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeText::getNamespaceURI() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeText::getPrefix() const
-{
-	return s_emptyString;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeText::getLocalName() const
-{
-	return s_emptyString;
-}
-
-
-
-void
-XalanSourceTreeText::setPrefix(const XalanDOMString&	/* prefix */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-bool
-XalanSourceTreeText::isIndexed() const
-{
-	return true;
-}
-
-
-
-unsigned long
-XalanSourceTreeText::getIndex() const
-{
-	return m_index;
-}
-
-
-
-const XalanDOMString&
-XalanSourceTreeText::getData() const
-{
-	return m_data;
-}
-
-
-
-unsigned int
-XalanSourceTreeText::getLength() const
-{
-	assert(unsigned(length(m_data)) == length(m_data));
-
-	return unsigned(length(m_data));
-}
-
-
-
-XalanDOMString
-XalanSourceTreeText::substringData(
-			unsigned int	offset,
-			unsigned int	count) const
-{
-	return m_data.substr(offset, count);
-}
-
-
-
-void
-XalanSourceTreeText::appendData(const XalanDOMString&	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeText::insertData(
-			unsigned int			/* offset */,
-			const  XalanDOMString& 	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeText::deleteData(
-			unsigned int	/* offset */,
-			unsigned int	/* count */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-void
-XalanSourceTreeText::replaceData(
-			unsigned int			/* offset */,
-			unsigned int			/* count */,
-			const XalanDOMString&	/* arg */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-}
-
-
-
-XalanText*
-XalanSourceTreeText::splitText(unsigned int		/* offset */)
-{
-	throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
-	return 0;
-}
-
-
-
-bool
-XalanSourceTreeText::isIgnorableWhitespace() const
-{
-	return false;
-}
-
-
-
-void
-XalanSourceTreeText::setParent(XalanSourceTreeElement*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeText::setParent(XalanSourceTreeDocumentFragment*	theParent)
-{
-	m_parentNode = theParent;
-}
-
-
-
-void
-XalanSourceTreeText::setPreviousSibling(XalanSourceTreeComment*		thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeText::setPreviousSibling(XalanSourceTreeElement*		thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeText::setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeText::setPreviousSibling(XalanSourceTreeText*	thePreviousSibling)
-{
-	m_previousSibling = thePreviousSibling;
-}
-
-
-
-void
-XalanSourceTreeText::appendSiblingNode(XalanSourceTreeComment*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeText::appendSiblingNode(XalanSourceTreeElement*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeText::appendSiblingNode(XalanSourceTreeProcessingInstruction*	theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-void
-XalanSourceTreeText::appendSiblingNode(XalanSourceTreeText*		theSibling)
-{
-	XalanSourceTreeHelper::appendSibling(this, m_nextSibling, theSibling);
-}
-
-
-
-static XalanDOMString	s_nameString;
-
-
-
-const XalanDOMString&	XalanSourceTreeText::s_nameString = ::s_nameString;
-
-
-
-void
-XalanSourceTreeText::initialize()
-{
-	::s_nameString = XALAN_STATIC_UCODE_STRING("#text");
-}
-
-
-
-void
-XalanSourceTreeText::terminate()
-{
-	releaseMemory(::s_nameString);
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeText.hpp b/src/XalanSourceTree/XalanSourceTreeText.hpp
deleted file mode 100644
index 817f15c..0000000
--- a/src/XalanSourceTree/XalanSourceTreeText.hpp
+++ /dev/null
@@ -1,691 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREETEXT_HEADER_GUARD_1357924680)
-#define XALANSOURCETREETEXT_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class XalanSourceTreeComment;
-class XalanSourceTreeDocumentFragment;
-class XalanSourceTreeElement;
-class XalanSourceTreeProcessingInstruction;
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeText : public XalanText
-{
-public:
-
-	/**
-	 * Perform static initialization.  See class XalanSourceTreeInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Perform static shut down.  See class XalanSourceTreeInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theData The text data of the node
-	 * @param isIgnorableWhitespace true if the text data is only ignorable whitespace
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeText(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode = 0,
-			XalanNode*				thePreviousSibling = 0,
-			XalanNode*				theNextSibling = 0,
-			unsigned int			theIndex = 0);
-
-	virtual
-	~XalanSourceTreeText();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XalanSourceTreeText*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanCDATASection...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>DOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>DOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>DOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>DOMString</code> specified.
-	 * @param arg The <code>DOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg);
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>DOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg);
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count);
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>DOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-
-  //@}
-
-    //@}
-    /** @name Functions to modify the Text node. */
-    //@{
-
-    /**
-     * Breaks this node into two nodes at the specified 
-     * offset, keeping both in the tree as siblings. 
-     *
-     * This node then only 
-     * contains all the content up to the <code>offset</code> point. And a new 
-     * node of the same nodeType, which is inserted as the next sibling of this 
-     * node, contains all the content at and after the <code>offset</code> 
-     * point. When the <code>offset</code> is equal to the lenght of this node,
-     * the new node has no data.
-     * @param offset The offset at which to split, starting from 0.
-     * @return The new <code>Text</code> node.
-     * @exception DOMException
-     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-     *   than the number of characters in <code>data</code>.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     */
-    virtual XalanText*
-	splitText(unsigned int	offset);
-
-    //@}
-
-	virtual bool
-	isIgnorableWhitespace() const;
-
-
-	// public interfaces not inherited from XalanCDATASection...
-
-	void
-	setParent(XalanSourceTreeElement*	theParent);
-
-	void
-	setParent(XalanSourceTreeDocumentFragment*	theParent);
-
-	void
-	setPreviousSibling(XalanSourceTreeComment*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeElement*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeProcessingInstruction*	thePreviousSibling);
-
-	void
-	setPreviousSibling(XalanSourceTreeText*		thePreviousSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeComment*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeElement*	theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeProcessingInstruction*		theSibling);
-
-	void
-	appendSiblingNode(XalanSourceTreeText*	theSibling);
-
-	void
-	setIndex(unsigned int	theIndex)
-	{
-		m_index = theIndex;
-	}
-
-protected:
-
-	XalanSourceTreeText(
-			const XalanSourceTreeText&	theSource,
-			bool						/* deep */);
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeText&
-	operator=(const XalanSourceTreeText&	theSource);
-
-	bool
-	operator==(const XalanSourceTreeText&	theRHS) const;
-
-
-	// Data members...
-	const XalanDOMString&			m_data;
-
-	XalanNode*						m_parentNode;
-
-	XalanNode*						m_previousSibling;
-
-	XalanNode*						m_nextSibling;
-
-	unsigned int					m_index;
-
-	static const XalanDOMString&	s_nameString;
-};
-
-
-
-#endif	// !defined(XALANSOURCETREETEXT_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeTextAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeTextAllocator.cpp
deleted file mode 100644
index 9126078..0000000
--- a/src/XalanSourceTree/XalanSourceTreeTextAllocator.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeTextAllocator.hpp"
-
-
-
-XalanSourceTreeTextAllocator::XalanSourceTreeTextAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeTextAllocator::~XalanSourceTreeTextAllocator()
-{
-}
-
-
-
-XalanSourceTreeTextAllocator::ObjectType*
-XalanSourceTreeTextAllocator::create(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			unsigned int			theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theData,
-						theParentNode,
-						thePreviousSibling,
-						theNextSibling,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XalanSourceTreeTextAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeTextAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeTextAllocator.hpp
deleted file mode 100644
index f4563ee..0000000
--- a/src/XalanSourceTree/XalanSourceTreeTextAllocator.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREETEXTALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREETEXTALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeText.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeTextAllocator
-{
-public:
-
-	typedef XalanSourceTreeText						ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeTextAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeTextAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theData The data for the node
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The next sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode = 0,
-			XalanNode*				thePreviousSibling = 0,
-			XalanNode*				theNextSibling = 0,
-			unsigned int			theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeTextAllocator(const XalanSourceTreeTextAllocator&);
-
-	XalanSourceTreeTextAllocator&
-	operator=(const XalanSourceTreeTextAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREETEXTALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanSourceTree/XalanSourceTreeTextIWS.cpp b/src/XalanSourceTree/XalanSourceTreeTextIWS.cpp
deleted file mode 100644
index db77859..0000000
--- a/src/XalanSourceTree/XalanSourceTreeTextIWS.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanSourceTreeTextIWS.hpp"
-
-
-
-XalanSourceTreeTextIWS::XalanSourceTreeTextIWS(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			unsigned int			theIndex) :
-	XalanSourceTreeText(theData, theParentNode, thePreviousSibling, theNextSibling, theIndex)
-{
-}
-
-
-
-XalanSourceTreeTextIWS::~XalanSourceTreeTextIWS()
-{
-}
-
-
-
-XalanSourceTreeTextIWS::XalanSourceTreeTextIWS(
-			const XalanSourceTreeTextIWS&	theSource,
-			bool							/* deep */) :
-	XalanSourceTreeText(theSource)
-{
-}
-
-
-
-bool
-XalanSourceTreeTextIWS::isIgnorableWhitespace() const
-{
-	return true;
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeTextIWS.hpp b/src/XalanSourceTree/XalanSourceTreeTextIWS.hpp
deleted file mode 100644
index bf880db..0000000
--- a/src/XalanSourceTree/XalanSourceTreeTextIWS.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANSOURCETREETEXTIWS_HEADER_GUARD_1357924680)
-#define XALANSOURCETREETEXTIWS_HEADER_GUARD_1357924680
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeText.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeTextIWS : public XalanSourceTreeText
-{
-public:
-
-	/**
-	 * Constructor.
-	 *
-	 * @param theData The text data of the node
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The previous sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 */
-	XalanSourceTreeTextIWS(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode = 0,
-			XalanNode*				thePreviousSibling = 0,
-			XalanNode*				theNextSibling = 0,
-			unsigned int			theIndex = 0);
-
-	virtual
-	~XalanSourceTreeTextIWS();
-
-
-	virtual bool
-	isIgnorableWhitespace() const;
-
-protected:
-
-	XalanSourceTreeTextIWS(
-			const XalanSourceTreeTextIWS&	theSource,
-			bool							/* deep */);
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeTextIWS&
-	operator=(const XalanSourceTreeTextIWS&		theSource);
-
-	bool
-	operator==(const XalanSourceTreeTextIWS&	theRHS) const;
-
-	// Data members...
-};
-
-
-
-#endif	// !defined(XALANSOURCETREETEXTIWS_HEADER_GUARD_1357924680)
diff --git a/src/XalanSourceTree/XalanSourceTreeTextIWSAllocator.cpp b/src/XalanSourceTree/XalanSourceTreeTextIWSAllocator.cpp
deleted file mode 100644
index 33da3af..0000000
--- a/src/XalanSourceTree/XalanSourceTreeTextIWSAllocator.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XalanSourceTreeTextIWSAllocator.hpp"
-
-
-
-XalanSourceTreeTextIWSAllocator::XalanSourceTreeTextIWSAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XalanSourceTreeTextIWSAllocator::~XalanSourceTreeTextIWSAllocator()
-{
-}
-
-
-
-XalanSourceTreeTextIWSAllocator::ObjectType*
-XalanSourceTreeTextIWSAllocator::create(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode,
-			XalanNode*				thePreviousSibling,
-			XalanNode*				theNextSibling,
-			unsigned int			theIndex)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(
-						theData,
-						theParentNode,
-						thePreviousSibling,
-						theNextSibling,
-						theIndex);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void
-XalanSourceTreeTextIWSAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XalanSourceTree/XalanSourceTreeTextIWSAllocator.hpp b/src/XalanSourceTree/XalanSourceTreeTextIWSAllocator.hpp
deleted file mode 100644
index a096dd1..0000000
--- a/src/XalanSourceTree/XalanSourceTreeTextIWSAllocator.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XALANSOURCETREETEXTIWSALLOCATOR_INCLUDE_GUARD_12455133)
-#define XALANSOURCETREETEXTIWSALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeTextIWS.hpp>
-
-
-
-class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeTextIWSAllocator
-{
-public:
-
-	typedef XalanSourceTreeTextIWS					ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XalanSourceTreeTextIWSAllocator(size_type	theBlockCount);
-
-	~XalanSourceTreeTextIWSAllocator();
-
-	/**
-	 * Create an instance.
-	 * 
-	 * @param theData The data for the node
-	 * @param theParentNode The parent node, if any.
-	 * @param thePreviousSibling The next sibling, if any.
-	 * @param theNextSibling The next sibling, if any.
-	 * @param theIndex The document-order index of the node.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const XalanDOMString&	theData,
-			XalanNode*				theParentNode = 0,
-			XalanNode*				thePreviousSibling = 0,
-			XalanNode*				theNextSibling = 0,
-			unsigned int			theIndex = 0);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XalanSourceTreeTextIWSAllocator(const XalanSourceTreeTextIWSAllocator&);
-
-	XalanSourceTreeTextIWSAllocator&
-	operator=(const XalanSourceTreeTextIWSAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XALANSOURCETREETEXTIWSALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XalanTransformer/XalanCAPI.cpp b/src/XalanTransformer/XalanCAPI.cpp
deleted file mode 100644
index b7584aa..0000000
--- a/src/XalanTransformer/XalanCAPI.cpp
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanTransformerDefinitions.hpp"
-
-
-
-#include <xercesc/util/PlatformUtils.hpp>
-
-
-
-#include <cassert>
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <strstream.h>
-#else
-#include <strstream>
-#endif
-
-
-
-#if !defined(XALAN_NO_NAMESPACES)
-using std::istrstream;
-#endif
-
-
-
-#include "XalanCAPI.h"
-#include "XalanTransformer.hpp"
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-XalanInitialize()
-{
-	// Call the static initializer for Xerces.
-	XMLPlatformUtils::Initialize();
-
-	// Initialize Xalan.
-	XalanTransformer::initialize();
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-XalanTerminate()
-{
-	// Terminate Xalan.
-	XalanTransformer::terminate();
-
-	// Call the static terminator for Xerces.
-	XMLPlatformUtils::Terminate();
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(XalanHandle)
-CreateXalanTransformer()
-{	
-	// Create a XalanTransformer object.
-	return new XalanTransformer();
-}
-
-
-
-inline XalanTransformer*
-getTransformer(XalanHandle	theHandle)
-{
-	assert(theHandle != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XalanTransformer*)theHandle;
-#else
-	return static_cast<XalanTransformer*>(theHandle);
-#endif
-}
-
-
-
-inline const XalanCompiledStylesheet*
-getStylesheet(XalanCSSHandle	theHandle)
-{
-	assert(theHandle != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (const XalanCompiledStylesheet*)theHandle;
-#else
-	return reinterpret_cast<const XalanCompiledStylesheet*>(theHandle);
-#endif
-}
-
-
-
-inline const XalanParsedSource*
-getParsedSource(XalanPSHandle	theHandle)
-{
-	assert(theHandle != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (const XalanParsedSource*)theHandle;
-#else
-	return reinterpret_cast<const XalanParsedSource*>(theHandle);
-#endif
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-DeleteXalanTransformer(XalanHandle theXalanHandle)
-{
-	// Delete a XalanTransformer object.
-	delete getTransformer(theXalanHandle);
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanTransformToFile(
-			const char*		theXMLFileName, 
-			const char*		theXSLFileName,
-			const char*		theOutFileName,
-			XalanHandle		theXalanHandle)
-{
-	if(theXSLFileName == 0)
-	{
-		return getTransformer(theXalanHandle)->transform(
-			theXMLFileName,
-			theOutFileName);
-	}
-	else
-	{
-		return getTransformer(theXalanHandle)->transform(
-			theXMLFileName,
-			theXSLFileName,
-			theOutFileName);
-	}
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanTransformToFilePrebuilt(
-			XalanPSHandle	theParsedSource, 
-			XalanCSSHandle	theCSSHandle,
-			const char*		theOutFileName,
-			XalanHandle		theXalanHandle)
-{
-	// Do the transformation...
-	return getTransformer(theXalanHandle)->transform(
-				*getParsedSource(theParsedSource),
-				getStylesheet(theCSSHandle),
-				theOutFileName);
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanTransformToData(
-			const char*		theXMLFileName, 
-			const char*		theXSLFileName,
-			char**			theOutput,
-			XalanHandle		theXalanHandle)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::ostrstream;
-#endif
-
-	int	status = 0;		
-
-	ostrstream	theOutputStream;	
-
-	if(theXSLFileName == 0)
-	{
-		status = getTransformer(theXalanHandle)->transform(
-			theXMLFileName,
-			theOutputStream);
-	}
-	else
-	{
-		status = getTransformer(theXalanHandle)->transform(
-			theXMLFileName,
-			theXSLFileName,
-			theOutputStream);
-	}
-
-	if (status == 0)
-	{
-		// Null-terminate the data.
-		theOutputStream << '\0';
-
-		*theOutput = theOutputStream.str();
-	}
-
-	return status;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanTransformToDataPrebuilt(
-			XalanPSHandle	theParsedSource, 
-			XalanCSSHandle	theCSSHandle,
-			char**			theOutput,
-			XalanHandle		theXalanHandle)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::ostrstream;
-#endif
-
-	ostrstream	theOutputStream;	
-
-	// Do the transformation...
-	const int	status =
-		getTransformer(theXalanHandle)->transform(
-			*getParsedSource(theParsedSource),
-			getStylesheet(theCSSHandle),
-			theOutputStream);
-
-	if (status == 0)
-	{
-		// Null-terminate the data.
-		theOutputStream << '\0';
-
-		*theOutput = theOutputStream.str();
-	}
-
-	return status;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-XalanFreeData(char*	theStream)
-{
-	// Delete the data.
-	delete[] theStream;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int) 
-XalanTransformToHandler(
-			const char*				theXMLFileName,
-			const char*				theXSLFileName,
-			XalanHandle				theXalanHandle,
-			void*					theOutputHandle,
-			XalanOutputHandlerType	theOutputHandler,
-			XalanFlushHandlerType	theFlushHandler)
-{
-	// Do the transformation...
-	return getTransformer(theXalanHandle)->transform(
-			theXMLFileName,
-			theXSLFileName,
-			theOutputHandle,
-			theOutputHandler,
-			theFlushHandler);
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int) 
-XalanTransformToHandlerPrebuilt(
-			XalanPSHandle			theParsedSource,
-			XalanCSSHandle			theCSSHandle,
-			XalanHandle				theXalanHandle,
-			void*					theOutputHandle,
-			XalanOutputHandlerType	theOutputHandler,
-			XalanFlushHandlerType	theFlushHandler)
-{
-	// Do the transformation...
-	return getTransformer(theXalanHandle)->transform(
-			*getParsedSource(theParsedSource),
-			getStylesheet(theCSSHandle),
-			theOutputHandle,
-			theOutputHandler,
-			theFlushHandler);
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanCompileStylesheet(
-			const char*			theXSLFileName,
-			XalanHandle			theXalanHandle,
-			XalanCSSHandle*		theCSSHandle)
-{
-	const XalanCompiledStylesheet*	theCompiledStylesheet = 0;
-
-	const int	theResult =
-		getTransformer(theXalanHandle)->compileStylesheet(
-			theXSLFileName,
-			theCompiledStylesheet);
-
-	if (theResult == 0)
-	{
-		*theCSSHandle = theCompiledStylesheet;
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanCompileStylesheetFromStream(
-			const char*			theXSLStream,
-			unsigned long		theXSLStreamLength,
-			XalanHandle			theXalanHandle,
-			XalanCSSHandle*		theCSSHandle)
-{
-	const XalanCompiledStylesheet*	theCompiledStylesheet = 0;
-
-	istrstream	theInputStream(theXSLStream, theXSLStreamLength);
-
-	const int	theResult =
-		getTransformer(theXalanHandle)->compileStylesheet(
-			&theInputStream,
-			theCompiledStylesheet);
-
-	if (theResult == 0)
-	{
-		*theCSSHandle = theCompiledStylesheet;
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanDestroyCompiledStylesheet(
-			XalanCSSHandle	theCSSHandle,
-			XalanHandle		theXalanHandle)
-{
-	return getTransformer(theXalanHandle)->destroyStylesheet(getStylesheet(theCSSHandle));
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanParseSource(
-			const char*		theXMLFileName,
-			XalanHandle		theXalanHandle,
-			XalanPSHandle*	thePSHandle)
-{
-	const XalanParsedSource*	theParsedSource = 0;
-
-	const int	theResult =
-		getTransformer(theXalanHandle)->parseSource(
-			theXMLFileName,
-			theParsedSource);
-
-	if (theResult == 0)
-	{
-		*thePSHandle = theParsedSource;
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanParseSourceFromStream(
-			const char*		theXMLStream,
-			unsigned long	theXMLStreamLength,
-			XalanHandle		theXalanHandle,
-			XalanPSHandle*	thePSHandle)
-{
-	const XalanParsedSource*	theParsedSource = 0;
-
-	istrstream	theInputStream(theXMLStream, theXMLStreamLength);
-
-	const int	theResult =
-		getTransformer(theXalanHandle)->parseSource(
-			&theInputStream,
-			theParsedSource);
-
-	if (theResult == 0)
-	{
-		*thePSHandle = theParsedSource;
-	}
-
-	return theResult;
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-XalanDestroyParsedSource(
-			XalanPSHandle	thePSHandle,
-			XalanHandle		theXalanHandle)
-{
-	return getTransformer(theXalanHandle)->destroyParsedSource(getParsedSource(thePSHandle));
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-XalanSetStylesheetParam(
-			const char*		key,
-			const char*		expression,
-			XalanHandle		theXalanHandle)
-{
-	getTransformer(theXalanHandle)->setStylesheetParam(
-		XalanDOMString(key),
-		XalanDOMString(expression));
-}
-
-
-
-XALAN_TRANSFORMER_EXPORT_FUNCTION(XalanCCharPtr)
-XalanGetLastError(XalanHandle theXalanHandle)
-{
-	// Get the last error.
-	return getTransformer(theXalanHandle)->getLastError();
-}
diff --git a/src/XalanTransformer/XalanCAPI.h b/src/XalanTransformer/XalanCAPI.h
deleted file mode 100644
index 33f3e1a..0000000
--- a/src/XalanTransformer/XalanCAPI.h
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_CAPI_HEADER_GUARD_1357924680)
-#define XALAN_CAPI_HEADER_GUARD_1357924680
-
-
-
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-/**
- * This is a simple C interface for the class XalanTransformer. It's 
- * the user's responsibility to call XalanInitialize() before making
- * any other API calls, and to call XalanTerminate() when finished
- * with the API.
- *
- * After calling XalanTransformToData or XalanTransformToDataCSS, the user   
- * should call XalanFreeData to release the memory allocated by that 
- * operation.
- */
-#if defined(__cplusplus)
-extern "C"
-{
-#endif
-
-	/**
-	 * Handle used to store the address of XalanTransformer instance.
-	 */
-	typedef void*			XalanHandle;
-
-	/**
-	 * Handle used to store the address of Compiled Stylesheet instance.
-	 */
-	typedef const void*		XalanCSSHandle;
-
-	/**
-	 * Handle used to store the address of Parsed Source instance.
-	 */
-	typedef const void*		XalanPSHandle;
-
-	/**
-	 * This is a typedef to work around limitations with
-	 * the XALAN_TRANSFORMER_EXPORT_FUNCTION macro.
-	 */
-	typedef const char*		XalanCCharPtr;
-
-	/**
-	 * Initialize Xerces and Xalan.
-	 *
-	 * Should be called only once per process before making
-	 * any other API calls.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-	XalanInitialize();
-
-	/**
-	 * Terminate Xalan and Xerces.
-	 *
-	 * Should be called only once per process after deleting all
-	 * instances of XalanTransformer.  Once a process has called
-	 * this function, it cannot use the API for the remaining
-	 * lifetime of the process.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-	XalanTerminate();
-
-	/**
-	 * Create a XalanTransformer instance.
-	 *
-	 * @return  the XalanTransformer handle
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(XalanHandle)
-	CreateXalanTransformer();
-
-	/**
-	 * Delete a XalanTransformer instance.
-	 * 
-	 * @param theXalanHandle The XalanTransformer to destroy.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-	DeleteXalanTransformer(XalanHandle	theXalanHandle);
-
-	/**
-	 * Transform the XML source tree to the given result file.
-	 * The processor will apply the stylesheet file to the input
-	 * file and write the transformation result to a new output file.
-	 *
-	 * @param theXMLFileName	filename of XML input source
-	 * @param theXSLFileName	filename of stylesheet source
-	 * @param theOutFileName	filename of output source
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @return	0 for success 
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanTransformToFile(
-				const char*		theXMLFileName, 
-				const char*		theXSLFileName,
-				const char*		theOutFileName,
-				XalanHandle		theXalanHandle);
-
-	/**
-	 * Transform the XML source tree to the given result file.
-	 * The processor will apply the compiled stylesheet to the input
-	 * file and write the transformation result to a new output file.
-	 *
-	 * @param theParsedSource	handle of parsed source
-	 * @param theCSSHandle		handle of compiled stylesheet 
-	 * @param theOutFileName	filename of output source
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @return	0 for success 
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanTransformToFilePrebuilt(
-			XalanPSHandle	theParsedSource, 
-			XalanCSSHandle	theCSSHandle,
-			const char*		theOutFileName,
-			XalanHandle		theXalanHandle);
-
-	/**
-	 * Transform the XML source tree to a dynamically allocated buffer.
-	 * The processor will apply the stylesheet file to the input file
-	 * and assign the address of the dynamically allocated result to a 
-	 * user supplied pointer. The user must call XalanFreeData with the  
-	 * this pointer.
-	 *
-	 * @param theXMLFileName	filename of XML input source
-	 * @param theXSLFileName	filename of stylesheet source
-	 * @param theOutput			a pointer to a char* 
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @return	0 for success 
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int) 
-	XalanTransformToData(
-			const char*		theXMLFileName, 
-			const char*		theXSLFileName,
-			char**			theOutput,
-			XalanHandle		theXalanHandle);
-
-	/**
-	 * Transform the XML source tree to a dynamically allocated buffer.
-	 * The processor will apply the compiled stylesheet to the input file
-	 * and assign the address of the dynamically allocated result to a 
-	 * user supplied pointer. The user must call XalanFreeData with the  
-	 * this pointer.
-	 *
-	 * @param theXMLFileName	filename of XML input source
-	 * @param theCSSHandle		handle of compiled stylesheet 
-	 * @param theOutput			a pointer to a char* 
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @return	0 for success 
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int) 
-	XalanTransformToDataPrebuilt(
-				XalanPSHandle	theParsedSource,
-				XalanCSSHandle	theCSSHandle,
-				char**			theOutput,
-				XalanHandle		theXalanHandle);
-
-	/**
-	 * Free memory allocated as a result of calling
-	 * XalanTransformToData.
-	 * 
-	 * @param theData The address of character data.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-	XalanFreeData(char*		theData);
-
-	/**
-	 * Transform the XML source tree to a callback function.
-	 * The processor will apply the stylesheet file to the input file
-	 * and allocate the transformation result to a callback function  
-	 * in pre-allocated blocks. Once the transformation is complete,
-	 * a second callback, to flush the buffer, is called. You can pass
-	 * in NULL if you do not wish to implement a flush callback. Xalan 
-	 * will release any memory allocated upon termination, and data passed 
-	 * to the callback is not guaranteed to be null terminated. 
-	 * 
-	 * See XalanTransformerDefinitions.hpp for more details.
-	 * 
-	 * @param theXMLFileName	filename of XML input source
-	 * @param theXSLFileName	filename of stylesheet source
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @param theOutputHandle	void pointer passed through to callback.
-	 * @param theOutputHandler	a user defined (callback) function.
-	 * @param theFlushHandler	(can be NULL) a user defined (callback) function.
-	 * @return	0 for success 
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int) 
-	XalanTransformToHandler(
-				const char*				theXMLFileName, 
-				const char*				theXSLFileName,
-				XalanHandle				theXalanHandle,
-				void*					theOutputHandle, 
-				XalanOutputHandlerType	theOutputHandler,
-				XalanFlushHandlerType	theFlushHandler);
-
-	/**
-	 * Transform the XML source tree to a callback function.
-	 * The processor will apply the compiled stylesheet to the input file
-	 * and allocate the transformation result to a callback function  
-	 * in pre-allocated blocks. Once the transformation is complete,
-	 * a second callback, to flush the buffer, is called. You can pass
-	 * in NULL if you do not wish to implement a flush callback. Xalan 
-	 * will release any memory allocated upon termination, and data passed 
-	 * to the callback is not guaranteed to be null terminated. 
-	 * 
-	 * See XalanTransformerDefinitions.hpp for more details.
-	 *
-	 * @param thePSHandle		handle of parsed source
-	 * @param theCSSHandle		handle of compiled stylesheet 
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @param theOutputHandle	void pointer passed through to callback.
-	 * @param theOutputHandler	a user defined (callback) function.
-	 * @param theFlushHandler	(can be NULL) a user defined (callback) function.
-	 * @return	0 for success 
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int) 
-	XalanTransformToHandlerPrebuilt(
-				XalanPSHandle			thePSHandle,
-				XalanCSSHandle			theCSSHandle,
-				XalanHandle				theXalanHandle,
-				void*					theOutputHandle,
-				XalanOutputHandlerType	theOutputHandler,
-				XalanFlushHandlerType	theFlushHandler);
-
-	/**
-	 * Creates a compiled stylesheet.
-	 *
-	 * @param theXSLFileName	filename of stylesheet source
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @param theCSSHandle		a pointer to a XalanCSSHandle
-	 * @return 0 for success.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanCompileStylesheet(
-			const char*			theXSLFileName,
-			XalanHandle			theXalanHandle,
-			XalanCSSHandle*		theCSSHandle);
-
-	/**
-	 * Creates a compiled stylesheet.
-	 *
-	 * @param theXSLFileName The stream that contains the stylesheet xml
-	 * @param theXSLStreamLength The length of the stream.
-	 * @param theXalanHandle handle of XalanTransformer instance.
-	 * @param theCSSHandle a pointer to a XalanCSSHandle
-	 * @return 0 for success.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanCompileStylesheetFromStream(
-			const char*			theXSLStream,
-			unsigned long		theXSLStreamLength,
-			XalanHandle			theXalanHandle,
-			XalanCSSHandle*		theCSSHandle);
-
-	/**
-	 * Destroys a compiled stylesheet.
-	 *
-	 * @param theCSSHandle		handle of the compiled stylesheet
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 * @return 0 for success
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanDestroyCompiledStylesheet(
-			XalanCSSHandle	theCSSHandle,
-			XalanHandle		theXalanHandle);
-
-	/**
-	 * Parse source document.
-	 *
-	 * @param theXMLFileName The name of the file containing the source document.
-	 * @param theXalanHandle The handle of XalanTransformer instance.	 
-	 * @param thePSHandle A pointer to a XalanPSHandle
-	 * @return 0 for success.
-	 */	
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanParseSource(
-			const char*		theXMLFileName,
-			XalanHandle		theXalanHandle,
-			XalanPSHandle*	thePSHandle);
-
-	/**
-	 * Parse source document from a stream.
-	 *
-	 * @param theXMLStream The stream that contains the source xml
-	 * @param theXSLStreamLength The length of the stream.
-	 * @param theXalanHandle The handle of XalanTransformer instance.	 
-	 * @param thePSHandle A pointer to a XalanPSHandle
-	 * @return 0 for success.
-	 */	
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanParseSourceFromStream(
-			const char*		theXMLStream,
-			unsigned long	theXMLStreamLength,
-			XalanHandle		theXalanHandle,
-			XalanPSHandle*	thePSHandle);
-
-	/**
-	 * Destroys a parsed source.
-	 * a file name, a stream or a root node.
-	 *
-	 * @param thePSHandle		handle of parsed source
-	 * @param theXalanHandle	handle of XalanTransformer instance.	 
-	 * @return 0 for success
-	 */	
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(int)
-	XalanDestroyParsedSource(
-			XalanPSHandle	thePSHandle,
-			XalanHandle		theXalanHandle);
-
-	/**
-	 * Set a top-level stylesheet parameter.  This value can be evaluated via
-	 * xsl:param-variable.
-	 *
-	 * @param key name of the param
-	 * @param expression expression that will be evaluated
-	 * @param theXalanHandle	handle of XalanTransformer instance.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(void)
-	XalanSetStylesheetParam(
-				const char*		key,
-				const char*		expression,
-				XalanHandle		theXalanHandle);
-
-	/**
-	 * Returns the last error that occurred as a 
-	 * result of calling transform.
-	 *
-	 * The signature for following function is really:
-	 * const char*
-	 * XalanGetLastError(XalanHandle theXalanHandle) const;
-	 *
-	 * @return	error message const character pointer.
-	 */
-	XALAN_TRANSFORMER_EXPORT_FUNCTION(XalanCCharPtr)
-	XalanGetLastError(XalanHandle theXalanHandle);
-
-#if defined(__cplusplus)
-}
-#endif
-
-
-
-#endif	// XALAN_CAPI_HEADER_GUARD_1357924680
diff --git a/src/XalanTransformer/XalanCompiledStylesheet.hpp b/src/XalanTransformer/XalanCompiledStylesheet.hpp
deleted file mode 100644
index 4d174e7..0000000
--- a/src/XalanTransformer/XalanCompiledStylesheet.hpp
+++ /dev/null
@@ -1,88 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANCOMPILEDSTYLESHEET_HEADER_GUARD)
-#define XALANCOMPILEDSTYLESHEET_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-class StylesheetRoot;
-
-
-
-/**
- * This is an abstraction of the StylesheetRoot class. It is designed
- * to allow a XalanTranfomer object to reuse a compliled stylesheet. 
- */
-class XALAN_TRANSFORMER_EXPORT XalanCompiledStylesheet
-{
-public:
-
-	virtual
-	~XalanCompiledStylesheet() {}
-
-	virtual const StylesheetRoot*
-	getStylesheetRoot() const = 0;
-};
-
-
-
-#endif	// XALANCOMPILEDSTYLESHEET_HEADER_GUARD
diff --git a/src/XalanTransformer/XalanCompiledStylesheetDefault.cpp b/src/XalanTransformer/XalanCompiledStylesheetDefault.cpp
deleted file mode 100644
index 0d66c56..0000000
--- a/src/XalanTransformer/XalanCompiledStylesheetDefault.cpp
+++ /dev/null
@@ -1,158 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanCompiledStylesheetDefault.hpp"
-
-
-
-#include <XMLSupport/XMLParserLiaison.hpp>
-
-
-
-class SetAndRestoreHandlers
-{
-public:
-
-	SetAndRestoreHandlers(
-			XMLParserLiaison&	theParserLiaison,
-			ErrorHandler*		theErrorHandler,
-			EntityResolver*		theEntityResolver) :
-		m_parserLiaison(theParserLiaison),
-		m_errorHandler(theParserLiaison.getErrorHandler()),
-		m_entityResolver(theParserLiaison.getEntityResolver())
-	{
-		if (theErrorHandler != 0)
-		{
-			theParserLiaison.setErrorHandler(theErrorHandler);
-		}
-
-		if (theEntityResolver != 0)
-		{
-			theParserLiaison.setEntityResolver(theEntityResolver);
-		}
-	}
-
-	~SetAndRestoreHandlers()
-	{
-		m_parserLiaison.setEntityResolver(m_entityResolver);
-
-		m_parserLiaison.setErrorHandler(m_errorHandler);
-	}
-
-private:
-
-	XMLParserLiaison&		m_parserLiaison;
-
-	ErrorHandler* const		m_errorHandler;
-
-	EntityResolver*	const	m_entityResolver;
-};
-
-
-
-
-inline const StylesheetRoot*
-compileStylesheet(
-			const XSLTInputSource&					theStylesheetSource,
-			XSLTEngineImpl&							theProcessor,
-			StylesheetConstructionContextDefault&	theConstructionContext,
-			ErrorHandler*							theErrorHandler,
-			EntityResolver*							theEntityResolver)
-{
-	const SetAndRestoreHandlers		theSetAndRestore(
-			theProcessor.getXMLParserLiaison(),
-			theErrorHandler,
-			theEntityResolver);
-
-	return theProcessor.processStylesheet(theStylesheetSource, theConstructionContext);
-}
-
-
-
-XalanCompiledStylesheetDefault::XalanCompiledStylesheetDefault(
-			const XSLTInputSource&				theStylesheetSource,
-			XSLTProcessorEnvSupportDefault&		theXSLTProcessorEnvSupport,
-			XSLTEngineImpl&						theProcessor,
-			ErrorHandler*						theErrorHandler,
-			EntityResolver*						theEntityResolver):
-	XalanCompiledStylesheet(),
-	m_stylesheetXPathFactory(),
-	m_stylesheetConstructionContext(
-				theProcessor,
-				theXSLTProcessorEnvSupport,
-				m_stylesheetXPathFactory),
-	m_stylesheetRoot(compileStylesheet(
-				theStylesheetSource,
-				theProcessor,
-				m_stylesheetConstructionContext,
-				theErrorHandler,
-				theEntityResolver))
-{
-}
-
-
-
-XalanCompiledStylesheetDefault::~XalanCompiledStylesheetDefault()
-{
-}
-
-
-
-const StylesheetRoot*
-XalanCompiledStylesheetDefault::getStylesheetRoot() const
-{
-	return m_stylesheetRoot;
-}
diff --git a/src/XalanTransformer/XalanCompiledStylesheetDefault.hpp b/src/XalanTransformer/XalanCompiledStylesheetDefault.hpp
deleted file mode 100644
index ddf9b25..0000000
--- a/src/XalanTransformer/XalanCompiledStylesheetDefault.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANCOMPILEDSTYLESHEETDEFAULT_HEADER_GUARD)
-#define XALANCOMPILEDSTYLESHEETDEFAULT_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-#include <XPath/XPathFactoryBlock.hpp>
-
-
-
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/StylesheetRoot.hpp>
-#include <XSLT/XSLTEngineImpl.hpp>
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-
-
-
-#include <XalanTransformer/XalanCompiledStylesheet.hpp>
-
-
-
-class EntityResolver;
-class ErrorHandler;
-
-
-
-class XALAN_TRANSFORMER_EXPORT XalanCompiledStylesheetDefault : public XalanCompiledStylesheet
-{
-public:
-	
-	XalanCompiledStylesheetDefault(
-			const XSLTInputSource&				theStylesheetSource,
-			XSLTProcessorEnvSupportDefault&		theXSLTProcessorEnvSupport,
-			XSLTEngineImpl&						theProcessor,
-			ErrorHandler*						theErrorHandler = 0,
-			EntityResolver*						theEntityResolver = 0);
-
-	virtual
-	~XalanCompiledStylesheetDefault();
-
-	virtual const StylesheetRoot*
-	getStylesheetRoot() const;
-
-private:
-
-	XPathFactoryBlock						m_stylesheetXPathFactory;
-
-	StylesheetConstructionContextDefault	m_stylesheetConstructionContext;
-
-	const StylesheetRoot* const				m_stylesheetRoot;
-};
-
-
-
-#endif	// XALANCOMPILEDSTYLESHEETDEFAULT_HEADER_GUARD
diff --git a/src/XalanTransformer/XalanDefaultDocumentBuilder.cpp b/src/XalanTransformer/XalanDefaultDocumentBuilder.cpp
deleted file mode 100644
index 964fd7a..0000000
--- a/src/XalanTransformer/XalanDefaultDocumentBuilder.cpp
+++ /dev/null
@@ -1,131 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XalanDefaultDocumentBuilder.hpp"
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-
-
-
-#include "XalanDefaultParsedSource.hpp"
-
-
-
-XalanDefaultDocumentBuilder::XalanDefaultDocumentBuilder(const XalanDOMString&	theURI) :
-	m_domSupport(),
-	m_parserLiaison(),
-	m_contentHandler(m_parserLiaison.mapDocument(m_parserLiaison.createDocument())),
-	m_uri(theURI)
-{
-	m_domSupport.setParserLiaison(&m_parserLiaison);
-}
-
-
-
-XalanDefaultDocumentBuilder::~XalanDefaultDocumentBuilder()
-{
-}
-
-
-
-XalanDocument*
-XalanDefaultDocumentBuilder::getDocument() const
-{
-	return m_contentHandler.getDocument();
-}
-
-
-
-XalanParsedSourceHelper*
-XalanDefaultDocumentBuilder::createHelper() const
-{
-	return new XalanDefaultParsedSourceHelper(m_domSupport, m_parserLiaison);
-}
-
-
-
-ContentHandler*
-XalanDefaultDocumentBuilder::getContentHandler()
-{
-	return &m_contentHandler;
-}
-
-
-
-DTDHandler*
-XalanDefaultDocumentBuilder::getDTDHandler()
-{
-	return &m_contentHandler;
-}
-
-
-
-LexicalHandler*
-XalanDefaultDocumentBuilder::getLexicalHandler()
-{
-	return &m_contentHandler;
-}
-
-
-
-const XalanDOMString&
-XalanDefaultDocumentBuilder::getURI() const
-{
-	return m_uri;
-}
diff --git a/src/XalanTransformer/XalanDefaultDocumentBuilder.hpp b/src/XalanTransformer/XalanDefaultDocumentBuilder.hpp
deleted file mode 100644
index 2fde890..0000000
--- a/src/XalanTransformer/XalanDefaultDocumentBuilder.hpp
+++ /dev/null
@@ -1,133 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDEFAULTDOCUMENTBUILDER_HEADER_GUARD)
-#define XALANDEFAULTDOCUMENTBUILDER_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-#include <XalanTransformer/XalanDocumentBuilder.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeContentHandler.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-/**
- * This is class is designed to allow a XalanTranfomer object
- * to use a document that is build dynamically by a user.
- */
-class XALAN_TRANSFORMER_EXPORT XalanDefaultDocumentBuilder : public XalanDocumentBuilder
-{
-public:
-
-	/**
-	 * Create a XalanDefaultDocumentBuilder instance,
-	 *
-	 * @param theURI An optional string to identify the document.
-	 */
-	XalanDefaultDocumentBuilder(const XalanDOMString&	theURI = XalanDOMString());
-
-	virtual
-	~XalanDefaultDocumentBuilder();
-
-	virtual XalanDocument*
-	getDocument() const;
-
-	virtual XalanParsedSourceHelper*
-	createHelper() const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-	virtual ContentHandler*
-	getContentHandler();
-
-	virtual DTDHandler*
-	getDTDHandler();
-
-	virtual LexicalHandler*
-	getLexicalHandler();
-
-private:
-
-	// not implemented...
-	XalanDefaultDocumentBuilder(const XalanDefaultDocumentBuilder&);
-
-	XalanDefaultDocumentBuilder&
-	operator=(const XalanDefaultDocumentBuilder&);
-
-	// Data members...
-	XalanSourceTreeDOMSupport		m_domSupport;
-
-	XalanSourceTreeParserLiaison	m_parserLiaison;
-
-	XalanSourceTreeContentHandler	m_contentHandler;
-
-	const XalanDOMString			m_uri;
-};
-
-
-
-#endif	// XALANDEFAULTDOCUMENTBUILDER_HEADER_GUARD
diff --git a/src/XalanTransformer/XalanDefaultParsedSource.cpp b/src/XalanTransformer/XalanDefaultParsedSource.cpp
deleted file mode 100644
index d07d3ed..0000000
--- a/src/XalanTransformer/XalanDefaultParsedSource.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanDefaultParsedSource.hpp"
-
-
-
-#include <xercesc/sax/InputSource.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/URISupport.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDocument.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-
-
-
-XalanDefaultParsedSourceDOMSupport::XalanDefaultParsedSourceDOMSupport(const XalanSourceTreeDOMSupport&		theDOMSupport) :
-	XalanSourceTreeDOMSupport(),
-	m_domSupport(theDOMSupport)
-{
-}
-
-
-
-XalanDefaultParsedSourceDOMSupport::~XalanDefaultParsedSourceDOMSupport()
-{
-}
-
-
-
-void
-XalanDefaultParsedSourceDOMSupport::reset()
-{
-}
-
-
-
-const XalanDOMString*
-XalanDefaultParsedSourceDOMSupport::getNamespaceForPrefix(
-			const XalanDOMString&	prefix, 
-			const XalanElement&		namespaceContext) const
-{
-	return DOMServices::getNamespaceForPrefix(
-					prefix, 
-					namespaceContext);
-}
-
-
-
-const XalanDOMString&
-XalanDefaultParsedSourceDOMSupport::getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const
-{
-	const XalanDOMString&	theURI =
-			m_domSupport.getUnparsedEntityURI(
-					theName,
-					theDocument);
-
-	if (length(theURI) != 0)
-	{
-		return theURI;
-	}
-	else
-	{
-		return XalanSourceTreeDOMSupport::getUnparsedEntityURI(
-					theName,
-					theDocument);
-	}
-}
-
-
-
-bool
-XalanDefaultParsedSourceDOMSupport::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-{
-	return m_domSupport.isNodeAfter(
-					node1, 
-					node2);
-}
-
-
-
-XalanDefaultParsedSourceHelper::XalanDefaultParsedSourceHelper(
-			const XalanSourceTreeDOMSupport&		theSourceDOMSupport,
-			const XalanSourceTreeParserLiaison&		theSourceParserLiaison) :
-	m_domSupport(theSourceDOMSupport),
-	m_parserLiaison()
-{
-	m_domSupport.setParserLiaison(&m_parserLiaison);
-}
-
-
-
-DOMSupport&
-XalanDefaultParsedSourceHelper::getDOMSupport()
-{
-	return m_domSupport;
-}
-
-
-
-XMLParserLiaison&
-XalanDefaultParsedSourceHelper::getParserLiaison()
-{
-	return m_parserLiaison;
-}
-
-
-
-XalanDefaultParsedSource::XalanDefaultParsedSource(
-			const InputSource&	theInputSource,
-			bool				fValidate,
-			ErrorHandler*		theErrorHandler,
-			EntityResolver*		theEntityResolver) :
-	XalanParsedSource(),
-	m_domSupport(),
-	m_parserLiaison(),
-	m_parsedSource(0)
-{
-	m_parserLiaison.setUseValidation(fValidate);
-	m_parserLiaison.setEntityResolver(theEntityResolver);
-	m_parserLiaison.setErrorHandler(theErrorHandler);
-
-	m_parsedSource = m_parserLiaison.mapDocument(m_parserLiaison.parseXMLStream(theInputSource));
-	assert(m_parsedSource != 0);
-
-	m_domSupport.setParserLiaison(&m_parserLiaison);
-
-	const XalanDOMChar* const	theSystemID = theInputSource.getSystemId();
-
-	if (theSystemID != 0)
-	{
-		try
-		{
-			m_uri = URISupport::getURLStringFromString(theSystemID);
-		}
-		catch(const XMLException&)
-		{
-			// Assume that any exception here relates to get the url from
-			// the system ID.  We'll assume that it's just a fake base identifier
-			// since the parser would have thrown an error if the system ID
-			// wasn't resolved.
-			m_uri = theSystemID;
-		}
-	}
-}
-
-
-
-XalanDefaultParsedSource::~XalanDefaultParsedSource()
-{
-}
-
-
-
-XalanDocument*	
-XalanDefaultParsedSource::getDocument() const
-{
-	return m_parsedSource;
-}
-
-
-
-XalanParsedSourceHelper*
-XalanDefaultParsedSource::createHelper() const
-{
-	return new XalanDefaultParsedSourceHelper(m_domSupport, m_parserLiaison);
-}
-
-
-
-const XalanDOMString&
-XalanDefaultParsedSource::getURI() const
-{
-	return m_uri;
-}
diff --git a/src/XalanTransformer/XalanDefaultParsedSource.hpp b/src/XalanTransformer/XalanDefaultParsedSource.hpp
deleted file mode 100644
index 420e315..0000000
--- a/src/XalanTransformer/XalanDefaultParsedSource.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDEFAULTPARSEDSOURCE_HEADER_GUARD)
-#define XALANDEFAULTPARSEDSOURCE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-
-
-
-#include <XalanTransformer/XalanParsedSource.hpp>
-
-
-
-class EntityResolver;
-class ErrorHandler;
-class XSLTInputSource;
-class XalanSourceTreeDocument;
-
-
-
-class XalanDefaultParsedSourceDOMSupport : public XalanSourceTreeDOMSupport
-{
-public:
-
-	XalanDefaultParsedSourceDOMSupport(const XalanSourceTreeDOMSupport&		theDOMSupport);
-
-	virtual
-	~XalanDefaultParsedSourceDOMSupport();
-
-	virtual void
-	reset();
-
-	// These interfaces are inherited from DOMSupport...
-
-	virtual const XalanDOMString*
-	getNamespaceForPrefix(
-			const XalanDOMString&	prefix, 
-			const XalanElement&		namespaceContext) const;
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const;
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const;
-
-private:
-
-	const XalanSourceTreeDOMSupport&	m_domSupport;
-};
-
-
-
-class XALAN_TRANSFORMER_EXPORT XalanDefaultParsedSourceHelper : public XalanParsedSourceHelper
-{
-public:
-
-	XalanDefaultParsedSourceHelper(
-			const XalanSourceTreeDOMSupport&		theSourceDOMSupport,
-			const XalanSourceTreeParserLiaison&		theSourceParserLiaison);
-
-	virtual DOMSupport&
-	getDOMSupport();
-
-	virtual XMLParserLiaison&
-	getParserLiaison();
-
-private:
-
-	// Not implemented...
-	XalanDefaultParsedSourceHelper(const XalanDefaultParsedSourceHelper&);
-
-	XalanDefaultParsedSourceHelper&
-	operator=(const XalanDefaultParsedSourceHelper&);
-
-
-	// Data members...
-	XalanDefaultParsedSourceDOMSupport	m_domSupport;
-
-	XalanSourceTreeParserLiaison		m_parserLiaison;
-};
-
-
-
-/**
- * This is designed to allow a XalanTranfomer object to reuse a parsed
- * document. 
- */
-class XALAN_TRANSFORMER_EXPORT XalanDefaultParsedSource : public XalanParsedSource
-{
-public:
-
-	XalanDefaultParsedSource(
-			const InputSource&	theInputSource,
-			bool				fValidate = false,
-			ErrorHandler*		theErrorHandler = 0,
-			EntityResolver*		theEntityResolver = 0);
-
-	virtual
-	~XalanDefaultParsedSource();
-
-	virtual XalanDocument*
-	getDocument() const;
-
-	virtual XalanParsedSourceHelper*
-	createHelper() const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-private:
-
-	// Not implemented...
-	XalanDefaultParsedSource(const XalanDefaultParsedSource&);
-
-	XalanDefaultParsedSource&
-	operator=(const XalanDefaultParsedSource&);
-
-
-	// Data members...
-	XalanSourceTreeDOMSupport		m_domSupport;
-
-	XalanSourceTreeParserLiaison	m_parserLiaison;
-
-	XalanSourceTreeDocument*		m_parsedSource;
-
-	XalanDOMString					m_uri;
-};
-
-
-
-#endif	// XALANDEFAULTPARSEDSOURCE_HEADER_GUARD
-
-
-
diff --git a/src/XalanTransformer/XalanDocumentBuilder.hpp b/src/XalanTransformer/XalanDocumentBuilder.hpp
deleted file mode 100644
index 40be256..0000000
--- a/src/XalanTransformer/XalanDocumentBuilder.hpp
+++ /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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOCUMENTBUILDER_HEADER_GUARD)
-#define XALANDOCUMENTBUILDER_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-// Base class include file.
-#include <XalanTransformer/XalanParsedSource.hpp>
-
-
-
-class ContentHandler;
-class DOMSupport;
-class DTDHandler;
-class LexicalHandler;
-class XalanDocument;
-
-
-
-/**
- * This is abstract base class designed to allow a XalanTranfomer 
- * object to use a document that is build dynamically by a user.
- */
-class XALAN_TRANSFORMER_EXPORT XalanDocumentBuilder : public XalanParsedSource
-{
-public:
-
-	virtual
-	~XalanDocumentBuilder()
-	{
-	}
-
-	// These are inherited from XalanParsedSource...
-	virtual XalanDocument*
-	getDocument() const = 0;	
-
-	virtual XalanParsedSourceHelper*
-	createHelper() const = 0;
-
-	virtual const XalanDOMString&
-	getURI() const = 0;
-
-	// These are new to XalanDocumentBuilder...
-	virtual ContentHandler*
-	getContentHandler() = 0;
-
-	virtual DTDHandler*
-	getDTDHandler() = 0;
-
-	virtual LexicalHandler*
-	getLexicalHandler() = 0;
-
-private:
-};
-
-
-
-#endif	// XALANDOCUMENTBUILDER_HEADER_GUARD
diff --git a/src/XalanTransformer/XalanParsedSource.cpp b/src/XalanTransformer/XalanParsedSource.cpp
deleted file mode 100644
index 71802e9..0000000
--- a/src/XalanTransformer/XalanParsedSource.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include <XalanTransformer/XalanParsedSource.hpp>
-
-
-	
-XalanParsedSource::XalanParsedSource()
-{
-}
-
-
-
-XalanParsedSource::~XalanParsedSource()
-{
-}
diff --git a/src/XalanTransformer/XalanParsedSource.hpp b/src/XalanTransformer/XalanParsedSource.hpp
deleted file mode 100644
index f18ed20..0000000
--- a/src/XalanTransformer/XalanParsedSource.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANPARSEDSOURCE_HEADER_GUARD)
-#define XALANPARSEDSOURCE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-// We're bringing in XalanDocument so that its derivation from XalanNode
-// is known...
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-class DOMSupport;
-class XMLParserLiaison;
-
-
-
-class XALAN_TRANSFORMER_EXPORT XalanParsedSourceHelper
-{
-public:
-
-	virtual
-	~XalanParsedSourceHelper()
-	{
-	}
-
-	/**
-	 * Get the DOMSupport instance.
-	 *
-	 * @return A reference to a DOMSupport instance.
-	 */
-	virtual DOMSupport&
-	getDOMSupport() = 0;
-
-	/**
-	 * Get the XMLParserLiaison instance.
-	 *
-	 * @return A rerefernce to an XMLParserLiaison instance.
-	 */
-	virtual XMLParserLiaison&
-	getParserLiaison() = 0;
-};
-
-
-
-/**
- * This is abstract base class designed to allow a XalanTranfomer 
- * object to reuse a parsed document. 
- */
-class XALAN_TRANSFORMER_EXPORT XalanParsedSource
-{
-public:
-
-	XalanParsedSource();
-
-	virtual
-	~XalanParsedSource();
-
-	/**
-	 * Get a pointer to the XalanDocument instance for the source
-	 * document
-	 *
-	 * @return A pointer to a XalanDocument instance.
-	 */
-	virtual XalanDocument*
-	getDocument() const = 0;
-
-	/**
-	 * Create the appropriate XalanParsedSourceHelper instance to
-	 * use for transforming with the instance.
-	 *
-	 * The caller is responsible for deleting the object when finished.
-	 *
-	 * @return A pointer to a XalanParsedSourceHelper instance.
-	 */
-	virtual XalanParsedSourceHelper*
-	createHelper() const = 0;
-
-	/**
-	 * Get the URI for the parsed source, if any.
-	 * use for transforming with the instance.
-	 *
-	 * @return A const reference to a string containing the URI
-	 */
-	virtual const XalanDOMString&
-	getURI() const = 0;
-};
-
-
-
-#endif	// XALANPARSEDSOURCE_HEADER_GUARD
-
-
-
diff --git a/src/XalanTransformer/XalanTransformer.cpp b/src/XalanTransformer/XalanTransformer.cpp
deleted file mode 100644
index e0af3e3..0000000
--- a/src/XalanTransformer/XalanTransformer.cpp
+++ /dev/null
@@ -1,1120 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanTransformer.hpp"
-
-
-
-#include <algorithm>
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/sax/SAXException.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DOMStringPrintWriter.hpp>
-#include <PlatformSupport/XalanOutputStreamPrintWriter.hpp>
-
-
-
-#include <XPath/XObjectFactoryDefault.hpp>
-#include <XPath/XPathFactoryBlock.hpp>
-#include <XPath/XPathFactoryDefault.hpp>
-
-
-
-#include <XSLT/StylesheetConstructionContextDefault.hpp>
-#include <XSLT/StylesheetExecutionContextDefault.hpp>
-#include <XSLT/StylesheetRoot.hpp>
-#include <XSLT/XSLTEngineImpl.hpp>
-#include <XSLT/XSLTInit.hpp>
-#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-
-
-
-#include <XalanExtensions/XalanExtensions.hpp>
-
-
-
-#include <XalanEXSLT/XalanEXSLTCommon.hpp>
-#include <XalanEXSLT/XalanEXSLTMath.hpp>
-#include <XalanEXSLT/XalanEXSLTSet.hpp>
-#include <XalanEXSLT/XalanEXSLTString.hpp>
-
-
-
-//#define XALAN_USE_ICU
-#if defined(XALAN_USE_ICU)
-#include <ICUBridge/FunctionICUFormatNumber.hpp>
-#include <ICUBridge/ICUBridgeCleanup.hpp>
-#include <ICUBridge/ICUBridgeCollationCompareFunctor.hpp>
-#endif
-
-
-
-#include "XalanCompiledStylesheetDefault.hpp"
-#include "XalanDefaultDocumentBuilder.hpp"
-#include "XalanDefaultParsedSource.hpp"
-#include "XalanTransformerOutputStream.hpp"
-#include "XalanTransformerProblemListener.hpp"
-#include "XercesDOMParsedSource.hpp"
-
-
-
-const XSLTInit*		XalanTransformer::s_xsltInit = 0;
-
-#if defined(XALAN_USE_ICU)
-static const ICUBridgeCollationCompareFunctor*	theICUFunctor = 0;
-#endif
-
-
-
-XalanTransformer::XalanTransformer():
-	m_compiledStylesheets(),
-	m_parsedSources(),
-	m_paramPairs(),
-	m_functionPairs(),
-	m_traceListeners(),
-	m_errorMessage(1, '\0'),
-	m_useValidation(false),
-	m_entityResolver(0),
-	m_errorHandler(0),
-	m_problemListener(0),
-#if defined(XALAN_NO_NAMESPACES)
-	m_warningStream(&cerr),
-#else
-	m_warningStream(&std::cerr),
-#endif
-	m_stylesheetExecutionContext(new StylesheetExecutionContextDefault)
-{
-#if defined(XALAN_USE_ICU)
-	m_stylesheetExecutionContext->installCollationCompareFunctor(theICUFunctor);
-#endif
-}
-
-
-
-XalanTransformer::~XalanTransformer()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Clean up all entries in the compliledStylesheets vector.
-	for_each(m_compiledStylesheets.begin(),
-			 m_compiledStylesheets.end(),
-			 DeleteFunctor<XalanCompiledStylesheet>());
-
-	// Clean up all entries in the compliledStylesheets vector.
-	for_each(m_parsedSources.begin(),
-			 m_parsedSources.end(),
-			 DeleteFunctor<XalanParsedSource>());
-
-	for (FunctionParamPairVectorType::size_type i = 0; i < m_functionPairs.size(); ++i)
-	{			
-		delete m_functionPairs[i].second;
-	}
-
-	delete m_stylesheetExecutionContext;
-}
-
-
-
-void
-XalanTransformer::initialize()
-{
-	// Initialize Xalan. 
-	s_xsltInit = new XSLTInit;
-
-	XalanExtensionsInstaller::installGlobal();
-	XalanEXSLTCommonFunctionsInstaller::installGlobal();
-	XalanEXSLTMathFunctionsInstaller::installGlobal();
-	XalanEXSLTSetFunctionsInstaller::installGlobal();
-	XalanEXSLTStringFunctionsInstaller::installGlobal();
-
-#if defined(XALAN_USE_ICU)
-	theICUFunctor = new ICUBridgeCollationCompareFunctor;
-
-	// Install the ICU version of format-number...
-	XPath::installFunction(
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")),
-			FunctionICUFormatNumber());
-#endif
-}
-
-
-
-void
-XalanTransformer::terminate()
-{
-	// Terminate Xalan and release memory.
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete (XSLTInit*) s_xsltInit;
-#else
-	delete s_xsltInit;
-#endif
-
-	s_xsltInit = 0;
-
-	XalanExtensionsInstaller::uninstallGlobal();
-	XalanEXSLTCommonFunctionsInstaller::uninstallGlobal();
-	XalanEXSLTMathFunctionsInstaller::uninstallGlobal();
-	XalanEXSLTSetFunctionsInstaller::uninstallGlobal();
-	XalanEXSLTStringFunctionsInstaller::uninstallGlobal();
-
-#if defined(XALAN_USE_ICU)
-	XPath::uninstallFunction(
-			StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")));
-
-#if defined(XALAN_CANNOT_DELETE_CONST)
-	delete (ICUBridgeCollationCompareFunctor*)theICUFunctor;
-#else
-	delete theICUFunctor;
-#endif
-
-	theICUFunctor = 0;
-
-	ICUBridgeCleanup::cleanup();
-#endif
-}
-
-
-
-static void
-addTraceListeners(
-				  const XalanTransformer::TraceListenerVectorType&	theTraceListeners,
-				  XSLTEngineImpl&									theEngine)
-{
-	if (theTraceListeners.size() != 0)
-	{
-		typedef XalanTransformer::TraceListenerVectorType	TraceListenerVectorType;
-
-		TraceListenerVectorType::const_iterator 	theEnd = theTraceListeners.end();
-
-		for(TraceListenerVectorType::const_iterator i = theTraceListeners.begin(); i != theEnd; ++i)
-		{
-			theEngine.addTraceListener(*i);
-		}
-
-		theEngine.setTraceSelects(true);
-	}
-}
-
-
-
-int
-XalanTransformer::transform(
-			const XSLTInputSource&			theInputSource, 
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			const XSLTResultTarget& 		theResultTarget)
-{
-	const XalanParsedSource*	theParsedSource = 0;
- 
-	const int	theResult = parseSource(theInputSource, theParsedSource);
- 
-	if (theResult != 0)
-	{
-		return theResult;
-	}
-	else
-	{
-		assert(theParsedSource != 0);
- 
-		// Make sure the parsed source is destroyed when
-		// the transformation is finished...
-		EnsureDestroyParsedSource	theGuard(*this, theParsedSource);
-
-		// Do the transformation...
-		return transform(
-						*theParsedSource,
-						theCompiledStylesheet,
-						theResultTarget);
-	}
-}
-
-
-
-int
-XalanTransformer::transform(
-	const XSLTInputSource&		theInputSource, 
-	const XSLTInputSource&		theStylesheetSource,
-	const XSLTResultTarget& 	theResultTarget)
-{
-	// Parse the source document.
-	const XalanParsedSource*	theParsedSource = 0;
-
-	const int	theResult = parseSource(theInputSource, theParsedSource);
-
-	if (theResult != 0)
-	{
-		return theResult;
-	}
-	else
-	{
-		assert(theParsedSource != 0);
-
-		// Make sure the parsed source is destroyed when
-		// the transformation is finished...
-		EnsureDestroyParsedSource	theGuard(*this, theParsedSource);
-
-		// Do the transformation...
-		return transform(
-						*theParsedSource,
-						theStylesheetSource,
-						theResultTarget);
-	}
-}
-
-
-
-int
-XalanTransformer::transform(
-			const XSLTInputSource&		theInputSource, 		
-			const XSLTResultTarget& 	theResultTarget)
-{
-	// Do the transformation...
-	return transform(
-					theInputSource, 
-					XSLTInputSource(),
-					theResultTarget);
-}
-
-
-
-int
-XalanTransformer::transform(
-			const XSLTInputSource&	theInputSource, 
-			const XSLTInputSource&	theStylesheetSource,
-			void*					theOutputHandle, 
-			XalanOutputHandlerType	theOutputHandler,
-			XalanFlushHandlerType	theFlushHandler)
-{
-	// Set to output target to the callback 
-	XalanTransformerOutputStream	theOutputStream(theOutputHandle, theOutputHandler, theFlushHandler);
-
-	XalanOutputStreamPrintWriter	thePrintWriter(theOutputStream);
-
-	XSLTResultTarget				theResultTarget(&thePrintWriter);
-
-	// Do the transformation...
-	return transform(
-					theInputSource, 
-					theStylesheetSource,
-					theResultTarget);
-}
-
-
-
-int
-XalanTransformer::transform(
-			const XalanParsedSource&		theParsedSource, 
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			void*							theOutputHandle, 
-			XalanOutputHandlerType			theOutputHandler,
-			XalanFlushHandlerType			theFlushHandler)
-{
-	// Set to output target to the callback 
-	XalanTransformerOutputStream	theOutputStream(theOutputHandle, theOutputHandler, theFlushHandler);
-
-	XalanOutputStreamPrintWriter	thePrintWriter(theOutputStream);
-
-	XSLTResultTarget				theResultTarget(&thePrintWriter);
-
-	// Do the transformation...
-	return transform(
-					theParsedSource,
-					theCompiledStylesheet,
-					theResultTarget);
-}
-
-
-
-int
-XalanTransformer::transform(
-			const XSLTInputSource&		theInputSource, 		
-			void*						theOutputHandle, 
-			XalanOutputHandlerType		theOutputHandler,
-			XalanFlushHandlerType		theFlushHandler)
-{
-	// Set to output target to the callback 
-	XalanTransformerOutputStream	theOutputStream(theOutputHandle, theOutputHandler, theFlushHandler);
-
-	XalanOutputStreamPrintWriter	thePrintWriter(theOutputStream);
-
-	XSLTResultTarget				theResultTarget(&thePrintWriter);
-
-	// Do the transformation...
-	return transform(
-					theInputSource, 
-					XSLTInputSource(),
-					theResultTarget);
-}
-
-
-
-int
-XalanTransformer::compileStylesheet(
-			const XSLTInputSource&				theStylesheetSource,
-			const XalanCompiledStylesheet*& 	theCompiledStylesheet)
-{
-	// Clear the error message.
-	m_errorMessage.resize(1, '\0');
-
-	// Store error messages from problem listener.
-	XalanDOMString	theErrorMessage;
-
-	int 	theResult = 0;
-
-	try
-	{
-		// Create some support objects that are necessary for running the processor...
-		XalanSourceTreeDOMSupport		theDOMSupport;
-
-		XalanSourceTreeParserLiaison	theParserLiaison(theDOMSupport);
-
-		theParserLiaison.setEntityResolver(m_entityResolver);
-		theParserLiaison.setErrorHandler(m_errorHandler);
-
-		// Hook the two together...
-		theDOMSupport.setParserLiaison(&theParserLiaison);
-
-		// Create some more support objects...
-		XSLTProcessorEnvSupportDefault	theXSLTProcessorEnvSupport;
-
-		XObjectFactoryDefault			theXObjectFactory;
-
-		XPathFactoryDefault 			theXPathFactory;
-
-		// Create a processor...
-		XSLTEngineImpl	theProcessor(
-				theParserLiaison,
-				theXSLTProcessorEnvSupport,
-				theDOMSupport,
-				theXObjectFactory,
-				theXPathFactory);
-
-		// Create a problem listener and send output to a XalanDOMString.
-		DOMStringPrintWriter	thePrintWriter(theErrorMessage);
-
-		XalanTransformerProblemListener		theProblemListener(m_warningStream, &thePrintWriter);
-
-		if (m_problemListener == 0)
-		{
-			theProcessor.setProblemListener(&theProblemListener);
-		}
-		else
-		{
-			theProcessor.setProblemListener(m_problemListener);
-		}
-
-		// Allocate the memory now, to avoid leaking if push_back() fails.
-		m_compiledStylesheets.reserve(m_compiledStylesheets.size() + 1);
-
-		// Create a new XalanCompiledStylesheet.
-		theCompiledStylesheet =
-			new XalanCompiledStylesheetDefault(
-						theStylesheetSource,
-						theXSLTProcessorEnvSupport,
-						theProcessor);
-
-		// Store it in a vector.
-		m_compiledStylesheets.push_back(theCompiledStylesheet);
-	}
-	catch(const XSLException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-		}
-
-		theResult = -1;
-	}
-	catch(const SAXException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-		}
-
-		theResult = -2;
-	}
-	catch(const XMLException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-		}
-
-		theResult = -3;
-	}
-	catch(const XalanDOMException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			XalanDOMString theMessage("XalanDOMException caught.  The code is ");
-
-			append(theMessage, LongToDOMString(long(e.getExceptionCode())));
-
-			append(theMessage, XalanDOMChar(XalanUnicode::charFullStop));
-
-			TranscodeToLocalCodePage(theMessage, m_errorMessage, true);
-		}
-
-		theResult = -4;
-	}
-
-	return theResult;
-}
-
-
-
-int
-XalanTransformer::destroyStylesheet(const XalanCompiledStylesheet*	theStylesheet)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	const CompiledStylesheetPtrVectorType::iterator 	i =
-		find(
-			m_compiledStylesheets.begin(),
-			m_compiledStylesheets.end(),
-			theStylesheet);
-
-	if (i == m_compiledStylesheets.end())
-	{
-		const char* const	theStylesheetErrorMessage =
-				"An invalid compiled stylesheet was provided.";
-
-		const XalanDOMString::size_type		theLength =
-			length(theStylesheetErrorMessage);
-
-		m_errorMessage.resize(theLength + 1, '\0');
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		std::strncpy(&*m_errorMessage.begin(), theStylesheetErrorMessage, theLength);
-#else
-		strncpy(&*m_errorMessage.begin(), theStylesheetErrorMessage, theLength);
-#endif
-
-		return -1;
-	}
-	else
-	{
-		m_compiledStylesheets.erase(i);
-
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (XalanCompiledStylesheet*) theStylesheet;
-#else
-		delete theStylesheet;
-#endif
-
-		return 0;
-	}
-}
-
-
-
-int
-XalanTransformer::parseSource(
-			const XSLTInputSource&		theInputSource,
-			const XalanParsedSource*&	theParsedSource,
-			bool						useXercesDOM)
-{
-	// Clear the error message.
-	m_errorMessage.clear();
-	m_errorMessage.push_back(0);
-
-	int theResult = 0;
-
-	try
-	{
-		// Allocate the memory now, to avoid leaking if push_back() fails.
-		m_parsedSources.reserve(m_parsedSources.size() + 1);
-
-		if(useXercesDOM == true)
-		{
-			theParsedSource =
-				new XercesDOMParsedSource(
-						theInputSource,
-						m_useValidation,
-						m_errorHandler,
-						m_entityResolver);
-		}
-		else
-		{
-			theParsedSource =
-				new XalanDefaultParsedSource(
-						theInputSource,
-						m_useValidation,
-						m_errorHandler,
-						m_entityResolver);
-		}
-
-		// Store it in a vector.
-		m_parsedSources.push_back(theParsedSource);
-	}
-	catch(const XSLException&	e)
-	{
-		TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-
-		theResult = -1;
-	}
-	catch(const SAXException&	e)
-	{
-		TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-
-		theResult = -2;
-	}
-	catch(const XMLException&	e)
-	{
-		TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-
-		theResult = -3;
-	}
-	catch(const XalanDOMException&	e)
-	{
-		XalanDOMString theMessage("XalanDOMException caught.  The code is ");
-			
-		append(theMessage, LongToDOMString(long(e.getExceptionCode())));
-
-		append(theMessage, XalanDOMChar(XalanUnicode::charFullStop));
-
-		TranscodeToLocalCodePage(theMessage, m_errorMessage, true);
-
-		theResult = -4;
-	}
-
-	return theResult;
-}
-
-
-
-int
-XalanTransformer::destroyParsedSource(const XalanParsedSource*	theParsedSource)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	const ParsedSourcePtrVectorType::iterator	i =
-		find(
-			m_parsedSources.begin(),
-			m_parsedSources.end(),
-			theParsedSource);
-
-	if (i == m_parsedSources.end())
-	{
-		const char* const	theParsedSourceErrorMessage =
-				"An invalid parsed source was provided.";
-
-		const XalanDOMString::size_type		theLength =
-			length(theParsedSourceErrorMessage);
-
-		m_errorMessage.resize(theLength + 1, '\0');
-
-#if defined(XALAN_STRICT_ANSI_HEADERS)
-		std::strncpy(&*m_errorMessage.begin(), theParsedSourceErrorMessage, theLength);
-#else
-		strncpy(&*m_errorMessage.begin(), theParsedSourceErrorMessage, theLength);
-#endif
-
-		return -1;
-	}
-	else
-	{
-		m_parsedSources.erase(i);
-
-#if defined(XALAN_CANNOT_DELETE_CONST)
-		delete (XalanParsedSource*) theParsedSource;
-#else
-		delete theParsedSource;
-#endif
-
-		return 0;
-	}
-}
-
-
-
-void
-XalanTransformer::setStylesheetParam(
-			const XalanDOMString&	key,
-			const XalanDOMString&	expression)
-{
-	// Store the stylesheet parameter in a vector.
-	m_paramPairs.push_back(ParamPairType(key,  expression));
-}
-
-
-
-void
-XalanTransformer::setStylesheetParam(
-			const char*		key,
-			const char*		expression)
-{
-	setStylesheetParam(XalanDOMString(key), XalanDOMString(expression));
-}
-
-
-
-bool
-XalanTransformer::removeTraceListener(TraceListener*	theTraceListener)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	const TraceListenerVectorType::iterator 	i =
-		find(
-			m_traceListeners.begin(),
-			m_traceListeners.end(),
-			theTraceListener);
-
-	if (i == m_traceListeners.end())
-	{
-		return false;
-	}
-	else
-	{
-		m_traceListeners.erase(i);
-
-		return true;
-	}
-}
-
-
-
-XalanDocumentBuilder*
-XalanTransformer::createDocumentBuilder()
-{
-	m_parsedSources.reserve(m_parsedSources.size() + 1);
-
-	XalanDocumentBuilder* const 	theNewBuilder = new XalanDefaultDocumentBuilder;
-
-	m_parsedSources.push_back(theNewBuilder);
-
-	return theNewBuilder;
-}
-
-
-
-void
-XalanTransformer::destroyDocumentBuilder(XalanDocumentBuilder*	theDocumentBuilder)
-{
-	destroyParsedSource(theDocumentBuilder);
-}
-
-
-
-void
-XalanTransformer::installExternalFunction(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function& 		function)
-{
-	m_functionPairs.push_back(FunctionPairType(XalanQNameByValue(theNamespace, functionName), function.clone()));
-}
-
-
-
-void
-XalanTransformer::installExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function& 		function)
-{
-	XSLTProcessorEnvSupportDefault::installExternalFunctionGlobal(
-			theNamespace,
-			functionName,
-			function);
-}
-
-
-
-void
-XalanTransformer::uninstallExternalFunction(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName)
-{
-	for (FunctionParamPairVectorType::size_type i = 0; i < m_functionPairs.size(); ++i)
-	{
-		if(XalanQNameByReference(theNamespace, functionName).equals(m_functionPairs[i].first))
-		{
-			delete m_functionPairs[i].second;
-
-			m_functionPairs.erase(m_functionPairs.begin() + i); 	
-		}
-	}	
-}
-
-
-
-void
-XalanTransformer::uninstallExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName)
-{
-	XSLTProcessorEnvSupportDefault::uninstallExternalFunctionGlobal(
-			theNamespace,
-			functionName);
-}
-
-
-
-
-const char*
-XalanTransformer::getLastError() const
-{
-	return &m_errorMessage[0]; 
-}
-
-
-
-int
-XalanTransformer::getIndent() const
-{
-	return m_stylesheetExecutionContext->getIndent();
-}
-
-
-
-void
-XalanTransformer::setIndent(int	indentAmount)
-{
-	m_stylesheetExecutionContext->setIndent(indentAmount);;
-}
-
-
-
-void
-XalanTransformer::reset()
-{
-	try
-	{
-		// Reset objects.
-		m_stylesheetExecutionContext->setXPathEnvSupport(0);
-
-		m_stylesheetExecutionContext->setDOMSupport(0);
-		
-		m_stylesheetExecutionContext->setXObjectFactory(0);
-		
-		m_stylesheetExecutionContext->setXSLTProcessor(0);
-
-		m_stylesheetExecutionContext->reset();
-
-		// Clear the ParamPairVectorType.
-		m_paramPairs.clear();
-	}
-	catch(...)
-	{
-	}
-}
-
-
-
-XalanTransformer::EnsureReset::~EnsureReset()
-{
-	m_transformer.m_stylesheetExecutionContext->reset();
-
-	m_transformer.reset();
-}
-
-
-
-int
-XalanTransformer::doTransform(
-			const XalanParsedSource&		theParsedXML,
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			const XSLTInputSource*			theStylesheetSource,
-			const XSLTResultTarget&			theResultTarget)
-{
-	int 	theResult = 0;
-
-	// Clear the error message.
-	m_errorMessage.resize(1, '\0');
-
-	// Store error messages from problem listener.
-	XalanDOMString	theErrorMessage;
-
-	try
-	{
-		XalanDocument* const	theSourceDocument = theParsedXML.getDocument();
-		assert(theSourceDocument != 0);
-
-		// Create the helper object that is necessary for running the processor...
-		XalanAutoPtr<XalanParsedSourceHelper>	theHelper(theParsedXML.createHelper());
-		assert(theHelper.get() != 0);
-
-		DOMSupport& 		theDOMSupport = theHelper->getDOMSupport();
-
-		XMLParserLiaison&	theParserLiaison = theHelper->getParserLiaison();
-
-		theParserLiaison.setExecutionContext(*m_stylesheetExecutionContext);
-
-		theParserLiaison.setEntityResolver(m_entityResolver);
-		theParserLiaison.setErrorHandler(m_errorHandler);
-		theParserLiaison.setUseValidation(m_useValidation);
-
-		// Create some more support objects...
-		XSLTProcessorEnvSupportDefault	theXSLTProcessorEnvSupport;
-
-		const XalanDOMString&	theSourceURI = theParsedXML.getURI();
-
-		if (length(theSourceURI) > 0)
-		{
-			theXSLTProcessorEnvSupport.setSourceDocument(theSourceURI, theSourceDocument);
-		}
-
-		// Set the functions if any.
-		{
-			for (FunctionParamPairVectorType::size_type i = 0; i < m_functionPairs.size(); ++i)
-			{
-				theXSLTProcessorEnvSupport.installExternalFunctionLocal(
-						m_functionPairs[i].first.getNamespace(),
-						m_functionPairs[i].first.getLocalPart(),
-						*m_functionPairs[i].second);
-			}
-		}
-
-		XObjectFactoryDefault	theXObjectFactory;
-
-		XPathFactoryDefault 	theXPathFactory;
-
-		// Create a processor...
-		XSLTEngineImpl	theProcessor(
-					theParserLiaison,
-					theXSLTProcessorEnvSupport,
-					theDOMSupport,
-					theXObjectFactory,
-					theXPathFactory);
-
-		theXSLTProcessorEnvSupport.setProcessor(&theProcessor);
-
-		const EnsureReset	theReset(*this);
-
-		// Set up the stylesheet execution context.
-		m_stylesheetExecutionContext->setXPathEnvSupport(&theXSLTProcessorEnvSupport);
-
-		m_stylesheetExecutionContext->setDOMSupport(&theDOMSupport);
-
-		m_stylesheetExecutionContext->setXObjectFactory(&theXObjectFactory);
-
-		m_stylesheetExecutionContext->setXSLTProcessor(&theProcessor);
-
-		// Create a problem listener and send output to a XalanDOMString.  Do this before
-		// pushing params, since there could be a problem resolving a QName.
-		DOMStringPrintWriter	thePrintWriter(theErrorMessage);
-
-		XalanTransformerProblemListener		theProblemListener(m_warningStream, &thePrintWriter);
-
-		if (m_problemListener == 0)
-		{
-			theProcessor.setProblemListener(&theProblemListener);
-		}
-		else
-		{
-			theProcessor.setProblemListener(m_problemListener);
-		}
-
-		{
-			// Set the parameters if any.
-			for (ParamPairVectorType::size_type i = 0; i < m_paramPairs.size(); ++i)
-			{
-				theProcessor.setStylesheetParam(
-						m_paramPairs[i].first,
-						m_paramPairs[i].second);
-			}
-		}
-
-		// Create an input source for the source document...
-		XSLTInputSource		theDocumentInputSource(theSourceDocument);
-
-		// Set the system ID, so relative URIs are resolved properly...
-		theDocumentInputSource.setSystemId(c_wstr(theSourceURI));
-
-		addTraceListeners(m_traceListeners, theProcessor);
-
-		// Since the result target is not const in our
-		// internal intefaces, we'll pass in a local copy
-		// of the one provided...
-		XSLTResultTarget	tempResultTarget(theResultTarget);
-
-		if (theCompiledStylesheet != 0)
-		{
-			assert(theStylesheetSource == 0 &&
-				   theCompiledStylesheet->getStylesheetRoot() != 0);
-
-			m_stylesheetExecutionContext->setStylesheetRoot(theCompiledStylesheet->getStylesheetRoot());
-
-			// Do the transformation...
-			theProcessor.process(
-						theDocumentInputSource,
-						tempResultTarget,
-						*m_stylesheetExecutionContext);
-		}
-		else
-		{
-			assert(theStylesheetSource != 0);
-
-			// Create a stylesheet construction context, 
-			// using the stylesheet's factory support objects.
-			StylesheetConstructionContextDefault	theStylesheetConstructionContext(
-							theProcessor,
-							theXSLTProcessorEnvSupport,
-							theXPathFactory);
-
-			// Do the transformation...
-			theProcessor.process(
-							theDocumentInputSource,
-							*theStylesheetSource,
-							tempResultTarget,
-							theStylesheetConstructionContext,
-							*m_stylesheetExecutionContext);
-		}
-	}
-	catch(const XSLException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-		}
-
-		theResult = -1;
-	}
-	catch(const SAXException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-		}
-
-		theResult = -2;
-	}
-	catch(const XMLException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			TranscodeToLocalCodePage(e.getMessage(), m_errorMessage, true);
-		}
-
-		theResult = -3;
-	}
-	catch(const XalanDOMException&	e)
-	{
-		if (length(theErrorMessage) != 0)
-		{
-			TranscodeToLocalCodePage(theErrorMessage, m_errorMessage, true);
-		}
-		else
-		{
-			XalanDOMString theMessage("XalanDOMException caught.  The code is ");
-			
-			append(theMessage, LongToDOMString(long(e.getExceptionCode())));
-			append(theMessage, XalanDOMChar(XalanUnicode::charFullStop));
-
-			TranscodeToLocalCodePage(theMessage, m_errorMessage, true);
-		}
-
-		theResult = -4;
-	}
-
-	return theResult;
-}
diff --git a/src/XalanTransformer/XalanTransformer.hpp b/src/XalanTransformer/XalanTransformer.hpp
deleted file mode 100644
index d613ed0..0000000
--- a/src/XalanTransformer/XalanTransformer.hpp
+++ /dev/null
@@ -1,773 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANTRANSFORMER_HEADER_GUARD)
-#define XALANTRANSFORMER_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-#include <cassert>
-#include <vector>
-
-#if defined(XALAN_OLD_STREAMS)
-class ostream;
-#else
-#include <iosfwd>
-#endif
-
-
-
-#include <XPath/XalanQNameByValue.hpp>
-
-
-
-#include <XSLT/XSLTInputSource.hpp>
-#include <XSLT/XSLTResultTarget.hpp>
-
-
-
-class EntityResolver;
-class ErrorHandler;
-class Function;
-class StylesheetExecutionContextDefault;
-class ProblemListener;
-class TraceListener;
-class XSLTInit;
-class XalanDocumentBuilder;
-class XalanCompiledStylesheet;
-class XalanParsedSource;
-class XalanTransformerOutputStream;
-
-
-
-/**
- * This is a simple C++ interface for some common usage patterns. It's 
- * the user's responsibility to call initialize and terminate for Xerces 
- * and Xalan before creating and after deleting any XalanTransformer  
- * instances.
-*/
-class XALAN_TRANSFORMER_EXPORT XalanTransformer
-{
-public:
-	
-#if defined(XALAN_NO_NAMESPACES)
-	typedef ostream			StreamType;
-#else
-	typedef std::ostream	StreamType;
-#endif
-
-	XalanTransformer();
-
-	virtual
-	~XalanTransformer();
-
-	/**
-	 * Initialize Xalan.
-	 * Should be called only once per process before creating any
-	 * instances of XalanTransformer. See class XSLTInit.
-	 */
-	static void
-	initialize();
-
-	/**
-	 * Terminate Xalan.
-	 * Should be called only once per process after deleting all
-	 * instances of XalanTransformer. See class XSLTInit.
-	 */
-	static void
-	terminate();
-
-	/**
-	 * Transform will apply the stylesheet source to the parsed xml source
-	 * and write the transformation output to the target. 
-	 *
-	 * @param theParsedXML			the parsed input source
-	 * @param theStylesheetSource	stylesheet source
-	 * @param theResultTarget		output source
-	 * @return	0 for success
-	 */
-	int
-	transform(
-			const XalanParsedSource&	theParsedXML, 
-			const XSLTInputSource&		theStylesheetSource,
-			const XSLTResultTarget& 	theResultTarget)
-	{
-		return doTransform(theParsedXML, 0, &theStylesheetSource, theResultTarget);
-	}
-
-	/**
-	 * Transform will apply the compiled stylesheet to the parsed xml source
-	 * and write the transformation output to the target. 
-	 *
-	 * @param theParsedXML			the parsed input source
-	 * @param theCompiledStylesheet pointer to a compiled stylesheet.  Must not be null.
-	 * @param theResultTarget		output source 
-	 * @return	0 for success
-	 */
-	int
-	transform(
-			const XalanParsedSource&		theParsedXML,
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			const XSLTResultTarget& 		theResultTarget)
-	{
-		assert(theCompiledStylesheet != 0);
-
-		return doTransform(theParsedXML, theCompiledStylesheet, 0, theResultTarget);
-	}
-
-	/**
-	 * Transform will apply the stylesheet source to the input source
-	 * and write the transformation output to the target. The input 
-	 * source and result target can be a file name, a stream or a root
-	 * node.
-	 *
-	 * @param theInputSource		input source
-	 * @param theStylesheetSource	stylesheet source
-	 * @param theResultTarget		output source
-	 * @return	0 for success
-	 */
-	int
-	transform(
-			const XSLTInputSource&		theInputSource,
-			const XSLTInputSource&		theStylesheetSource,
-			const XSLTResultTarget& 	theResultTarget);
-
-	/**
-	 * Transform will apply the stylesheet provided as a PI in the 
-	 * XML of the input source and write the transformation output to 
-	 * the target. The input source and result target can be a file 
-	 * name, a stream or a root node.
-	 *
-	 * @param theInputSource		input source
-	 * @param theResultTarget		output source tree
-	 * @return	0 for success
-	 */
-	int
-	transform(
-			const XSLTInputSource&		theInputSource, 		
-			const XSLTResultTarget& 	theResultTarget);
-
-	/**
-	 * Transform will apply the stylesheet source to the input source
-	 * and write the transformation result to a callback function  
-	 * in pre-allocated blocks. The input source can be a file name, 
-	 * a stream or a root node. Upon termination, Xalan releases any 
-	 * allocated memory. Data passed to the callback is not guaranteed to 
-	 * be null terminated.
-	 *
-	 * - See XalanTransformerOutputStream and XalanOutputHandlerType 
-	 * for more details.
-	 * 
-	 * @param theInputSource		input source
-	 * @param theStylesheetSource	stylesheet source	
-	 * @param theOutputHandle		void pointer passed through to callback.
-	 * @param theOutputHandler		a user defined (callback) function.
-	 * @param theFlushHandler		(optional) a user defined (callback) function.
-	 * @return	0 for success 
-	 */
-	int
-	transform(
-			const XSLTInputSource&		theInputSource, 
-			const XSLTInputSource&		theStylesheetSource,
-			void*						theOutputHandle, 
-			XalanOutputHandlerType		theOutputHandler,
-			XalanFlushHandlerType		theFlushHandler = 0);
-	
-	/**
-	 * Transform will apply the compiled stylesheet to the input source
-	 * and write the transformation output to the target. The input 
-	 * source and result target can be a file name, a stream or a root
-	 * node. 
-	 *
-	 * @param theInputSource		input source
-	 * @param theCompiledStylesheet pointer to a compiled stylesheet.  Must not be null.
-	 * @param theResultTarget		output source 
-	 * @return	0 for success
-	 */
-	int
-	transform(
-			const XSLTInputSource&			theInputSource, 
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			const XSLTResultTarget& 		theResultTarget);
- 
-	/**
-	 * Transform will apply the compiled stylesheet to the source
-	 * and write the transformation result to a callback function  
-	 * in pre-allocated blocks. The input source can be a file name, 
-	 * a stream or a root node. Upon termination, Xalan releases any 
-	 * allocated memory. Data passed to the callback is not guaranteed to 
-	 * be null terminated.
-	 *
-	 * - See XalanTransformerOutputStream and XalanOutputHandlerType 
-	 * for more details.
-	 * 
-	 * @param theParsedSource		Parsed source instance
-	 * @param theCompiledStylesheet pointer to a compiled stylesheet.  Must not be null.
-	 * @param theOutputHandle		void pointer passed through to callback.
-	 * @param theOutputHandler		a user defined callback function.
-	 * @param theFlushHandler		An optional user-defined callback function.
-	 * @return	0 for success 
-	 */
-	int
-	transform(
-			const XalanParsedSource&		theParsedSource,
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			void*							theOutputHandle,
-			XalanOutputHandlerType			theOutputHandler,
-			XalanFlushHandlerType			theFlushHandler = 0);
-
-	/**
-	 * Transform will apply the stylesheet provided as a PI in the 
-	 * XML of the input source and write  the transformation result to a  
-	 * callback function in pre-allocated blocks. The input source can be 
-	 * a file name, a stream or a root node. Upon termination, Xalan 
-	 * releases any allocated memory. Data passed to the callback is not 
-	 * guaranteed to be null terminated.
-	 *
-	 * - See XalanTransformerOutputStream and XalanOutputHandlerType 
-	 * for more details.
-	 * 
-	 * @param theInputSource		input source
-	 * @param theOutputHandle		void pointer passed through to callback.
-	 * @param theOutputHandler		a user defined callback function.
-	 * @param theFlushHandler		an optional user-defined callback function.
-	 * @return	0 for success 
-	 */
-	int
-	transform(
-			const XSLTInputSource&		theInputSource,
-			void*						theOutputHandle,
-			XalanOutputHandlerType		theOutputHandler,
-			XalanFlushHandlerType		theFlushHandler = 0);
-
-	/**
-	 * Creates a compiled stylesheet.  The input source can be 
-	 * a file name, a stream or a root node.   The XalanTransformer
-	 * instance owns the XalanCompiledStylesheet instance and will
-	 * delete it when the XalanTransformer instance goes out of scope,
-	 * or you explicitly call destroyStylesheet().	You must not delete
-	 * the instance yourself.
-	 *
-	 * @param theStylesheetSource input source
-	 * @param theCompiledStylesheet a reference to a pointer to a XalanCompileStylesheet.
-	 * @return 0 for success 
-	 */
-	int
-	compileStylesheet(
-			const XSLTInputSource&				theStylesheetSource,
-			const XalanCompiledStylesheet*& 	theCompiledStylesheet);
-
-	/**
-	 * Destroy a XalanCompiledStylesheet instance created by a previous
-	 * call to compileStylesheet().
-	 *
-	 * @param theStylesheet The instance to destroy.
-	 * @return 0 for success 
-	 */
-	int
-	destroyStylesheet(const XalanCompiledStylesheet*	theStylesheet);
-
-	/**
-	 * Parse a source XML document.  The input source can be 
-	 * a file name, a stream or a root node.  The XalanTransformer
-	 * instance owns the XalanParsedSource instance and will
-	 * delete it when the XalanTransformer instance goes out of scope,
-	 * or you explicitly call destroyParsedSource().  You must not
-	 * delete the instance yourself.
-	 *
-	 * @param theInputSource input source
-	 * @param theParsedSource a reference to a pointer to a XalanParsedSource.
-	 * @param useXercesDOM input use default or xerces DOM source tree
-	 * @return 0 for success 
-	 */
-	int
-	parseSource(
-			const XSLTInputSource&		theInputSource,
-			const XalanParsedSource*&	theParsedSource,
-			bool						useXercesDOM = false);
-
-	/**
-	 * Destroy a parsed source created by a previous call to parseSource().
-	 *
-	 * @param theParsedSource The XalanParsedSource instance to destroy.
-	 * @return 0 for success 
-	 */
-	int
-	destroyParsedSource(const XalanParsedSource*	theParsedSource);
-
-	/**
-	 * Create a document builder.  Using the document builder, you
-	 * can construct a document using SAX2 interfaces.	The XalanTransformer
-	 * instance owns the document builder and will delete it when the
-	 * XalanTransformer instance goes out of scope, or you explicitly call
-	 * destroyDocumentBuilder().  You must not delete the instance yourself.
-	 *
-	 * @return	a pointer to a XalanDocumentBuilder instance or 0 for failure.
-	 */
-	XalanDocumentBuilder*
-	createDocumentBuilder();
-
-	/**
-	 * Destroy a document builder created by a previous call to createDocumentBuilder().
-	 * Passing a pointer that is not created by a call to createDocumentBuilder() can
-	 * result in undefined behavior.
-	 *
-	 * @param theDocumentBuilder The document builder to destroy.
-	 */
-	void
-	destroyDocumentBuilder(XalanDocumentBuilder*	theDocumentBuilder);
-
-	/**
-	 * Install an external function in the local space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	void
-	installExternalFunction(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function& 		function);
-
-	/**
-	 * Install an external function in the global space.
-	 *
-	 * @param theNamespace The namespace for the functionl
-	 * @param functionName The name of the function.
-	 * @param function The function to install.
-	 */
-	static void
-	installExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName,
-			const Function& 		function);
-
-	/**
-	 * Uninstall an external local function.
-	 *
-	 * @param theNamespace The namespace for the function
-	 * @param functionName The name of the function.
-	 */
-	void
-	uninstallExternalFunction(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName);
-
-	/**
-	 * Uninstall an external global function.
-	 *
-	 * @param theNamespace The namespace for the function
-	 * @param functionName The name of the function.
-	 */
-	static void
-	uninstallExternalFunctionGlobal(
-			const XalanDOMString&	theNamespace,
-			const XalanDOMString&	functionName);
-
-	/**
-	 * Set a top-level stylesheet parameter.  This value can be evaluated via
-	 * xsl:param-variable.
-	 *
-	 * @param key name of the param
-	 * @param expression expression that will be evaluated
-	 */
-	void
-	setStylesheetParam(
-			const XalanDOMString&	key,
-			const XalanDOMString&	expression);
-
-	/**
-	 * Set a top-level stylesheet parameter.  This value can be evaluated via
-	 * xsl:param-variable.  These values are cleared after a call to transform().
-	 *
-	 * @param key name of the param
-	 * @param expression expression that will be evaluated
-	 */
-	void
-	setStylesheetParam(
-			const char*		key,
-			const char*		expression);
-
-	/**
-	 * Add a TraceListener instance.  TraceListeners instances are preserved
-	 * between calls to transform(), so they will be called until they are
-	 * removed.
-	 *
-	 * @param theTraceListener The instance to add.
-	 */
-	void
-	addTraceListener(TraceListener*		theTraceListener)
-	{
-		m_traceListeners.push_back(theTraceListener);
-	}
-
-	/**
-	 * Remove a TraceListener instance
-	 *
-	 * @param theTraceListener The instance to remove.
-	 * @return true if the instance was removed, false if not.
-	 */
-	bool
-	removeTraceListener(TraceListener*	theTraceListener);
-
-	/**
-	 * Remove all TraceListener instances.
-	 */
-	void
-	removeTraceListeners()
-	{
-		m_traceListeners.clear();
-	}
-
-	/**
-	 * Set a flag to indicate whether or not the source file(s) for the
-	 * transformation will be validated.
-	 *
-	 * @param fValue the new value for the flag.
-	 */
-	bool
-	getUseValidation() const
-	{
-		return m_useValidation;
-	}
-
-	/**
-	 * Set a flag to indicate whether or not the source file(s) for the
-	 * transformation will be validated.
-	 *
-	 * @param fValue the new value for the flag.
-	 */
-	void
-	setUseValidation(bool	fValue)
-	{
-		m_useValidation = fValue;
-	}
-
-	/**
-	 * This method returns the installed entity resolver.
-	 *
-	 * @return The pointer to the installed entity resolver object.
-	 */
-	EntityResolver*
-	getEntityResolver() const
-	{
-		return m_entityResolver;
-	}
-
-	/**
-	 * This method installs the user-specified entity resolver.
-	 * It allows applications to trap and redirect calls to
-	 * external entities.
-	 *
-	 * @param handler A pointer to the entity resolver to be called
-	 * 			   when the parser comes across references to
-	 * 			   entities in the XML file.
-	 */
-	void
-	setEntityResolver(EntityResolver*	theResolver)
-	{
-		m_entityResolver = theResolver;
-	}
-
-	/**
-	 * This method returns the installed error handler.
-	 *
-	 * @return The pointer to the installed error handler object.
-	 */
-	ErrorHandler*
-	getErrorHandler() const
-	{
-		return m_errorHandler;
-	}
-
-	/**
-	 * This method installs the user-specified error handler.
-	 *
-	 * @param handler A pointer to the error handler to be called upon error.
-	 */
-	void
-	setErrorHandler(ErrorHandler*	theErrorHandler)
-	{
-		m_errorHandler = theErrorHandler;
-	}
-
-	/**
-	 * This method returns the installed ProblemListener instance.
-	 *
-	 * @return The pointer to the installed ProblemListener instance.
-	 */
-	ProblemListener*
-	getProblemListener() const
-	{
-		return 	m_problemListener;
-	}
-
-	/**
-	 * This method installs the user-specified ProblemListener instance.
-	 *
-	 * @param handler A pointer to the ProblemListener to be called when a problem occurs.
-	 */
-	void
-	setProblemListener(ProblemListener*		theProblemListener)
-	{
-		m_problemListener = theProblemListener;
-	}
-
-	/**
-	 * Returns the last error that occurred as a 
-	 * result of calling transform. 
-	 *
-	 * @return	error message const character pointer.
-	 */
-	const char*
-	getLastError() const;
-
-	/**
-	 * Get the current number of spaces to indent.
-	 * 
-	 * @return number of spaces
-	 */
-	int
-	getIndent() const;
-
-	/**
-	 * Set the current number of spaces to indent.
-	 * 
-	 * @param indentAmount The number of spaces to indent.  Use -1 for the default amount.
-	 */
-	void
-	setIndent(int	indentAmount);
-
-	/**
-	 * Set the ostream instance for reporting warnings and messages.  The default
-	 * is std::cerr.  If set to null, no warnings or messages will be written.
-	 * 
-	 * @param theStream A pointer to the ostream instance.
-	 */
-	void
-	setWarningStream(StreamType*	theStream)
-	{
-		m_warningStream = theStream;
-	}
-
-	/**
-	 * Get the current warning stream ostream instance
-	 *
-	 * @return A pointer to the instance.  Can be null.
-	 */
-	StreamType*
-	getWarningStream() const
-	{
-		return m_warningStream;
-	}
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef vector<const XalanCompiledStylesheet*>		CompiledStylesheetPtrVectorType;
-	typedef vector<const XalanParsedSource*>			ParsedSourcePtrVectorType;
-	typedef pair<XalanDOMString, XalanDOMString>		ParamPairType;
-	typedef vector<ParamPairType>						ParamPairVectorType;
-	typedef pair<XalanQNameByValue, Function*>			FunctionPairType;
-	typedef vector<FunctionPairType>					FunctionParamPairVectorType;
-	typedef vector<TraceListener*>						TraceListenerVectorType;
-#else
-	typedef std::vector<const XalanCompiledStylesheet*> CompiledStylesheetPtrVectorType;
-	typedef std::vector<const XalanParsedSource*>		ParsedSourcePtrVectorType;
-	typedef std::pair<XalanDOMString, XalanDOMString>	ParamPairType;
-	typedef std::vector<ParamPairType>					ParamPairVectorType;
-	typedef std::pair<XalanQNameByValue, Function*>		FunctionPairType;
-	typedef std::vector<FunctionPairType>				FunctionParamPairVectorType;
-	typedef std::vector<TraceListener*>					TraceListenerVectorType;
-#endif
-
-	class EnsureDestroyParsedSource
-	{
-	public:
-
-		EnsureDestroyParsedSource(
-				XalanTransformer&			theTransformer,
-				const XalanParsedSource*	theParsedSource) :
-			m_transformer(theTransformer),
-			m_parsedSource(theParsedSource)
-		{
-		}
-
-		~EnsureDestroyParsedSource()
-		{
-			m_transformer.destroyParsedSource(m_parsedSource);
-		}
-
-	private:
-
-		XalanTransformer&				m_transformer;
-
-		const XalanParsedSource* const	m_parsedSource;
-	};
-
-	struct EnsureDestroyCompiledStylesheet
-	{
-		EnsureDestroyCompiledStylesheet(
-				XalanTransformer&				theTransformer,
-				const XalanCompiledStylesheet*	theCompiledStylesheet) :
-			m_transformer(theTransformer),
-			m_compiledStylesheet(theCompiledStylesheet)
-		{
-		}
-
-		~EnsureDestroyCompiledStylesheet()
-		{
-			m_transformer.destroyStylesheet(m_compiledStylesheet);
-		}
-
-	private:
-
-		XalanTransformer&						m_transformer;
-
-		const XalanCompiledStylesheet* const	m_compiledStylesheet;
-	};
-
-	struct EnsureDestroyDocumentBuilder
-	{
-		EnsureDestroyDocumentBuilder(
-				XalanTransformer&		theTransformer,
-				XalanDocumentBuilder*	theDocumentBuilder) :
-			m_transformer(theTransformer),
-			m_documentBuilder(theDocumentBuilder)
-		{
-		}
-
-		~EnsureDestroyDocumentBuilder()
-		{
-			m_transformer.destroyDocumentBuilder(m_documentBuilder);
-		}
-
-	private:
-
-		XalanTransformer&			m_transformer;
-
-		XalanDocumentBuilder* const m_documentBuilder;
-	};
-
-protected:
-
-private:
-
-	void
-	reset();
-
-	class EnsureReset
-	{
-	public:
-
-		EnsureReset(XalanTransformer&	theTransformer) :
-			m_transformer(theTransformer)
-		{
-		}
-
-		~EnsureReset();
-
-	private:
-
-		XalanTransformer&	m_transformer;
-	};
-
-	friend class EnsureReset;
-
-	int
-	doTransform(
-			const XalanParsedSource&		theParsedXML, 
-			const XalanCompiledStylesheet*	theCompiledStylesheet,
-			const XSLTInputSource*			theStylesheetSource,
-			const XSLTResultTarget&			theResultTarget);
-
-
-	// Data members...
-	CompiledStylesheetPtrVectorType 		m_compiledStylesheets;
-
-	ParsedSourcePtrVectorType				m_parsedSources;
-
-	ParamPairVectorType 					m_paramPairs;
-
-	FunctionParamPairVectorType 			m_functionPairs;
-
-	TraceListenerVectorType					m_traceListeners;
-
-	CharVectorType							m_errorMessage;
-
-	bool									m_useValidation;
-
-	EntityResolver*							m_entityResolver;
-
-	ErrorHandler*							m_errorHandler;
-
-	ProblemListener*						m_problemListener;
-
-	StreamType*								m_warningStream;
-
-	// This should always be the latest data member!!!
-	StylesheetExecutionContextDefault*		m_stylesheetExecutionContext;
-
-	static const XSLTInit*					s_xsltInit;
-};
-
-
-
-#endif	// XALANTRANSFORMER_HEADER_GUARD
diff --git a/src/XalanTransformer/XalanTransformerDefinitions.hpp b/src/XalanTransformer/XalanTransformerDefinitions.hpp
deleted file mode 100644
index eb18589..0000000
--- a/src/XalanTransformer/XalanTransformerDefinitions.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_TRANSFORMER_DEFINITIONS_HEADER_GUARD_1357924680)
-#define XALAN_TRANSFORMER_DEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#include <stddef.h>
-
-
-
-#if defined(XALAN_TRANSFORMER_BUILD_DLL)
-
-#define XALAN_TRANSFORMER_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_TRANSFORMER_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_TRANSFORMER_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_TRANSFORMER_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-#if defined(__cplusplus)
-extern "C"
-{
-#endif
-
-	typedef size_t	CallbackSizeType;
-
-/**
- * Callback function passed to the XalanTransformer APIs.
- * Used to process transformation output in blocks of data.
- * Caller is responsible for streaming or copying data to a user  
- * allocated buffer. Caller should not attempt to write to or  
- * free this data.
- *
- * The callback should return the number of bytes written, and
- * this number should match the length received. Otherwise the
- * XalanTransformToHandler function terminates and returns an error status.	
- *
- * static unsigned long xalanOutputHandler(const void* data, unsigned long length, const void *handle);
- *
- * @param data		a block of data
- * @param length	length of block
- * @param handle	handle of XalanTransformer instance.
- * @return number of bytes written
- */
-typedef CallbackSizeType (*XalanOutputHandlerType) (const char*, CallbackSizeType, void*);
-	
-/**
- * Callback function passed to the XalanTransformer APIs.
- * Used to flush the buffer once transform is completed.
- *
- * static void xalanFlushHandler(const void *handle);
- *
- * @param handle	handle of XalanTransformer instance.
- */
-typedef void (*XalanFlushHandlerType) (void*);
-
-#if defined(__cplusplus)
-}
-#endif
-
-
-
-#endif	// XALAN_TRANSFORMER_DEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XalanTransformer/XalanTransformerOutputStream.cpp b/src/XalanTransformer/XalanTransformerOutputStream.cpp
deleted file mode 100644
index 71ab5c8..0000000
--- a/src/XalanTransformer/XalanTransformerOutputStream.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XalanTransformerOutputStream.hpp"
-
-
-
-XalanTransformerOutputStream::XalanTransformerOutputStream(
-	void*						theOutputHandle, 
-	XalanOutputHandlerType		theOutputHandler,
-	XalanFlushHandlerType		theFlushHandler):
-	m_outputHandle(theOutputHandle),
-	m_outputHandler(theOutputHandler),
-	m_flushHandler(theFlushHandler)
-{
-}
-
-
-
-XalanTransformerOutputStream::~XalanTransformerOutputStream()
-{
-}
-
-
-
-void
-XalanTransformerOutputStream::doFlush()
-{
-	if(m_flushHandler != 0)
-	{
-		m_flushHandler(m_outputHandle);
-	}
-}
-
-
-
-void
-XalanTransformerOutputStream::writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength)
-{
-	const size_t theBytesWritten = m_outputHandler(theBuffer, theBufferLength, m_outputHandle);		
-
-	// We validate that the number of bytes written equals the number of bytes sent to
-	// the output handler. Otherwise we will stop processing  and throw an exception. 
-	// Thus the callback can alert us of memory allocation issues or buffer overflows.
-	if(theBytesWritten != theBufferLength)
-	{
-		throw XalanOutputStreamException(
-			TranscodeFromLocalCodePage("Number of bytes written does not equal number of bytes sent!"),
-			TranscodeFromLocalCodePage("UnknownOutputHandlerException"));
-	}
-}
-
diff --git a/src/XalanTransformer/XalanTransformerOutputStream.hpp b/src/XalanTransformer/XalanTransformerOutputStream.hpp
deleted file mode 100644
index d626bb8..0000000
--- a/src/XalanTransformer/XalanTransformerOutputStream.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANTRANSFORMEROUTPUTSTREAM_HEADER_GUARD_1357924680)
-#define XALANTRANSFORMEROUTPUTSTREAM_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-// Base class header file.
-#include <PlatformSupport/XalanOutputStream.hpp>
-
-
-
-// A class for output to a user defined (callback) function.
-class XALAN_TRANSFORMER_EXPORT XalanTransformerOutputStream : public XalanOutputStream
-{
-public:
-
-	/**
-	 * Construct a XalanTransformerOutputStream instance for output to a
-	 * user defined (callback) function.
-	 *
-	 * @param theOutputHandle	void pointer passed through to callback.
-	 * @param theOutputHandler	a user defined (callback) function.
-	 * @param theFlushHandler	a user defined (callback) function.
-	 */
-    XalanTransformerOutputStream(
-		void*						theOutputHandle, 
-		XalanOutputHandlerType		theOutputHandler,
-		XalanFlushHandlerType		theFlushHandler = 0);
-
-
-    virtual
-	~XalanTransformerOutputStream();
-
-protected:
-
-	virtual void
-	writeData(
-			const char*		theBuffer,
-			size_type		theBufferLength);
-
-	virtual void
-	doFlush();
-
-private:	
-	
-    // These are not implemented...
-    XalanTransformerOutputStream(const XalanTransformerOutputStream&);
-
-    XalanTransformerOutputStream&
-	operator=(const XalanTransformerOutputStream&);
-
-	void* const				m_outputHandle;
-
-	XalanOutputHandlerType	m_outputHandler;
-
-	XalanFlushHandlerType	m_flushHandler;
-};
-
-
-
-#endif	// XALANTRANSFORMEROUTPUTSTREAM_HEADER_GUARD_1357924680
-
-
diff --git a/src/XalanTransformer/XalanTransformerProblemListener.cpp b/src/XalanTransformer/XalanTransformerProblemListener.cpp
deleted file mode 100644
index 9efd3ea..0000000
--- a/src/XalanTransformer/XalanTransformerProblemListener.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-/**
- * 
- * @author David N. Bertoni (david_n_bertoni@lotus.com)
- * */
-
-
-
-// Base class header file.
-#include "XalanTransformerProblemListener.hpp"
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <ostream>
-#endif
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-#include <PlatformSupport/DOMStringPrintWriter.hpp>
-
-
-
-XalanTransformerProblemListener::XalanTransformerProblemListener(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream*		theWarningStream,
-#else
-			std::ostream*	theWarningStream,
-#endif
-			PrintWriter*	thePrintWriter) :
-	ProblemListener(),
-	m_problemListener(thePrintWriter),
-	m_warningStream(theWarningStream)
-{
-}
-
-
-
-XalanTransformerProblemListener::~XalanTransformerProblemListener()
-{
-}
-
-
-
-void
-XalanTransformerProblemListener::setPrintWriter(PrintWriter*	thePrintWriter)
-{
-	m_problemListener.setPrintWriter(thePrintWriter);
-}
-
-
-
-void
-XalanTransformerProblemListener::problem(
-			eProblemSource			where,
-			eClassification			classification, 
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset)
-{
-	if (classification == eERROR)
-	{
-		m_problemListener.problem(
-			where,
-			classification,
-			sourceNode,
-			styleNode,
-			msg,
-			uri,
-			lineNo,
-			charOffset);
-	}
-	else if (m_warningStream != 0)
-	{
-		XalanDOMString	theWarning;
-
-		DOMStringPrintWriter	thePrintWriter(theWarning);
-
-		ProblemListenerDefault::problem(
-			thePrintWriter,
-			where,
-			classification,
-			sourceNode,
-			styleNode,
-			msg,
-			uri,
-			lineNo,
-			charOffset);
-
-		*m_warningStream << theWarning;
-	}
-}
diff --git a/src/XalanTransformer/XalanTransformerProblemListener.hpp b/src/XalanTransformer/XalanTransformerProblemListener.hpp
deleted file mode 100644
index 8bc0e32..0000000
--- a/src/XalanTransformer/XalanTransformerProblemListener.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALAN_XALANTRANSFORMERPROBLEMLISTENER_HEADER_GUARD)
-#define XALAN_XALANTRANSFORMERPROBLEMLISTENER_HEADER_GUARD
-
-
-
-
-// Base include file.  Must be first.
-#include "XalanTransformerDefinitions.hpp"
-
-
-
-// Xalan header files.
-#include <XSLT/ProblemListenerDefault.hpp>
-
-
-
-class XALAN_TRANSFORMER_EXPORT XalanTransformerProblemListener : public ProblemListener
-{
-public:
-
-	XalanTransformerProblemListener(
-#if defined(XALAN_NO_NAMESPACES)
-			ostream*		theWarningStream,
-#else
-			std::ostream*	theWarningStream,
-#endif
-			PrintWriter*	thePrintWriter);
-
-	virtual
-	~XalanTransformerProblemListener();
-
-	// These methods are inherited from ProblemListener ...
-	
-	virtual void
-	setPrintWriter(PrintWriter*		pw);
-
-	virtual void
-	problem(
-			eProblemSource			where,
-			eClassification			classification, 
-			const XalanNode*		sourceNode,
-			const XalanNode*		styleNode,
-			const XalanDOMString&	msg,
-			const XalanDOMChar*		uri,
-			int						lineNo,
-			int						charOffset);
-
-private:
-
-	ProblemListenerDefault	m_problemListener;
-
-#if defined(XALAN_NO_NAMESPACES)
-	ostream*		m_warningStream;
-#else
-	std::ostream*	m_warningStream;
-#endif
-};
-
-
-
-#endif	// XALAN_XALANTRANSFORMERPROBLEMLISTENER_HEADER_GUARD
diff --git a/src/XalanTransformer/XercesDOMParsedSource.cpp b/src/XalanTransformer/XercesDOMParsedSource.cpp
deleted file mode 100644
index 207f710..0000000
--- a/src/XalanTransformer/XercesDOMParsedSource.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDOMParsedSource.hpp"
-
-
-
-#include <xercesc/sax/InputSource.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <PlatformSupport/URISupport.hpp>
-
-
-
-class XALAN_TRANSFORMER_EXPORT XercesDOMParsedSourceHelper : public XalanParsedSourceHelper
-{
-public:
-
-	XercesDOMParsedSourceHelper(const XercesParserLiaison&	theXercesParserLiaison) :
-		m_domSupport(),
-		m_parserLiaison()
-	{
-	}
-
-	virtual DOMSupport&
-	getDOMSupport()
-	{
-		return m_domSupport;
-	}
-
-	virtual XMLParserLiaison&
-	getParserLiaison()
-	{
-		return m_parserLiaison;
-	}
-
-private:
-
-	XercesDOMSupport		m_domSupport;
-
-	XercesParserLiaison		m_parserLiaison;
-};
-
-
-
-XercesDOMParsedSource::XercesDOMParsedSource(
-			const InputSource&	theInputSource,
-			bool				fValidate,
-			ErrorHandler*		theErrorHandler,
-			EntityResolver*		theEntityResolver):
-	XalanParsedSource(),
-	m_parserLiaison(),
-	m_parsedSource(0)
-{
-	m_parserLiaison.setUseValidation(fValidate);
-	m_parserLiaison.setEntityResolver(theEntityResolver);
-	m_parserLiaison.setErrorHandler(theErrorHandler);
-
-	m_parsedSource = m_parserLiaison.parseXMLStream(theInputSource);
-	assert(m_parsedSource != 0);
-
-	const XalanDOMChar* const	theSystemID = theInputSource.getSystemId();
-
-	if (theSystemID != 0)
-	{
-		try
-		{
-			m_uri = URISupport::getURLStringFromString(theSystemID);
-		}
-		catch(const XMLException&)
-		{
-			// Assume that any exception here relates to get the url from
-			// the system ID.  We'll assume that it's just a fake base identifier
-			// since the parser would have thrown an error if the system ID
-			// wasn't resolved.
-			m_uri = theSystemID;
-		}
-	}
-}
-
-
-
-XercesDOMParsedSource::~XercesDOMParsedSource()
-{
-}
-
-
-
-XalanDocument*
-XercesDOMParsedSource::getDocument() const
-{
-	return m_parsedSource;
-}
-
-
-
-XalanParsedSourceHelper*
-XercesDOMParsedSource::createHelper() const
-{
-	return new XercesDOMParsedSourceHelper(m_parserLiaison);
-}
-
-
-
-const XalanDOMString&
-XercesDOMParsedSource::getURI() const
-{
-	return m_uri;
-}
diff --git a/src/XalanTransformer/XercesDOMParsedSource.hpp b/src/XalanTransformer/XercesDOMParsedSource.hpp
deleted file mode 100644
index bdd9589..0000000
--- a/src/XalanTransformer/XercesDOMParsedSource.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOMPARSEDSOURCE_HEADER_GUARD)
-#define XERCESDOMPARSEDSOURCE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-
-
-
-#include <XalanTransformer/XalanParsedSource.hpp>
-
-
-
-class EntityResolver;
-class ErrorHandler;
-class InputSource;
-
-
-
-/**
- * This is designed to allow a XalanTranfomer object to reuse a parsed
- * document. 
- */
-class XALAN_TRANSFORMER_EXPORT XercesDOMParsedSource : public XalanParsedSource
-{
-public:
-	
-	XercesDOMParsedSource(
-			const InputSource&	theInputSource,
-			bool				fValidate = false,
-			ErrorHandler*		theErrorHandler = 0,
-			EntityResolver*		theEntityResolver = 0);
-
-	virtual
-	~XercesDOMParsedSource();
-
-	virtual XalanDocument*
-	getDocument() const;
-
-	virtual XalanParsedSourceHelper*
-	createHelper() const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-private:
-
-	XercesParserLiaison		m_parserLiaison;
-
-	XalanDocument*			m_parsedSource;
-
-	XalanDOMString			m_uri;
-};
-
-
-
-#endif	// XERCESDOMPARSEDSOURCE_HEADER_GUARD
-
-
-
diff --git a/src/XalanTransformer/XercesDOMWrapperParsedSource.cpp b/src/XalanTransformer/XercesDOMWrapperParsedSource.cpp
deleted file mode 100644
index bb68b62..0000000
--- a/src/XalanTransformer/XercesDOMWrapperParsedSource.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDOMWrapperParsedSource.hpp"
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#include <XercesParserLiaison/XercesDocumentBridge.hpp>
-
-
-
-class XALAN_TRANSFORMER_EXPORT XercesDOMWrapperParsedSourceHelper : public XalanParsedSourceHelper
-{
-public:
-
-	XercesDOMWrapperParsedSourceHelper(
-			XercesDOMSupport&		theDOMSupport,
-			XercesParserLiaison&	theParserLiaison) :
-		m_domSupport(theDOMSupport),
-		m_parserLiaison(theParserLiaison)
-	{
-	}
-
-	virtual DOMSupport&
-	getDOMSupport()
-	{
-		return m_domSupport;
-	}
-
-	virtual XMLParserLiaison&
-	getParserLiaison()
-	{
-		return m_parserLiaison;
-	}
-
-private:
-
-	XercesDOMSupport&		m_domSupport;
-
-	XercesParserLiaison&	m_parserLiaison;
-};
-
-
-
-XercesDOMWrapperParsedSource::XercesDOMWrapperParsedSource(
-			const DOM_Document&		theDocument,
-			XercesParserLiaison&	theParserLiaison,
-			XercesDOMSupport&		theDOMSupport,
-			const XalanDOMString&	theURI) :
-	XalanParsedSource(),
-	m_parserLiaison(theParserLiaison),
-	m_domSupport(theDOMSupport),
-	m_parsedSource(theParserLiaison.createDocument(theDocument, true, true)),
-	m_uri(theURI)
-{
-	assert(m_parsedSource != 0);
-}
-
-
-
-XercesDOMWrapperParsedSource::~XercesDOMWrapperParsedSource()
-{
-	m_parserLiaison.destroyDocument(m_parsedSource);
-}
-
-
-
-XalanDocument*
-XercesDOMWrapperParsedSource::getDocument() const
-{
-	return m_parsedSource;
-}
-
-
-
-XalanParsedSourceHelper*
-XercesDOMWrapperParsedSource::createHelper() const
-{
-	return new XercesDOMWrapperParsedSourceHelper(m_domSupport, m_parserLiaison);
-}
-
-
-
-const XalanDOMString&
-XercesDOMWrapperParsedSource::getURI() const
-{
-	return m_uri;
-}
diff --git a/src/XalanTransformer/XercesDOMWrapperParsedSource.hpp b/src/XalanTransformer/XercesDOMWrapperParsedSource.hpp
deleted file mode 100644
index 403a076..0000000
--- a/src/XalanTransformer/XercesDOMWrapperParsedSource.hpp
+++ /dev/null
@@ -1,123 +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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOMWRAPPERPARSEDSOURCE_HEADER_GUARD)
-#define XERCESDOMWRAPPERPARSEDSOURCE_HEADER_GUARD
-
-
-
-// Base include file.  Must be first.
-#include <XalanTransformer/XalanTransformerDefinitions.hpp>
-
-
-
-#include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
-#include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
-
-
-
-#include <XSLT/XSLTInputSource.hpp>
-
-
-
-#include <XalanTransformer/XalanParsedSource.hpp>
-
-
-
-class DOM_Document;
-
-
-
-/**
- * This is designed to allow a XalanTranfomer object to wrap a parsed
- * Xerces document. 
- */
-class XALAN_TRANSFORMER_EXPORT XercesDOMWrapperParsedSource : public XalanParsedSource
-{
-public:
-
-	XercesDOMWrapperParsedSource(
-			const DOM_Document&		theDocument,
-			XercesParserLiaison&	theParserLiaison,
-			XercesDOMSupport&		theDOMSupport,
-			const XalanDOMString&	theURI = XalanDOMString());
-
-	virtual
-	~XercesDOMWrapperParsedSource();
-
-	virtual XalanDocument*
-	getDocument() const;
-
-	virtual XalanParsedSourceHelper*
-	createHelper() const;
-
-	virtual const XalanDOMString&
-	getURI() const;
-
-private:
-
-	XercesParserLiaison&	m_parserLiaison;
-
-	XercesDOMSupport&		m_domSupport;
-
-	XalanDocument* const	m_parsedSource;
-
-	const XalanDOMString	m_uri;
-};
-
-
-
-#endif	// XERCESDOMWRAPPERPARSEDSOURCE_HEADER_GUARD
diff --git a/src/XercesParserLiaison/XercesAttrBridge.cpp b/src/XercesParserLiaison/XercesAttrBridge.cpp
deleted file mode 100644
index 4f97325..0000000
--- a/src/XercesParserLiaison/XercesAttrBridge.cpp
+++ /dev/null
@@ -1,367 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesAttrBridge.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-#include "XercesElementBridge.hpp"
-
-
-
-XercesAttrBridge::XercesAttrBridge(
-			const DOM_Attr&					theXercesAttr,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanAttr(),
-	m_xercesNode(theXercesAttr),
-	m_children(theXercesAttr.getChildNodes(),
-			   theNavigator),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesAttrBridge::~XercesAttrBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesAttrBridge::NodeType
-XercesAttrBridge::getNodeType() const
-{
-	return ATTRIBUTE_NODE;
-}
-
-
-
-XalanNode*
-XercesAttrBridge::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XercesAttrBridge::getChildNodes() const
-{
-	return &m_children;
-}
-
-
-
-XalanNode*
-XercesAttrBridge::getFirstChild() const
-{
-	return m_navigator.getFirstChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesAttrBridge::getLastChild() const
-{
-	return m_navigator.getLastChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesAttrBridge::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesAttrBridge::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XercesAttrBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesAttrBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesAttrBridge*
-#endif
-XercesAttrBridge::cloneNode(bool	deep) const
-{
-	assert(m_navigator.getOwnerDocument() != 0);
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesAttrBridge* const		theBridge =
-		static_cast<XercesAttrBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesAttrBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	return m_navigator.insertBefore(m_xercesNode, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesAttrBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	return m_navigator.replaceChild(m_xercesNode, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesAttrBridge::removeChild(XalanNode*	oldChild)
-{
-	return m_navigator.removeChild(m_xercesNode, oldChild);
-}
-
-
-
-XalanNode*
-XercesAttrBridge::appendChild(XalanNode*	newChild)
-{
-	return m_navigator.appendChild(m_xercesNode, newChild);
-}
-
-
-
-bool
-XercesAttrBridge::hasChildNodes() const
-{
-	return m_xercesNode.hasChildNodes();
-}
-
-
-
-void
-XercesAttrBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesAttrBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-
-bool
-XercesAttrBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesAttrBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesAttrBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesAttrBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getName());
-}
-
-
-
-bool
-XercesAttrBridge::getSpecified() const
-{
-	return m_xercesNode.getSpecified();
-}
-
-
-
-const XalanDOMString&
-XercesAttrBridge::getValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getValue());
-}
-
-
-
-void
-XercesAttrBridge::setValue(const XalanDOMString&	value)
-{
-	try
-	{
-		m_xercesNode.setValue(c_wstr(value));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-XalanElement*
-XercesAttrBridge::getOwnerElement() const
-{
-	return m_navigator.getOwnerElement(m_xercesNode);
-}
diff --git a/src/XercesParserLiaison/XercesAttrBridge.hpp b/src/XercesParserLiaison/XercesAttrBridge.hpp
deleted file mode 100644
index 314a014..0000000
--- a/src/XercesParserLiaison/XercesAttrBridge.hpp
+++ /dev/null
@@ -1,523 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESATTRBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESATTRBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Attr.hpp>
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNodeListBridge.hpp>
-
-
-
-class XercesBridgeNavigator;
-class XalanElement;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesAttrBridge : public XalanAttr
-{
-public:
-
-	XercesAttrBridge(
-			const DOM_Attr&					theXercesAttr,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesAttrBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesAttrBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanAttr...
-
-	/** @name Getter functions */
-	 //@{
-    /**
-
-	* Returns the name of this attribute. 
-    */
-    virtual const XalanDOMString&
-	getName() const;
-
-	/**
-	 *
-     * Returns true if the attribute received its value explicitly in the
-     * XML document, or if a value was assigned programatically with
-     * the setValue function.  Returns false if the attribute value 
-     * came from the default value declared in the document's DTD.
-     */
-    virtual bool
-	getSpecified() const;
-
-    /**
-	 * Returns the value of the attribute.
-	 *
-     * The value of the attribute is returned as a string. 
-     * Character and general entity references are replaced with their values.
-     */
-    virtual const XalanDOMString&
-	getValue() const;
-
-	//@}
-	/** @name Setter functions */
-	//@{
-    
-	/**
-	 * Sets the value of the attribute.  A text node with the unparsed contents
-     * of the string will be created.
-	 *
-     * @param value The value of the DOM attribute to be set
-     */
-    virtual void
-	setValue(const XalanDOMString&	value);
-
-	//@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-    /**
-     * The <code>Element</code> node this attribute is attached to or
-     * <code>null</code> if this attribute is not in use.
-     */
-    virtual XalanElement*
-	getOwnerElement() const;
-    //@}
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_Attr
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-private:
-
-	// Not implemented...
-	XercesAttrBridge(const XercesAttrBridge&	theSource);
-
-	XercesAttrBridge&
-	operator=(const XercesAttrBridge&	theSource);
-
-	bool
-	operator==(const XercesAttrBridge&		theRHS) const;
-
-	// Data members...
-	DOM_Attr						m_xercesNode;
-
-	XercesNodeListBridge			m_children;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESATTRBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesAttributeBridgeAllocator.cpp b/src/XercesParserLiaison/XercesAttributeBridgeAllocator.cpp
deleted file mode 100644
index e398c54..0000000
--- a/src/XercesParserLiaison/XercesAttributeBridgeAllocator.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XercesAttributeBridgeAllocator.hpp"
-
-
-
-XercesAttributeBridgeAllocator::XercesAttributeBridgeAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XercesAttributeBridgeAllocator::~XercesAttributeBridgeAllocator()
-{
-}
-
-
-
-XercesAttributeBridgeAllocator::ObjectType*
-XercesAttributeBridgeAllocator::create(
-			const DOM_Attr&					theXercesAttr,
-			const XercesBridgeNavigator&	theNavigator)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(theXercesAttr, theNavigator);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XercesAttributeBridgeAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XercesParserLiaison/XercesAttributeBridgeAllocator.hpp b/src/XercesParserLiaison/XercesAttributeBridgeAllocator.hpp
deleted file mode 100644
index 589ad02..0000000
--- a/src/XercesParserLiaison/XercesAttributeBridgeAllocator.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XERCESATTRIBUTEBRIDGEALLOCATOR_INCLUDE_GUARD_12455133)
-#define XERCESATTRIBUTEBRIDGEALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XercesParserLiaison/XercesAttrBridge.hpp>
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesAttributeBridgeAllocator
-{
-public:
-
-	typedef XercesAttrBridge						ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XercesAttributeBridgeAllocator(size_type	theBlockCount);
-
-	~XercesAttributeBridgeAllocator();
-	
-	/**
-	 * Create a XercesAttrBridge instance.
-	 * 
-	 * @param theXercesText The Xerces attribute node
-	 * @param theNavigator The navigator for this instance.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const DOM_Attr&					theXercesAttr,
-			const XercesBridgeNavigator&	theNavigator);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XercesAttributeBridgeAllocator(const XercesAttributeBridgeAllocator&);
-
-	XercesAttributeBridgeAllocator&
-	operator=(const XercesAttributeBridgeAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XERCESATTRIBUTEBRIDGEALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XercesParserLiaison/XercesBridgeCommon.hpp b/src/XercesParserLiaison/XercesBridgeCommon.hpp
deleted file mode 100644
index 5055ce4..0000000
--- a/src/XercesParserLiaison/XercesBridgeCommon.hpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#if !defined(XERCESBRIDGECOMMON_HEADER_GUARD_1357924680)
-#define XERCESBRIDGECOMMON_HEADER_GUARD_1357924680
-
-
-
-
-
-#endif	// !defined(XERCESBRIDGECOMMON_HEADER_GUARD_1357924680)
-
-
diff --git a/src/XercesParserLiaison/XercesBridgeHelper.cpp b/src/XercesParserLiaison/XercesBridgeHelper.cpp
deleted file mode 100644
index d8a78be..0000000
--- a/src/XercesParserLiaison/XercesBridgeHelper.cpp
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "XercesBridgeHelper.hpp"
-
-
-
-#include <xercesc/dom/DOM_CharacterData.hpp>
-
-
-
-#include "XercesDOMException.hpp"
-
-
-
-void
-XercesBridgeHelper::setNodeValue(
-			DOM_Node&				theXercesNode,
-			const XalanDOMString&	nodeValue)
-{
-	try
-	{
-		theXercesNode.setNodeValue(XalanDOMStringToXercesDOMString(nodeValue));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-void
-XercesBridgeHelper::normalize(DOM_Node&		theXercesNode)
-{
-	try
-	{
-		theXercesNode.normalize();
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-bool
-XercesBridgeHelper::isSupported(
-			const DOM_Node&			theXercesNode,
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version)
-{
-	return theXercesNode.isSupported(
-				XalanDOMStringToXercesDOMString(feature),
-				XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-void
-XercesBridgeHelper::setPrefix(
-			DOM_Node&				theXercesNode,
-			const XalanDOMString&	prefix)
-{
-	try
-	{
-		theXercesNode.setPrefix(XalanDOMStringToXercesDOMString(prefix));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-const XalanDOMString
-XercesBridgeHelper::substringData(
-			const DOM_CharacterData&	theXercesNode,
-			unsigned int				offset,
-			unsigned int				count)
-{
-	try
-	{
-		const DOMString		theString(theXercesNode.substringData(offset, count));
-
-		return XalanDOMString(theString.rawBuffer(), theString.length());
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-void
-XercesBridgeHelper::appendData(
-			DOM_CharacterData&		theXercesNode,
-			const XalanDOMString&	arg)
-{
-	try
-	{
-		theXercesNode.appendData(XalanDOMStringToXercesDOMString(arg));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-void
-XercesBridgeHelper::insertData(
-			DOM_CharacterData&		theXercesNode,
-			unsigned int			offset,
-			const  XalanDOMString& 	arg)
-{
-	try
-	{
-		theXercesNode.insertData(offset, XalanDOMStringToXercesDOMString(arg));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-void
-XercesBridgeHelper::deleteData(
-			DOM_CharacterData&	theXercesNode,
-			unsigned int		offset, 
-			unsigned int		count)
-{
-	try
-	{
-		theXercesNode.deleteData(offset, count);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-void
-XercesBridgeHelper::replaceData(
-			DOM_CharacterData&		theXercesNode,
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg)
-{
-	try
-	{
-		theXercesNode.replaceData(offset, count, XalanDOMStringToXercesDOMString(arg));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
diff --git a/src/XercesParserLiaison/XercesBridgeHelper.hpp b/src/XercesParserLiaison/XercesBridgeHelper.hpp
deleted file mode 100644
index b141c73..0000000
--- a/src/XercesParserLiaison/XercesBridgeHelper.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESBRIDGEHELPER_HEADER_GUARD_1357924680)
-#define XERCESBRIDGEHELPER_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/dom/DOM_Node.hpp>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <XercesParserLiaison/XercesBridgeNavigator.hpp>
-
-
-
-class DOM_CharacterData;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesBridgeHelper
-{
-public:
-
-	typedef unsigned int	XercesStringLengthType;
-
-	static const DOMString
-	XalanDOMStringToXercesDOMString(const XalanDOMString&	theString)
-	{
-		assert(XercesStringLengthType(theString.length()) == theString.length());
-
-		return DOMString(&theString[0], XercesStringLengthType(theString.length()));
-	}
-
-	static void
-	setNodeValue(
-			DOM_Node&				theXercesNode,
-			const XalanDOMString&	nodeValue);
-
-	static void
-	normalize(DOM_Node&		theXercesNode);
-
-	static bool
-	isSupported(
-			const DOM_Node&			theXercesNode,
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version);
-
-	static void
-	setPrefix(
-			DOM_Node&				theXercesNode,
-			const XalanDOMString&	prefix);
-
-	static const XalanDOMString
-	substringData(
-			const DOM_CharacterData&	theXercesNode,
-			unsigned int				offset, 
-			unsigned int				count);
-
-	static void
-	appendData(
-			DOM_CharacterData&		theXercesNode,
-			const XalanDOMString&	arg);
-
-	static void
-	insertData(
-			DOM_CharacterData&		theXercesNode,
-			unsigned int			offset,
-			const  XalanDOMString& 	arg);
-
-	static void
-	deleteData(
-			DOM_CharacterData&	theXercesNode,
-			unsigned int		offset, 
-			unsigned int		count);
-
-	static void
-	replaceData(
-			DOM_CharacterData&		theXercesNode,
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-private:
-
-	// Not implemented...
-	XercesBridgeHelper();
-
-	XercesBridgeHelper(const XercesBridgeHelper&);
-};
-
-
-
-#endif	// !defined(XERCESBRIDGEHELPER_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesBridgeNavigator.cpp b/src/XercesParserLiaison/XercesBridgeNavigator.cpp
deleted file mode 100644
index 2db47b9..0000000
--- a/src/XercesParserLiaison/XercesBridgeNavigator.cpp
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesBridgeNavigator.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-#include "XercesAttrBridge.hpp"
-#include "XercesDocumentBridge.hpp"
-#include "XercesTextBridge.hpp"
-#include "XercesDOMException.hpp"
-
-
-
-// I'm using this to distinguish between null nodes, which are valid, and
-// an uninitialized cached node address.  This is probably bogus, and I'll
-// probably just change this to 0, but this is experimental anyway...
-#if defined(XALAN_OLD_STYLE_CASTS)
-static XalanNode* const		invalidNodeAddress = (XalanNode*)1;
-#else
-static XalanNode* const		invalidNodeAddress = reinterpret_cast<XalanNode*>(1);
-#endif
-
-
-
-XercesBridgeNavigator::XercesBridgeNavigator(
-			XercesDocumentBridge*	theOwnerDocument,
-			bool					mappingMode) :
-	m_ownerDocument(theOwnerDocument),
-	m_parentNode(mappingMode == true ? invalidNodeAddress : 0),
-	m_previousSibling(mappingMode == true ? invalidNodeAddress : 0),
-	m_nextSibling(mappingMode == true ? invalidNodeAddress : 0),
-	m_firstChild(mappingMode == true ? invalidNodeAddress : 0),
-	m_lastChild(mappingMode == true ? invalidNodeAddress : 0),
-	m_index(UINT_MAX)
-{
-}
-
-
-
-XercesBridgeNavigator::XercesBridgeNavigator(const XercesBridgeNavigator&	theSource) :
-	m_ownerDocument(theSource.m_ownerDocument),
-	m_parentNode(theSource.m_parentNode),
-	m_previousSibling(theSource.m_previousSibling),
-	m_nextSibling(theSource.m_nextSibling),
-	m_firstChild(theSource.m_firstChild),
-	m_lastChild(theSource.m_lastChild),
-	m_index(theSource.m_index)
-{
-}
-
-
-
-XercesBridgeNavigator::~XercesBridgeNavigator()
-{
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::mapNode(const DOM_Node&		theXercesNode) const
-{
-	return m_ownerDocument->mapNode(theXercesNode);
-}
-
-
-
-XalanAttr*
-XercesBridgeNavigator::mapNode(const DOM_Attr&		theXercesNode) const
-{
-	return m_ownerDocument->mapNode(theXercesNode);
-}
-
-
-
-DOM_Node
-XercesBridgeNavigator::mapNode(const XalanNode*		theXalanNode) const
-{
-	return m_ownerDocument->mapNode(theXalanNode);
-}
-
-
-
-DOM_Attr
-XercesBridgeNavigator::mapNode(const XalanAttr*		theXalanNode) const
-{
-	return m_ownerDocument->mapNode(theXalanNode);
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::getParentNode(const DOM_Node&	theXercesNode) const
-{
-	if (m_parentNode == invalidNodeAddress)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XercesBridgeNavigator*)this)->m_parentNode = m_ownerDocument->mapNode(theXercesNode.getParentNode());
-#else
-		m_parentNode = m_ownerDocument->mapNode(theXercesNode.getParentNode());
-#endif
-	}
-
-	return m_parentNode;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::getPreviousSibling(const DOM_Node&	theXercesNode) const
-{
-	if (m_previousSibling == invalidNodeAddress)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XercesBridgeNavigator*)this)->m_previousSibling = m_ownerDocument->mapNode(theXercesNode.getPreviousSibling());
-#else
-		m_previousSibling = m_ownerDocument->mapNode(theXercesNode.getPreviousSibling());
-#endif
-	}
-
-	return m_previousSibling;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::getNextSibling(const DOM_Node&	theXercesNode) const
-{
-	if (m_nextSibling == invalidNodeAddress)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XercesBridgeNavigator*)this)->m_nextSibling = m_ownerDocument->mapNode(theXercesNode.getNextSibling());
-#else
-		m_nextSibling = m_ownerDocument->mapNode(theXercesNode.getNextSibling());
-#endif
-	}
-
-	return m_nextSibling;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::getFirstChild(const DOM_Node&	theXercesNode) const
-{
-	if (m_firstChild == invalidNodeAddress)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XercesBridgeNavigator*)this)->m_firstChild = m_ownerDocument->mapNode(theXercesNode.getFirstChild());
-#else
-		m_firstChild = m_ownerDocument->mapNode(theXercesNode.getFirstChild());
-#endif
-	}
-
-	return m_firstChild;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::getLastChild(const DOM_Node&	theXercesNode) const
-{
-	if (m_lastChild == invalidNodeAddress)
-	{
-#if defined(XALAN_NO_MUTABLE)
-		((XercesBridgeNavigator*)this)->m_lastChild = m_ownerDocument->mapNode(theXercesNode.getLastChild());
-#else
-		m_lastChild = m_ownerDocument->mapNode(theXercesNode.getLastChild());
-#endif
-	}
-
-	return m_lastChild;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::insertBefore(
-			DOM_Node&		theXercesParent,
-			XalanNode*		newChild,
-			XalanNode*		refChild) const
-{
-	assert(newChild != 0);
-
-	// Get the corresponding Xerces nodes...
-	const DOM_Node	theNewChild = m_ownerDocument->mapNode(newChild);
-	const DOM_Node	theRefChild = m_ownerDocument->mapNode(refChild);
-
-	try
-	{
-		const DOM_Node	theXercesResult =
-			theXercesParent.insertBefore(theNewChild, theRefChild);
-		assert(m_ownerDocument->mapNode(theXercesResult) == newChild);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return newChild;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::	replaceChild(
-			DOM_Node&	theXercesParent,
-			XalanNode*	newChild,
-			XalanNode*	oldChild) const
-{
-	assert(newChild != 0);
-	assert(oldChild != 0);
-
-	// Get the corresponding Xerces nodes...
-	const DOM_Node	theNewChild = m_ownerDocument->mapNode(newChild);
-	const DOM_Node	theOldChild = m_ownerDocument->mapNode(oldChild);
-
-	try
-	{
-		const DOM_Node	theXercesResult =
-			theXercesParent.replaceChild(theNewChild, theOldChild);
-		assert(m_ownerDocument->mapNode(theXercesResult) == oldChild);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return oldChild;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::removeChild(
-			DOM_Node&	theXercesParent,
-			XalanNode*	oldChild) const
-{
-	assert(oldChild != 0);
-
-	// Get the corresponding Xerces nodes...
-	const DOM_Node	theOldChild = m_ownerDocument->mapNode(oldChild);
-
-	try
-	{
-		const DOM_Node	theXercesResult =
-			theXercesParent.removeChild(theOldChild);
-		assert(m_ownerDocument->mapNode(theXercesResult) == oldChild);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return oldChild;
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::appendChild(
-			DOM_Node&	theXercesParent,
-			XalanNode*	newChild) const
-{
-	return insertBefore(theXercesParent, newChild, 0);
-}
-
-
-
-
-XalanElement*
-XercesBridgeNavigator::getOwnerElement(const DOM_Attr&	theXercesAttr) const
-{
-	if (m_parentNode != invalidNodeAddress)
-	{
-		assert(m_parentNode->getNodeType() == XalanNode::ELEMENT_NODE);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return (XalanElement*)m_parentNode;
-#else
-		return static_cast<XalanElement*>(m_parentNode);
-#endif
-	}
-	else
-	{
-		return m_ownerDocument->mapNode(theXercesAttr.getOwnerElement());
-	}
-}
-
-
-
-XalanNode*
-XercesBridgeNavigator::cloneNode(
-			const XalanNode*	theXalanNode,
-			const DOM_Node&		theXercesNode,
-			bool				deep) const
-{
-	return m_ownerDocument->internalCloneNode(theXalanNode, theXercesNode, deep);
-}
-
-
-
-XalanText*
-XercesBridgeNavigator::splitText(
-			DOM_Text&		theXercesText,
-			unsigned int	offset) const
-{
-	XalanText*	theXalanText = 0;
-
-	try
-	{
-		DOM_Text	theNewXercesText = theXercesText.splitText(offset);
-		assert(theXercesText.isNull() == false);
-
-		theXalanText = m_ownerDocument->createBridgeNode(theNewXercesText, 0, true);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanText;
-}
-
-
-
-const XalanDOMString&
-XercesBridgeNavigator::	getPooledString(const DOMString&	theString) const
-{
-	return m_ownerDocument->getPooledString(theString.rawBuffer(), theString.length());
-}
diff --git a/src/XercesParserLiaison/XercesBridgeNavigator.hpp b/src/XercesParserLiaison/XercesBridgeNavigator.hpp
deleted file mode 100644
index ec8f317..0000000
--- a/src/XercesParserLiaison/XercesBridgeNavigator.hpp
+++ /dev/null
@@ -1,282 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESBRIDGENAVIGATOR_HEADER_GUARD_1357924680)
-#define XERCESBRIDGENAVIGATOR_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <cassert>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-class DOM_Attr;
-class DOM_Node;
-class XercesDocumentBridge;
-class XalanAttr;
-class XalanElement;
-class XalanNode;
-class XalanText;
-class DOM_Text;
-class DOMString;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesBridgeNavigator
-{
-public:
-
-	explicit
-	XercesBridgeNavigator(
-			XercesDocumentBridge*	theOwnerDocument = 0,
-			bool					mappingMode = true);
-
-	XercesBridgeNavigator(const XercesBridgeNavigator&	theSource);
-
-	virtual
-	~XercesBridgeNavigator();
-
-
-	XercesDocumentBridge*
-	getOwnerDocument() const
-	{
-		return m_ownerDocument;
-	}
-
-	void
-	setOwnerDocument(XercesDocumentBridge*	theDocument)
-	{
-		m_ownerDocument = theDocument;
-	}
-
-	XalanNode*
-	mapNode(const DOM_Node&		theXercesNode) const;
-
-	XalanAttr*
-	mapNode(const DOM_Attr&		theXercesNode) const;
-
-	DOM_Node
-	mapNode(const XalanNode*	theXalanNode) const;
-
-	DOM_Attr
-	mapNode(const XalanAttr*	theXercesNode) const;
-
-	unsigned long
-	getIndex() const
-	{
-		return m_index;
-	}
-
-	void
-	setIndex(unsigned long	theIndex)
-	{
-		m_index = theIndex;
-	}
-
-	XalanNode*
-	getParentNode(const DOM_Node&	theXercesNode) const;
-
-	XalanNode*
-	getParentNode() const
-	{
-		return m_parentNode;
-	}
-
-	void
-	setParentNode(XalanNode*	theParent)
-	{
-		m_parentNode = theParent;
-	}
-
-	XalanNode*
-	getPreviousSibling(const DOM_Node&	theXercesNode) const;
-
-	XalanNode*
-	getPreviousSibling() const
-	{
-		return m_previousSibling;
-	}
-
-	void
-	setPreviousSibling(XalanNode*	thePreviousSibling)
-	{
-		m_previousSibling = thePreviousSibling;
-	}
-
-	XalanNode*
-	getNextSibling(const DOM_Node&	theXercesNode) const;
-
-	XalanNode*
-	getNextSibling() const
-	{
-		return m_nextSibling;
-	}
-
-	void
-	setNextSibling(XalanNode*	theNextSibling)
-	{
-		m_nextSibling = theNextSibling;
-	}
-
-	XalanNode*
-	getFirstChild(const DOM_Node&	theXercesNode) const;
-
-	XalanNode*
-	getFirstChild() const
-	{
-		return m_firstChild;
-	}
-
-	void
-	setFirstChild(XalanNode*	theFirstChild)
-	{
-		m_firstChild = theFirstChild;
-	}
-
-	XalanNode*
-	getLastChild(const DOM_Node&	theXercesNode) const;
-
-	XalanNode*
-	getLastChild() const
-	{
-		return m_lastChild;
-	}
-
-	void
-	setLastChild(XalanNode*	theLastChild)
-	{
-		m_lastChild = theLastChild;
-	}
-
-	XalanNode*
-	insertBefore(
-			DOM_Node&	theXercesParent,
-			XalanNode*	newChild,
-			XalanNode*	refChild) const;
-
-	XalanNode*
-	replaceChild(
-			DOM_Node&	theXercesParent,
-			XalanNode*	newChild,
-			XalanNode*	oldChild) const;
-
-	XalanNode*
-	removeChild(
-			DOM_Node&	theXercesParent,
-			XalanNode*	oldChild) const;
-
-	XalanNode*
-	appendChild(
-			DOM_Node&	theXercesParent,
-			XalanNode*	newChild) const;
-
-	XalanElement*
-	getOwnerElement(const DOM_Attr&		theXercesAttr) const;
-
-	XalanNode*
-	cloneNode(
-			const XalanNode*	theXalanNode,
-			const DOM_Node&		theXercesNode,
-			bool				deep) const;
-
-	XalanText*
-	splitText(
-			DOM_Text&		theXercesText,
-			unsigned int	offset) const;
-
-	/**
-	 * Get a pooled string.  If the string is not in the pool,
-	 * add it.
-	 *
-	 * @param theString The string to pool.
-	 * @return A const reference to the pooled string.
-	 */
-	const XalanDOMString&
-	getPooledString(const DOMString&	theString) const;
-
-private:
-
-	// Not implemented...
-	bool
-	operator==(const XercesBridgeNavigator&	theRHS) const;
-
-	// Data members...
-	XercesDocumentBridge*	m_ownerDocument;
-
-	mutable	XalanNode*		m_parentNode;
-
-	mutable	XalanNode*		m_previousSibling;
-
-	mutable	XalanNode*		m_nextSibling;
-
-	mutable	XalanNode*		m_firstChild;
-
-	mutable	XalanNode*		m_lastChild;
-
-	unsigned long			m_index;
-};
-
-
-
-#endif	// !defined(XERCESBRIDGENAVIGATOR_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesCDATASectionBridge.cpp b/src/XercesParserLiaison/XercesCDATASectionBridge.cpp
deleted file mode 100644
index 89e2eb7..0000000
--- a/src/XercesParserLiaison/XercesCDATASectionBridge.cpp
+++ /dev/null
@@ -1,407 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesCDATASectionBridge.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesCDATASectionBridge::XercesCDATASectionBridge(
-			const DOM_CDATASection&			theXercesCDATASection,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanCDATASection(),
-	m_xercesNode(theXercesCDATASection),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesCDATASectionBridge::~XercesCDATASectionBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesCDATASectionBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesCDATASectionBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesCDATASectionBridge::NodeType
-XercesCDATASectionBridge::getNodeType() const
-{
-	return CDATA_SECTION_NODE;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesCDATASectionBridge::getChildNodes() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesCDATASectionBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesCDATASectionBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesCDATASectionBridge*
-#endif
-XercesCDATASectionBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesCDATASectionBridge* const	theBridge =
-		static_cast<XercesCDATASectionBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCDATASectionBridge::appendChild(XalanNode*	 /* newChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XercesCDATASectionBridge::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XercesCDATASectionBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesCDATASectionBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-
-bool
-XercesCDATASectionBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesCDATASectionBridge::getNamespaceURI() const
-{
-	const DOMString		theString();
-
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesCDATASectionBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesCDATASectionBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesCDATASectionBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-
-bool
-XercesCDATASectionBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesCDATASectionBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesCDATASectionBridge::getData() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getData());
-}
-
-
-
-unsigned int
-XercesCDATASectionBridge::getLength() const
-{
-	return m_xercesNode.getLength();
-}
-
-
-
-XalanDOMString
-XercesCDATASectionBridge::substringData(
-			unsigned int	offset, 
-			unsigned int	count) const
-{
-	return XercesBridgeHelper::substringData(m_xercesNode, offset, count);
-}
-
-
-
-void
-XercesCDATASectionBridge::appendData(const XalanDOMString&	arg)
-{
-	XercesBridgeHelper::appendData(m_xercesNode, arg);
-}
-
-
-
-void
-XercesCDATASectionBridge::insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg)
-{
-	XercesBridgeHelper::insertData(m_xercesNode, offset, arg);
-}
-
-
-
-void
-XercesCDATASectionBridge::deleteData(
-			unsigned int	offset, 
-			unsigned int	count)
-{
-	XercesBridgeHelper::deleteData(m_xercesNode, offset, count);
-}
-
-
-
-void
-XercesCDATASectionBridge::replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg)
-{
-	XercesBridgeHelper::replaceData(m_xercesNode, offset, count, arg);
-}
-
-
-
-XalanText*
-XercesCDATASectionBridge::splitText(unsigned int	offset)
-{
-	return m_navigator.splitText(m_xercesNode, offset);
-}
-
-
-
-bool
-XercesCDATASectionBridge::isIgnorableWhitespace() const
-{
-	return isXMLWhitespace(getData());
-}
diff --git a/src/XercesParserLiaison/XercesCDATASectionBridge.hpp b/src/XercesParserLiaison/XercesCDATASectionBridge.hpp
deleted file mode 100644
index 11c8747..0000000
--- a/src/XercesParserLiaison/XercesCDATASectionBridge.hpp
+++ /dev/null
@@ -1,622 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESCDATASECTIONBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESCDATASECTIONBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_CDATASection.hpp>
-
-
-
-#include <XalanDOM/XalanCDATASection.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesCDATASectionBridge : public XalanCDATASection
-{
-public:
-
-	XercesCDATASectionBridge(
-			const DOM_CDATASection&			theXercesCDATASection,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesCDATASectionBridge();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesCDATASectionBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanCDATASection...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>DOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>DOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>DOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>DOMString</code> specified.
-	 * @param arg The <code>DOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg);
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>DOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg);
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count);
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>DOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-
-  //@}
-
-    //@}
-    /** @name Functions to modify the Text node. */
-    //@{
-
-    /**
-     * Breaks this node into two nodes at the specified 
-     * offset, keeping both in the tree as siblings. 
-     *
-     * This node then only 
-     * contains all the content up to the <code>offset</code> point. And a new 
-     * node of the same nodeType, which is inserted as the next sibling of this 
-     * node, contains all the content at and after the <code>offset</code> 
-     * point. When the <code>offset</code> is equal to the lenght of this node,
-     * the new node has no data.
-     * @param offset The offset at which to split, starting from 0.
-     * @return The new <code>Text</code> node.
-     * @exception DOMException
-     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-     *   than the number of characters in <code>data</code>.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     */
-    virtual XalanText*
-	splitText(unsigned int	offset);
-
-    //@}
-
-	virtual bool
-	isIgnorableWhitespace() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_CDATASection
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-private:
-
-	// Not implemented...
-	XercesCDATASectionBridge(const XercesCDATASectionBridge&	theSource);
-
-	XercesCDATASectionBridge&
-	operator=(const XercesCDATASectionBridge&	theSource);
-
-	bool
-	operator==(const XercesCDATASectionBridge&	theRHS) const;
-
-	// Data members...
-	DOM_CDATASection				m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESCDATASECTIONBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesCommentBridge.cpp b/src/XercesParserLiaison/XercesCommentBridge.cpp
deleted file mode 100644
index 4943226..0000000
--- a/src/XercesParserLiaison/XercesCommentBridge.cpp
+++ /dev/null
@@ -1,383 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesCommentBridge.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesCommentBridge::XercesCommentBridge(
-			const DOM_Comment&				theXercesComment,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanComment(),
-	m_xercesNode(theXercesComment),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesCommentBridge::~XercesCommentBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesCommentBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesCommentBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesCommentBridge::NodeType
-XercesCommentBridge::getNodeType() const
-{
-	return COMMENT_NODE;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesCommentBridge::getChildNodes() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesCommentBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesCommentBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesCommentBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesCommentBridge*
-#endif
-XercesCommentBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesCommentBridge* const	theBridge =
-		static_cast<XercesCommentBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesCommentBridge::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesCommentBridge::appendChild(XalanNode*	 /* newChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XercesCommentBridge::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XercesCommentBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesCommentBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-bool
-XercesCommentBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesCommentBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesCommentBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesCommentBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesCommentBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesCommentBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesCommentBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesCommentBridge::getData() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getData());
-}
-
-
-
-unsigned int
-XercesCommentBridge::getLength() const
-{
-	return m_xercesNode.getLength();
-}
-
-
-
-XalanDOMString
-XercesCommentBridge::substringData(
-			unsigned int	offset, 
-			unsigned int	count) const
-{
-	return XercesBridgeHelper::substringData(m_xercesNode, offset, count);
-}
-
-
-
-void
-XercesCommentBridge::appendData(const XalanDOMString&	arg)
-{
-	XercesBridgeHelper::appendData(m_xercesNode, arg);
-}
-
-
-
-void
-XercesCommentBridge::insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg)
-{
-	XercesBridgeHelper::insertData(m_xercesNode, offset, arg);
-}
-
-
-
-void
-XercesCommentBridge::deleteData(
-			unsigned int	offset, 
-			unsigned int	count)
-{
-	XercesBridgeHelper::deleteData(m_xercesNode, offset, count);
-}
-
-
-
-void
-XercesCommentBridge::replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg)
-{
-	XercesBridgeHelper::replaceData(m_xercesNode, offset, count, arg);
-}
diff --git a/src/XercesParserLiaison/XercesCommentBridge.hpp b/src/XercesParserLiaison/XercesCommentBridge.hpp
deleted file mode 100644
index d7cb7d7..0000000
--- a/src/XercesParserLiaison/XercesCommentBridge.hpp
+++ /dev/null
@@ -1,592 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESCOMMENTBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESCOMMENTBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Comment.hpp>
-
-
-
-#include <XalanDOM/XalanComment.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesCommentBridge : public XalanComment
-{
-public:
-
-	XercesCommentBridge(
-			const DOM_Comment&				theXercesComment,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesCommentBridge();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesCommentBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanCDATASection...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>DOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>DOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>DOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>DOMString</code> specified.
-	 * @param arg The <code>DOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg);
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>DOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const  XalanDOMString& 	arg);
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count);
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>DOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_Comment
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-  //@}
-
-private:
-
-	// Not implemented...
-	XercesCommentBridge(const XercesCommentBridge&	theSource);
-
-	XercesCommentBridge&
-	operator=(const XercesCommentBridge&	theSource);
-
-	bool
-	operator==(const XercesCommentBridge&	theRHS) const;
-
-	// Data members...
-	DOM_Comment						m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESCOMMENTBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDOMException.cpp b/src/XercesParserLiaison/XercesDOMException.cpp
deleted file mode 100644
index 7d3b350..0000000
--- a/src/XercesParserLiaison/XercesDOMException.cpp
+++ /dev/null
@@ -1,165 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDOMException.hpp"
-
-
-
-#include <cassert>
-
-
-
-XercesDOMException::XercesDOMException(ExceptionCode 	code) :
-	XalanDOMException(code)
-{
-}
-
-
-
-XercesDOMException::XercesDOMException(const DOM_DOMException&	theException) :
-	XalanDOMException(translateErrorCode(theException.code))
-{
-}
-
-
-
-XercesDOMException::XercesDOMException(const XercesDOMException&	theSource) :
-	XalanDOMException(theSource)
-{
-}
-
-
-
-XercesDOMException::~XercesDOMException()
-{
-}
-
-
-
-XercesDOMException::ExceptionCode
-XercesDOMException::translateErrorCode(DOM_DOMException::ExceptionCode	theCode)
-{
-	ExceptionCode	theXalanCode = UNKNOWN_ERR;
-
-	switch(theCode)
-	{
-	case DOM_DOMException::INDEX_SIZE_ERR:
-		theXalanCode = INDEX_SIZE_ERR;
-		break;
-
-	case DOM_DOMException::DOMSTRING_SIZE_ERR:
-		theXalanCode = DOMSTRING_SIZE_ERR;
-		break;
-
-	case DOM_DOMException::HIERARCHY_REQUEST_ERR:
-		theXalanCode = HIERARCHY_REQUEST_ERR;
-		break;
-
-	case DOM_DOMException::WRONG_DOCUMENT_ERR:
-		theXalanCode = WRONG_DOCUMENT_ERR;
-		break;
-
-	case DOM_DOMException::INVALID_CHARACTER_ERR:
-		theXalanCode = INVALID_CHARACTER_ERR;
-		break;
-
-	case DOM_DOMException::NO_DATA_ALLOWED_ERR:
-		theXalanCode = NO_DATA_ALLOWED_ERR;
-		break;
-
-	case DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR:
-		theXalanCode = NO_MODIFICATION_ALLOWED_ERR;
-		break;
-
-	case DOM_DOMException::NOT_FOUND_ERR:
-		theXalanCode = NOT_FOUND_ERR;
-		break;
-
-	case DOM_DOMException::NOT_SUPPORTED_ERR:
-		theXalanCode = INDEX_SIZE_ERR;
-		break;
-
-	case DOM_DOMException::INUSE_ATTRIBUTE_ERR:
-		theXalanCode = INUSE_ATTRIBUTE_ERR;
-		break;
-
-	case DOM_DOMException::INVALID_STATE_ERR:
-		theXalanCode = INVALID_STATE_ERR;
-		break;
-
-	case DOM_DOMException::SYNTAX_ERR:
-		theXalanCode = SYNTAX_ERR;
-		break;
-
-	case DOM_DOMException::INVALID_MODIFICATION_ERR:
-		theXalanCode = INVALID_MODIFICATION_ERR;
-		break;
-
-	case DOM_DOMException::NAMESPACE_ERR:
-		theXalanCode = NAMESPACE_ERR;
-		break;
-
-	case DOM_DOMException::INVALID_ACCESS_ERR:
-		theXalanCode = INVALID_ACCESS_ERR;
-		break;
-
-	default:
-		assert(false);
-		break;
-	};
-
-	return theXalanCode;
-}
diff --git a/src/XercesParserLiaison/XercesDOMException.hpp b/src/XercesParserLiaison/XercesDOMException.hpp
deleted file mode 100644
index 135a4ee..0000000
--- a/src/XercesParserLiaison/XercesDOMException.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOMEXCEPTION_HEADER_GUARD_1357924680)
-#define XERCESDOMEXCEPTION_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_DOMException.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOMException : public XalanDOMException
-{
-public:
-
-	/** @name Constructors and assignment operator */
-	//@{
-
-	/**
-	  * Constructor which takes an error code.
-	  *
-	  * @param code The error code which indicates the exception
-	  */
-	explicit
-	XercesDOMException(ExceptionCode 	code = UNKNOWN_ERR);
-
-	/**
-	  * Constructor which takes a Xerces exception and
-	  * translates it into a XercesDOMException.
-	  *
-	  * @param code The Xerces DOM_DOMException instance.
-	  */
-	XercesDOMException(const DOM_DOMException&	theException);
-
-	/**
-	  * Copy constructor.
-	  *
-	  * @param other The object to be copied.
-	  */
-	XercesDOMException(const XercesDOMException&	theSource);
-
-	//@}
-	/** @name Destructor. */
-	//@{
-
-	 /**
-	  * Destructor for XercesDOMException.
-	  */
-	virtual
-	~XercesDOMException();
-	//@}
-
-private:
-
-	static ExceptionCode
-	translateErrorCode(DOM_DOMException::ExceptionCode	theCode);
-};
-
-
-
-#endif	// !defined(XERCESDOMEXCEPTION_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDOMImplementationBridge.cpp b/src/XercesParserLiaison/XercesDOMImplementationBridge.cpp
deleted file mode 100644
index bd93520..0000000
--- a/src/XercesParserLiaison/XercesDOMImplementationBridge.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDOMImplementationBridge.hpp"
-
-
-
-#include <xercesc/dom/DOM_DOMImplementation.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include "XercesDOMException.hpp"
-
-
-
-XercesDOMImplementationBridge::XercesDOMImplementationBridge(DOM_DOMImplementation&	theXercesDOMImplementation) :
-	XalanDOMImplementation(),
-	m_xercesNode(theXercesDOMImplementation)
-{
-}
-
-
-
-XercesDOMImplementationBridge::~XercesDOMImplementationBridge()
-{
-}
-
-
-
-XercesDOMImplementationBridge::XercesDOMImplementationBridge(const XercesDOMImplementationBridge&	theSource) :
-	XalanDOMImplementation(theSource),
-	m_xercesNode(theSource.m_xercesNode)
-{
-}
-
-
-
-bool
-XercesDOMImplementationBridge::hasFeature(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version)
-{
-	return m_xercesNode.hasFeature(c_wstr(feature), c_wstr(version));
-}
-
-
-
-XalanDocumentType*
-XercesDOMImplementationBridge::createDocumentType(
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	publicId,
-			const XalanDOMString&	systemId)
-{
-	// $$$ ToDo: Fix this!!!
-	throw XercesDOMException(XercesDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesDOMImplementationBridge::createDocument(
-			const XalanDOMString&		namespaceURI,
-			const XalanDOMString&		qualifiedName,
-			const XalanDocumentType&	doctype)
-{
-	// $$$ ToDo: Fix this!!!
-	throw XercesDOMException(XercesDOMException::NO_MODIFICATION_ALLOWED_ERR);
-
-	return 0;
-}
diff --git a/src/XercesParserLiaison/XercesDOMImplementationBridge.hpp b/src/XercesParserLiaison/XercesDOMImplementationBridge.hpp
deleted file mode 100644
index a515b8b..0000000
--- a/src/XercesParserLiaison/XercesDOMImplementationBridge.hpp
+++ /dev/null
@@ -1,183 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOMIMPLEMENTATIONBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESDOMIMPLEMENTATIONBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <XalanDOM/XalanDOMImplementation.hpp>
-
-
-
-class DOM_DOMImplementation;
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOMImplementationBridge : public XalanDOMImplementation
-{
-public:
-
-	XercesDOMImplementationBridge(DOM_DOMImplementation&	theXercesDOMImplementation);
-
-	virtual
-	~XercesDOMImplementationBridge();
-
-	/** @name Getter functions */
-	//@{
-
-	/**
-	 * Test if the DOM implementation implements a specific feature.
-	 *
-	 * @param feature The string of the feature to test (case-insensitive). The legal 
-	 *        values are defined throughout this specification. The string must be 
-	 *        an <EM>XML name</EM> (see also Compliance).
-	 * @param version This is the version number of the package name to test.  
-	 *   In Level 1, this is the string "1.0". If the version is not specified, 
-	 *   supporting any version of the  feature will cause the method to return 
-	 *   <code>true</code>. 
-	 * @return <code>true</code> if the feature is implemented in the specified 
-	 *   version, <code>false</code> otherwise.
-	 */
-	virtual bool
-	hasFeature(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version);
-
- //@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-
-	/**
-     * Creates an empty <code>DOM_DocumentType</code> node.
-     * Entity declarations and notations are not made available.
-     * Entity reference expansions and default attribute additions
-     * do not occur. It is expected that a future version of the DOM
-     * will provide a way for populating a <code>DOM_DocumentType</code>.
-     * @param qualifiedName The <em>qualified name</em>
-     * of the document type to be created.
-     * @param publicId The external subset public identifier.
-     * @param systemId The external subset system identifier.
-     * @return A new <code>DocumentType</code> node with
-     * <code>Node.ownerDocument</code> set to <code>null</code>.
-     */
-	virtual XalanDocumentType*
-	createDocumentType(
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	publicId,
-			const XalanDOMString&	systemId);
-
-    /**
-     * Creates an XML <code>DOM_Document</code> object of the specified type
-     * with its document element.
-     * @param namespaceURI The <em>namespace URI</em> of
-     * the document element to create, or <code>null</code>.
-     * @param qualifiedName The <em>qualified name</em>
-     * of the document element to be created.
-     * @param doctype The type of document to be created or <code>null</code>.
-     * <p>When <code>doctype</code> is not <code>null</code>, its
-     * <code>Node.ownerDocument</code> attribute is set to the document
-     * being created.
-     * @return A new <code>Document</code> object.
-     * @exception DOMException
-     *   WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has already
-     *   been used with a different document.
-     */
-    virtual XalanDocument*
-	createDocument(
-			const XalanDOMString&		namespaceURI,
-			const XalanDOMString&		qualifiedName,
-			const XalanDocumentType&	doctype);
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_DOMImplementation&
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-    //@}
-
-private:
-
-	// These are not defined...
-
-	XercesDOMImplementationBridge(const XercesDOMImplementationBridge&	theSource);
-
-	XercesDOMImplementationBridge&
-	operator=(const XercesDOMImplementationBridge&		theSource);
-
-	bool
-	operator==(const XercesDOMImplementationBridge&	theRHS) const;
-
-	// Data members...
-
-	DOM_DOMImplementation&			m_xercesNode;
-};
-
-
-
-#endif	// !defined (XERCESDOMIMPLEMENTATIONBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDOMSupport.cpp b/src/XercesParserLiaison/XercesDOMSupport.cpp
deleted file mode 100644
index f0b00ec..0000000
--- a/src/XercesParserLiaison/XercesDOMSupport.cpp
+++ /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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDOMSupport.hpp"
-
-
-
-#include <XalanDOM/XalanNode.hpp>
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanDocument.hpp>
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-XercesDOMSupport::XercesDOMSupport() :
-	DOMSupport(),
-	m_domSupportDefault()
-{
-}
-
-
-
-XercesDOMSupport::~XercesDOMSupport()
-{
-}
-
-
-
-void
-XercesDOMSupport::reset()
-{
-	m_domSupportDefault.reset();
-}
-
-
-
-const XalanDOMString&
-XercesDOMSupport::getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const
-{
-	return m_domSupportDefault.getUnparsedEntityURI(theName, theDocument);
-}
-
-
-
-bool
-XercesDOMSupport::isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const
-{
-	return DOMServices::isNodeAfter(node1, node2);
-}
diff --git a/src/XercesParserLiaison/XercesDOMSupport.hpp b/src/XercesParserLiaison/XercesDOMSupport.hpp
deleted file mode 100644
index e22c28e..0000000
--- a/src/XercesParserLiaison/XercesDOMSupport.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOMSUPPORT_HEADER_GUARD_1357924680)
-#define XERCESDOMSUPPORT_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <DOMSupport/DOMSupport.hpp>
-#include <DOMSupport/DOMSupportDefault.hpp>
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOMSupport : public DOMSupport
-{
-public:
-
-	XercesDOMSupport();
-
-	virtual
-	~XercesDOMSupport();
-
-	// These interfaces are inherited from Resettable...
-
-	virtual void
-	reset();
-
-	// These interfaces are inherited from DOMSupport...
-
-	virtual const XalanDOMString&
-	getUnparsedEntityURI(
-			const XalanDOMString&	theName,
-			const XalanDocument&	theDocument) const;
-
-	virtual bool
-	isNodeAfter(
-			const XalanNode&	node1,
-			const XalanNode&	node2) const;
-
-private:
-
-	DOMSupportDefault	m_domSupportDefault;
-};
-
-
-
-#endif	// DOMSUPPORT_HEADER_GUARD_1357924680
diff --git a/src/XercesParserLiaison/XercesDOM_NodeHack.cpp b/src/XercesParserLiaison/XercesDOM_NodeHack.cpp
deleted file mode 100644
index fcab288..0000000
--- a/src/XercesParserLiaison/XercesDOM_NodeHack.cpp
+++ /dev/null
@@ -1,310 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-
-#include "XercesDOM_NodeHack.hpp"
-
-
-
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-#include <dom/ElementImpl.hpp>
-#include <dom/TextImpl.hpp>
-#endif
-
-
-
-XercesDOM_NodeHack::XercesDOM_NodeHack(NodeImpl*	theImpl) :
-	DOM_Node(theImpl)
-{
-}
-
-
-
-XercesDOM_NodeHack::~XercesDOM_NodeHack()
-{
-}
-
-
-
-XercesDOM_AttrHack::XercesDOM_AttrHack(AttrImpl*	theImpl) :
-	DOM_Attr(theImpl)
-{
-}
-
-
-
-XercesDOM_AttrHack::XercesDOM_AttrHack(const DOM_Attr&	theSource) :
-	DOM_Attr(theSource)
-{
-}
-
-
-
-XercesDOM_AttrHack::~XercesDOM_AttrHack()
-{
-}
-
-
-
-XercesDOM_ElementHack::XercesDOM_ElementHack(ElementImpl*	theImpl) :
-	DOM_Element(theImpl)
-{
-}
-
-
-
-XercesDOM_ElementHack::XercesDOM_ElementHack(const DOM_Element&		theSource) :
-	DOM_Element(theSource)
-{
-}
-
-
-
-XercesDOM_ElementHack::~XercesDOM_ElementHack()
-{
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getNodeNameImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getNodeName();
-#else
-	return getNodeName();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getNodeValueImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getNodeValue();
-#else
-	return getNodeValue();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::	getNamespaceURIImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getNamespaceURI();
-#else
-	return getNamespaceURI();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getPrefixImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getPrefix();
-#else
-	return getPrefix();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getLocalNameImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getLocalName();
-#else
-	return getLocalName();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getTagNameImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getTagName();
-#else
-	return getTagName();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getAttributeImpl(const DOMString&	name) const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getAttribute(name);
-#else
-	return getAttribute(name);
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_ElementHack::getAttributeNSImpl(
-			const DOMString&	namespaceURI,
-			const DOMString&	localName) const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getAttributeNS(namespaceURI, localName);
-#else
-	return getAttributeNS(namespaceURI, localName);
-#endif
-}
-
-
-
-XercesDOM_TextHack::XercesDOM_TextHack(TextImpl*	theImpl) :
-	DOM_Text(theImpl)
-{
-}
-
-
-
-XercesDOM_TextHack::XercesDOM_TextHack(const DOM_Text&	theSource) :
-	DOM_Text(theSource)
-{
-}
-
-
-
-XercesDOM_TextHack::~XercesDOM_TextHack()
-{
-}
-
-
-
-const DOMString
-XercesDOM_TextHack::getNodeNameImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getNodeName();
-#else
-	return getNodeName();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_TextHack::getNodeValueImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getNodeValue();
-#else
-	return getNodeValue();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_TextHack::getNamespaceURIImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getNamespaceURI();
-#else
-	return getNamespaceURI();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_TextHack::getPrefixImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getPrefix();
-#else
-	return getPrefix();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_TextHack::getLocalNameImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getLocalName();
-#else
-	return getLocalName();
-#endif
-}
-
-
-
-const DOMString
-XercesDOM_TextHack::getDataImpl() const
-{
-#if defined(XALAN_USE_XERCES_INTERNAL_CLASSES)
-	return getImpl()->getData();
-#else
-	return getData();
-#endif
-}
diff --git a/src/XercesParserLiaison/XercesDOM_NodeHack.hpp b/src/XercesParserLiaison/XercesDOM_NodeHack.hpp
deleted file mode 100644
index 042a0c1..0000000
--- a/src/XercesParserLiaison/XercesDOM_NodeHack.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-#if !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680)
-#define XERCESDOM_NODEHACK_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Node.hpp>
-#include <xercesc/dom/DOM_Attr.hpp>
-#include <xercesc/dom/DOM_Element.hpp>
-#include <xercesc/dom/DOM_Text.hpp>
-
-
-
-// An evil class to hack the Xerces smart-pointer class.  I'm
-// only doing this because I have to...
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_NodeHack : public DOM_Node
-{
-public:
-
-	XercesDOM_NodeHack(NodeImpl*	theImpl = 0);
-
-	~XercesDOM_NodeHack();
-
-	NodeImpl*
-	getImpl() const
-	{
-		return fImpl;
-	}
-
-	static NodeImpl*
-	getImpl(const DOM_Node&		theNode)
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return ((const XercesDOM_NodeHack&)theNode).getImpl();
-#else
-		return static_cast<const XercesDOM_NodeHack&>(theNode).getImpl();
-#endif
-	}
-};
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_AttrHack : public DOM_Attr
-{
-public:
-
-	XercesDOM_AttrHack(AttrImpl*	theImpl = 0);
-
-	XercesDOM_AttrHack(const DOM_Attr&	theSource);
-
-	~XercesDOM_AttrHack();
-};
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_ElementHack : public DOM_Element
-{
-public:
-
-	XercesDOM_ElementHack(ElementImpl*	theImpl = 0);
-
-	XercesDOM_ElementHack(const DOM_Element&	theSource);
-
-	~XercesDOM_ElementHack();
-
-
-	const DOMString
-	getNodeNameImpl() const;
-
-	const DOMString
-	getNodeValueImpl() const;
-
-	const DOMString
-	getNamespaceURIImpl() const;
-
-	const DOMString
-	getPrefixImpl() const;
-
-	const DOMString
-	getLocalNameImpl() const;
-
-	const DOMString
-	getTagNameImpl() const;
-
-	const DOMString
-	getAttributeImpl(const DOMString&	name) const;
-
-	const DOMString
-	getAttributeNSImpl(
-			const DOMString&	namespaceURI,
-			const DOMString&	localName) const;
-
-	ElementImpl*
-	getImpl() const
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return (ElementImpl*)fImpl;
-#else
-		return reinterpret_cast<ElementImpl*>(fImpl);
-#endif
-	}
-
-	static ElementImpl*
-	getImpl(const DOM_Element&	theNode)
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return ((const XercesDOM_ElementHack&)theNode).getImpl();
-#else
-		return static_cast<const XercesDOM_ElementHack&>(theNode).getImpl();
-#endif
-	}
-};
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_TextHack : public DOM_Text
-{
-public:
-
-	XercesDOM_TextHack(TextImpl*	theImpl = 0);
-
-	XercesDOM_TextHack(const DOM_Text&	theSource);
-
-	~XercesDOM_TextHack();
-
-
-	const DOMString
-	getNodeNameImpl() const;
-
-	const DOMString
-	getNodeValueImpl() const;
-
-	const DOMString
-	getNamespaceURIImpl() const;
-
-	const DOMString
-	getPrefixImpl() const;
-
-	const DOMString
-	getLocalNameImpl() const;
-
-	const DOMString
-	getDataImpl() const;
-
-	TextImpl*
-	getImpl() const
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return (TextImpl*)fImpl;
-#else
-		return reinterpret_cast<TextImpl*>(fImpl);
-#endif
-	}
-
-	static TextImpl*
-	getImpl(const DOM_Text&	theNode)
-	{
-#if defined(XALAN_OLD_STYLE_CASTS)
-		return ((const XercesDOM_TextHack&)theNode).getImpl();
-#else
-		return static_cast<const XercesDOM_TextHack&>(theNode).getImpl();
-#endif
-	}
-};
-
-
-
-#endif	// !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDocumentBridge.cpp b/src/XercesParserLiaison/XercesDocumentBridge.cpp
deleted file mode 100644
index 2e7bfc4..0000000
--- a/src/XercesParserLiaison/XercesDocumentBridge.cpp
+++ /dev/null
@@ -1,1806 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDocumentBridge.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <xercesc/dom/DOM_Node.hpp>
-#include <xercesc/dom/DOM_DOMException.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include <XalanDOM/XalanDocumentType.hpp>
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include "XercesAttrBridge.hpp"
-#include "XercesBridgeHelper.hpp"
-#include "XercesCommentBridge.hpp"
-#include "XercesCDATASectionBridge.hpp"
-#include "XercesDOM_NodeHack.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDOMImplementationBridge.hpp"
-#include "XercesDocumentFragmentBridge.hpp"
-#include "XercesDocumentTypeBridge.hpp"
-#include "XercesElementBridge.hpp"
-#include "XercesEntityBridge.hpp"
-#include "XercesEntityReferenceBridge.hpp"
-#include "XercesLiaisonXalanDOMStringPool.hpp"
-#include "XercesNodeListBridge.hpp"
-#include "XercesNotationBridge.hpp"
-#include "XercesProcessingInstructionBridge.hpp"
-#include "XercesTextBridge.hpp"
-
-
-
-XercesDocumentBridge::XercesDocumentBridge(
-			const DOM_Document&		theXercesDocument,
-			bool					threadSafe,
-			bool					buildBridge) :
-	XalanDocument(),
-	m_xercesDocument(theXercesDocument),
-	m_documentElement(0),
-	m_nodeMap(),
-	m_domImplementation(new XercesDOMImplementationBridge(theXercesDocument.getImplementation())),
-	m_navigators(1, XercesBridgeNavigator(this, threadSafe == true ? false : !buildBridge)),
-	m_navigator(&m_navigators.front()),
-	m_children(theXercesDocument.getChildNodes(),
-			   *m_navigator),
-	m_nodes(),
-	m_doctype(0),
-	m_mappingMode(threadSafe == true ? false : !buildBridge),
-	m_indexValid(false),
-	m_elementAllocator(25),
-	m_textAllocator(25),
-	m_attributeAllocator(25),
-	m_stringPool(threadSafe == true ? new XercesLiaisonXalanDOMStringPool : new XalanDOMStringPool)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::make_pair;
-#endif
-
-	if (m_mappingMode == false)
-	{
-		// The document index is always 1...
-		m_navigator->setIndex(1);
-
-		// OK, let's build the nodes.  This makes things
-		// thread-safe, so the document can be shared...
-		buildBridgeNodes();
-	}
-	else
-	{
-		m_nodeMap.addAssociation(m_xercesDocument, this);
-	}
-}
-
-
-
-XercesDocumentBridge::~XercesDocumentBridge()
-{
-	destroyBridge();
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::mapNode(const DOM_Node&	theXercesNode) const
-{
-	return mapNode(XercesDOM_NodeHack::getImpl(theXercesNode));
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::mapNode(NodeImpl*		theXercesNodeImpl) const
-{
-	XalanNode*	theXalanNode = 0;
-
-	if (theXercesNodeImpl != 0)
-	{
-		theXalanNode = m_nodeMap.getNode(theXercesNodeImpl);
-
-		if (theXalanNode == 0)
-		{
-			XercesDOM_NodeHack	theHack(theXercesNodeImpl);
-
-			if (theHack != m_xercesDocument &&
-					theHack.getOwnerDocument() != m_xercesDocument &&
-				theHack.getParentNode() != m_xercesDocument)
-			{
-				throw XalanDOMException(XalanDOMException::WRONG_DOCUMENT_ERR);
-			}
-			else if (m_mappingMode == true)
-			{
-				// OK, we haven't yet created a bridge not, so go ahead and
-				// create one.
-				theXalanNode = createBridgeNode(theHack, 0, true);
-				assert(theXalanNode != 0);
-			}
-		}
-	}
-
-	return theXalanNode;
-}
-
-
-
-DOM_Node
-XercesDocumentBridge::mapNode(const XalanNode*	theXalanNode) const
-{
-	DOM_Node	theXercesNode;
-
-	if (theXalanNode != 0)
-	{
-		theXercesNode = m_nodeMap.getNode(theXalanNode);
-
-		if (theXercesNode.isNull() == true)
-		{
-			throw XalanDOMException(XalanDOMException::WRONG_DOCUMENT_ERR);
-		}
-	}
-
-	return theXercesNode;
-}
-
-
-
-DOM_Attr
-XercesDocumentBridge::mapNode(const XalanAttr* 	theXalanNode) const
-{
-	NodeImpl* const		theXercesNodeImpl =
-		mapNodeToImpl(theXalanNode);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return XercesDOM_AttrHack((AttrImpl*)theXercesNodeImpl);
-#else
-	return XercesDOM_AttrHack(reinterpret_cast<AttrImpl*>(theXercesNodeImpl));
-#endif
-}
-
-
-
-NodeImpl*
-XercesDocumentBridge::mapNodeToImpl(const XalanNode* 	theXalanNode) const
-{
-	NodeImpl*	theXercesNodeImpl = 0;
-
-	if (theXalanNode != 0)
-	{
-		theXercesNodeImpl = m_nodeMap.getNodeImpl(theXalanNode);
-
-		if (theXercesNodeImpl == 0)
-		{
-			throw XalanDOMException(XalanDOMException::WRONG_DOCUMENT_ERR);
-		}
-	}
-
-	return theXercesNodeImpl;
-}
-
-
-
-XalanAttr*
-XercesDocumentBridge::mapNode(const DOM_Attr& 	theXercesNode) const
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XercesAttrBridge*)mapNode(XercesDOM_NodeHack::getImpl(theXercesNode));
-#else
-	return static_cast<XercesAttrBridge*>(mapNode(XercesDOM_NodeHack::getImpl(theXercesNode)));
-#endif
-}
-
-
-
-XalanElement*
-XercesDocumentBridge::mapNode(const DOM_Element& 	theXercesNode) const
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XercesElementBridge*)mapNode(XercesDOM_NodeHack::getImpl(theXercesNode));
-#else
-	return static_cast<XercesElementBridge*>(mapNode(XercesDOM_NodeHack::getImpl(theXercesNode)));
-#endif
-}
-
-
-
-void
-XercesDocumentBridge::destroyBridge()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Set this to null, since it will be deleted
-	// by the next for_each...
-	m_doctype = 0;
-
-	// m_bridgeMap contains all of the nodes that
-	// are still alive...
-	for_each(m_nodes.begin(),
-			 m_nodes.end(),
-			 DeleteFunctor<XalanNode>());
-
-	// Clear everything out, since we just delete everything...
-	m_nodes.clear();
-
-	// Clear out all of the navigators, except ours...
-	m_navigators.erase(m_navigators.begin() + 1, m_navigators.end());
-
-	m_navigator = &m_navigators.front();
-
-	// Clear the node map...
-	m_nodeMap.clear();
-
-	m_indexValid = false;
-
-	m_mappingMode = true;
-
-	m_stringPool->clear();
-}
-
-
-
-void
-XercesDocumentBridge::rebuildBridge()
-{
-	destroyBridge();
-
-	buildBridgeNodes();
-}
-
-
-
-XercesBridgeNavigator&
-XercesDocumentBridge::pushNavigator(bool	mappingMode) const
-{
-	XercesDocumentBridge* const		This =
-#if defined(XALAN_OLD_STYLE_CASTS)
-		(XercesDocumentBridge*)this;
-#else
-		const_cast<XercesDocumentBridge*>(this);
-#endif
-
-	This->m_navigators.push_back(XercesBridgeNavigator(This, mappingMode));
-
-	return This->m_navigators.back();
-}
-
-
-
-XercesDocumentTypeBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_DocumentType&		theDoctype,
-			unsigned long				theIndex,
-			bool						mapNode) const
-{
-	// This is a special case, since there is only one
-	// doctype node allowed...
-	assert(m_doctype == 0);
-	assert(m_xercesDocument.getDoctype().isNull() == false &&
-		   m_xercesDocument.getDoctype() == theDoctype);
-
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	// Update the member variable for the new instance.
-	This->m_doctype = new XercesDocumentTypeBridge(theDoctype, theNavigator);
-
-	if (mapNode == true)
-	{
-		This->m_nodeMap.addAssociation(theDoctype, m_doctype);
-	}
-
-	This->m_nodes.push_back(m_doctype);
-
-	return m_doctype;
-}
-
-
-
-XercesElementBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Element& 	theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	XercesElementBridge* const	theBridge =
-		This->m_elementAllocator.create(theXercesNode,
-										theNavigator);
-
-	if (m_doctype != 0 || mapNode == true)
-	{
-		// Add it to the node map, since we my need it for getting
-		// elements by ID, or we're in mapping mode.
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesDocumentFragmentBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_DocumentFragment&		theXercesNode,
-			unsigned long					theIndex,
-			bool							mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesDocumentFragmentBridge* const		theBridge =
-		new XercesDocumentFragmentBridge(theXercesNode,
-										 theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	if (mapNode == true)
-	{
-		// Add it to the node map...
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesTextBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Text&		theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	XercesTextBridge* const		theBridge =
-		This->m_textAllocator.create(theXercesNode,
-									 theNavigator);
-
-	if (mapNode == true)
-	{
-		// Add it to the node map...
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesCommentBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Comment&	theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesCommentBridge* const	theBridge =
-		new XercesCommentBridge(theXercesNode,
-								theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	if (mapNode == true)
-	{
-		// Add it to the node map...
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesCDATASectionBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_CDATASection&		theXercesNode,
-			unsigned long				theIndex,
-			bool						mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesCDATASectionBridge* const		theBridge =
-		new XercesCDATASectionBridge(theXercesNode,
-									 theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	if (mapNode == true)
-	{
-		// Add it to the node map...
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesProcessingInstructionBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_ProcessingInstruction&	theXercesNode,
-			unsigned long						theIndex,
-			bool								mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesProcessingInstructionBridge* const	theBridge =
-		new XercesProcessingInstructionBridge(theXercesNode,
-											  theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	if (mapNode == true)
-	{
-		// Add it to the node map...
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesAttrBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Attr&		theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	XercesAttrBridge* const		theBridge =
-		This->m_attributeAllocator.create(theXercesNode,
-										  theNavigator);
-
-	// Add it to the node map -- attributes ALWAYS go in the map
-	// for now...
-	This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-
-	return theBridge;
-}
-
-
-
-XercesEntityBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Entity&	theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesEntityBridge* const	theBridge =
-		new XercesEntityBridge(theXercesNode,
-							   theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	// Add it to the node map -- entities ALWAYS go in the map
-	// for now...
-	This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-
-	return theBridge;
-}
-
-
-
-XercesEntityReferenceBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_EntityReference& 	theXercesNode,
-			unsigned long				theIndex,
-			bool						mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesEntityReferenceBridge* const	theBridge =
-		new XercesEntityReferenceBridge(theXercesNode,
-										theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	if (mapNode == true)
-	{
-		// Add it to the node map...
-		This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-	}
-
-	return theBridge;
-}
-
-
-
-XercesNotationBridge*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Notation&		theXercesNode,
-			unsigned long			theIndex,
-			bool					mapNode) const
-{
-	// Create a navigator...
-	XercesBridgeNavigator&	theNavigator = pushNavigator(mapNode);
-
-	theNavigator.setIndex(theIndex);
-
-	XercesNotationBridge* const		theBridge =
-		new XercesNotationBridge(theXercesNode,
-								 theNavigator);
-
-#if defined(XALAN_NO_MUTABLE)
-	XercesDocumentBridge* const		This =
-		(XercesDocumentBridge*)this;
-#else
-	const XercesDocumentBridge* const	This =
-		this;
-#endif
-
-	This->m_nodes.push_back(theBridge);
-
-	// Add it to the node map -- notations ALWAYS go in the map
-	// for now...
-	This->m_nodeMap.addAssociation(theXercesNode, theBridge);
-
-	return theBridge;
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::createBridgeNode(
-			const DOM_Node&		theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const
-{
-	XalanNode*				theNewNode = 0;
-
-	switch(theXercesNode.getNodeType())
-	{
-	case DOM_Node::ATTRIBUTE_NODE:
-		{
-			const DOM_Attr&		theAttrNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_Attr&)theXercesNode;
-#else
-						static_cast<const DOM_Attr&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theAttrNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::CDATA_SECTION_NODE:
-		{
-			const DOM_CDATASection&		theCDATASectionNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_CDATASection&)theXercesNode;
-#else
-						static_cast<const DOM_CDATASection&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theCDATASectionNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-
-		}
-		break;
-
-	case DOM_Node::COMMENT_NODE:
-		{
-			const DOM_Comment&	theCommentNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_Comment&)theXercesNode;
-#else
-						static_cast<const DOM_Comment&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theCommentNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::DOCUMENT_FRAGMENT_NODE:
-		{
-			const DOM_DocumentFragment&		theDocumentFragmentNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_DocumentFragment&)theXercesNode;
-#else
-						static_cast<const DOM_DocumentFragment&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theDocumentFragmentNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-
-		}
-		break;
-
-	case DOM_Node::ELEMENT_NODE:
-		{
-			const DOM_Element&	theElementNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_Element&)theXercesNode;
-#else
-						static_cast<const DOM_Element&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theElementNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::ENTITY_NODE:
-		{
-			const DOM_Entity&	theEntityNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_Entity&)theXercesNode;
-#else
-						static_cast<const DOM_Entity&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theEntityNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::ENTITY_REFERENCE_NODE:
-		{
-			const DOM_EntityReference&	theEntityReferenceNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_EntityReference&)theXercesNode;
-#else
-						static_cast<const DOM_EntityReference&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theEntityReferenceNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::NOTATION_NODE:
-		{
-			const DOM_Notation&		theNotationNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_Notation&)theXercesNode;
-#else
-						static_cast<const DOM_Notation&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theNotationNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::PROCESSING_INSTRUCTION_NODE:
-		{
-			const DOM_ProcessingInstruction&	thePINode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_ProcessingInstruction&)theXercesNode;
-#else
-						static_cast<const DOM_ProcessingInstruction&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(thePINode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::TEXT_NODE:
-		{
-			const DOM_Text&		theTextNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_Text&)theXercesNode;
-#else
-						static_cast<const DOM_Text&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theTextNode, theIndex, mapNode);
-			assert(theNewNode != 0);
-		}
-		break;
-
-	case DOM_Node::DOCUMENT_TYPE_NODE:
-		{
-			const DOM_DocumentType&		theDoctypeNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
-						(const DOM_DocumentType&)theXercesNode;
-#else
-						static_cast<const DOM_DocumentType&>(theXercesNode);
-#endif
-
-			theNewNode = createBridgeNode(theDoctypeNode, theIndex, mapNode);
-
-			assert(theNewNode != 0);
-		}
-		break;
-
-	default:
-		assert(false);
-		break;
-	}
-
-	return theNewNode;
-}
-
-
-
-void
-XercesDocumentBridge::destroyNode(XalanNode*	theNode)
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find;
-#endif
-
-	const NodeVectorType::iterator 	i =
-		find(m_nodes.begin(), m_nodes.end(), theNode);
-
-	if (i == m_nodes.end())
-	{
-		// Doesn't belong to this doc, so throw...
-		throw XercesDOMException(XercesDOMException::WRONG_DOCUMENT_ERR);
-	}
-	else
-	{
-		// Delete the node...
-		delete *i;
-
-		// Erase it from the map...
-		m_nodes.erase(i);
-	}
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::internalCloneNode(
-			const XalanNode*	theXalanNode,
-			const DOM_Node&		theXercesNode,
-			bool				deep)
-{
-	XalanNode*	theNewNode = 0;
-
-	if (theXalanNode->getOwnerDocument() != this)
-	{
-		throw XercesDOMException(XercesDOMException::WRONG_DOCUMENT_ERR);
-	}
-
-	try
-	{
-		const DOM_Node	theNewXercesNode = 
-			theXercesNode.cloneNode(deep);
-
-		theNewNode = createBridgeNode(theNewXercesNode, 0, true);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theNewNode;
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getNodeName() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getPooledString(m_xercesDocument.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getNodeValue() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getPooledString(m_xercesDocument.getNodeValue());
-}
-
-
-
-XercesDocumentBridge::NodeType
-XercesDocumentBridge::getNodeType() const
-{
-	return DOCUMENT_NODE;
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XercesDocumentBridge::getChildNodes() const
-{
-	return &m_children;
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::getFirstChild() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getFirstChild(m_xercesDocument);
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::getLastChild() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getLastChild(m_xercesDocument);
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XercesDocumentBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesDocumentBridge::getOwnerDocument() const
-{
-	return 0;
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesDocumentBridge*
-#endif
-XercesDocumentBridge::cloneNode(bool	deep) const
-{
-	XercesDocumentBridge*	theBridge = 0;
-
-	try
-	{
-		const DOM_Node	theNewDocument = m_xercesDocument.cloneNode(deep);
-
-		theBridge =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			new XercesDocumentBridge((const DOM_Document&)theNewDocument);
-#else
-			new XercesDocumentBridge(static_cast<const DOM_Document&>(theNewDocument));
-#endif
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridge;
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->insertBefore(m_xercesDocument, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->replaceChild(m_xercesDocument, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::removeChild(XalanNode*	 oldChild)
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->removeChild(m_xercesDocument, oldChild);
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::appendChild(XalanNode*	newChild)
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->appendChild(m_xercesDocument, newChild);
-}
-
-
-
-bool
-XercesDocumentBridge::hasChildNodes() const
-{
-	return m_xercesDocument.hasChildNodes();
-}
-
-
-
-void
-XercesDocumentBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesDocument, nodeValue);
-}
-
-
-
-void
-XercesDocumentBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesDocument);
-}
-
-
-bool
-XercesDocumentBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesDocument.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getNamespaceURI() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getPooledString(m_xercesDocument.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getPrefix() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getPooledString(m_xercesDocument.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getLocalName() const
-{
-	assert(m_navigator != 0);
-
-	return m_navigator->getPooledString(m_xercesDocument.getLocalName());
-}
-
-
-
-void
-XercesDocumentBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesDocument, prefix);
-}
-
-
-
-bool
-XercesDocumentBridge::isIndexed() const
-{
-	return m_indexValid;
-}
-
-
-
-unsigned long
-XercesDocumentBridge::getIndex() const
-{
-	assert(m_navigator != 0);
-	assert(m_navigator->getIndex() == 1);
-
-	return m_navigator->getIndex();
-}
-
-
-
-XalanElement*
-XercesDocumentBridge::createElement(const XalanDOMString&	tagName)
-{
-	XalanElement*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_Element	theXercesNode =
-			m_xercesDocument.createElement(c_wstr(tagName));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanDocumentFragment*
-XercesDocumentBridge::createDocumentFragment()
-{
-	XalanDocumentFragment*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_DocumentFragment	theXercesNode =
-			m_xercesDocument.createDocumentFragment();
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanText*
-XercesDocumentBridge::createTextNode(const XalanDOMString&	data)
-{
-	XalanText*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_Text	theXercesNode =
-			m_xercesDocument.createTextNode(c_wstr(data));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanComment*
-XercesDocumentBridge::createComment(const XalanDOMString&	data)
-{
-	XalanComment*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_Comment	theXercesNode =
-			m_xercesDocument.createComment(c_wstr(data));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanCDATASection*
-XercesDocumentBridge::createCDATASection(const XalanDOMString&	data)
-{
-	XalanCDATASection*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_CDATASection	theXercesNode =
-			m_xercesDocument.createCDATASection(c_wstr(data));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanProcessingInstruction*
-XercesDocumentBridge::createProcessingInstruction(
-			const XalanDOMString&	target,
-			const XalanDOMString&	data)
-{
-	XalanProcessingInstruction*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_ProcessingInstruction	theXercesNode =
-			m_xercesDocument.createProcessingInstruction(c_wstr(target), c_wstr(data));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanAttr*
-XercesDocumentBridge::createAttribute(const XalanDOMString&		name)
-{
-	XalanAttr*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_Attr	theXercesNode =
-			m_xercesDocument.createAttribute(c_wstr(name));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanEntityReference*
-XercesDocumentBridge::createEntityReference(const XalanDOMString&	name)
-{
-	XalanEntityReference*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_EntityReference	theXercesNode =
-			m_xercesDocument.createEntityReference(c_wstr(name));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanDocumentType*
-XercesDocumentBridge::getDoctype() const
-{
-	return m_doctype;
-}
-
-
-
-
-XalanDOMImplementation*
-XercesDocumentBridge::getImplementation() const
-{
-	return m_domImplementation.get();
-}
-
-
-
-XalanElement*
-XercesDocumentBridge::getDocumentElement() const
-{
-	// If we're working in mapping mode, m_documentElement will
-	// be null, so we'll have to map the node...
-	return m_documentElement != 0 ? m_documentElement : mapNode(m_xercesDocument.getDocumentElement());
-}
-
-
-
-XalanNodeList*
-XercesDocumentBridge::getElementsByTagName(const XalanDOMString&	/* tagname */) const
-{
-	// Not supported
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentBridge::importNode(
-			XalanNode*	importedNode,
-			bool		deep)
-{
-	// $$$ToDo: Fix this...
-	// The problem is that we must get the Xerces node that corresponds to the
-	// importedNode parameter.  We could assume that it is indeed a node from
-	// another XercesDocumentBridge, but I'm not sure that we should do that.
-	throw XercesDOMException(XercesDOMException::NOT_SUPPORTED_ERR);
-
-	return 0;
-}
-
-
-
-XalanElement*
-XercesDocumentBridge::createElementNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName)
-{
-	XalanElement*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_Element	theXercesNode =
-			m_xercesDocument.createElementNS(c_wstr(namespaceURI), c_wstr(qualifiedName));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanAttr*
-XercesDocumentBridge::createAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName)
-{
-	XalanAttr*	theBridgeNode = 0;
-
-	try
-	{
-		const DOM_Attr	theXercesNode =
-			m_xercesDocument.createAttributeNS(c_wstr(namespaceURI), c_wstr(qualifiedName));
-		assert(theXercesNode.isNull() == false);
-
-		theBridgeNode = createBridgeNode(theXercesNode, 0, true);
-		assert(mapNode(theXercesNode) == theBridgeNode);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theBridgeNode;
-}
-
-
-
-XalanNodeList*
-XercesDocumentBridge::getElementsByTagNameNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	// Not supported
-	return 0;
-}
-
-
-
-XalanElement*
-XercesDocumentBridge::getElementById(const XalanDOMString&	elementId) const
-{
-	// $$$ ToDo: This is because DOM_Document::getElementById() is not
-	// const...
-#if defined(XALAN_NO_MUTABLE)
-	const DOM_Node	theXercesNode(((DOM_Document&)m_xercesDocument).getElementById(c_wstr(elementId)));
-#else
-	const DOM_Node	theXercesNode(m_xercesDocument.getElementById(c_wstr(elementId)));
-#endif
-
-	return theXercesNode.isNull() == true ? 0 :
-#if defined(XALAN_OLD_STYLE_CASTS)
-				(XalanElement*)mapNode(theXercesNode);
-#else
-				static_cast<XalanElement*>(mapNode(theXercesNode));
-#endif
-}
-
-
-
-void
-XercesDocumentBridge::buildBridgeNodes()
-{
-	const DOM_Node	theStartChild = m_xercesDocument.getFirstChild();
-
-	if (theStartChild.isNull() == false)
-	{
-		assert(m_navigator != 0);
-		assert(m_navigators.size() == 1);
-
-		m_navigator->setIndex(1);
-		m_navigator->setFirstChild(0);
-
-		BuildBridgeTreeWalker	theTreeWalker(
-				this,
-				&m_navigators.back(),
-				m_navigators,
-				2);
-
-		theTreeWalker.traverse(theStartChild, m_xercesDocument);
-	}
-
-	// OK, now set m_documentElement...
-	XalanNode*	theChild = m_navigator->getFirstChild();
-
-	while(theChild != 0 && theChild->getNodeType() != XalanNode::ELEMENT_NODE)
-	{
-		theChild = theChild->getNextSibling();
-	}
-
-#if defined(XALAN_OLD_STYLE_CASTS)
-	m_documentElement = (XalanElement*)theChild;
-#else
-	m_documentElement = static_cast<XalanElement*>(theChild);
-#endif
-
-	m_indexValid = true;
-
-	m_mappingMode = false;
-}
-
-
-
-XercesDocumentBridge::BuildBridgeTreeWalker::BuildBridgeTreeWalker(
-			XercesDocumentBridge*		theDocument,
-			XercesBridgeNavigator*		theDocumentNavigator,
-			NavigatorBridgeVectorType&	theNavigators,
-			unsigned long				theStartIndex) :
-	m_document(theDocument),
-	m_navigators(theNavigators),
-	m_currentIndex(theStartIndex),
-	m_parentNavigatorStack(),
-	m_siblingNavigatorStack()
-{
-	assert(theDocument != 0 && theDocumentNavigator != 0);
-
-	// Reserve some space...
-	m_parentNavigatorStack.reserve(100);
-	m_parentNavigatorStack.reserve(100);
-
-	// The document navigator is the last navigator on the stack...
-	m_parentNavigatorStack.push_back(NavigatorStackEntryType(theDocumentNavigator, theDocument));
-
-	// There is no previous sibling...
-	m_siblingNavigatorStack.push_back(NavigatorStackEntryType(0, 0));
-}
-
-
-
-XercesDocumentBridge::BuildBridgeTreeWalker::~BuildBridgeTreeWalker()
-{
-}
-
-
-
-void
-XercesDocumentBridge::BuildBridgeTreeWalker::startNode(const DOM_Node&	node)
-{
-	XalanNode* const	theBridgeNode = m_document->createBridgeNode(node, m_currentIndex, false);
-
-	XercesBridgeNavigator&	theCurrentNodeNavigator = m_navigators.back();
-
-	assert(m_parentNavigatorStack.empty() == false);
-	assert(m_siblingNavigatorStack.empty() == false);
-
-	// Get the two navigators...
-	NavigatorStackEntryType&	theParentEntry = m_parentNavigatorStack.back();
-	NavigatorStackEntryType&	theSiblingEntry = m_siblingNavigatorStack.back();
-
-	theCurrentNodeNavigator.setParentNode(theParentEntry.m_node);
-
-	// If the first child has not been set, then set it
-	// now...
-	if (theParentEntry.m_navigator->getFirstChild() == 0)
-	{
-		assert(theSiblingEntry.m_node == 0);
-
-		theParentEntry.m_navigator->setFirstChild(theBridgeNode);
-	}
-
-	// Always set the last child...
-	theParentEntry.m_navigator->setLastChild(theBridgeNode);
-
-	theCurrentNodeNavigator.setPreviousSibling(theSiblingEntry.m_node);
-
-	if (theSiblingEntry.m_navigator != 0)
-	{
-		theSiblingEntry.m_navigator->setNextSibling(theBridgeNode);
-	}
-
-	// Build an entry for the stacks...
-	const NavigatorStackEntryType	theCurrentEntry(&theCurrentNodeNavigator, theBridgeNode);
-
-	// My child nodes will now be visited, so push the current
-	// context on the parent stack...
-	m_parentNavigatorStack.push_back(theCurrentEntry);
-
-	// My siblings will also need to know about me as well...
-	m_siblingNavigatorStack.push_back(theCurrentEntry);
-
-	// This will serve to mark the sibling context for my first child,
-	// since it has no previous sibling.  This will be popped off
-	// when endNode() is called.
-	m_siblingNavigatorStack.push_back(NavigatorStackEntryType(0, 0));
-
-	// Finally, increment the index counter...
-	++m_currentIndex;
-
-	const short		theType = node.getNodeType();
-
-	if (theType == DOM_Node::DOCUMENT_TYPE_NODE)
-	{
-		// Special case for doctype -- we have to build its entities...
-		const DOM_DocumentType&		theDoctype =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(const DOM_DocumentType&)node;
-#else
-			static_cast<const DOM_DocumentType&>(node);
-#endif
-
-		const DOM_NamedNodeMap	theEntities =
-			theDoctype.getEntities();
-
-		const unsigned int	theLength =
-			theEntities.getLength();
-
-		for (unsigned int i = 0; i < theLength; ++i)
-		{
-			// Build it, but don't index it...
-			m_document->createBridgeNode(theEntities.item(i), m_currentIndex++, true);
-		}
-	}
-	else if (theType == DOM_Node::ELEMENT_NODE)
-	{
-	// Special case for element nodes -- we have to build the attributes...
-		const DOM_Element&	theElement =
-#if defined(XALAN_OLD_STYLE_CASTS)
-			(const DOM_Element&)node;
-#else
-			static_cast<const DOM_Element&>(node);
-#endif
-
-		const DOM_NamedNodeMap	theAttributes =
-			theElement.getAttributes();
-
-		const unsigned int	theLength =
-			theAttributes.getLength();
-
-		XercesBridgeNavigator*	thePreviousAttrNavigator = 0;
-		XalanNode*				thePreviousAttr = 0;
-
-		for (unsigned int i = 0; i < theLength; ++i)
-		{
-			// Get the attribute from the node map...
-			const DOM_Node	theAttr = theAttributes.item(i);
-			assert(theAttr.isNull() == false);
-
-			// Create a bridge node.
-			XalanNode* const	theCurrentAttr =
-				m_document->createBridgeNode(theAttr, m_currentIndex, false);
-			assert(theCurrentAttr != 0);
-
-			// Get the attribute node's navigator...
-			XercesBridgeNavigator&	theCurrentAttrNavigator =
-				m_navigators.back();
-
-			// Set the parent node...
-			theCurrentAttrNavigator.setParentNode(theBridgeNode);
-
-			if (thePreviousAttr != 0)
-			{
-				assert(thePreviousAttrNavigator != 0);
-
-				// Link in the previous attribute...
-				theCurrentAttrNavigator.setPreviousSibling(thePreviousAttr);
-
-				thePreviousAttrNavigator->setNextSibling(theCurrentAttr);
-			}
-
-			// Update the pointers so they point to this attribute...
-			thePreviousAttr = theCurrentAttr;
-			thePreviousAttrNavigator = &theCurrentAttrNavigator;
-
-			// Finally, increment the index...
-			++m_currentIndex;
-		}
-	}
-}
-
-
-
-void
-XercesDocumentBridge::BuildBridgeTreeWalker::endNode(const DOM_Node&	/* node */)
-{
-	assert(m_parentNavigatorStack.empty() == false);
-	assert(m_siblingNavigatorStack.empty() == false);
-
-	// I have to pop my entry, since my children are finished...
-	m_parentNavigatorStack.pop_back();
-
-	// Pop any sibling navigators my child pushed...
-	while(m_siblingNavigatorStack.back().m_navigator != 0)
-	{
-		assert(m_siblingNavigatorStack.back().m_node != 0);
-
-		m_siblingNavigatorStack.pop_back();
-	}
-
-	// There must be a context marker...
-	assert(m_siblingNavigatorStack.back().m_navigator == 0 &&
-		   m_siblingNavigatorStack.back().m_node == 0);
-
-	// Pop the context marker...
-	m_siblingNavigatorStack.pop_back();
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getPooledString(const XalanDOMString&		theString) const
-{
-	return m_stringPool->get(theString);
-}
-
-
-
-const XalanDOMString&
-XercesDocumentBridge::getPooledString(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength) const
-{
-	return m_stringPool->get(theString, theLength);
-}
diff --git a/src/XercesParserLiaison/XercesDocumentBridge.hpp b/src/XercesParserLiaison/XercesDocumentBridge.hpp
deleted file mode 100644
index 30930c8..0000000
--- a/src/XercesParserLiaison/XercesDocumentBridge.hpp
+++ /dev/null
@@ -1,598 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOCUMENTBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESDOCUMENTBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <deque>
-#include <set>
-#include <vector>
-
-
-
-#include <xercesc/dom/DOM_Document.hpp>
-
-
-
-#include <XalanDOM/XalanDocument.hpp>
-
-
-
-#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
-#include <XalanDOM/XalanDOMImplementation.hpp>
-#include <PlatformSupport/XalanDOMStringPool.hpp>
-#endif
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-
-
-
-#include <DOMSupport/TreeWalker.hpp>
-
-
-
-#include <XercesParserLiaison/XercesToXalanNodeMap.hpp>
-#include <XercesParserLiaison/XercesBridgeNavigator.hpp>
-#include <XercesParserLiaison/XercesNodeListBridge.hpp>
-#include <XercesParserLiaison/XercesTreeWalker.hpp>
-#include <XercesParserLiaison/XercesElementBridgeAllocator.hpp>
-#include <XercesParserLiaison/XercesTextBridgeAllocator.hpp>
-#include <XercesParserLiaison/XercesAttributeBridgeAllocator.hpp>
-
-
-
-class XalanDOMStringPool;
-class XercesAttrBridge;
-class XercesCommentBridge;
-class XercesCDATASectionBridge;
-class XercesDocumentFragmentBridge;
-class XercesDocumentTypeBridge;
-class XercesElementBridge;
-class XercesEntityBridge;
-class XercesEntityReferenceBridge;
-class XercesProcessingInstructionBridge;
-class XercesNotationBridge;
-class XercesTextBridge;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDocumentBridge : public XalanDocument
-{
-public:
-
-	friend class XercesBridgeNavigator;
-
-	/**
-	 *
-	 * Constructor for XercesDocumentBridge.
-	 *
-	 * If the document will be shared amongst multiple threads of execution,
-	 * the parameter buildBridge must be true.  Otherwise, the bridge
-	 * nodes will be built on demand, a process which is not synchronized.
-	 * This could cause serious problems if multiple threads tried to visit
-	 * an unbuilt node at the same time.
-	 *
-	 * @param theXercesDocument The Xerces document to bridge
-	 * @param threadSafe If true, the tree can safely be shared amongst multiple threads.  (Also implies buildBridge == true)
-	 * @param buildBridge If true, all of the bridge nodes will be built during construction.
-	 *
-	 */
-	XercesDocumentBridge(
-			const DOM_Document&		theXercesDocument,
-			bool					threadSafe = true,
-			bool					buildBridge = true);
-
-	virtual
-	~XercesDocumentBridge();
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	virtual NodeType
-	getNodeType() const;
-
-	virtual XalanNode*
-	getParentNode() const;
-
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	virtual XalanNode*
-	getFirstChild() const;
-
-	virtual XalanNode*
-	getLastChild() const;
-
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	virtual XalanNode*
-	getNextSibling() const;
-
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesDocumentBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	virtual bool
-	hasChildNodes() const;
-
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	virtual void
-	normalize();
-
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	virtual void
-	setPrefix(const XalanDOMString& prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	virtual XalanElement*
-	createElement(const XalanDOMString& tagName);
-
-	virtual XalanDocumentFragment*
-	createDocumentFragment();
-
-	virtual XalanText*
-	createTextNode(const XalanDOMString&	data);
-
-	virtual XalanComment*
-	createComment(const XalanDOMString& data);
-
-	virtual XalanCDATASection*
-	createCDATASection(const XalanDOMString&	data);
-
-	virtual XalanProcessingInstruction*
-	createProcessingInstruction(
-			const XalanDOMString&	target,
-			const XalanDOMString&	data);
-
-	virtual XalanAttr*
-	createAttribute(const XalanDOMString&	name);
-
-	virtual XalanEntityReference*
-	createEntityReference(const XalanDOMString& name);
-
-	virtual XalanDocumentType*
-	getDoctype() const;
-
-	virtual XalanDOMImplementation*
-	getImplementation() const;
-
-	virtual XalanElement*
-	getDocumentElement() const;
-
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&		tagname) const;
-
-	virtual XalanNode*
-	importNode(
-			XalanNode*	importedNode,
-			bool		deep);
-
-	virtual XalanElement*
-	createElementNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName);
-
-	virtual XalanAttr*
-	createAttributeNS(
-			const XalanDOMString& namespaceURI,
-			const XalanDOMString& qualifiedName);
-
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	virtual XalanElement*
-	getElementById(const XalanDOMString&	elementId) const;
-
-	// These are some special interfaces to manage relationships between
-	// our nodes and Xerces nodes.
-
-	/**
-	 * Destroy the entire bridge structure that connects
-	 * the Xerces document to this XercesDocumentBridge
-	 * instance.  This will invalidate any pointers to
-	 * any nodes in the document (except, of course, the
-	 * document itself).
-	 */
-	void
-	destroyBridge();
-
-	/**
-	 * Rebuild the entire bridge structure that connects
-	 * the Xerces document to this XercesDocumentBridge
-	 * instance.  This destroys the bridge before
-	 * rebuilding.
-	 */
-	void
-	rebuildBridge();
-
-	XalanNode*
-	mapNode(const DOM_Node& 	theXercesNode) const;
-
-	XalanAttr*
-	mapNode(const DOM_Attr& 	theXercesNode) const;
-
-	XalanElement*
-	mapNode(const DOM_Element& 	theXercesNode) const;
-
-	DOM_Node
-	mapNode(const XalanNode* 	theXalanNode) const;
-
-	DOM_Attr
-	mapNode(const XalanAttr* 	theXalanNode) const;
-
-	NodeImpl*
-	mapNodeToImpl(const XalanNode* 	theXalanNode) const;
-
-	/**
-	 *
-	 * Get the Xerces DOM_Document that this XercesDocument represents.
-	 *
-	 * @return the Xerces DOM_Document instance.
-	 *
-	 */
-	DOM_Document
-	getXercesDocument() const
-	{
-		return m_xercesDocument;
-	}
-
-	/**
-	 * Build the entire bridge structure.  This should be done before any
-	 * processing begins, if the tree will be shared amongst multiple
-	 * threads.
-	 */
-	void
-	buildBridgeNodes();
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef deque<XercesBridgeNavigator>	NavigatorBridgeVectorType;
-
-	typedef deque<XalanNode*>				NodeVectorType;
-#else
-	typedef std::deque<XercesBridgeNavigator>	NavigatorBridgeVectorType;
-
-	typedef std::deque<XalanNode*>				NodeVectorType;
-#endif
-
-	// Helper class to walk the tree and build everything...
-	class BuildBridgeTreeWalker : public XercesTreeWalker
-	{
-	public:
-
-		typedef NavigatorBridgeVectorType	NavigatorBridgeVectorInnerType;
-
-		BuildBridgeTreeWalker(
-				XercesDocumentBridge*			theDocument,
-				XercesBridgeNavigator*			theDocumentNavigator,
-				NavigatorBridgeVectorInnerType&	theNavigators,
-				unsigned long					theStartIndex);
-
-		virtual
-		~BuildBridgeTreeWalker();
-
-		struct NavigatorStackEntryType
-		{
-			NavigatorStackEntryType(
-						XercesBridgeNavigator*	theNavigator = 0,
-						XalanNode*				theNode = 0) :
-				m_navigator(theNavigator),
-				m_node(theNode)
-			{
-			}
-
-			XercesBridgeNavigator*	m_navigator;
-
-			XalanNode*				m_node;
-		};
-
-	#if defined(XALAN_NO_NAMESPACES)
-		typedef vector<NavigatorStackEntryType>			NavigatorStackType;
-	#else
-		typedef std::vector<NavigatorStackEntryType>	NavigatorStackType;
-	#endif
-
-	protected:
-
-		virtual void
-		startNode(const DOM_Node&	node);
-
-		virtual void
-		endNode(const DOM_Node&	node);
-
-	private:
-
-		XercesDocumentBridge*			m_document;
-
-		NavigatorBridgeVectorInnerType&	m_navigators;
-
-		unsigned long					m_currentIndex;
-
-		NavigatorStackType				m_parentNavigatorStack;
-
-		NavigatorStackType				m_siblingNavigatorStack;
-	};
-
-
-	/**
-	 * Get a pooled string.  If the string is not in the pool,
-	 * add it.
-	 *
-	 * @param theString The string to pool.
-	 * @return A const reference to the pooled string.
-	 */
-	const XalanDOMString&
-	getPooledString(const XalanDOMString&	theString) const;
-
-	/**
-	 * Get a pooled string.  If the string is not in the pool,
-	 * add it.
-	 *
-	 * @param theString The string to pool.
-	 * @param theLength The length of the string.  If XalanDOMString::npos, the string is assumed to be null-terminated.
-	 * @return A const reference to the pooled string.
-	 */
-	const XalanDOMString&
-	getPooledString(
-			const XalanDOMChar*			theString,
-			XalanDOMString::size_type	theLength /* = XalanDOMString::npos */) const;
-
-private:
-
-	XalanNode*
-	mapNode(NodeImpl* 	theXercesNodeImpl) const;
-
-	// Destruction API...
-	void
-	destroyBridgeNode(XalanNode*	theNode);
-
-	// Not implemented...
-	XercesDocumentBridge(const XercesDocumentBridge&	theSource);
-
-	XercesDocumentBridge&
-	operator=(const XercesDocumentBridge&	theRHS);
-
-	bool
-	operator==(const XercesDocumentBridge&	theRHS) const;
-
-	// Private delete function...
-	void
-	destroyNode(XalanNode*	theNode);
-
-	// More internal implementation stuff...
-	XalanNode*
-	internalCloneNode(
-			const XalanNode*	theXalanNode,
-			const DOM_Node&		theXercesNode,
-			bool				deep);
-
-	// Factory methods for our implementation nodes...
-	XalanNode*
-	createBridgeNode(
-			const DOM_Node&	theXercesNode,
-			unsigned long	theIndex,
-			bool			mapNode) const;
-
-	XercesDocumentTypeBridge*
-	createBridgeNode(
-			const DOM_DocumentType&		theDoctype,
-			unsigned long				theIndex,
-			bool						mapNode) const;
-
-	XercesElementBridge*
-	createBridgeNode(
-			const DOM_Element& 	theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const;
-
-	XercesDocumentFragmentBridge*
-	createBridgeNode(
-			const DOM_DocumentFragment&		theXercesNode,
-			unsigned long					theIndex,
-			bool							mapNode) const;
-
-	XercesTextBridge*
-	createBridgeNode(
-			const DOM_Text&		theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const;
-
-	XercesCommentBridge*
-	createBridgeNode(
-			const DOM_Comment&	theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const;
-
-	XercesCDATASectionBridge*
-	createBridgeNode(
-			const DOM_CDATASection&		theXercesNode,
-			unsigned long				theIndex,
-			bool						mapNode) const;
-
-	XercesProcessingInstructionBridge*
-	createBridgeNode(
-			const DOM_ProcessingInstruction&	theXercesNode,
-			unsigned long						theIndex,
-			bool								mapNode) const;
-
-	XercesAttrBridge*
-	createBridgeNode(
-			const DOM_Attr&		theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const;
-
-	XercesEntityBridge*
-	createBridgeNode(
-			const DOM_Entity&	theXercesNode,
-			unsigned long		theIndex,
-			bool				mapNode) const;
-
-	XercesEntityReferenceBridge*
-	createBridgeNode(
-			const DOM_EntityReference&	theXercesNode,
-			unsigned long				theIndex,
-			bool						mapNode) const;
-
-	XercesNotationBridge*
-	createBridgeNode(
-			const DOM_Notation&		theXercesNode,
-			unsigned long			theIndex,
-			bool					mapNode) const;
-
-	XercesBridgeNavigator&
-	pushNavigator(bool	mappingMode) const;
-
-	// This is a private helper class for building the tree...
-	friend class BuildBridgeTreeWalker;
-
-	// $$$ ToDo: This is because DOM_Document::getElementById() is not
-	// const...
-	mutable DOM_Document					m_xercesDocument;
-
-	XalanElement*							m_documentElement;
-
-	mutable XercesToXalanNodeMap			m_nodeMap;
-
-	XalanAutoPtr<XalanDOMImplementation>	m_domImplementation;
-
-	mutable NavigatorBridgeVectorType		m_navigators;
-
-	// Our navigator will be the first entry in m_navigators,
-	// but we'll cache this so access is faster...
-	XercesBridgeNavigator*					m_navigator;
-
-	XercesNodeListBridge					m_children;
-
-	mutable NodeVectorType					m_nodes;
-
-	mutable XercesDocumentTypeBridge* 		m_doctype;
-
-	bool									m_mappingMode;
-
-	bool									m_indexValid;
-
-	mutable XercesElementBridgeAllocator	m_elementAllocator;
-
-	mutable XercesTextBridgeAllocator		m_textAllocator;
-
-	mutable XercesAttributeBridgeAllocator	m_attributeAllocator;
-
-	const XalanAutoPtr<XalanDOMStringPool>	m_stringPool;
-};
-
-
-
-#endif	// !defined(XERCESDOCUMENTBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDocumentFragmentBridge.cpp b/src/XercesParserLiaison/XercesDocumentFragmentBridge.cpp
deleted file mode 100644
index 74aafe0..0000000
--- a/src/XercesParserLiaison/XercesDocumentFragmentBridge.cpp
+++ /dev/null
@@ -1,321 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDocumentFragmentBridge.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesDocumentFragmentBridge::XercesDocumentFragmentBridge(
-			const DOM_DocumentFragment&		theXercesDOMDocumentFragment,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanDocumentFragment(),
-	m_xercesNode(theXercesDOMDocumentFragment),
-	m_children(theXercesDOMDocumentFragment.getChildNodes(),
-			   theNavigator),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesDocumentFragmentBridge::~XercesDocumentFragmentBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesDocumentFragmentBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentFragmentBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesDocumentFragmentBridge::NodeType
-XercesDocumentFragmentBridge::getNodeType() const
-{
-	return DOCUMENT_FRAGMENT_NODE;
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::getParentNode() const
-{
-	return 0;
-}
-
-
-
-const XalanNodeList*
-XercesDocumentFragmentBridge::getChildNodes() const
-{
-	return &m_children;
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::getFirstChild() const
-{
-	return m_navigator.getFirstChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::getLastChild() const
-{
-	return m_navigator.getLastChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::getPreviousSibling() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::getNextSibling() const
-{
-	return 0;
-}
-
-
-
-const XalanNamedNodeMap*
-XercesDocumentFragmentBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesDocumentFragmentBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesDocumentFragmentBridge*
-#endif
-XercesDocumentFragmentBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesDocumentFragmentBridge* const	theBridge =
-		static_cast<XercesDocumentFragmentBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	return m_navigator.insertBefore(m_xercesNode, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	return m_navigator.replaceChild(m_xercesNode, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::removeChild(XalanNode*	oldChild)
-{
-	return m_navigator.removeChild(m_xercesNode, oldChild);
-}
-
-
-
-XalanNode*
-XercesDocumentFragmentBridge::appendChild(XalanNode*	newChild)
-{
-	return m_navigator.appendChild(m_xercesNode, newChild);
-}
-
-
-
-bool
-XercesDocumentFragmentBridge::hasChildNodes() const
-{
-	return m_xercesNode.hasChildNodes();
-}
-
-
-
-void
-XercesDocumentFragmentBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesDocumentFragmentBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-bool
-XercesDocumentFragmentBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesDocumentFragmentBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentFragmentBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentFragmentBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesDocumentFragmentBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesDocumentFragmentBridge::isIndexed() const
-{
-	// $$$ ToDo: Are document fragments ever indexed?
-	// I don't think so...
-	return false;
-
-//	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesDocumentFragmentBridge::getIndex() const
-{
-	return 0;
-
-//	return m_navigator.getIndex();
-}
diff --git a/src/XercesParserLiaison/XercesDocumentFragmentBridge.hpp b/src/XercesParserLiaison/XercesDocumentFragmentBridge.hpp
deleted file mode 100644
index 599f730..0000000
--- a/src/XercesParserLiaison/XercesDocumentFragmentBridge.hpp
+++ /dev/null
@@ -1,468 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOCUMENTFRAGMENTBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESDOCUMENTFRAGMENTBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_DocumentFragment.hpp>
-
-
-
-#include <XalanDOM/XalanDocumentFragment.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNodeListBridge.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDocumentFragmentBridge : public XalanDocumentFragment
-{
-public:
-
-	XercesDocumentFragmentBridge(
-			const DOM_DocumentFragment&		theXercesDOMDocumentFragment,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesDocumentFragmentBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesDocumentFragmentBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_DocumentFragment
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-	//@}
-
-private:
-
-	// Not implemented...
-	XercesDocumentFragmentBridge(const XercesDocumentFragmentBridge&	theSource);
-
-	XercesDocumentFragmentBridge&
-	operator=(const XercesDocumentFragmentBridge&	theSource);
-
-	bool
-	operator==(const XercesDocumentFragmentBridge&		theRHS) const;
-
-	// Data members...
-	DOM_DocumentFragment			m_xercesNode;
-
-	XercesNodeListBridge			m_children;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESDOCUMENTFRAGMENTBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDocumentNamedNodeListCache.cpp b/src/XercesParserLiaison/XercesDocumentNamedNodeListCache.cpp
deleted file mode 100644
index 68f7097..0000000
--- a/src/XercesParserLiaison/XercesDocumentNamedNodeListCache.cpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-#include "XercesDocumentNamedNodeListCache.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/dom/DOM_Document.hpp>
-#include <xercesc/dom/DOM_NodeList.hpp>
-
-
-
-XercesDocumentNamedNodeListCache::XercesDocumentNamedNodeListCache(
-			const DOM_Document&				theXercesDocument,
-			const XercesBridgeNavigator&	theNavigator) :
-	XercesNamedNodeListCache(theNavigator),
-	m_xercesDocument(theXercesDocument)
-{
-}
-
-
-
-XercesDocumentNamedNodeListCache::~XercesDocumentNamedNodeListCache()
-{
-}
-
-
-
-DOM_NodeList
-XercesDocumentNamedNodeListCache::getXercesNodeList(const XalanDOMString&		tagname) const
-{
-	return m_xercesDocument.getElementsByTagName(c_wstr(tagname));
-}
-
-
-
-DOM_NodeList
-XercesDocumentNamedNodeListCache::getXercesNodeList(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	return m_xercesDocument.getElementsByTagNameNS(c_wstr(namespaceURI), c_wstr(localName));
-}
diff --git a/src/XercesParserLiaison/XercesDocumentNamedNodeListCache.hpp b/src/XercesParserLiaison/XercesDocumentNamedNodeListCache.hpp
deleted file mode 100644
index f418071..0000000
--- a/src/XercesParserLiaison/XercesDocumentNamedNodeListCache.hpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOCUMENTNAMEDNODELISTCACHE_HEADER_GUARD_1357924680)
-#define XERCESDOCUMENTNAMEDNODELISTCACHE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Document.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNamedNodeListCache.hpp>
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDocumentNamedNodeListCache : public XercesNamedNodeListCache
-{
-public:
-
-	XercesDocumentNamedNodeListCache(
-			const DOM_Document&				theXercesDocument,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesDocumentNamedNodeListCache();
-
-protected:
-
-	virtual DOM_NodeList
-	getXercesNodeList(const XalanDOMString&		tagname) const;
-
-	virtual DOM_NodeList
-	getXercesNodeList(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-private:
-
-	const DOM_Document	m_xercesDocument;
-};
-
-
-
-#endif	// !defined(XERCESDOCUMENTNAMEDNODELISTCACHE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesDocumentTypeBridge.cpp b/src/XercesParserLiaison/XercesDocumentTypeBridge.cpp
deleted file mode 100644
index b45cf2e..0000000
--- a/src/XercesParserLiaison/XercesDocumentTypeBridge.cpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesDocumentTypeBridge.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesDocumentTypeBridge::XercesDocumentTypeBridge(
-			const DOM_DocumentType&			theXercesDOMDocumentType,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanDocumentType(),
-	m_xercesNode(theXercesDOMDocumentType),
-	m_entities(m_xercesNode.getEntities(),
-			   theNavigator),
-	m_notations(m_xercesNode.getNotations(),
-			    theNavigator),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesDocumentTypeBridge::~XercesDocumentTypeBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesDocumentTypeBridge::NodeType
-XercesDocumentTypeBridge::getNodeType() const
-{
-	return DOCUMENT_TYPE_NODE;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesDocumentTypeBridge::getChildNodes() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesDocumentTypeBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesDocumentTypeBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesDocumentTypeBridge*
-#endif
-XercesDocumentTypeBridge::cloneNode(bool	deep) const
-{
-	// $$$ ToDo: Fix this!! XercesDocumentType nodes can't be cloned yet...
-	assert(false);
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesDocumentTypeBridge* const		theBridge =
-		static_cast<XercesDocumentTypeBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesDocumentTypeBridge::appendChild(XalanNode*	 /* newChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XercesDocumentTypeBridge::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XercesDocumentTypeBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesDocumentTypeBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-
-bool
-XercesDocumentTypeBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesDocumentTypeBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesDocumentTypeBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesDocumentTypeBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getName());
-}
-
-
-
-const XalanNamedNodeMap*
-XercesDocumentTypeBridge::getEntities() const
-{
-	return &m_entities;
-}
-
-
-
-const XalanNamedNodeMap*
-XercesDocumentTypeBridge::getNotations() const
-{
-	return &m_notations;
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getPublicId() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPublicId());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getSystemId() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getSystemId());
-}
-
-
-
-const XalanDOMString&
-XercesDocumentTypeBridge::getInternalSubset() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getInternalSubset());
-}
diff --git a/src/XercesParserLiaison/XercesDocumentTypeBridge.hpp b/src/XercesParserLiaison/XercesDocumentTypeBridge.hpp
deleted file mode 100644
index 3674439..0000000
--- a/src/XercesParserLiaison/XercesDocumentTypeBridge.hpp
+++ /dev/null
@@ -1,524 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESDOCUMENTTYPEBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESDOCUMENTTYPEBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_DocumentType.hpp>
-
-
-
-#include <XalanDOM/XalanDocumentType.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNamedNodeMapBridge.hpp>
-
-
-
-class XercesBridgeNavigator;
-class XercesDocumentBridge;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesDocumentTypeBridge : public XalanDocumentType
-{
-public:
-
-	XercesDocumentTypeBridge(
-			const DOM_DocumentType&			theXercesDOMDocumentType,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesDocumentTypeBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesDocumentTypeBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanDocumentType...
-
-    /** @name Getter functions. */
-    //@{
-
-	/**
-	 * The name of DTD; i.e., the name immediately following the 
-	 * <code>DOCTYPE</code> keyword in an XML source document.
-	 */
-	virtual const XalanDOMString&
-	getName() const;
-
-	/**
-	 * This function returns a  <code>NamedNodeMap</code> containing the general entities, both 
-	 * external and internal, declared in the DTD. Parameter entities are not contained.
-	 * Duplicates are discarded. 
-	 */
-	virtual const XalanNamedNodeMap*
-	getEntities() const;
-
-	/**
-	 * This function returns a named node map containing an entry for
-	 * each notation declared in a document's DTD.  Duplicates are discarded.
-	 */
-	virtual const XalanNamedNodeMap*
-	getNotations() const;
-  //@}
-
-    /** @name Functions introduced in DOM Level 2. */
-    //@{
-    /**
-     * Get the public identifier of the external subset.
-     * @return The public identifier of the external subset.
-     */
-	virtual const XalanDOMString&
-	getPublicId() const;
-
-    /**
-     * Get the system identifier of the external subset.
-     * @return The system identifier of the external subset.
-     */
-	virtual const XalanDOMString&
-	getSystemId() const;
-
-    /**
-     * Get the internal subset as a string.
-     * @return The internal subset as a string.
-     */
-	virtual const XalanDOMString&
-	getInternalSubset() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_DocumentType
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-    //@}
-
-private:
-
-	// Not implemented...
-	XercesDocumentTypeBridge(const XercesDocumentTypeBridge&	theSource);
-
-	XercesDocumentTypeBridge&
-	operator=(const XercesDocumentTypeBridge&	theSource);
-
-	bool
-	operator==(const XercesDocumentTypeBridge&		theRHS) const;
-
-	// Data members...
-	DOM_DocumentType				m_xercesNode;
-
-	XercesNamedNodeMapBridge		m_entities;
-	
-	XercesNamedNodeMapBridge		m_notations;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESDOCUMENTTYPEBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesElementBridge.cpp b/src/XercesParserLiaison/XercesElementBridge.cpp
deleted file mode 100644
index cc0027c..0000000
--- a/src/XercesParserLiaison/XercesElementBridge.cpp
+++ /dev/null
@@ -1,542 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesElementBridge.hpp"
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesBridgeNavigator.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesElementBridge::XercesElementBridge(
-			const DOM_Element&				theXercesElement,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanElement(),
-	m_xercesNode(theXercesElement),
-	m_navigator(theNavigator),
-	m_children(theXercesElement.getChildNodes(),
-			   theNavigator),
-	m_attributes(theXercesElement.getAttributes(),
-				 theNavigator)
-{
-}
-
-
-
-XercesElementBridge::~XercesElementBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeNameImpl());
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValueImpl());
-}
-
-
-
-XercesElementBridge::NodeType
-XercesElementBridge::getNodeType() const
-{
-	return ELEMENT_NODE;
-}
-
-
-
-XalanNode*
-XercesElementBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesElementBridge::getChildNodes() const
-{
-	return &m_children;
-}
-
-
-
-XalanNode*
-XercesElementBridge::getFirstChild() const
-{
-	return m_navigator.getFirstChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesElementBridge::getLastChild() const
-{
-	return m_navigator.getLastChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesElementBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesElementBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesElementBridge::getAttributes() const
-{
-	return &m_attributes;
-}
-
-
-
-XalanDocument*
-XercesElementBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesElementBridge*
-#endif
-XercesElementBridge::cloneNode(bool deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesElementBridge* const	theBridge =
-		static_cast<XercesElementBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesElementBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	return m_navigator.insertBefore(m_xercesNode, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesElementBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	return m_navigator.replaceChild(m_xercesNode, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesElementBridge::removeChild(XalanNode*	oldChild)
-{
-	return m_navigator.removeChild(m_xercesNode, oldChild);
-}
-
-
-
-XalanNode*
-XercesElementBridge::appendChild(XalanNode*	newChild)
-{
-	return m_navigator.appendChild(m_xercesNode, newChild);
-}
-
-
-
-bool
-XercesElementBridge::hasChildNodes() const
-{
-	return m_xercesNode.hasChildNodes();
-}
-
-
-
-void
-XercesElementBridge::setNodeValue(const XalanDOMString&		nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesElementBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-bool
-XercesElementBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURIImpl());
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefixImpl());
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalNameImpl());
-}
-
-
-
-void
-XercesElementBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesElementBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesElementBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getTagName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getTagNameImpl());
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getAttribute(const XalanDOMString&		name) const
-{
-	return m_navigator.getPooledString(m_xercesNode.getAttributeImpl(c_wstr(name)));
-}
-
-
-
-XalanAttr*
-XercesElementBridge::getAttributeNode(const XalanDOMString&		name) const
-{
-#if defined(XALAN_OLD_STYLE_CASTS)
-	return (XalanAttr*)m_attributes.getNamedItem(name);
-#else
-	return static_cast<XalanAttr*>(m_attributes.getNamedItem(name));
-#endif
-}
-
-
-
-XalanNodeList*
-XercesElementBridge::getElementsByTagName(const XalanDOMString&		/* name */) const
-{
-	// Not supported...
-	return 0;
-}
-
-
-
-void
-XercesElementBridge::setAttribute(
-			const XalanDOMString&	name, 
-			const XalanDOMString&	value)
-{
-	try
-	{
-		m_xercesNode.setAttribute(c_wstr(name), c_wstr(value));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-XalanAttr*
-XercesElementBridge::setAttributeNode(XalanAttr*	newAttr)
-{
-	assert(newAttr != 0);
-
-	const DOM_Attr	theXercesAttrNode =
-			m_navigator.mapNode(newAttr);
-	assert(theXercesAttrNode.isNull() == false);
-
-	XalanAttr*	theXalanAttrResult = 0;
-
-	try
-	{
-		const DOM_Attr	theXercesAttrResult =
-			m_xercesNode.setAttributeNode(theXercesAttrNode);
-
-		theXalanAttrResult = m_navigator.mapNode(theXercesAttrResult);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanAttrResult;
-}
-
-
-
-XalanAttr*
-XercesElementBridge::removeAttributeNode(XalanAttr*		oldAttr)
-{
-	assert(oldAttr != 0);
-
-	const DOM_Attr	theXercesAttrNode =
-			m_navigator.mapNode(oldAttr);
-	assert(theXercesAttrNode.isNull() == false);
-
-	XalanAttr*	theXalanAttrResult = 0;
-
-	try
-	{
-		const DOM_Attr	theXercesAttrResult =
-			m_xercesNode.removeAttributeNode(theXercesAttrNode);
-
-		theXalanAttrResult = m_navigator.mapNode(theXercesAttrResult);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanAttrResult;
-}
-
-
-
-void
-XercesElementBridge::removeAttribute(const XalanDOMString&	name)
-{
-	try
-	{
-		m_xercesNode.removeAttribute(c_wstr(name));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-const XalanDOMString&
-XercesElementBridge::getAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	return m_navigator.getPooledString(m_xercesNode.getAttributeNSImpl(c_wstr(namespaceURI), c_wstr(localName)));
-}
-
-
-
-void
-XercesElementBridge::setAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	value)
-{
-	try
-	{
-		m_xercesNode.setAttributeNS(c_wstr(namespaceURI), c_wstr(qualifiedName), c_wstr(value));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-void
-XercesElementBridge::removeAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName)
-{
-	try
-	{
-		m_xercesNode.removeAttributeNS(c_wstr(namespaceURI), c_wstr(localName));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
-
-
-
-XalanAttr*
-XercesElementBridge::getAttributeNodeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	const DOM_Attr	theAttrNode =
-		m_xercesNode.getAttributeNodeNS(c_wstr(namespaceURI), c_wstr(localName));
-
-	return m_navigator.mapNode(theAttrNode);
-}
-
-
-
-XalanAttr*
-XercesElementBridge::setAttributeNodeNS(XalanAttr*	newAttr)
-{
-	assert(newAttr != 0);
-
-
-	const DOM_Attr	theXercesAttrNode =
-			m_navigator.mapNode(newAttr);
-	assert(theXercesAttrNode.isNull() == false);
-
-	XalanAttr*	theXalanAttrResult = 0;
-
-	try
-	{
-		const DOM_Attr	theXercesAttrResult =
-			m_xercesNode.setAttributeNodeNS(theXercesAttrNode);
-
-		theXalanAttrResult = m_navigator.mapNode(theXercesAttrResult);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanAttrResult;
-}
-
-
-
-XalanNodeList*
-XercesElementBridge::getElementsByTagNameNS(
-			const XalanDOMString&	/* namespaceURI */,
-			const XalanDOMString&	/* localName */) const
-{
-	// Not supported...
-	return 0;
-}
diff --git a/src/XercesParserLiaison/XercesElementBridge.hpp b/src/XercesParserLiaison/XercesElementBridge.hpp
deleted file mode 100644
index 866df1d..0000000
--- a/src/XercesParserLiaison/XercesElementBridge.hpp
+++ /dev/null
@@ -1,759 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESELEMENTBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESELEMENTBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <map>
-
-
-
-#include <xercesc/dom/DOM_Element.hpp>
-
-
-
-#include <XalanDOM/XalanElement.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <XercesParserLiaison/XercesDOM_NodeHack.hpp>
-#include <XercesParserLiaison/XercesNamedNodeMapBridge.hpp>
-#include <XercesParserLiaison/XercesNodeListBridge.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementBridge : public XalanElement
-{
-public:
-
-	XercesElementBridge(
-			const DOM_Element&				theXercesElement,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesElementBridge();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesElementBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanElement...
-
-	/**
-	 * The name of the element. 
-	 *
-	 * For example, in: &lt;elementExample 
-	 * id="demo"&gt;  ... &lt;/elementExample&gt; , <code>tagName</code> has 
-	 * the value <code>"elementExample"</code>. Note that this is 
-	 * case-preserving in XML, as are all of the operations of the DOM. 
-	 */
-	virtual const XalanDOMString&
-	getTagName() const;
-
-	/**
-	 * Retrieves an attribute value by name.
-	 *
-	 * @param name The name of the attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> value as a string, or the empty  string if 
-	 *   that attribute does not have a specified or default value.
-	 */
-	virtual const XalanDOMString&
-	getAttribute(const XalanDOMString&		name) const;
-
-	/**
-	 * Retrieves an <code>DOM_Attr</code> node by name.
-	 *
-	 * @param name The name (<CODE>nodeName</CODE>) of the attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> node with the specified name (<CODE>nodeName</CODE>) or 
-	 *   <code>null</code> if there is no such attribute.
-	 */
-	virtual XalanAttr*
-	getAttributeNode(const XalanDOMString&		name) const;
-
-	/**
-	 * Returns a <code>NodeList</code> of all descendant elements with a given 
-	 * tag name, in the order in which they would be encountered in a preorder 
-	 * traversal of the <code>DOM_Element</code> tree.  Caller is
-	 * responsible for deleting the XalanNodeList instance.
-	 *
-	 * @param name The name of the tag to match on. The special value "*" 
-	 *   matches all tags.
-	 * @return A list of matching <code>DOM_Element</code> nodes.
-	 */
-	virtual XalanNodeList*
-	getElementsByTagName(const XalanDOMString&		name) const;
-
-	//@}
-	 /** @name Set functions. */
-	 //@{
-
-	/**
-	 * Adds a new attribute. 
-	 * 
-	 * If an attribute with that name is already present 
-	 * in the element, its value is changed to be that of the value parameter. 
-	 * This value is a simple string, it is not parsed as it is being set. So 
-	 * any markup (such as syntax to be recognized as an entity reference) is 
-	 * treated as literal text, and needs to be appropriately escaped by the 
-	 * implementation when it is written out. In order to assign an attribute 
-	 * value that contains entity references, the user must create an 
-	 * <code>DOM_Attr</code> node plus any <code>Text</code> and 
-	 * <code>EntityReference</code> nodes, build the appropriate subtree, and 
-	 * use <code>setAttributeNode</code> to assign it as the value of an 
-	 * attribute.
-	 * @param name The name of the attribute to create or alter.
-	 * @param value Value to set in string form.
-	 * @exception DOMException
-	 *   INVALID_CHARACTER_ERR: Raised if the specified name contains an 
-	 *   illegal character.
-	 *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	setAttribute(
-			const XalanDOMString&	name, 
-			const XalanDOMString&	value);
-
-	/**
-	 * Adds a new attribute. 
-	 * 
-	 * If an attribute with that name (<CODE>nodeName</CODE>) is already present 
-	 * in the element, it is replaced by the new one.
-	 * @param newAttr The <code>DOM_Attr</code> node to add to the attribute list.
-	 * @return If the <code>newAttr</code> attribute replaces an existing 
-     *   attribute, the replaced
-     *   <code>DOM_Attr</code> node is returned, otherwise <code>null</code> is 
-     *   returned.
-     * @exception DOMException
-     *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a 
-     *   different document than the one that created the element.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an 
-     *   attribute of another <code>DOM_Element</code> object. The DOM user must 
-     *   explicitly clone <code>DOM_Attr</code> nodes to re-use them in other 
-     *   elements.
-     */
-	virtual XalanAttr*
-	setAttributeNode(XalanAttr*		newAttr);
-
-    //@}
-    /** @name Functions which modify the Element. */
-    //@{
-    
-	/**
-	 * Removes the specified attribute node.
-	 * If the removed <CODE>DOM_Attr</CODE>
-	 *   has a default value it is immediately replaced. The replacing attribute 
-	 *   has the same namespace URI and local name, as well as the original prefix, 
-	 *   when applicable.
-	 *
-	 * @param oldAttr The <code>DOM_Attr</code> node to remove from the attribute 
-	 *   list.
-	 * @return The <code>DOM_Attr</code> node that was removed.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 *   <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute 
-	 *   of the element.
-	 */
-	virtual XalanAttr*
-	removeAttributeNode(XalanAttr*	oldAttr);
-
-	/**
-	 * Removes an attribute by name. 
-	 *
-	 * If the removed attribute 
-	 *   is known to have a default value, an attribute immediately appears 
-	 *   containing the default value as well as the corresponding namespace URI, 
-	 *   local name, and prefix when applicable.<BR>To remove an attribute by local 
-	 *   name and namespace URI, use the <CODE>removeAttributeNS</CODE> method.
-	 * @param name The name of the attribute to remove.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	removeAttribute(const XalanDOMString&	name);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Retrieves an attribute value by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to retrieve.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> value as a string, or an empty string if
-	*    that attribute does not have a specified or default value.
-	 */
-	virtual const XalanDOMString&
-	getAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	 * Adds a new attribute. If the given 
-	 *   <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string and the 
-	 *   <CODE>qualifiedName</CODE> has a prefix that is "xml", the new attribute 
-	 *   is bound to the predefined namespace 
-	 *   "http://www.w3.org/XML/1998/namespace". 
-	 *   If an attribute with the same local name and namespace URI is already 
-	 *   present on the element, its prefix is changed to be the prefix part of the 
-	 *   <CODE>qualifiedName</CODE>, and its value is changed to be the 
-	 *   <CODE>value</CODE> parameter. 
-	 * This value is a simple string, it is
-	 * not parsed as it is being set. So any markup (such as syntax to be
-	 * recognized as an entity reference) is treated as literal text, and
-	 * needs to be appropriately escaped by the implementation when it is
-	 * written out. In order to assign an attribute value that contains entity
-	 * references, the user must create a <code>DOM_Attr</code> node plus any
-	 * <code>DOM_Text</code> and <code>DOM_EntityReference</code> nodes, build the
-	 * appropriate subtree, and use <code>setAttributeNodeNS</code> or
-	 * <code>setAttributeNode</code> to assign it as the value of an
-	 * attribute.
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to create or alter.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to create or alter.
-	 * @param value The value to set in string form.
-	 * @exception DOMException
-	 *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an 
-	 *   illegal character.
-	 *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is 
-	 *         malformed, if the <CODE>qualifiedName</CODE> has a prefix that is 
-	 *         "xml" and the <CODE>namespaceURI</CODE> is neither <CODE>null</CODE> 
-	 *         nor an empty string nor "http://www.w3.org/XML/1998/namespace", or 
-	 *         if the <CODE>qualifiedName</CODE> has a prefix that is "xmlns" but 
-	 *         the <CODE>namespaceURI</CODE> is neither <CODE>null</CODE> nor an 
-	 *         empty string, or if if the <CODE>qualifiedName</CODE> has a prefix 
-	 *         different from "xml" and "xmlns" and the <CODE>namespaceURI</CODE> 
-	 *         is <CODE>null</CODE> or an empty string.
-	 */
-	virtual void
-	setAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	qualifiedName,
-			const XalanDOMString&	value);
-
-	/**
-	 * Removes an attribute by local name and namespace URI. If the
-	 * removed attribute has a default value it is immediately replaced.
-	 * The replacing attribute has the same namespace URI and local name, as well as 
-	 * the original prefix.<BR>HTML-only DOM implementations do not need to 
-	 * implement this method.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to remove.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to remove.
-	 * @exception DOMException
-	 *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	removeAttributeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-	/**
-	 * Retrieves an <code>DOM_Attr</code> node by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the attribute to retrieve.
-	 * @param localName The <em>local name</em> of the
-	 *    attribute to retrieve.
-	 * @return The <code>DOM_Attr</code> node with the specified attribute local
-	 *    name and namespace URI or <code>null</code> if there is no such attribute.
-	 */
-	virtual XalanAttr*
-	getAttributeNodeNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	  * Adds a new attribute. 
-	  * 
-	  * If an attribute with that local name and namespace URI is already present 
-	  * in the element, it is replaced by the new one.
-	  * @param newAttr The <code>DOM_Attr</code> node to add to the attribute list.
-	  * @return If the <code>newAttr</code> attribute replaces an existing
-	  *    attribute with the same <em>local name</em> and <em>namespace URI</em>,
-	  *    the replaced <code>DOM_Attr</code> node is
-	  *    returned, otherwise <code>null</code> is returned.
-	  * @exception DOMException
-	  *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a 
-	  *   different document than the one that created the element.
-	  *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	  *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an 
-	  *   attribute of another <code>DOM_Element</code> object. The DOM user must 
-	  *   explicitly clone <code>DOM_Attr</code> nodes to re-use them in other 
-	  *   elements.
-	  */
-	virtual XalanAttr*
-	setAttributeNodeNS(XalanAttr*	newAttr);
-
-	/**
-	 * Returns a <code>DOM_NodeList</code> of all the <code>DOM_Element</code>s
-	 * with a given local name and namespace URI in the order in which they
-	 * would be encountered in a preorder traversal of the
-	 * <code>DOM_Document</code> tree, starting from this node.  Caller is
-	 * responsible for deleting the XalanNodeList instance.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *    the elements to match on. The special value "*" matches all
-	 *    namespaces.
-	 * @param localName The <em>local name</em> of the
-	 *    elements to match on. The special value "*" matches all local names.
-	 * @return A new <code>DOM_NodeList</code> object containing all the matched
-	 *    <code>Element</code>s.
-	 */
-	virtual XalanNodeList*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_Element
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-	//@}
-
-private:
-
-	// Not implemented...
-	XercesElementBridge(const XercesElementBridge&	theSource);
-
-	XalanNode&
-	operator=(const XalanNode&	theSource);
-
-	bool
-	operator==(const XercesElementBridge&	theRHS) const;
-
-	// Data members...
-	XercesDOM_ElementHack				m_xercesNode;
-
-	const XercesBridgeNavigator&		m_navigator;
-
-	XercesNodeListBridge				m_children;
-
-	XercesNamedNodeMapBridge			m_attributes;
-};
-
-
-
-#endif	// !defined(XERCESELEMENTBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesElementBridgeAllocator.cpp b/src/XercesParserLiaison/XercesElementBridgeAllocator.cpp
deleted file mode 100644
index b4c0071..0000000
--- a/src/XercesParserLiaison/XercesElementBridgeAllocator.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XercesElementBridgeAllocator.hpp"
-
-
-
-XercesElementBridgeAllocator::XercesElementBridgeAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XercesElementBridgeAllocator::~XercesElementBridgeAllocator()
-{
-}
-
-
-
-XercesElementBridgeAllocator::ObjectType*
-XercesElementBridgeAllocator::create(
-			const DOM_Element&				theXercesElement,
-			const XercesBridgeNavigator&	theNavigator)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(theXercesElement, theNavigator);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XercesElementBridgeAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XercesParserLiaison/XercesElementBridgeAllocator.hpp b/src/XercesParserLiaison/XercesElementBridgeAllocator.hpp
deleted file mode 100644
index dfb1009..0000000
--- a/src/XercesParserLiaison/XercesElementBridgeAllocator.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XERCESELEMENTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133)
-#define XERCESELEMENTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XercesParserLiaison/XercesElementBridge.hpp>
-
-
-#define XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementBridgeAllocator
-{
-public:
-
-	typedef XercesElementBridge						ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type	size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XercesElementBridgeAllocator(size_type	theBlockCount);
-
-	~XercesElementBridgeAllocator();
-	
-	/**
-	 * Create a XercesElementBridge instance.
-	 * 
-	 * @param theXercesElement The Xerces element node
-	 * @param theNavigator The navigator for this instance.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const DOM_Element&				theXercesElement,
-			const XercesBridgeNavigator&	theNavigator);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-
-private:
-
-	// Not implemented...
-	XercesElementBridgeAllocator(const XercesElementBridgeAllocator&);
-
-	XercesElementBridgeAllocator&
-	operator=(const XercesElementBridgeAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XERCESELEMENTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XercesParserLiaison/XercesElementNamedNodeListCache.cpp b/src/XercesParserLiaison/XercesElementNamedNodeListCache.cpp
deleted file mode 100644
index 85f32b1..0000000
--- a/src/XercesParserLiaison/XercesElementNamedNodeListCache.cpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-#include "XercesElementNamedNodeListCache.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <xercesc/dom/DOM_Element.hpp>
-#include <xercesc/dom/DOM_NodeList.hpp>
-
-
-
-XercesElementNamedNodeListCache::XercesElementNamedNodeListCache(
-			const DOM_Element&				theXercesElement,
-			const XercesBridgeNavigator&	theNavigator) :
-	XercesNamedNodeListCache(theNavigator),
-	m_xercesElement(theXercesElement)
-{
-}
-
-
-
-XercesElementNamedNodeListCache::~XercesElementNamedNodeListCache()
-{
-}
-
-
-
-DOM_NodeList
-XercesElementNamedNodeListCache::getXercesNodeList(const XalanDOMString&		tagname) const
-{
-	return m_xercesElement.getElementsByTagName(c_wstr(tagname));
-}
-
-
-
-DOM_NodeList
-XercesElementNamedNodeListCache::getXercesNodeList(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	return m_xercesElement.getElementsByTagNameNS(c_wstr(namespaceURI), c_wstr(localName));
-}
diff --git a/src/XercesParserLiaison/XercesElementNamedNodeListCache.hpp b/src/XercesParserLiaison/XercesElementNamedNodeListCache.hpp
deleted file mode 100644
index 1deb4d4..0000000
--- a/src/XercesParserLiaison/XercesElementNamedNodeListCache.hpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESELEMENTNAMEDNODELISTCACHE_HEADER_GUARD_1357924680)
-#define XERCESELEMENTNAMEDNODELISTCACHE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Element.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNamedNodeListCache.hpp>
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementNamedNodeListCache : public XercesNamedNodeListCache
-{
-public:
-
-	XercesElementNamedNodeListCache(
-			const DOM_Element&				theXercesElement,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesElementNamedNodeListCache();
-
-protected:
-
-	virtual DOM_NodeList
-	getXercesNodeList(const XalanDOMString&		tagname) const;
-
-	virtual DOM_NodeList
-	getXercesNodeList(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-private:
-
-	const DOM_Element	m_xercesElement;
-};
-
-
-
-#endif	// !defined(XERCESELEMENTNAMEDNODELISTCACHE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesEntityBridge.cpp b/src/XercesParserLiaison/XercesEntityBridge.cpp
deleted file mode 100644
index c7c200d..0000000
--- a/src/XercesParserLiaison/XercesEntityBridge.cpp
+++ /dev/null
@@ -1,336 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesEntityBridge.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesBridgeNavigator.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesEntityBridge::XercesEntityBridge(
-			const DOM_Entity&				theXercesDOMEntity,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanEntity(),
-	m_xercesNode(theXercesDOMEntity),
-	m_navigator(theNavigator),
-	m_children(m_xercesNode.getChildNodes(),
-			   theNavigator)
-{
-}
-
-
-
-XercesEntityBridge::~XercesEntityBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesEntityBridge::NodeType
-XercesEntityBridge::getNodeType() const
-{
-	return ENTITY_NODE;
-}
-
-
-
-XalanNode*
-XercesEntityBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesEntityBridge::getChildNodes() const
-{
-	return &m_children;
-}
-
-
-
-XalanNode*
-XercesEntityBridge::getFirstChild() const
-{
-	return m_navigator.getFirstChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesEntityBridge::getLastChild() const
-{
-	return m_navigator.getLastChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesEntityBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesEntityBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesEntityBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesEntityBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesEntityBridge*
-#endif
-XercesEntityBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesEntityBridge* const	theBridge =
-		static_cast<XercesEntityBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesEntityBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	return m_navigator.insertBefore(m_xercesNode, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesEntityBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	return m_navigator.replaceChild(m_xercesNode, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesEntityBridge::removeChild(XalanNode*	oldChild)
-{
-	return m_navigator.removeChild(m_xercesNode, oldChild);
-}
-
-
-
-XalanNode*
-XercesEntityBridge::appendChild(XalanNode*	newChild)
-{
-	return m_navigator.appendChild(m_xercesNode, newChild);
-}
-
-
-
-bool
-XercesEntityBridge::hasChildNodes() const
-{
-	return m_xercesNode.hasChildNodes();
-}
-
-
-
-void
-XercesEntityBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesEntityBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-bool
-XercesEntityBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesEntityBridge::setPrefix(const XalanDOMString&		prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesEntityBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesEntityBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getPublicId() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPublicId());
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getSystemId() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getSystemId());
-}
-
-
-
-const XalanDOMString&
-XercesEntityBridge::getNotationName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNotationName());
-}
diff --git a/src/XercesParserLiaison/XercesEntityBridge.hpp b/src/XercesParserLiaison/XercesEntityBridge.hpp
deleted file mode 100644
index 9108a6a..0000000
--- a/src/XercesParserLiaison/XercesEntityBridge.hpp
+++ /dev/null
@@ -1,505 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESENTITYBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESENTITYBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Entity.hpp>
-
-
-
-#include <XalanDOM/XalanEntity.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNodeListBridge.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesEntityBridge : public XalanEntity
-{
-public:
-
-	XercesEntityBridge(
-			const DOM_Entity&				theXercesDOMEntity,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesEntityBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesEntityBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanEntity...
-
-	/**
-	 * Get the public identifier of this notation. 
-	 * 
-	 * If the  public identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the public identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getPublicId() const;
-
-	/**
-	 * Get the system identifier of this notation. 
-	 *
-	 * If the  system identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the system identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getSystemId() const;
-
-	/**
-	 * For unparsed entities, the name of the notation for the entity. 
-	 *
-	 * For parsed entities, this is <code>null</code>. 
-	 */
-	virtual const XalanDOMString&
-	getNotationName() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_Entity
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-private:
-
-	// Not implemented...
-	XercesEntityBridge(const XercesEntityBridge&	theSource);
-
-	XercesEntityBridge&
-	operator=(const XercesEntityBridge&		theSource);
-
-	bool
-	operator==(const XercesEntityBridge&		theRHS) const;
-
-	// Data members...
-	// $$$ Note that there is an order dependency here,
-	// due do a code generation bug with MSVC 6.0.  The
-	// call to construct the XercesNodeListBridge uses
-	// the m_xercesNode data member instead of the 
-	// constructor parameter.  I have no idea why MSVC
-	// generate bogus code when using the parameter, but
-	// it does...
-	DOM_Entity						m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-
-	XercesNodeListBridge			m_children;
-};
-
-
-
-#endif	// !defined(XERCESENTITYBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesEntityReferenceBridge.cpp b/src/XercesParserLiaison/XercesEntityReferenceBridge.cpp
deleted file mode 100644
index 8aa2a95..0000000
--- a/src/XercesParserLiaison/XercesEntityReferenceBridge.cpp
+++ /dev/null
@@ -1,312 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesEntityReferenceBridge.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesEntityReferenceBridge::XercesEntityReferenceBridge(
-			const DOM_EntityReference&		theXercesDOMEntityReference,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanEntityReference(),
-	m_xercesNode(theXercesDOMEntityReference),
-	m_navigator(theNavigator),
-	m_children(theXercesDOMEntityReference.getChildNodes(),
-			   theNavigator)
-{
-}
-
-
-
-XercesEntityReferenceBridge::~XercesEntityReferenceBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesEntityReferenceBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesEntityReferenceBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesEntityReferenceBridge::NodeType
-XercesEntityReferenceBridge::getNodeType() const
-{
-	return ENTITY_REFERENCE_NODE;
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesEntityReferenceBridge::getChildNodes() const
-{
-	return &m_children;
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::getFirstChild() const
-{
-	return m_navigator.getFirstChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::getLastChild() const
-{
-	return m_navigator.getLastChild(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesEntityReferenceBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesEntityReferenceBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesEntityReferenceBridge*
-#endif
-XercesEntityReferenceBridge::cloneNode(bool		deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesEntityReferenceBridge* const	theBridge =
-		static_cast<XercesEntityReferenceBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	return m_navigator.insertBefore(m_xercesNode, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	return m_navigator.replaceChild(m_xercesNode, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::removeChild(XalanNode*	oldChild)
-{
-	return m_navigator.removeChild(m_xercesNode, oldChild);
-}
-
-
-
-XalanNode*
-XercesEntityReferenceBridge::appendChild(XalanNode*	newChild)
-{
-	return m_navigator.appendChild(m_xercesNode, newChild);
-}
-
-
-
-bool
-XercesEntityReferenceBridge::hasChildNodes() const
-{
-	return m_xercesNode.hasChildNodes();
-}
-
-
-
-void
-XercesEntityReferenceBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesEntityReferenceBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-
-bool
-XercesEntityReferenceBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesEntityReferenceBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesEntityReferenceBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesEntityReferenceBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesEntityReferenceBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesEntityReferenceBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesEntityReferenceBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
diff --git a/src/XercesParserLiaison/XercesEntityReferenceBridge.hpp b/src/XercesParserLiaison/XercesEntityReferenceBridge.hpp
deleted file mode 100644
index 5900f72..0000000
--- a/src/XercesParserLiaison/XercesEntityReferenceBridge.hpp
+++ /dev/null
@@ -1,468 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESENTITYREFERENCEBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESENTITYREFERENCEBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_EntityReference.hpp>
-
-
-
-#include <XalanDOM/XalanEntityReference.hpp>
-
-
-
-#include <XercesParserLiaison/XercesNodeListBridge.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesEntityReferenceBridge : public XalanEntityReference
-{
-public:
-
-	XercesEntityReferenceBridge(
-			const DOM_EntityReference&		theXercesDOMEntityReference,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesEntityReferenceBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesEntityReferenceBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_EntityReference
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-	//@}
-
-private:
-
-	// Not implemented...
-	XercesEntityReferenceBridge(const XercesEntityReferenceBridge&	theSource);
-
-	XercesEntityReferenceBridge&
-	operator=(const XercesEntityReferenceBridge&	theSource);
-
-	bool
-	operator==(const XercesEntityReferenceBridge&		theRHS) const;
-
-	// Data members...
-	DOM_EntityReference				m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-
-	XercesNodeListBridge			m_children;
-};
-
-
-
-#endif	// !defined(XERCESENTITYREFERENCEBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.cpp b/src/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.cpp
deleted file mode 100644
index cda5b27..0000000
--- a/src/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file...
-#include "XercesLiaisonXalanDOMStringPool.hpp"
-
-
-
-XercesLiaisonXalanDOMStringPool::XercesLiaisonXalanDOMStringPool() :
-	XalanDOMStringPool(),
-	m_mutex()
-{
-}
-
-
-
-XercesLiaisonXalanDOMStringPool::~XercesLiaisonXalanDOMStringPool()
-{
-}
-
-
-
-void
-XercesLiaisonXalanDOMStringPool::clear()
-{
-	XMLMutexLock	theLock(&m_mutex);
-
-	BaseClassType::clear();
-}
-
-
-
-size_t
-XercesLiaisonXalanDOMStringPool::size() const
-{
-#if defined(XALAN_NO_MUTABLE)
-	XMLMutexLock	theLock(&((XercesLiaisonXalanDOMStringPool*)this)->m_mutex);
-#else
-	XMLMutexLock	theLock(&m_mutex);
-#endif
-
-	return BaseClassType::size();
-}
-
-
-
-const XalanDOMString&
-XercesLiaisonXalanDOMStringPool::get(const XalanDOMString&	theString)
-{
-	XMLMutexLock	theLock(&m_mutex);
-
-	return BaseClassType::get(theString);
-}
-
-
-
-const XalanDOMString&
-XercesLiaisonXalanDOMStringPool::get(
-			const XalanDOMChar*		theString,
-			unsigned int			theLength)
-{
-	XMLMutexLock	theLock(&m_mutex);
-
-	return BaseClassType::get(theString, theLength);
-}
diff --git a/src/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.hpp b/src/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.hpp
deleted file mode 100644
index e648bec..0000000
--- a/src/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
-#define XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680
-
-
-
-// Base include file.  Must be first.
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <PlatformSupport/XalanDOMStringPool.hpp>
-
-
-
-#include <xercesc/util/Mutexes.hpp>
-
-
-
-// A version of XalanDOMStringPool which is synchronized using a Xerces Mutex.
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesLiaisonXalanDOMStringPool : public XalanDOMStringPool
-{
-public:
-
-	typedef XalanDOMStringPool	BaseClassType;
-
-	explicit
-	XercesLiaisonXalanDOMStringPool();
-
-	virtual
-	~XercesLiaisonXalanDOMStringPool();
-
-	// These are inherited from XalanDOMStringPool...
-
-	virtual void
-	clear();
-
-	virtual size_t
-	size() const;
-
-	virtual const XalanDOMString&
-	get(const XalanDOMString&	theString);
-
-	virtual const XalanDOMString&
-	get(
-			const XalanDOMChar*		theString,
-			unsigned int			theLength = unsigned(-1));
-
-private:
-
-	// Not implemented, for now...
-	XercesLiaisonXalanDOMStringPool(const XercesLiaisonXalanDOMStringPool&);
-
-	XercesLiaisonXalanDOMStringPool&
-	operator=(const XercesLiaisonXalanDOMStringPool&);
-
-	bool
-	operator==(const XercesLiaisonXalanDOMStringPool&) const;
-
-	// Data members...
-	mutable XMLMutex	m_mutex;
-};
-
-
-
-#endif	// !defined(XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesNamedNodeListCache.cpp b/src/XercesParserLiaison/XercesNamedNodeListCache.cpp
deleted file mode 100644
index 452a55e..0000000
--- a/src/XercesParserLiaison/XercesNamedNodeListCache.cpp
+++ /dev/null
@@ -1,171 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-
-#include "XercesNamedNodeListCache.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <xercesc/dom/DOM_Node.hpp>
-
-
-
-#include "XercesNodeListBridge.hpp"
-
-
-
-XercesNamedNodeListCache::XercesNamedNodeListCache(const XercesBridgeNavigator&		theNavigator) :
-	m_navigator(theNavigator),
-	m_cachedNodeLists(),
-	m_cachedNodeListsNS()
-{
-}
-
-
-
-XercesNamedNodeListCache::~XercesNamedNodeListCache()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	for_each(m_cachedNodeLists.begin(),
-			 m_cachedNodeLists.end(),
-			 makeMapValueDeleteFunctor(m_cachedNodeLists));
-
-	for_each(m_cachedNodeListsNS.begin(),
-			 m_cachedNodeListsNS.end(),
-			 makeMapValueDeleteFunctor(m_cachedNodeListsNS));
-}
-
-
-
-XercesNodeListBridge*
-XercesNamedNodeListCache::getElementsByTagName(const XalanDOMString&	tagname) const
-{
-	const NodeListCacheType::const_iterator		i =
-		m_cachedNodeLists.find(tagname);
-
-	if (i != m_cachedNodeLists.end())
-	{
-		return (*i).second;
-	}
-	else
-	{
-		XercesNodeListBridge* const		theNewBridge =
-			new XercesNodeListBridge(getXercesNodeList(tagname),
-									 m_navigator);
-
-#if defined(XALAN_NO_MUTABLE)
-		return (*((XercesNamedNodeListCache*)this)->m_cachedNodeLists.insert(
-			NodeListCacheType::value_type(tagname, theNewBridge)).first).second;
-#else
-		return (*m_cachedNodeLists.insert(
-			NodeListCacheType::value_type(tagname, theNewBridge)).first).second;
-#endif
-	}
-}
-
-
-
-XercesNodeListBridge*
-XercesNamedNodeListCache::getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-	const XalanDOMString::size_type		theNamespaceURILength = length(namespaceURI);
-	const XalanDOMString::size_type		theLocalNameLength = length(localName);
-
-	XalanDOMString	theSearchString;
-	
-	reserve(theSearchString, theNamespaceURILength + theLocalNameLength + 1);
-
-	append(theSearchString, namespaceURI);
-	append(theSearchString, localName);
-
-	const NodeListCacheType::const_iterator		i =
-		m_cachedNodeListsNS.find(theSearchString);
-
-	if (i != m_cachedNodeLists.end())
-	{
-		return (*i).second;
-	}
-	else
-	{
-		XercesNodeListBridge* const		theNewBridge =
-			new XercesNodeListBridge(getXercesNodeList(namespaceURI, localName),
-									 m_navigator);
-
-#if defined(XALAN_NO_MUTABLE)
-		return (*((XercesNamedNodeListCache*)this)->m_cachedNodeLists.insert(
-			NodeListCacheType::value_type(theSearchString, theNewBridge)).first).second;
-#else
-		return (*m_cachedNodeLists.insert(
-			NodeListCacheType::value_type(theSearchString, theNewBridge)).first).second;
-#endif
-	}
-}
diff --git a/src/XercesParserLiaison/XercesNamedNodeListCache.hpp b/src/XercesParserLiaison/XercesNamedNodeListCache.hpp
deleted file mode 100644
index 4dc9dc5..0000000
--- a/src/XercesParserLiaison/XercesNamedNodeListCache.hpp
+++ /dev/null
@@ -1,135 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESNAMEDNODELISTCACHE_HEADER_GUARD_1357924680)
-#define XERCESNAMEDNODELISTCACHE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <map>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-class DOM_NodeList;
-class XercesBridgeNavigator;
-class XercesNodeListBridge;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesNamedNodeListCache
-{
-public:
-
-	XercesNamedNodeListCache(const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesNamedNodeListCache();
-
-	virtual XercesNodeListBridge*
-	getElementsByTagName(const XalanDOMString&	tagname) const;
-
-	virtual XercesNodeListBridge*
-	getElementsByTagNameNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanDOMString,
-				XercesNodeListBridge*,
-				less<XalanDOMString> >			NodeListCacheType;
-#else
-	typedef std::map<XalanDOMString,
-					 XercesNodeListBridge*>		NodeListCacheType;
-#endif
-
-protected:
-
-	virtual DOM_NodeList
-	getXercesNodeList(const XalanDOMString&		tagname) const = 0;
-
-	virtual DOM_NodeList
-	getXercesNodeList(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const = 0;
-
-private:
-
-	const XercesBridgeNavigator&	m_navigator;
-
-#if defined(XALAN_NO_MUTABLE)
-	NodeListCacheType			m_cachedNodeLists;
-	NodeListCacheType			m_cachedNodeListsNS;
-#else
-	mutable NodeListCacheType	m_cachedNodeLists;
-	mutable NodeListCacheType	m_cachedNodeListsNS;
-#endif
-};
-
-
-
-#endif	// !defined(XERCESNAMEDNODELISTCACHE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesNamedNodeMapBridge.cpp b/src/XercesParserLiaison/XercesNamedNodeMapBridge.cpp
deleted file mode 100644
index 94f5ad3..0000000
--- a/src/XercesParserLiaison/XercesNamedNodeMapBridge.cpp
+++ /dev/null
@@ -1,253 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesNamedNodeMapBridge.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-
-
-
-#include <xercesc/dom/DOM_Node.hpp>
-
-
-
-#include "XercesDocumentBridge.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesElementBridge.hpp"
-
-
-
-XercesNamedNodeMapBridge::XercesNamedNodeMapBridge(
-			const DOM_NamedNodeMap&			theXercesNamedNodeMap,
-			const XercesBridgeNavigator&	theNavigator) :
-	m_xercesNamedNodeMap(theXercesNamedNodeMap),
-	m_navigator(theNavigator)
-{
-	assert(m_xercesNamedNodeMap != (const DOM_NullPtr*)0);
-}
-
-
-
-XercesNamedNodeMapBridge::~XercesNamedNodeMapBridge()
-{
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::setNamedItem(XalanNode* 	arg)
-{
-	assert(arg != 0);
-
-	XalanNode*	theXalanNode = 0;
-
-	// Find the DOM_Node that corresponds to the bridge node...
-	const DOM_Node	theNode = m_navigator.mapNode(arg);
-
-	if (theNode.isNull() == true)
-	{
-		// Doesn't belong to this doc, so throw...
-		throw XercesDOMException(XercesDOMException::WRONG_DOCUMENT_ERR);
-	}
-
-	try
-	{
-		const DOM_Node	theOldXercesNode =
-			m_xercesNamedNodeMap.setNamedItem(theNode);
-
-		if (theNode.isNull() == false)
-		{
-			// A node was replaced, so map the replacement...
-			theXalanNode = m_navigator.mapNode(theOldXercesNode);
-			assert(theXalanNode != 0);
-		}
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanNode;
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::item(unsigned int	index) const
-{
-	return m_navigator.mapNode(m_xercesNamedNodeMap.item(index));
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::getNamedItem(const XalanDOMString& 	name) const
-{
-	return m_navigator.mapNode(m_xercesNamedNodeMap.getNamedItem(c_wstr(name)));
-}
-
-
-
-unsigned int
-XercesNamedNodeMapBridge::getLength() const
-{
-	return m_xercesNamedNodeMap.getLength();
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::removeNamedItem(const XalanDOMString&		name)
-{
-	XalanNode*	theXalanNode = 0;
-
-	try
-	{
-		const DOM_Node		theXercesNode =
-			m_xercesNamedNodeMap.removeNamedItem(c_wstr(name));
-
-		// A node was removed, so get it corresponding XalanNode...
-		theXalanNode = m_navigator.mapNode(theXercesNode);
-		assert(theXalanNode != 0);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanNode;
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const
-{
-#if defined(XALAN_NO_MUTABLE)
-	return m_navigator.mapNode(((XercesNamedNodeMapBridge*)this)->m_xercesNamedNodeMap.getNamedItemNS(c_wstr(namespaceURI), c_wstr(localName)));
-#else
-	return m_navigator.mapNode(m_xercesNamedNodeMap.getNamedItemNS(c_wstr(namespaceURI), c_wstr(localName)));
-#endif
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::setNamedItemNS(XalanNode*		arg)
-{
-	assert(arg != 0);
-
-	XalanNode*	theXalanNode = 0;
-
-	// Find the DOM_Node that corresponds to the bridge node...
-	const DOM_Node	theNode = m_navigator.mapNode(arg);
-
-	if (theNode.isNull() == true)
-	{
-		// Doesn't belong to this doc, so throw...
-		throw XercesDOMException(XercesDOMException::WRONG_DOCUMENT_ERR);
-	}
-
-	try
-	{
-		const DOM_Node	theOldXercesNode =
-			m_xercesNamedNodeMap.setNamedItemNS(theNode);
-
-		if (theNode.isNull() == false)
-		{
-			// A node was replaced, so map the replacement...
-			theXalanNode = m_navigator.mapNode(theOldXercesNode);
-			assert(theXalanNode != 0);
-		}
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanNode;
-}
-
-
-
-XalanNode*
-XercesNamedNodeMapBridge::removeNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName)
-{
-	XalanNode*	theXalanNode = 0;
-
-	try
-	{
-		const DOM_Node		theXercesNode =
-			m_xercesNamedNodeMap.removeNamedItemNS(c_wstr(namespaceURI), c_wstr(localName));
-
-		// A node was removed, so get it corresponding XalanNode...
-		theXalanNode = m_navigator.mapNode(theXercesNode);
-		assert(theXalanNode != 0);
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-
-	return theXalanNode;
-}
diff --git a/src/XercesParserLiaison/XercesNamedNodeMapBridge.hpp b/src/XercesParserLiaison/XercesNamedNodeMapBridge.hpp
deleted file mode 100644
index 2d99a4e..0000000
--- a/src/XercesParserLiaison/XercesNamedNodeMapBridge.hpp
+++ /dev/null
@@ -1,272 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESNAMEDNODEMAPBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESNAMEDNODEMAPBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_NamedNodeMap.hpp>
-
-
-
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-class XercesBridgeNavigator;
-class XercesNodeBridge;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesNamedNodeMapBridge : public XalanNamedNodeMap
-{
-public:
-
-	XercesNamedNodeMapBridge(
-			const DOM_NamedNodeMap&			theXercesNamedNodeMap,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesNamedNodeMapBridge();
-
-	/** @name Set functions. */
-	//@{
-
-	/**
-	 * Adds a node using its <code>nodeName</code> attribute. 
-	 *
-	 * <br>As the <code>nodeName</code> attribute is used to derive the name 
-	 * which the node must be stored under, multiple nodes of certain types 
-	 * (those that have a "special" string value) cannot be stored as the names 
-	 * would clash. This is seen as preferable to allowing nodes to be aliased.
-	 * @param arg A node to store in a named node map. The node will later be 
-	 *	 accessible using the value of the <code>nodeName</code> attribute of 
-	 *	 the node. If a node with that name is already present in the map, it 
-	 *	 is replaced by the new one.
-	 * @return If the new <code>Node</code> replaces an existing node the
-	 *	 replaced <code>Node</code> is returned, 
-	 *	 otherwise <code>null</code> is returned.
-	 * @exception DOMException
-	 *	 WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
-	 *	 different document than the one that created the 
-	 *	 <code>NamedNodeMap</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
-	 *	 <code>NamedNodeMap</code> is readonly.
-	 *	 <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
-	 *	 <code>Attr</code> that is already an attribute of another 
-	 *	 <code>Element</code> object. The DOM user must explicitly clone 
-	 *	 <code>Attr</code> nodes to re-use them in other elements.
-	 */
-	virtual XalanNode*
-	setNamedItem(XalanNode* 	arg);
-
-	/**
-	 * Returns the <code>index</code>th item in the map. 
-	 *
-	 * If <code>index</code> 
-	 * is greater than or equal to the number of nodes in the map, this returns 
-	 * <code>null</code>.
-	 * @param index Index into the map.
-	 * @return The node at the <code>index</code>th position in the 
-	 *	 <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid 
-	 *	 index.
-	 */
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	//@}
-	/** @name Get functions. */
-	//@{
-
-	/**
-	 * Retrieves a node specified by name.
-	 *
-	 * @param name The <code>nodeName</code> of a node to retrieve.
-	 * @return A <code>DOM_Node</code> (of any type) with the specified <code>nodeName</code>, or 
-	 *	 <code>null</code> if it does not identify any node in 
-	 *	 the map. 
-	 */
-	virtual XalanNode*
-	getNamedItem(const XalanDOMString& 	name) const;
-
-	/**
-	 * The number of nodes in the map. 
-	 *
-	 * The range of valid child node indices is 
-	 * 0 to <code>length-1</code> inclusive. 
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	//@}
-	/** @name Functions to change the node collection. */
-	//@{
-
-	/**
-	* Removes a node specified by name.
-	*
-	* If the removed node is an 
-	* <code>Attr</code> with a default value it is immediately replaced.
-	* @param name The <code>nodeName</code> of a node to remove.
-	* @return The node removed from the map or <code>null</code> if no node 
-	*	with such a name exists.
-	* @exception DOMException
-	*	NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
-	*	the map.
-	* <br>
-	*	NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
-	*	is readonly.
-	*/
-	virtual XalanNode*
-	removeNamedItem(const XalanDOMString&	name);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Retrieves a node specified by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *	  the node to retrieve.
-	 * @param localName The <em>local name</em> of the node to retrieve.
-	 * @return A <code>DOM_Node</code> (of any type) with the specified
-	 *	  local name and namespace URI, or <code>null</code> if they do not
-	 *	  identify any node in the map.
-	 */
-	virtual XalanNode*
-	getNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName) const;
-
-	/**
-	 * Adds a node using its <CODE>namespaceURI</CODE> and <CODE>localName</CODE>.
-	 * @param arg A node to store in a named node map. The node will later be 
-	 *		 accessible using the value of the <CODE>namespaceURI</CODE> and 
-	 *		 <CODE>localName</CODE> attribute of the node. If a node with those 
-	 *		 namespace URI and local name is already present in the map, it is 
-	 *		 replaced by the new one.
-	 * @return If the new <code>Node</code> replaces an existing node the
-	 *	 replaced <code>Node</code> is returned, 
-	 *	 otherwise <code>null</code> is returned.
-	 * @exception DOMException
-	 *	 WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
-	 *	 different document than the one that created the 
-	 *	 <code>NamedNodeMap</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
-	 *	 <code>NamedNodeMap</code> is readonly.
-	 *	 <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
-	 *	 <code>Attr</code> that is already an attribute of another 
-	 *	 <code>Element</code> object. The DOM user must explicitly clone 
-	 *	 <code>Attr</code> nodes to re-use them in other elements.
-	 */
-	virtual XalanNode*
-	setNamedItemNS(XalanNode*	arg);
-
-	/**
-	 * Removes a node specified by local name and namespace URI.
-	 *
-	 * @param namespaceURI The <em>namespace URI</em> of
-	 *	  the node to remove.
-	 * @param localName The <em>local name</em> of the
-	 *	  node to remove. When this <code>DOM_NamedNodeMap</code> contains the
-	 *	  attributes attached to an element, as returned by the attributes
-	 *	  attribute of the <code>DOM_Node</code> interface, if the removed
-	 *	  attribute is known to have a default value, an attribute
-	 *	  immediately appears containing the default value
-	 *	  as well as the corresponding namespace URI, local name, and prefix.
-	 * @return The node removed from the map if a node with such a local name
-	 *	  and namespace URI exists.
-	 * @exception DOMException
-	 *	 NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
-	 *	 the map.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
-	 *	 is readonly.
-	 */
-	virtual XalanNode*
-	removeNamedItemNS(
-			const XalanDOMString&	namespaceURI,
-			const XalanDOMString&	localName);
-
-	//@}
-
-private:
-
-	// Not implemented...
-	XercesNamedNodeMapBridge(const XercesNamedNodeMapBridge&	theSource);
-
-	XercesNamedNodeMapBridge&
-	operator=(const XercesNamedNodeMapBridge&	theRHS);
-
-	bool
-	operator==(const XercesNamedNodeMapBridge&	theRHS) const;
-
-
-	// $$$ ToDo:  Eventually, this will not need to be mutable.
-	mutable DOM_NamedNodeMap		m_xercesNamedNodeMap;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESNAMEDNODEMAPBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesNodeListBridge.cpp b/src/XercesParserLiaison/XercesNodeListBridge.cpp
deleted file mode 100644
index 57a3762..0000000
--- a/src/XercesParserLiaison/XercesNodeListBridge.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesNodeListBridge.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include "XercesBridgeNavigator.hpp"
-
-
-
-XercesNodeListBridge::XercesNodeListBridge(
-			const DOM_NodeList&				theXercesNodeList,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanNodeList(),
-	m_xercesNodeList(theXercesNodeList),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesNodeListBridge::~XercesNodeListBridge()
-{
-}
-
-
-
-XercesNodeListBridge::XercesNodeListBridge(const XercesNodeListBridge&	theSource) :
-	XalanNodeList(theSource),
-	m_xercesNodeList(theSource.m_xercesNodeList),
-	m_navigator(theSource.m_navigator)
-{
-}
-
-
-
-XalanNode*
-XercesNodeListBridge::item(unsigned int	index) const
-{
-	return m_navigator.mapNode(m_xercesNodeList.item(index));
-}
-
-
-
-unsigned int
-XercesNodeListBridge::getLength() const
-{
-	return m_xercesNodeList.getLength();
-}
diff --git a/src/XercesParserLiaison/XercesNodeListBridge.hpp b/src/XercesParserLiaison/XercesNodeListBridge.hpp
deleted file mode 100644
index 31c4f6c..0000000
--- a/src/XercesParserLiaison/XercesNodeListBridge.hpp
+++ /dev/null
@@ -1,136 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESNODELISTBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESNODELISTBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_NodeList.hpp>
-
-
-
-#include <XalanDOM/XalanNodeList.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesNodeListBridge : public XalanNodeList
-{
-public:
-
-	XercesNodeListBridge(
-			const DOM_NodeList&				theXercesNodeList,
-			const XercesBridgeNavigator&	theNavigator);
-
-	XercesNodeListBridge(const XercesNodeListBridge&	theSource);
-
-	virtual
-	~XercesNodeListBridge();
-
-	bool
-	operator==(const XercesNodeListBridge& 	theRHS) const
-	{
-		return m_xercesNodeList == theRHS.m_xercesNodeList ? true : false;
-	}
-
-	/** @name Get functions. */
-	//@{
-	/**
-	 * Returns the <code>index</code>th item in the collection. 
-	 *
-	 * If <code>index</code> is greater than or equal to the number of nodes in 
-	 * the list, this returns <code>null</code>.
-	 *
-	 * @param index Index into the collection.
-	 * @return The node at the <code>index</code>th position in the 
-	 *	 <code>NodeList</code>, or <code>null</code> if that is not a valid 
-	 *	 index.
-	 */
-	virtual XalanNode*
-	item(unsigned int	index) const;
-
-	/**
-	 * Returns the number of nodes in the list. 
-	 *
-	 * The range of valid child node indices is 0 to <code>length-1</code> inclusive. 
-	 */
-	virtual unsigned int
-	getLength() const;
-
-private:
-
-	// Not implemented...
-	XercesNodeListBridge&
-	operator=(const XercesNodeListBridge&	theRHS);
-
-
-	// Data members...
-	DOM_NodeList					m_xercesNodeList;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESNODELISTBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesNotationBridge.cpp b/src/XercesParserLiaison/XercesNotationBridge.cpp
deleted file mode 100644
index 8cc2690..0000000
--- a/src/XercesParserLiaison/XercesNotationBridge.cpp
+++ /dev/null
@@ -1,325 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesNotationBridge.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesNotationBridge::XercesNotationBridge(
-			const DOM_Notation&				theXercesDOMNotation,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanNotation(),
-	m_xercesNode(theXercesDOMNotation),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesNotationBridge::~XercesNotationBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesNotationBridge::NodeType
-XercesNotationBridge::getNodeType() const
-{
-	return NOTATION_NODE;
-}
-
-
-
-XalanNode*
-XercesNotationBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesNotationBridge::getChildNodes() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesNotationBridge::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesNotationBridge::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesNotationBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesNotationBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesNotationBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesNotationBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesNotationBridge*
-#endif
-XercesNotationBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesNotationBridge* const		theBridge =
-		static_cast<XercesNotationBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesNotationBridge::insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild)
-{
-	return m_navigator.insertBefore(m_xercesNode, newChild, refChild);
-}
-
-
-
-XalanNode*
-XercesNotationBridge::replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild)
-{
-	return m_navigator.replaceChild(m_xercesNode, newChild, oldChild);
-}
-
-
-
-XalanNode*
-XercesNotationBridge::removeChild(XalanNode*	oldChild)
-{
-	return m_navigator.removeChild(m_xercesNode, oldChild);
-}
-
-
-
-XalanNode*
-XercesNotationBridge::appendChild(XalanNode*	newChild)
-{
-	return m_navigator.appendChild(m_xercesNode, newChild);
-}
-
-
-
-bool
-XercesNotationBridge::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XercesNotationBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesNotationBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-bool
-XercesNotationBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesNotationBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesNotationBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesNotationBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getPublicId() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPublicId());
-}
-
-
-
-const XalanDOMString&
-XercesNotationBridge::getSystemId() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getSystemId());
-}
diff --git a/src/XercesParserLiaison/XercesNotationBridge.hpp b/src/XercesParserLiaison/XercesNotationBridge.hpp
deleted file mode 100644
index dbea6be..0000000
--- a/src/XercesParserLiaison/XercesNotationBridge.hpp
+++ /dev/null
@@ -1,484 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESNOTATIONBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESNOTATIONBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Notation.hpp>
-
-
-
-#include <XalanDOM/XalanNotation.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesNotationBridge : public XalanNotation
-{
-public:
-
-	XercesNotationBridge(
-			const DOM_Notation&				theXercesDOMNotation,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesNotationBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesNotationBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&		nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanNotation...
-
-	/**
-	 * Get the public identifier of this notation. 
-	 * 
-	 * If the  public identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the public identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getPublicId() const;
-
-	/**
-	 * Get the system identifier of this notation. 
-	 *
-	 * If the  system identifier was not 
-	 * specified, this is <code>null</code>.
-	 * @return Returns the system identifier of the notation
-	 */
-	virtual const XalanDOMString&
-	getSystemId() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_Notation
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-private:
-
-	// Not implemented...
-	XercesNotationBridge(const XercesNotationBridge&	theSource);
-
-	XercesNotationBridge&
-	operator=(const XercesNotationBridge&	theSource);
-
-	bool
-	operator==(const XercesNotationBridge&		theRHS) const;
-
-	// Data members...
-	DOM_Notation					m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESNOTATIONBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesParserLiaison.cpp b/src/XercesParserLiaison/XercesParserLiaison.cpp
deleted file mode 100644
index c5b4a54..0000000
--- a/src/XercesParserLiaison/XercesParserLiaison.cpp
+++ /dev/null
@@ -1,599 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XercesParserLiaison.hpp"
-
-
-
-#include <algorithm>
-
-
-
-#if defined(XALAN_OLD_STREAM_HEADERS)
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
-
-
-#include <xercesc/framework/URLInputSource.hpp>
-#include <xercesc/parsers/DOMParser.hpp>
-#include <xercesc/parsers/SAXParser.hpp>
-#include <xercesc/sax/SAXParseException.hpp>
-
-
-
-#include <Include/XalanAutoPtr.hpp>
-#include <Include/STLHelper.hpp>
-
-
-
-#include <PlatformSupport/ExecutionContext.hpp>
-#include <PlatformSupport/XalanUnicode.hpp>
-
-
-
-#include <DOMSupport/DOMSupport.hpp>
-
-
-
-#include "XercesDocumentBridge.hpp"
-#include "XercesDOMSupport.hpp"
-
-
-
-XercesParserLiaison::XercesParserLiaison(XercesDOMSupport&	/* theSupport */) :
-	m_indent(-1),
-	m_useValidation(false),
-	m_includeIgnorableWhitespace(true),
-	m_doNamespaces(true),
-	m_exitOnFirstFatalError(true),
-	m_entityResolver(0),
-	m_errorHandler(this),
-	m_documentMap(),
-	m_buildBridge(true),
-	m_threadSafe(false),
-	m_executionContext(0)
-{
-}
-
-
-
-XercesParserLiaison::XercesParserLiaison() :
-	m_indent(-1),
-	m_useValidation(false),
-	m_includeIgnorableWhitespace(true),
-	m_doNamespaces(true),
-	m_exitOnFirstFatalError(true),
-	m_entityResolver(0),
-	m_errorHandler(this),
-	m_documentMap(),
-	m_buildBridge(true),
-	m_threadSafe(false),
-	m_executionContext(0)
-{
-}
-
-
-
-XercesParserLiaison::~XercesParserLiaison()
-{
-	reset();
-}
-
-
-
-void
-XercesParserLiaison::reset()
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::for_each;
-#endif
-
-	// Delete any live documents.
-	for_each(m_documentMap.begin(),
-			 m_documentMap.end(),
-			 makeMapValueDeleteFunctor(m_documentMap));
-
-	m_documentMap.clear();
-
-	m_executionContext = 0;
-}
-
-
-
-ExecutionContext*
-XercesParserLiaison::getExecutionContext() const
-{
-	return m_executionContext;
-}
-
-
-
-void
-XercesParserLiaison::setExecutionContext(ExecutionContext&	theContext)
-{
-	m_executionContext = &theContext;
-}
-
-
-
-void
-XercesParserLiaison::parseXMLStream(
-			const InputSource&		urlInputSource,
-			DocumentHandler&		handler,
-			const XalanDOMString&	/* identifier */)
-{
-	XalanAutoPtr<SAXParser>		theParser(CreateSAXParser());
-
-	theParser->setDocumentHandler(&handler);
-
-	if (m_errorHandler == 0)
-	{
-		theParser->setErrorHandler(this);
-	}
-	else
-	{
-		theParser->setErrorHandler(m_errorHandler);
-	}
-
-	theParser->parse(urlInputSource);
-}
-
-
-
-XalanDocument*
-XercesParserLiaison::parseXMLStream(
-			const InputSource&		reader,
-			const XalanDOMString&	/* identifier */)
-{
-	XalanAutoPtr<DOMParser>		theParser(CreateDOMParser());
-
-	if (m_errorHandler == 0)
-	{
-		theParser->setErrorHandler(this);
-	}
-	else
-	{
-		theParser->setErrorHandler(m_errorHandler);
-	}
-
-	theParser->parse(reader);
-
-	DOM_Document	theXercesDocument =
-		theParser->getDocument();
-
-	theXercesDocument.normalize();
-
-	XercesDocumentBridge*	theNewDocument = 0;
-
-	if (theXercesDocument.isNull() == false)
-	{
-		theNewDocument = doCreateDocument(theXercesDocument, m_threadSafe, m_buildBridge);
-
-		m_documentMap[theNewDocument] = theNewDocument;
-	}
-
-	return theNewDocument;
-}
-
-
-
-XalanDocument*
-XercesParserLiaison::createDocument()
-{
-	const DOM_Document	theXercesDocument =
-		DOM_Document::createDocument();
-
-	return createDocument(theXercesDocument, false, false);
-}
-
-
-
-XalanDocument*
-XercesParserLiaison::createDOMFactory()
-{
-	return createDocument();
-}
-
-
-
-void
-XercesParserLiaison::destroyDocument(XalanDocument*		theDocument)
-{
-	if (mapDocument(theDocument) != 0)
-	{
-		m_documentMap.erase(theDocument);
-
-		delete theDocument;
-	}
-}
-
-
-
-int
-XercesParserLiaison::getIndent() const
-{
-	return m_indent;
-}
-
-
-
-void
-XercesParserLiaison::setIndent(int	i)
-{
-	m_indent = i;
-}
-
-
-
-bool
-XercesParserLiaison::getUseValidation() const
-{
-	return m_useValidation;
-}
-
-
-
-void
-XercesParserLiaison::setUseValidation(bool	b)
-{
-	m_useValidation = b;
-}
-
-
-
-const XalanDOMString
-XercesParserLiaison::getParserDescription() const
-{
-	return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Xerces"));
-}
-
-
-
-bool
-XercesParserLiaison::getIncludeIgnorableWhitespace() const
-{
-	return m_includeIgnorableWhitespace;
-}
-
-
-
-void
-XercesParserLiaison::setIncludeIgnorableWhitespace(bool	include)
-{
-	m_includeIgnorableWhitespace = include;
-}
-
-
-
-ErrorHandler*
-XercesParserLiaison::getErrorHandler() const
-{
-	return m_errorHandler;
-}
-
-
-
-void
-XercesParserLiaison::setErrorHandler(ErrorHandler*	handler)
-{
-	m_errorHandler = handler;
-}
-
-
-
-bool
-XercesParserLiaison::getDoNamespaces() const
-{
-	return m_doNamespaces;
-}
-
-
-
-void
-XercesParserLiaison::setDoNamespaces(bool	newState)
-{
-	m_doNamespaces = newState;
-}
-
-
-
-bool
-XercesParserLiaison::getExitOnFirstFatalError() const
-{
-	return m_exitOnFirstFatalError;
-}
-
-
-
-void
-XercesParserLiaison::setExitOnFirstFatalError(bool	newState)
-{
-	m_exitOnFirstFatalError = newState;
-}
-
-
-
-EntityResolver*
-XercesParserLiaison::getEntityResolver() const
-{
-	return m_entityResolver;
-}
-
-
-
-void
-XercesParserLiaison::setEntityResolver(EntityResolver*	resolver)
-{
-	m_entityResolver = resolver;
-}
-
-
-
-XalanDocument*
-XercesParserLiaison::createDocument(
-			const DOM_Document&		theXercesDocument,
-			bool					threadSafe,
-			bool					buildBridge)
-{
-	return doCreateDocument(theXercesDocument, threadSafe, buildBridge);
-}
-
-
-
-XercesDocumentBridge*
-XercesParserLiaison::mapDocument(const XalanDocument*	theDocument) const
-{
-	const DocumentMapType::const_iterator	i =
-		m_documentMap.find(theDocument);
-
-	return i != m_documentMap.end() ? (*i).second : 0;
-}
-
-
-
-DOM_Document
-XercesParserLiaison::mapXercesDocument(const XalanDocument*		theDocument) const
-{
-	const DocumentMapType::const_iterator	i =
-		m_documentMap.find(theDocument);
-
-	return i != m_documentMap.end() ? (*i).second->getXercesDocument() : DOM_Document();
-}
-
-
-
-void
-XercesParserLiaison::fatalError(const SAXParseException&	e)
-{
-	XalanDOMString	theMessage("Fatal Error");
-
-	formatErrorMessage(e, theMessage);
-
-	if (m_executionContext != 0)
-	{
-		// We call warning() because we don't want the execution
-		// context to potentially throw an exception.
-		m_executionContext->warn(theMessage);
-	}
-	else
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::cerr;
-		using std::endl;
-#endif
-
-		cerr << endl << theMessage << endl;
-	}
-
-	throw e;
-}
-
-
-
-void
-XercesParserLiaison::error(const SAXParseException&		e)
-{
-	XalanDOMString	theMessage("Error ");
-
-	formatErrorMessage(e, theMessage);
-
-	if (m_executionContext != 0)
-	{
-		// We call warn() because we don't want the execution
-		// context to potentially throw an exception.
-		m_executionContext->warn(theMessage);
-	}
-	else
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::cerr;
-		using std::endl;
-#endif
-
-		cerr << endl << theMessage << endl;
-	}
-}
-
-
-
-void
-XercesParserLiaison::warning(const SAXParseException&	e)
-{
-	XalanDOMString	theMessage("Warning ");
-
-	formatErrorMessage(e, theMessage);
-
-	if (m_executionContext != 0)
-	{
-		m_executionContext->warn(theMessage);
-	}
-	else
-	{
-#if !defined(XALAN_NO_NAMESPACES)
-		using std::cerr;
-		using std::endl;
-#endif
-
-		cerr << endl << theMessage << endl;
-	}
-}
-
-
-
-void
-XercesParserLiaison::formatErrorMessage(
-			const SAXParseException&	e,
-			XalanDOMString&				theMessage)
-{
-	append(theMessage, " at (file ");
-
-	const XalanDOMChar* const	theSystemID = e.getSystemId();
-
-	if (theSystemID == 0)
-	{
-		append(theMessage, "<unknown>");
-	}
-	else
-	{
-		append(theMessage, theSystemID);
-	}
-
-	append(theMessage, ", line ");
-	append(theMessage, LongToDOMString(long(e.getLineNumber())));
-	append(theMessage, ", column ");
-	append(theMessage, LongToDOMString(long(e.getColumnNumber())));
-	append(theMessage, "): ");
-	append(theMessage, e.getMessage());
-}
-
-
-
-void
-XercesParserLiaison::resetErrors()
-{
-}
-
-
-
-DOMParser*
-XercesParserLiaison::CreateDOMParser()
-{
-	DOMParser* const	theParser = new DOMParser;
-
-	theParser->setDoValidation(m_useValidation);
-
-	theParser->setIncludeIgnorableWhitespace(m_includeIgnorableWhitespace);
-
-	theParser->setDoNamespaces(m_doNamespaces);
-
-	theParser->setExitOnFirstFatalError(m_exitOnFirstFatalError);
-
-	if (m_entityResolver != 0)
-	{
-		theParser->setEntityResolver(m_entityResolver);
-	}
-
-	theParser->setErrorHandler(m_errorHandler);
-
-	// Xerces has a non-standard node type to represent the XML decl.
-	// Why did they ever do this?
-	theParser->setToCreateXMLDeclTypeNode(false);
-
-	return theParser;
-}
-
-
-
-SAXParser*
-XercesParserLiaison::CreateSAXParser()
-{
-	SAXParser* const	theParser = new SAXParser;
-
-	theParser->setDoValidation(false);
-
-	theParser->setDoNamespaces(false);
-
-	theParser->setExitOnFirstFatalError(m_exitOnFirstFatalError);
-
-	if (m_entityResolver != 0)
-	{
-		theParser->setEntityResolver(m_entityResolver);
-	}
-
-	theParser->setErrorHandler(m_errorHandler);
-
-	return theParser;
-}
-
-
-
-XercesDocumentBridge*
-XercesParserLiaison::doCreateDocument(
-			const DOM_Document&		theXercesDocument,
-			bool					threadSafe,
-			bool					buildBridge)
-{
-	XercesDocumentBridge* const		theNewDocument =
-		new XercesDocumentBridge(theXercesDocument, threadSafe, buildBridge);
-
-	m_documentMap[theNewDocument] = theNewDocument;
-
-	return theNewDocument;
-}
diff --git a/src/XercesParserLiaison/XercesParserLiaison.hpp b/src/XercesParserLiaison/XercesParserLiaison.hpp
deleted file mode 100644
index 03fbc6d..0000000
--- a/src/XercesParserLiaison/XercesParserLiaison.hpp
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-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) 1999, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XercesPARSERLIAISON_HEADER_GUARD_1357924680)
-#define XercesPARSERLIAISON_HEADER_GUARD_1357924680
-
-
-// Base include file.  Must be first.
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-// Standard Library header files.
-#include <map>
-
-
-
-// Xerces DOM header files
-#include <xercesc/util/XercesDefs.hpp>
-#include <xercesc/sax/ErrorHandler.hpp>
-#include <xercesc/dom/DOM_Document.hpp>
-
-
-
-// Base class header file.
-#include <XMLSupport/XMLParserLiaison.hpp>
-
-
-
-class DOMParser;
-class DOMSupport;
-class EntityResolver;
-class InputSource;
-class SAXParser;
-class XercesDOMSupport;
-class XercesDocumentBridge;
-class XSLProcessor;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesParserLiaison : public XMLParserLiaison, public ErrorHandler
-{
-public:
-
-	/**
-	 * Construct a XercesParserLiaison instance.
-	 *
-	 * @param theSupport instance of DOMSupport object
-	 *
-	 * @deprecated This constructor is deprecated.  Use the next constructor instead.
-	 */
-	XercesParserLiaison(XercesDOMSupport&	theSupport);
-
-	/**
-	 * Construct a XercesParserLiaison instance.
-	 */
-	XercesParserLiaison();
-
-	virtual
-	~XercesParserLiaison();
-
-	// These interfaces are inherited from XMLParserLiaison...
-
-	virtual void
-	reset();
-
-	virtual ExecutionContext*
-	getExecutionContext() const;
-
-	virtual void
-	setExecutionContext(ExecutionContext&	theContext);
-
-	virtual XalanDocument*
-	parseXMLStream(
-			const InputSource&		reader,
-			const XalanDOMString&	identifier = XalanDOMString());
-
-	virtual void
-	parseXMLStream(
-			const InputSource&		urlInputSource,
-			DocumentHandler&		handler,
-			const XalanDOMString&	identifier = XalanDOMString());
-
-	// Create a non-thread safe document, with no synchronization and no bridge...
-	virtual XalanDocument*
-	createDocument();
-
-	// Create a non-thread safe document, with no synchronization and no bridge...
-	virtual XalanDocument*
-	createDOMFactory();
-
-	virtual void
-	destroyDocument(XalanDocument*	theDocument);
-
-	virtual int
-	getIndent() const;
-
-	virtual void
-	setIndent(int	i);
-
-	virtual bool
-	getUseValidation() const;
-
-	virtual void
-	setUseValidation(bool	b);
-
-	virtual const XalanDOMString
-	getParserDescription() const;
-
-	virtual EntityResolver*
-	getEntityResolver() const;
-
-	virtual void
-	setEntityResolver(EntityResolver*	resolver);
-
-
-	// These interfaces are new to XercesParserLiaison...
-
-	/** Get the 'include ignorable whitespace' flag.
-	  *
-	  * This method returns the state of the parser's include ignorable
-	  * whitespace flag.
-	  *
-	  * @return 'true' if the include ignorable whitespace flag is set on
-	  * 		the parser, 'false' otherwise.
-	  *
-	  * @see #setIncludeIgnorableWhitespace
-	  */
-	virtual bool
-	getIncludeIgnorableWhitespace() const;
-
-	/** Set the 'include ignorable whitespace' flag
-	  *
-	  * This method allows the user to specify whether a validating parser
-	  * should include ignorable whitespaces as text nodes.  It has no effect
-	  * on non-validating parsers which always include non-markup text.
-	  * <p>When set to true (also the default), ignorable whitespaces will be
-	  * added to the DOM tree as text nodes.  The method
-	  * DOM_Text::isIgnorableWhitespace() will return true for those text
-	  * nodes only.
-	  * <p>When set to false, all ignorable whitespace will be discarded and
-	  * no text node is added to the DOM tree.	Note: applications intended
-	  * to process the "xml:space" attribute should not set this flag to false.
-	  *
-	  * @param include The new state of the include ignorable whitespace
-	  * 			   flag.
-	  *
-	  * @see #getIncludeIgnorableWhitespace
-	  */
-	virtual void
-	setIncludeIgnorableWhitespace(bool	include);
-
-	/**
-	  * This method returns the installed error handler.
-	  *
-	  * @return A pointer to the installed error handler object.
-	  */
-	virtual ErrorHandler*
-	getErrorHandler() const;
-
-	/**
-	  * This method installs the user specified error handler on
-	  * the parser.
-	  *
-	  * @param handler A pointer to the error handler to be called
-	  * 			   when the parser comes across 'error' events
-	  * 			   as per the SAX specification.
-	  */
-	virtual void
-	setErrorHandler(ErrorHandler*	handler);
-
-	/**
-	  * This method returns the state of the parser's namespace
-	  * handling capability.
-	  *
-	  * @return true, if the parser is currently configured to
-	  * 		understand namespaces, false otherwise.
-	  *
-	  * @see #setDoNamespaces
-	  */
-	virtual bool
-	getDoNamespaces() const;
-
-	/**
-	  * This method allows users to enable or disable the parser's
-	  * namespace processing. When set to true, parser starts enforcing
-	  * all the constraints / rules specified by the NameSpace
-	  * specification.
-	  *
-	  * <p>The parser's default state is: false.</p>
-	  *
-	  * <p>This flag is ignored by the underlying scanner if the installed
-	  * validator indicates that namespace constraints should be
-	  * enforced.</p>
-	  *
-	  * @param newState The value specifying whether NameSpace rules should
-	  * 				be enforced or not.
-	  *
-	  * @see #getDoNamespaces
-	  */
-	virtual void
-	setDoNamespaces(bool	newState);
-
-	/**
-	  * This method returns the state of the parser's
-	  * exit-on-First-Fatal-Error flag.
-	  *
-	  * @return true, if the parser is currently configured to
-	  * 		exit on the first fatal error, false otherwise.
-	  *
-	  * @see #setExitOnFirstFatalError
-	  */
-	virtual bool
-	getExitOnFirstFatalError() const;
-
-	/**
-	  * This method allows users to set the parser's behaviour when it
-	  * encounters the first fatal error. If set to true, the parser
-	  * will exit at the first fatal error. If false, then it will
-	  * report the error and continue processing.
-	  *
-	  * <p>The default value is 'true' and the parser exits on the
-	  * first fatal error.</p>
-	  *
-	  * @param newState The value specifying whether the parser should
-	  * 				continue or exit when it encounters the first
-	  * 				fatal error.
-	  *
-	  * @see #getExitOnFirstFatalError
-	  */
-	virtual void
-	setExitOnFirstFatalError(bool	newState);
-
-	/**
-	 * Create a XalanDocument proxy for an existing Xerces document.
-	 * The parser liaison owns the instance, and you must not delete
-	 * it.	The liaison will delete it when reset() is called, or the
-	 * liaison is destroyed.
-	 *
-	 * @param theXercesDocument The Xerces document.
-	 * @param threadSafe If true, read access to the tree will be thread-safe (implies buildBridge == true).
-	 * @param buildBridge If true, the entire bridge structure is built.
-	 * @return a pointer to a new XalanDocument-derived instance.
-	 */
-	virtual XalanDocument*
-	createDocument(
-			const DOM_Document&		theXercesDocument,
-			bool					threadSafe = false,
-			bool					buildBridge = false);
-
-	/** 
-	 * Map a pointer to a XalanDocument instance to its implementation
-	 * class pointer.  Normally, you should have no reason for doing
-	 * this.  The liaison will return a null pointer if it did not
-	 * create the instance passed.
-	 *
-	 * @param theDocument A pointer to a XalanDocument instance.
-	 * @return A pointer to the XercesDocumentBridge instance.
-	 */
-	XercesDocumentBridge*
-	mapDocument(const XalanDocument*	theDocument) const;
-
-	/** 
-	 * Map a pointer to a XalanDocument instance to its corresponding
-	 * class pointer.  Normally, you should have no reason for doing
-	 * this.  The liaison will return a null pointer if it did not
-	 * create the instance passed.
-	 *
-	 * @param theDocument A pointer to a XalanDocument instance.
-	 * @return A pointer to the XercesDocumentBridge instance.
-	 */
-	DOM_Document
-	mapXercesDocument(const XalanDocument*	theDocument) const;
-
-	// Implementations for SAX ErrorHandler
-
-	virtual void
-	warning(const SAXParseException& exception);
-
-	virtual void
-	error(const SAXParseException& exception);
-   
-	virtual void
-	fatalError(const SAXParseException& exception);
-
-	virtual void
-	resetErrors();
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<const XalanDocument*,
-				XercesDocumentBridge*,
-				less<const XalanDocument*> >	DocumentMapType;
-#else
-	typedef std::map<const XalanDocument*,
-					 XercesDocumentBridge*>		DocumentMapType;
-#endif
-
-	/**
-	 * This functions returns the state of the liaison's build-bridge-nodes flag.
-	 *
-	 * @return true, if the bridge nodes are automatically built, false otherwise.
-	 */
-	bool
-	getBuildBridgeNodes() const
-	
-	{
-		return m_buildBridge;
-	}
-
-	/**
-	 * This functions sets the state of the liaison's build-bridge-nodes flag.
-	 * This flag must be set for the document to be thread safe.  It can also be
-	 * set to true to increase performance.  If this flag is set to false, then
-	 * the thread-safe flag will also be set to false.
-	 *
-	 * @param newState The new state for the flag.
-	 *
-	 */
-	void
-	setBuildBridgeNodes(bool	newState)
-	{
-		m_buildBridge = newState;
-
-		if (newState == false)
-		{
-			m_threadSafe = false;
-		}
-	}
-
-	/**
-	 * This functions returns the state of the liaison's thread-safe flag.
-	 * If true, documents created will be safe when data is read.  By default,
-	 * documents are _not_ thread-safe.
-	 *
-	 * Note -- modifications are _never_ synchronized.
-	 *
-	 * @return true, if the new documents will be thread safe, false otherwise.
-	 */
-	bool
-	getThreadSafe() const
-	
-	{
-		return m_threadSafe;
-	}
-
-	/**
-	 * This functions sets the state of the liaison's thread-safe flag.
-	 * This flag must be set for the document to be thread safe.  If this
-	 * flag is set to true, then the build-bridge-nodes flag will also be
-	 * set to true.
-	 *
-	 * @param newState The new state for the flag.
-	 *
-	 */
-	void
-	setThreadSafe(bool	newState)
-	{
-		m_threadSafe = newState;
-
-		if (m_threadSafe == true)
-		{
-			m_buildBridge = true;
-		}
-	}
-
-protected:
-
-	static void
-	formatErrorMessage(
-			const SAXParseException&	e,
-			XalanDOMString&				theMessage);
-
-	virtual DOMParser*
-	CreateDOMParser();
-
-	virtual SAXParser*
-	CreateSAXParser();
-
-	/**
-	 * Create a XalanDocument proxy for an existing Xerces document.
-	 *
-	 * @param theXercesDocument The Xerces document.
-	 * @param threadSafe If true, read access to the tree will be thread-safe (implies buildBridge == true).
-	 * @param buildBridge If true, the entire bridge structure is built.
-	 * @return a pointer to a new XercesDocumentBridge instance.
-	 */
-	virtual XercesDocumentBridge*
-	doCreateDocument(
-			const DOM_Document&		theXercesDocument,
-			bool					threadSafe,
-			bool					buildBridge);
-
-private:
-
-	// Data members...
-	int 				m_indent;
-
-	bool				m_useValidation;
-
-	bool				m_includeIgnorableWhitespace;
-
-	bool				m_doNamespaces;
-
-	bool				m_exitOnFirstFatalError;
-
-	EntityResolver* 	m_entityResolver;
-
-	ErrorHandler*		m_errorHandler;
-
-	DocumentMapType 	m_documentMap;
-
-	bool				m_buildBridge;
-
-	bool				m_threadSafe;
-
-	ExecutionContext*	m_executionContext;
-};
-
-
-
-#endif	// XercesPARSERLIAISON_HEADER_GUARD_1357924680
diff --git a/src/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp b/src/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp
deleted file mode 100644
index 7254a02..0000000
--- a/src/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp
+++ /dev/null
@@ -1,82 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XercesPARSERLIAISONDEFINITIONS_HEADER_GUARD_1357924680)
-#define XercesPARSERLIAISONDEFINITIONS_HEADER_GUARD_1357924680
-
-
-
-#include <Include/PlatformDefinitions.hpp>
-
-
-
-#if defined(XALAN_XERCESPARSERLIAISON_BUILD_DLL)
-
-#define XALAN_XERCESPARSERLIAISON_EXPORT XALAN_PLATFORM_EXPORT
-
-#define XALAN_XERCESPARSERLIAISON_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
-
-#else
-
-#define XALAN_XERCESPARSERLIAISON_EXPORT XALAN_PLATFORM_IMPORT
-
-#define XALAN_XERCESPARSERLIAISON_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
-
-#endif
-
-
-
-#endif	// XercesPARSERLIAISONDEFINITIONS_HEADER_GUARD_1357924680
diff --git a/src/XercesParserLiaison/XercesProcessingInstructionBridge.cpp b/src/XercesParserLiaison/XercesProcessingInstructionBridge.cpp
deleted file mode 100644
index 3ad616b..0000000
--- a/src/XercesParserLiaison/XercesProcessingInstructionBridge.cpp
+++ /dev/null
@@ -1,349 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesProcessingInstructionBridge.hpp"
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesProcessingInstructionBridge::XercesProcessingInstructionBridge(
-			const DOM_ProcessingInstruction&	theXercesDOMProcessingInstruction,
-			const XercesBridgeNavigator&		theNavigator) :
-	XalanProcessingInstruction(),
-	m_xercesNode(theXercesDOMProcessingInstruction),
-	m_navigator(theNavigator)
-{
-}
-
-
-
-XercesProcessingInstructionBridge::~XercesProcessingInstructionBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesProcessingInstructionBridge::NodeType
-XercesProcessingInstructionBridge::getNodeType() const
-{
-	return PROCESSING_INSTRUCTION_NODE;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesProcessingInstructionBridge::getChildNodes() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesProcessingInstructionBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesProcessingInstructionBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesProcessingInstructionBridge*
-#endif
-XercesProcessingInstructionBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesProcessingInstructionBridge* const	theBridge =
-		static_cast<XercesProcessingInstructionBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesProcessingInstructionBridge::appendChild(XalanNode*	/* newChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XercesProcessingInstructionBridge::hasChildNodes() const
-{
-	return false;
-}
-
-
-
-void
-XercesProcessingInstructionBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesProcessingInstructionBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-bool
-XercesProcessingInstructionBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefix());
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalName());
-}
-
-
-
-void
-XercesProcessingInstructionBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesProcessingInstructionBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesProcessingInstructionBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getTarget() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getTarget());
-}
-
-
-
-const XalanDOMString&
-XercesProcessingInstructionBridge::getData() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getData());
-}
-
-
-
-void
-XercesProcessingInstructionBridge::setData(const XalanDOMString&	data)
-{
-	try
-	{
-		m_xercesNode.setData(c_wstr(data));
-	}
-	catch(const DOM_DOMException&	theException)
-	{
-		throw XercesDOMException(theException);
-	}
-}
diff --git a/src/XercesParserLiaison/XercesProcessingInstructionBridge.hpp b/src/XercesParserLiaison/XercesProcessingInstructionBridge.hpp
deleted file mode 100644
index b7fe6bf..0000000
--- a/src/XercesParserLiaison/XercesProcessingInstructionBridge.hpp
+++ /dev/null
@@ -1,503 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESPROCESSINGINSTRUCTIONBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESPROCESSINGINSTRUCTIONBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_ProcessingInstruction.hpp>
-
-
-
-#include <XalanDOM/XalanProcessingInstruction.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesProcessingInstructionBridge : public XalanProcessingInstruction
-{
-public:
-
-	XercesProcessingInstructionBridge(
-			const DOM_ProcessingInstruction&	theXercesDOMProcessingInstruction,
-			const XercesBridgeNavigator&		theNavigator);
-
-	virtual
-	~XercesProcessingInstructionBridge();
-
-
-	// These interfaces are inherited from XalanNode...
-
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesProcessingInstructionBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&	prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanProcessingInstruction...
-
-    //@}
-    /** @name Get functions. */
-    //@{
-    /**
-     * The target of this processing instruction. 
-     *
-     * XML defines this as being the 
-     * first token following the markup that begins the processing instruction.
-     */
-    virtual const XalanDOMString&
-	getTarget() const;
-
-    /**
-     * The content of this processing instruction. 
-     *
-     * This is from the first non 
-     * white space character after the target to the character immediately 
-     * preceding the <code>?&gt;</code>.
-     * @exception DOMException
-     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-     */
-    virtual const XalanDOMString&
-	getData() const;
-
-    //@}
-    /** @name Set functions. */
-    //@{
-    /**
-    * Sets the content of this processing instruction. 
-    *
-    * This is from the first non 
-    * white space character after the target to the character immediately 
-    * preceding the <code>?&gt;</code>.
-    * @param data The string containing the processing instruction
-    */
-    virtual void
-	setData(const XalanDOMString&	data);
-    //@}
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_ProcessingInstruction
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-private:
-
-	// Not implemented...
-	XercesProcessingInstructionBridge(const XercesProcessingInstructionBridge&	theSource);
-
-	XercesProcessingInstructionBridge&
-	operator=(const XercesProcessingInstructionBridge&	theSource);
-
-	bool
-	operator==(const XercesProcessingInstructionBridge&		theRHS) const;
-
-	// Data members...
-	DOM_ProcessingInstruction		m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESPROCESSINGINSTRUCTIONBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesTextBridge.cpp b/src/XercesParserLiaison/XercesTextBridge.cpp
deleted file mode 100644
index 7570d57..0000000
--- a/src/XercesParserLiaison/XercesTextBridge.cpp
+++ /dev/null
@@ -1,405 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesTextBridge.hpp"
-
-
-
-#include <cassert>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-#include "XercesBridgeHelper.hpp"
-#include "XercesBridgeNavigator.hpp"
-#include "XercesDOMException.hpp"
-#include "XercesDocumentBridge.hpp"
-
-
-
-XercesTextBridge::XercesTextBridge(
-			const DOM_Text&					theXercesText,
-			const XercesBridgeNavigator&	theNavigator) :
-	XalanText(),
-	m_xercesNode(theXercesText),
-	m_navigator(theNavigator)
-{
-	assert(m_xercesNode.isNull() == false);
-}
-
-
-
-XercesTextBridge::~XercesTextBridge()
-{
-}
-
-
-
-const XalanDOMString&
-XercesTextBridge::getNodeName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeName());
-}
-
-
-
-const XalanDOMString&
-XercesTextBridge::getNodeValue() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNodeValue());
-}
-
-
-
-XercesTextBridge::NodeType
-XercesTextBridge::getNodeType() const
-{
-	return TEXT_NODE;
-}
-
-
-
-XalanNode*
-XercesTextBridge::getParentNode() const
-{
-	return m_navigator.getParentNode(m_xercesNode);
-}
-
-
-
-const XalanNodeList*
-XercesTextBridge::getChildNodes() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesTextBridge::getFirstChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesTextBridge::getLastChild() const
-{
-	return 0;
-}
-
-
-
-XalanNode*
-XercesTextBridge::getPreviousSibling() const
-{
-	return m_navigator.getPreviousSibling(m_xercesNode);
-}
-
-
-
-XalanNode*
-XercesTextBridge::getNextSibling() const
-{
-	return m_navigator.getNextSibling(m_xercesNode);
-}
-
-
-
-const XalanNamedNodeMap*
-XercesTextBridge::getAttributes() const
-{
-	return 0;
-}
-
-
-
-XalanDocument*
-XercesTextBridge::getOwnerDocument() const
-{
-	return m_navigator.getOwnerDocument();
-}
-
-
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-XalanNode*
-#else
-XercesTextBridge*
-#endif
-XercesTextBridge::cloneNode(bool	deep) const
-{
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	return m_navigator.cloneNode(this, m_xercesNode, deep);
-#else
-	XercesTextBridge* const	theBridge =
-		static_cast<XercesTextBridge*>(m_navigator.cloneNode(this, m_xercesNode, deep));
-
-	return theBridge;
-#endif
-}
-
-
-
-XalanNode*
-XercesTextBridge::insertBefore(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* refChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesTextBridge::replaceChild(
-			XalanNode*	/* newChild */,
-			XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesTextBridge::removeChild(XalanNode*	/* oldChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-XalanNode*
-XercesTextBridge::appendChild(XalanNode*	/* newChild */)
-{
-	throw XercesDOMException(XercesDOMException::HIERARCHY_REQUEST_ERR);
-
-	return 0;
-}
-
-
-
-bool
-XercesTextBridge::hasChildNodes() const
-{
-	return false;
-}
-
-
-void
-XercesTextBridge::setNodeValue(const XalanDOMString&	nodeValue)
-{
-	XercesBridgeHelper::setNodeValue(m_xercesNode, nodeValue);
-}
-
-
-
-void
-XercesTextBridge::normalize()
-{
-	XercesBridgeHelper::normalize(m_xercesNode);
-}
-
-
-
-bool
-XercesTextBridge::isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const
-{
-	return m_xercesNode.isSupported(
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(feature),
-				XercesBridgeHelper::XalanDOMStringToXercesDOMString(version));
-}
-
-
-
-const XalanDOMString&
-XercesTextBridge::getNamespaceURI() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getNamespaceURI());
-}
-
-
-
-const XalanDOMString&
-XercesTextBridge::getPrefix() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getPrefixImpl());
-}
-
-
-
-const XalanDOMString&
-XercesTextBridge::getLocalName() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getLocalNameImpl());
-}
-
-
-
-void
-XercesTextBridge::setPrefix(const XalanDOMString&	prefix)
-{
-	XercesBridgeHelper::setPrefix(m_xercesNode, prefix);
-}
-
-
-
-bool
-XercesTextBridge::isIndexed() const
-{
-	return m_navigator.getOwnerDocument()->isIndexed();
-}
-
-
-
-unsigned long
-XercesTextBridge::getIndex() const
-{
-	return m_navigator.getIndex();
-}
-
-
-
-const XalanDOMString&
-XercesTextBridge::getData() const
-{
-	return m_navigator.getPooledString(m_xercesNode.getDataImpl());
-}
-
-
-
-unsigned int
-XercesTextBridge::getLength() const
-{
-	return m_xercesNode.getLength();
-}
-
-
-
-XalanDOMString
-XercesTextBridge::substringData(
-			unsigned int	offset, 
-			unsigned int	count) const
-{
-	return XercesBridgeHelper::substringData(m_xercesNode, offset, count);
-}
-
-
-
-void
-XercesTextBridge::appendData(const XalanDOMString&	arg)
-{
-	XercesBridgeHelper::appendData(m_xercesNode, arg);
-}
-
-
-
-void
-XercesTextBridge::insertData(
-			unsigned int			offset,
-			const XalanDOMString& 	arg)
-{
-	XercesBridgeHelper::insertData(m_xercesNode, offset, arg);
-}
-
-
-
-void
-XercesTextBridge::deleteData(
-			unsigned int	offset, 
-			unsigned int	count)
-{
-	XercesBridgeHelper::deleteData(m_xercesNode, offset, count);
-}
-
-
-
-void
-XercesTextBridge::replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg)
-{
-	XercesBridgeHelper::replaceData(m_xercesNode, offset, count, arg);
-}
-
-
-
-XalanText*
-XercesTextBridge::splitText(unsigned int	offset)
-{
-	return m_navigator.splitText(m_xercesNode, offset);
-}
-
-
-
-bool
-XercesTextBridge::isIgnorableWhitespace() const
-{
-	return isXMLWhitespace(getData());
-}
diff --git a/src/XercesParserLiaison/XercesTextBridge.hpp b/src/XercesParserLiaison/XercesTextBridge.hpp
deleted file mode 100644
index 55c0f26..0000000
--- a/src/XercesParserLiaison/XercesTextBridge.hpp
+++ /dev/null
@@ -1,626 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESTEXTBRIDGE_HEADER_GUARD_1357924680)
-#define XERCESTEXTBRIDGE_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <xercesc/dom/DOM_Text.hpp>
-
-
-
-#include <XalanDOM/XalanText.hpp>
-
-
-
-#include <XercesParserLiaison/XercesDOM_NodeHack.hpp>
-
-
-
-class XercesBridgeNavigator;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesTextBridge : public XalanText
-{
-public:
-
-	XercesTextBridge(
-			const DOM_Text&					theXercesText,
-			const XercesBridgeNavigator&	theNavigator);
-
-	virtual
-	~XercesTextBridge();
-
-
-	/**
-	 * Gets the name of this node.
-	 */
-	virtual const XalanDOMString&
-	getNodeName() const;
-
-	/**
-	 * Gets the value of this node, depending on its type.
-	 */
-	virtual const XalanDOMString&
-	getNodeValue() const;
-
-	/**
-	 * An enum value representing the type of the underlying object.
-	 */
-	virtual NodeType
-	getNodeType() const;
-
-	/**
-	 * Gets the parent of this node.
-	 *
-	 * All nodes, except <code>Document</code>,
-	 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
-	 * However, if a node has just been created and not yet added to the tree,
-	 * or if it has been removed from the tree, a <code>null</code> DOM_Node
-	 * is returned.
-	 */
-	virtual XalanNode*
-	getParentNode() const;
-
-	/**
-	 * Gets a <code>NodeList</code> that contains all children of this node.
-	 *
-	 * If there
-	 * are no children, this is a <code>NodeList</code> containing no nodes.
-	 * The content of the returned <code>NodeList</code> is "live" in the sense
-	 * that, for instance, changes to the children of the node object that
-	 * it was created from are immediately reflected in the nodes returned by
-	 * the <code>NodeList</code> accessors; it is not a static snapshot of the
-	 * content of the node. This is true for every <code>NodeList</code>,
-	 * including the ones returned by the <code>getElementsByTagName</code>
-	 * method.
-	 */
-	virtual const XalanNodeList*
-	getChildNodes() const;
-
-	/**
-	 * Gets the first child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getFirstChild() const;
-
-	/**
-	 * Gets the last child of this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getLastChild() const;
-
-	/**
-	 * Gets the node immediately preceding this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getPreviousSibling() const;
-
-	/**
-	 * Gets the node immediately following this node.
-	 *
-	 * If there is no such node, this returns <code>null</code>.
-	 */
-	virtual XalanNode*
-	getNextSibling() const;
-
-	/**
-	 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
-	 * is an <code>Element</code>) or <code>null</code> otherwise.
-	 */
-	virtual const XalanNamedNodeMap*
-	getAttributes() const;
-
-	/**
-	 * Gets the <code>DOM_Document</code> object associated with this node.
-	 *
-	 * This is also
-	 * the <code>DOM_Document</code> object used to create new nodes. When this
-	 * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
-	 * which is not used with any <code>DOM_Document</code> yet, this is
-	 * <code>null</code>.
-	 */
-	virtual XalanDocument*
-	getOwnerDocument() const;
-
-	//@}
-	/** @name Cloning function. */
-	//@{
-
-	/**
-	 * Returns a duplicate of this node.
-	 *
-	 * This function serves as a generic copy constructor for nodes.
-	 *
-	 * The duplicate node has no parent (
-	 * <code>parentNode</code> returns <code>null</code>.).
-	 * <br>Cloning an <code>Element</code> copies all attributes and their
-	 * values, including those generated by the  XML processor to represent
-	 * defaulted attributes, but this method does not copy any text it contains
-	 * unless it is a deep clone, since the text is contained in a child
-	 * <code>Text</code> node. Cloning any other type of node simply returns a
-	 * copy of this node.
-	 * @param deep If <code>true</code>, recursively clone the subtree under the
-	 *	 specified node; if <code>false</code>, clone only the node itself (and
-	 *	 its attributes, if it is an <code>Element</code>).
-	 * @return The duplicate node.
-	 */
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-	virtual XalanNode*
-#else
-	virtual XercesTextBridge*
-#endif
-	cloneNode(bool deep) const;
-
-	//@}
-	/** @name Functions to modify the DOM Node. */
-	//@{
-
-	/**
-	 * Inserts the node <code>newChild</code> before the existing child node
-	 * <code>refChild</code>.
-	 *
-	 * If <code>refChild</code> is <code>null</code>,
-	 * insert <code>newChild</code> at the end of the list of children.
-	 * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
-	 * all of its children are inserted, in the same order, before
-	 * <code>refChild</code>. If the <code>newChild</code> is already in the
-	 * tree, it is first removed.  Note that a <code>DOM_Node</code> that
-	 * has never been assigned to refer to an actual node is == null.
-	 * @param newChild The node to insert.
-	 * @param refChild The reference node, i.e., the node before which the new
-	 *	 node must be inserted.
-	 * @return The node being inserted.
-	 */
-	virtual XalanNode*
-	insertBefore(
-			XalanNode*	newChild,
-			XalanNode*	refChild);
-
-	/**
-	 * Replaces the child node <code>oldChild</code> with <code>newChild</code>
-	 * in the list of children, and returns the <code>oldChild</code> node.
-	 *
-	 * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
-	 * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
-	 * children, which are inserted in the same order.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is first removed.
-	 * @param newChild The new node to put in the child list.
-	 * @param oldChild The node being replaced in the list.
-	 * @return The node replaced.
-	 */
-	virtual XalanNode*
-	replaceChild(
-			XalanNode*	newChild,
-			XalanNode*	oldChild);
-
-	/**
-	 * Removes the child node indicated by <code>oldChild</code> from the list
-	 * of children, and returns it.
-	 *
-	 * @param oldChild The node being removed.
-	 * @return The node removed.
-	 */
-	virtual XalanNode*
-	removeChild(XalanNode*	oldChild);
-
-	/**
-	 * Adds the node <code>newChild</code> to the end of the list of children of
-	 * this node.
-	 *
-	 * If the <code>newChild</code> is already in the tree, it is
-	 * first removed.
-	 * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
-	 *	 object, the entire contents of the document fragment are moved into
-	 *	 the child list of this node
-	 * @return The node added.
-	 */
-	virtual XalanNode*
-	appendChild(XalanNode*	newChild);
-
-	//@}
-	/** @name Query functions. */
-	//@{
-
-	/**
-	 *	This is a convenience method to allow easy determination of whether a
-	 * node has any children.
-	 *
-	 * @return	<code>true</code> if the node has any children,
-	 *	 <code>false</code> if the node has no children.
-	 */
-	virtual bool
-	hasChildNodes() const;
-
-
-	//@}
-	/** @name Set functions. */
-	//@{
-
-
-	/**
-	* Sets the value of the node.
-	*
-	* Any node which can have a nodeValue (@see getNodeValue) will
-	* also accept requests to set it to a string. The exact response to
-	* this varies from node to node -- Attribute, for example, stores
-	* its values in its children and has to replace them with a new Text
-	* holding the replacement value.
-	*
-	* For most types of Node, value is null and attempting to set it
-	* will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
-	* also be thrown if the node is read-only.
-	*/
-	virtual void
-	setNodeValue(const XalanDOMString&	nodeValue);
-
-	//@}
-	/** @name Functions introduced in DOM Level 2. */
-	//@{
-
-	/**
-	 * Puts all <CODE>DOM_Text</CODE>
-	 * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>, 
-	 * including attribute nodes, into a "normal" form where only markup (e.g., 
-	 * tags, comments, processing instructions, CDATA sections, and entity 
-	 * references) separates <CODE>DOM_Text</CODE>
-	 * nodes, i.e., there are no adjacent <CODE>DOM_Text</CODE>
-	 * nodes. This can be used to ensure that the DOM view of a document is the 
-	 * same as if it were saved and re-loaded, and is useful when operations 
-	 * (such as XPointer lookups) that depend on a particular document tree 
-	 * structure are to be used.
-	 * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>, 
-	 * the normalize operation alone may not be sufficient, since XPointers do 
-	 * not differentiate between <CODE>DOM_Text</CODE>
-	 * nodes and <CODE>DOM_CDATASection</CODE> nodes.</P>
-	 */
-	virtual void
-	normalize();
-
-	/**
-	 * Tests whether the DOM implementation implements a specific
-	 * feature and that feature is supported by this node.
-	 * @param feature The string of the feature to test. This is the same
-	 * name as what can be passed to the method <code>hasFeature</code> on
-	 * <code>DOMImplementation</code>.
-	 * @param version This is the version number of the feature to test. In
-	 * Level 2, version 1, this is the string "2.0". If the version is not
-	 * specified, supporting any version of the feature will cause the
-	 * method to return <code>true</code>.
-	 * @return Returns <code>true</code> if the specified feature is supported
-	 * on this node, <code>false</code> otherwise.
-	 */
-	virtual bool
-	isSupported(
-			const XalanDOMString&	feature,
-			const XalanDOMString&	version) const;
-
-	/**
-	 * Get the <em>namespace URI</em> of
-	 * this node, or <code>null</code> if it is unspecified.
-	 * <p>
-	 * This is not a computed value that is the result of a namespace lookup
-	 * based on an examination of the namespace declarations in scope. It is
-	 * merely the namespace URI given at creation time.
-	 * <p>
-	 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 
-	 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 
-	 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
-	 * interface, this is always <CODE>null</CODE>.
-	 */
-	virtual const XalanDOMString&
-	getNamespaceURI() const;
-
-	/**
-	 * Get the <em>namespace prefix</em>
-	 * of this node, or <code>null</code> if it is unspecified.
-	 */
-	virtual const XalanDOMString&
-	getPrefix() const;
-
-	/**
-	 * Returns the local part of the <em>qualified name</em> of this node.
-	 * <p>
-	 * For nodes created with a DOM Level 1 method, such as
-	 * <code>createElement</code> from the <code>DOM_Document</code> interface,
-	 * it is null.
-	 */
-	virtual const XalanDOMString&
-	getLocalName() const;
-
-	/**
-	 * Set the <em>namespace prefix</em> of this node.
-	 * <p>
-	 * Note that setting this attribute, when permitted, changes 
-	 * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified 
-	 * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE> 
-	 * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
-	 * interfaces, when applicable.
-	 * <p>
-	 * Note also that changing the prefix of an 
-	 * attribute, that is known to have a default value, does not make a new 
-	 * attribute with the default value and the original prefix appear, since the 
-	 * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
-	 *
-	 * @param prefix The prefix of this node.
-	 * @exception DOMException
-	 *	 INVALID_CHARACTER_ERR: Raised if the specified prefix contains
-	 *							an illegal character.
-	 * <br>
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 * <br>
-	 *	 NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is 
-	 *		 malformed, if the specified prefix is "xml" and the 
-	 *		 <CODE>namespaceURI</CODE> of this node is different from 
-	 *		 "http://www.w3.org/XML/1998/namespace", if specified prefix is 
-	 *		 "xmlns" and the <CODE>namespaceURI</CODE> is neither 
-	 *		 <CODE>null</CODE> nor an empty string, or if the 
-	 *		 <CODE>localName</CODE> is <CODE>null</CODE>.
-	 */
-	virtual void
-	setPrefix(const XalanDOMString&		prefix);
-
-	virtual bool
-	isIndexed() const;
-
-	virtual unsigned long
-	getIndex() const;
-
-	//@}
-
-	// These interfaces are inherited from XalanText...
-
-	/** @name Getter functions. */
-	//@{
-	/**
-	 * Returns the character data of the node that implements this interface. 
-	 *
-	 * The DOM implementation may not put arbitrary limits on the amount of data that 
-	 * may be stored in a  <code>CharacterData</code> node. However, 
-	 * implementation limits may  mean that the entirety of a node's data may 
-	 * not fit into a single <code>DOMString</code>. In such cases, the user 
-	 * may call <code>substringData</code> to retrieve the data in 
-	 * appropriately sized pieces.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
-	 * @exception DOMException
-	 *	 DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
-	 *	 fit in a <code>DOMString</code> variable on the implementation 
-	 *	 platform.
-	 */
-	virtual const XalanDOMString&
-	getData() const;
-
-	/**
-	 * Returns the number of characters that are available through <code>data</code> and 
-	 * the <code>substringData</code> method below. 
-	 *
-	 * This may have the value 
-	 * zero, i.e., <code>CharacterData</code> nodes may be empty.
-	 */
-	virtual unsigned int
-	getLength() const;
-
-	/**
-	 * Extracts a range of data from the node.
-	 *
-	 * @param offset Start offset of substring to extract.
-	 * @param count The number of characters to extract.
-	 * @return The specified substring. If the sum of <code>offset</code> and 
-	 *	 <code>count</code> exceeds the <code>length</code>, then all 
-	 *	 characters to the end of the data are returned.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
-	 *	 fit into a <code>DOMString</code>.
-	 */
-	virtual XalanDOMString
-	substringData(
-			unsigned int	offset, 
-			unsigned int	count) const;
-
-	//@}
-	/** @name Functions that set or change data. */
-	//@{
-	/**
-	 * Append the string to the end of the character data of the node.
-	 *
-	 * Upon success, <code>data</code> provides access to the concatenation of 
-	 * <code>data</code> and the <code>DOMString</code> specified.
-	 * @param arg The <code>DOMString</code> to append.
-	 * @exception DOMException
-	 *	 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	appendData(const XalanDOMString&	arg);
-
-	/**
-	 * Insert a string at the specified character offset.
-	 *
-	 * @param offset The character offset at which to insert.
-	 * @param arg The <code>DOMString</code> to insert.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	insertData(
-			unsigned int			offset,
-			const XalanDOMString& 	arg);
-
-	/**
-	 * Remove a range of characters from the node. 
-	 *
-	 * Upon success, 
-	 * <code>data</code> and <code>length</code> reflect the change.
-	 * @param offset The offset from which to remove characters.
-	 * @param count The number of characters to delete. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code> 
-	 *	 then all characters from <code>offset</code> to the end of the data 
-	 *	 are deleted.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	deleteData(
-			unsigned int	offset, 
-			unsigned int	count);
-
-	/**
-	 * Replace the characters starting at the specified character offset with 
-	 * the specified string.
-	 *
-	 * @param offset The offset from which to start replacing.
-	 * @param count The number of characters to replace. If the sum of 
-	 *	 <code>offset</code> and <code>count</code> exceeds <code>length</code>
-	 *	 , then all characters to the end of the data are replaced (i.e., the 
-	 *	 effect is the same as a <code>remove</code> method call with the same 
-	 *	 range, followed by an <code>append</code> method invocation).
-	 * @param arg The <code>DOMString</code> with which the range must be 
-	 *	 replaced.
-	 * @exception DOMException
-	 *	 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-	 *	 than the number of characters in <code>data</code>, or if the 
-	 *	 specified <code>count</code> is negative.
-	 *	 <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-	 */
-	virtual void
-	replaceData(
-			unsigned int			offset, 
-			unsigned int			count, 
-			const XalanDOMString&	arg);
-
-  //@}
-
-    //@}
-    /** @name Functions to modify the Text node. */
-    //@{
-
-    /**
-     * Breaks this node into two nodes at the specified 
-     * offset, keeping both in the tree as siblings. 
-     *
-     * This node then only 
-     * contains all the content up to the <code>offset</code> point. And a new 
-     * node of the same nodeType, which is inserted as the next sibling of this 
-     * node, contains all the content at and after the <code>offset</code> 
-     * point. When the <code>offset</code> is equal to the lenght of this node,
-     * the new node has no data.
-     * @param offset The offset at which to split, starting from 0.
-     * @return The new <code>Text</code> node.
-     * @exception DOMException
-     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
-     *   than the number of characters in <code>data</code>.
-     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-     */
-    virtual XalanText*
-	splitText(unsigned int	offset);
-
-    //@}
-
-	virtual bool
-	isIgnorableWhitespace() const;
-
-	/**
-	 * Get the Xerces node this instance represent.
-	 *
-	 * @return The Xerces node
-	 */
-	DOM_Text
-	getXercesNode() const
-	{
-		return m_xercesNode;
-	}
-
-private:
-
-	// Not implemented...
-	XercesTextBridge(const XercesTextBridge&	theSource);
-
-	XercesTextBridge&
-	operator=(const XercesTextBridge&	theSource);
-
-	bool
-	operator==(const XercesTextBridge&	theRHS) const;
-
-	// Data members...
-	XercesDOM_TextHack				m_xercesNode;
-
-	const XercesBridgeNavigator&	m_navigator;
-};
-
-
-
-#endif	// !defined(XERCESTEXTBRIDGE_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesTextBridgeAllocator.cpp b/src/XercesParserLiaison/XercesTextBridgeAllocator.cpp
deleted file mode 100644
index 3d5d079..0000000
--- a/src/XercesParserLiaison/XercesTextBridgeAllocator.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Class header file.
-#include "XercesTextBridgeAllocator.hpp"
-
-
-
-XercesTextBridgeAllocator::XercesTextBridgeAllocator(size_type	theBlockCount) :
-	m_allocator(theBlockCount)
-{
-}
-
-
-
-XercesTextBridgeAllocator::~XercesTextBridgeAllocator()
-{
-}
-
-
-
-XercesTextBridgeAllocator::ObjectType*
-XercesTextBridgeAllocator::create(
-			const DOM_Text&					theXercesText,
-			const XercesBridgeNavigator&	theNavigator)
-{
-	ObjectType* const	theBlock = m_allocator.allocateBlock();
-	assert(theBlock != 0);
-
-	new(theBlock) ObjectType(theXercesText, theNavigator);
-
-	m_allocator.commitAllocation(theBlock);
-
-	return theBlock;
-}
-
-
-
-void 
-XercesTextBridgeAllocator::reset()
-{
-	m_allocator.reset();
-}
diff --git a/src/XercesParserLiaison/XercesTextBridgeAllocator.hpp b/src/XercesParserLiaison/XercesTextBridgeAllocator.hpp
deleted file mode 100644
index 2072b99..0000000
--- a/src/XercesParserLiaison/XercesTextBridgeAllocator.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#if !defined(XERCESTEXTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133)
-#define XERCESTEXTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <PlatformSupport/ArenaAllocator.hpp>
-
-
-
-#include <XercesParserLiaison/XercesTextBridge.hpp>
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesTextBridgeAllocator
-{
-public:
-
-	typedef XercesTextBridge						ObjectType;
-
-#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
-	typedef ArenaBlock<ObjectType>					ArenaBlockType;
-
-	typedef ArenaAllocator<ObjectType,
-						   ArenaBlockType>			ArenaAllocatorType;
-#else
-	typedef ArenaAllocator<ObjectType>				ArenaAllocatorType;
-#endif
-
-	typedef ArenaAllocatorType::size_type			size_type;
-
-	/**
-	 * Construct an instance that will allocate blocks of the specified size.
-	 *
-	 * @param theBlockSize The block size.
-	 */
-	XercesTextBridgeAllocator(size_type	theBlockCount);
-
-	~XercesTextBridgeAllocator();
-	
-	/**
-	 * Create a XercesTextBridge instance.
-	 * 
-	 * @param theXercesText The Xerces text node
-	 * @param theNavigator The navigator for this instance.
-	 *
-	 * @return pointer to the instance
-	 */
-	ObjectType*
-	create(
-			const DOM_Text&					theXercesText,
-			const XercesBridgeNavigator&	theNavigator);
-
-	/**
-	 * Delete all objects from allocator.	 
-	 */	
-	void
-	reset();
-
-	/**
-	 * Get size of an ArenaBlock, that is, the number
-	 * of objects in each block.
-	 *
-	 * @return The size of the block
-	 */
-	size_type
-	getBlockCount() const
-	{
-		return m_allocator.getBlockCount();
-	}
-
-	/**
-	 * Get the number of ArenaBlocks currently allocated.
-	 *
-	 * @return The number of blocks.
-	 */
-	size_type
-	getBlockSize() const
-	{
-		return m_allocator.getBlockSize();
-	}
-
-private:
-
-	// Not implemented...
-	XercesTextBridgeAllocator(const XercesTextBridgeAllocator&);
-
-	XercesTextBridgeAllocator&
-	operator=(const XercesTextBridgeAllocator&);
-
-	// Data members...
-	ArenaAllocatorType	m_allocator;
-};
-
-
-
-#endif	// XERCESTEXTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133
diff --git a/src/XercesParserLiaison/XercesToXalanNodeMap.cpp b/src/XercesParserLiaison/XercesToXalanNodeMap.cpp
deleted file mode 100644
index 44c9543..0000000
--- a/src/XercesParserLiaison/XercesToXalanNodeMap.cpp
+++ /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 "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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#include "XercesToXalanNodeMap.hpp"
-
-
-
-#include <algorithm>
-#include <cassert>
-#include <functional>
-
-
-
-#include <xercesc/dom/DOM_Document.hpp>
-
-
-
-#include <XalanDOM/XalanDOMException.hpp>
-#include <XalanDOM/XalanNode.hpp>
-
-
-
-XercesToXalanNodeMap::XercesToXalanNodeMap() :
-	m_xalanMap(),
-	m_xercesMap()
-{
-}
-
-
-
-XercesToXalanNodeMap::~XercesToXalanNodeMap()
-{
-}
-
-
-
-void
-XercesToXalanNodeMap::addAssociation(
-			const DOM_Node&		theXercesNode,
-			XalanNode*			theXalanNode)
-{
-	NodeImpl* const		theImpl = XercesDOM_NodeHack::getImpl(theXercesNode);
-
-	m_xercesMap.insert(XercesNodeMapType::value_type(theImpl, theXalanNode));
-}
-
-
-
-void
-XercesToXalanNodeMap::clear()
-{
-	m_xalanMap.clear();
-	m_xercesMap.clear();
-}
-
-
-
-NodeImpl*
-XercesToXalanNodeMap::getNodeImpl(const XalanNode*	theXalanNode) const
-{
-#if !defined(XALAN_NO_NAMESPACES)
-	using std::find_if;
-#endif
-
-	const XercesNodeMapType::const_iterator		i =
-		find_if(m_xercesMap.begin(),
-				m_xercesMap.end(),
-				NameMapEqualsFunctor(theXalanNode));
-
-	if (i != m_xercesMap.end())
-	{
-		return (*i).first;
-	}
-	else
-	{
-		return 0;
-	}
-}
diff --git a/src/XercesParserLiaison/XercesToXalanNodeMap.hpp b/src/XercesParserLiaison/XercesToXalanNodeMap.hpp
deleted file mode 100644
index d948682..0000000
--- a/src/XercesParserLiaison/XercesToXalanNodeMap.hpp
+++ /dev/null
@@ -1,175 +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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESTOXALANNODEMAP_HEADER_GUARD_1357924680)
-#define XERCESTOXALANNODEMAP_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-#include <map>
-
-
-
-#include <xercesc/dom/DOM_Node.hpp>
-
-
-
-#include <XercesParserLiaison/XercesDOM_NodeHack.hpp>
-
-
-
-class NodeImpl;
-class XalanNode;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesToXalanNodeMap
-{
-public:
-
-#if defined(XALAN_NO_NAMESPACES)
-	typedef map<XalanNode*, NodeImpl*, less<XalanNode*> >	XalanNodeMapType;
-
-	typedef map<NodeImpl*, XalanNode*, less<NodeImpl*> >	XercesNodeMapType;
-#else
-	typedef std::map<XalanNode*, NodeImpl*>	XalanNodeMapType;
-
-	typedef std::map<NodeImpl*, XalanNode*>	XercesNodeMapType;
-#endif
-
-	XercesToXalanNodeMap();
-
-	~XercesToXalanNodeMap();
-
-	void
-	addAssociation(
-			const DOM_Node&		theXercesNode,
-			XalanNode*			theXalanNode);
-
-	void
-	clear();
-
-	XalanNode*
-	getNode(const DOM_Node&		theXercesNode) const
-	{
-		return getNode(XercesDOM_NodeHack::getImpl(theXercesNode));
-	}
-
-	XalanNode*
-	getNode(NodeImpl*	theXercesNodeImpl) const
-	{
-		const XercesNodeMapType::const_iterator		i =
-				m_xercesMap.find(theXercesNodeImpl);
-
-		if (i == m_xercesMap.end())
-		{
-			return 0;
-		}
-		else
-		{
-			return (*i).second;
-		}
-	}
-
-	DOM_Node
-	getNode(const XalanNode*	theXalanNode) const
-	{
-		return XercesDOM_NodeHack(getNodeImpl(theXalanNode));
-	}
-
-	NodeImpl*
-	getNodeImpl(const XalanNode*	theXalanNode) const;
-
-	class NameMapEqualsFunctor
-	{
-	public:
-
-		NameMapEqualsFunctor(const XalanNode*	theXalanNode) :
-			m_value(theXalanNode)
-		{
-		}
-
-		bool
-		operator()(const XercesNodeMapType::value_type&		thePair) const
-		{
-			return m_value == thePair.second;
-		}
-
-	private:
-
-		const XalanNode*	m_value;
-	};
-
-	NodeImpl*
-	getNodeImpl(const DOM_Node&		theXercesNode) const
-	{
-		return XercesDOM_NodeHack::getImpl(theXercesNode);
-	}
-
-private:
-
-	XalanNodeMapType	m_xalanMap;
-
-	XercesNodeMapType	m_xercesMap;
-};
-
-
-
-#endif	// !defined(XERCESTOXALANNODEMAP_HEADER_GUARD_1357924680)
diff --git a/src/XercesParserLiaison/XercesTreeWalker.cpp b/src/XercesParserLiaison/XercesTreeWalker.cpp
deleted file mode 100644
index 0b8eac0..0000000
--- a/src/XercesParserLiaison/XercesTreeWalker.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file.
-#include "XercesTreeWalker.hpp"
-
-
-
-// Xerces header files...
-#include <xercesc/dom/DOM_Node.hpp>
-
-
-
-XercesTreeWalker::XercesTreeWalker()
-{
-}
-
-
-
-XercesTreeWalker::~XercesTreeWalker()
-{
-}
-
-
-
-void
-XercesTreeWalker::traverse(const DOM_Node&	pos)
-{
-	DOM_Node	thePos(pos);
-
-	while(thePos != 0)
-	{
-		startNode(thePos);
-
-		DOM_Node	nextNode = thePos.getFirstChild();
-
-		while(nextNode == 0)
-		{
-			endNode(thePos);
-
-			nextNode = pos.getNextSibling();
-
-			if(nextNode == 0)
-			{
-				thePos = thePos.getParentNode();
-
-				if(thePos == 0)
-				{
-					nextNode = thePos;
-
-					break;
-				}
-			}
-		}
-
-		thePos = nextNode;
-	}
-}
-
-
-
-void
-XercesTreeWalker::traverse(
-			const DOM_Node&		pos,
-			const DOM_Node&		parent)
-{
-	DOM_Node	thePos(pos);
-
-	while(parent != thePos)
-	{	  
-		startNode(thePos);
-	  
-		DOM_Node	nextNode = thePos.getFirstChild();
-
-		while(nextNode == 0)
-		{
-			endNode(thePos);
-
-			nextNode = thePos.getNextSibling();
-
-			if(nextNode == 0)
-			{
-				thePos = thePos.getParentNode();
-
-				if(parent == thePos)
-				{
-					nextNode = thePos;
-
-					break;
-				}
-			}
-		}
-
-		thePos = nextNode;
-	}
-}
diff --git a/src/XercesParserLiaison/XercesTreeWalker.hpp b/src/XercesParserLiaison/XercesTreeWalker.hpp
deleted file mode 100644
index e302754..0000000
--- a/src/XercesParserLiaison/XercesTreeWalker.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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, International
- * Business Machines, Inc., http://www.ibm.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XERCESTREEWALKER_HEADER_GUARD_1357924680)
-#define XERCESTREEWALKER_HEADER_GUARD_1357924680
-
-
-
-#include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
-
-
-
-class DOM_Node;
-
-
-
-class XALAN_XERCESPARSERLIAISON_EXPORT XercesTreeWalker
-{
-public:
-
-	/**
-	 * Constructor.
-	 */
-	XercesTreeWalker();
-
-	virtual
-	~XercesTreeWalker();
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 */
-	virtual void
-	traverse(const DOM_Node&	pos);
-
-	/**
-	 * Perform a pre-order traversal non-recursive style.
-	 */
-	virtual void
-	traverse(
-			const DOM_Node&		pos,
-			const DOM_Node&		parent);
-
-protected:
-
-	virtual void
-	startNode(const DOM_Node&	node) = 0;
-
-	virtual void
-	endNode(const DOM_Node&	node) = 0;
-};
-
-
-
-#endif	// XERCESTREEWALKER_HEADER_GUARD_1357924680
diff --git a/src/config.guess b/src/config.guess
deleted file mode 100644
index 308d195..0000000
--- a/src/config.guess
+++ /dev/null
@@ -1,1291 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-#   Free Software Foundation, Inc.
-
-version='2000-10-03'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of this system.
-
-Operation modes:
-  -h, --help               print this help, then exit
-  -V, --version            print version number, then exit"
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case "$1" in
-    --version | --vers* | -V )
-       echo "$version" ; exit 0 ;;
-    --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       exec >&2
-       echo "$me: invalid option $1"
-       echo "$help"
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
-  if test x"$HOST_CC" != x; then
-    CC_FOR_BUILD="$HOST_CC"
-  else
-    if test x"$CC" != x; then
-      CC_FOR_BUILD="$CC"
-    else
-      CC_FOR_BUILD=cc
-    fi
-  fi
-fi
-
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# Netbsd (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	# Determine the machine/vendor (is the vendor relevant).
-	case "${UNAME_MACHINE}" in
-	    amiga) machine=m68k-unknown ;;
-	    arm32) machine=arm-unknown ;;
-	    atari*) machine=m68k-atari ;;
-	    sun3*) machine=m68k-sun ;;
-	    mac68k) machine=m68k-apple ;;
-	    macppc) machine=powerpc-apple ;;
-	    hp3[0-9][05]) machine=m68k-hp ;;
-	    ibmrt|romp-ibm) machine=romp-ibm ;;
-	    *) machine=${UNAME_MACHINE}-unknown ;;
-	esac
-	# The Operating System including object format.
-	if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-		| grep __ELF__ >/dev/null
-	then
-	    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-	    # Return netbsd for either.  FIX?
-	    os=netbsd
-	else
-	    os=netbsdelf
-	fi
-	# The OS release
-	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit 0 ;;
-    alpha:OSF1:*:*)
-	if test $UNAME_RELEASE = "V4.0"; then
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-	fi
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	cat <<EOF >$dummy.s
-	.data
-\$Lformat:
-	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-	.text
-	.globl main
-	.align 4
-	.ent main
-main:
-	.frame \$30,16,\$26,0
-	ldgp \$29,0(\$27)
-	.prologue 1
-	.long 0x47e03d80 # implver \$0
-	lda \$2,-1
-	.long 0x47e20c21 # amask \$2,\$1
-	lda \$16,\$Lformat
-	mov \$0,\$17
-	not \$1,\$18
-	jsr \$26,printf
-	ldgp \$29,0(\$26)
-	mov 0,\$16
-	jsr \$26,exit
-	.end main
-EOF
-	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		case `./$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-		esac
-	fi
-	rm -f $dummy.s $dummy
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit 0 ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit 0 ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit 0 ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit 0;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit 0 ;;
-    arc64:OpenBSD:*:*)
-	echo mips64el-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hkmips:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:OS/390:*:*)
-	echo i390-ibm-mvs${UNAME_RELEASE}
-	exit 0 ;;
-    *:z/OS:*:*)
-	echo i390-ibm-mvs${UNAME_RELEASE}
-	exit 0 ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
-    SR2?01:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit 0;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit 0 ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit 0 ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit 0 ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
-    sun3*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit 0 ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit 0 ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy \
-	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit 0 ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit 0 ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit 0 ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
- 	exit 0 ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit 0 ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit 0 ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit 0 ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i?86:AIX:*:*)
-	echo i386-ibm-aix
-	exit 0 ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-		rm -f $dummy.c $dummy
-		echo rs6000-ibm-aix3.2.5
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit 0 ;;
-    *:AIX:*:4)
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=4.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit 0 ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit 0 ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit 0 ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit 0 ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit 0 ;;
-    9000/[34678]??:HP-UX:*:*)
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-              sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
-EOF
-	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-	rm -f $dummy.c $dummy
-	esac
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    3050*:HI-UX:*:*)
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit 0 ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit 0 ;;
-    *9??*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit 0 ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit 0 ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit 0 ;;
-    i?86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit 0 ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit 0 ;;
-    hppa*:OpenBSD:*:*)
-	echo hppa-unknown-openbsd
-	exit 0 ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit 0 ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit 0 ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit 0 ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit 0 ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*X-MP:*:*:*)
-	echo xmp-cray-unicos
-        exit 0 ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE}
-	exit 0 ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-	exit 0 ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*T3E:*:*:*)
-	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY-2:*:*:*)
-	echo cray2-cray-unicos
-        exit 0 ;;
-    F300:UNIX_System_V:*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    F301:UNIX_System_V:*:*)
-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
-       exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:FreeBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit 0 ;;
-    i*:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit 0 ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit 0 ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i386-pc-interix
-	exit 0 ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit 0 ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit 0 ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    *:GNU:*:*)
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit 0 ;;
-    *:Linux:*:*)
-
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	ld_supported_emulations=`cd /; ld --help 2>&1 \
-			 | sed -ne '/supported emulations:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported emulations: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_emulations" in
-	  *ia64)
-		echo "${UNAME_MACHINE}-unknown-linux"
-		exit 0
-		;;
-	  i?86linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0
-		;;
-	  elf_i?86)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  i?86coff)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0
-		;;
-	  sparclinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  armlinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  elf32arm*)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
-		exit 0
-		;;
-	  armelf_linux*)
-		echo "${UNAME_MACHINE}-unknown-linux-gnu"
-		exit 0
-		;;
-	  m68klinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  elf32ppc | elf32ppclinux)
-		# Determine Lib Version
-		cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
-     int argc;
-     char *argv[];
-{
-#if defined(__GLIBC__)
-  printf("%s %s\n", __libc_version, __libc_release);
-#else
-  printf("unkown\n");
-#endif
-  return 0;
-}
-EOF
-		LIBC=""
-		$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
-		if test "$?" = 0 ; then
-			./$dummy | grep 1\.99 > /dev/null
-			if test "$?" = 0 ; then
-				LIBC="libc1"
-			fi
-		fi
-		rm -f $dummy.c $dummy
-		echo powerpc-unknown-linux-gnu${LIBC}
-		exit 0
-		;;
-	  shelf_linux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnu"
-		exit 0
-		;;
-	esac
-
-	if test "${UNAME_MACHINE}" = "alpha" ; then
-		cat <<EOF >$dummy.s
-			.data
-		\$Lformat:
-			.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-			.text
-			.globl main
-			.align 4
-			.ent main
-		main:
-			.frame \$30,16,\$26,0
-			ldgp \$29,0(\$27)
-			.prologue 1
-			.long 0x47e03d80 # implver \$0
-			lda \$2,-1
-			.long 0x47e20c21 # amask \$2,\$1
-			lda \$16,\$Lformat
-			mov \$0,\$17
-			not \$1,\$18
-			jsr \$26,printf
-			ldgp \$29,0(\$26)
-			mov 0,\$16
-			jsr \$26,exit
-			.end main
-EOF
-		LIBC=""
-		$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-		if test "$?" = 0 ; then
-			case `./$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-			esac
-
-			objdump --private-headers $dummy | \
-			  grep ld.so.1 > /dev/null
-			if test "$?" = 0 ; then
-				LIBC="libc1"
-			fi
-		fi
-		rm -f $dummy.s $dummy
-		echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
-	elif test "${UNAME_MACHINE}" = "mips" ; then
-	  cat >$dummy.c <<EOF
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
-  printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
-  printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-	  rm -f $dummy.c $dummy
-	elif test "${UNAME_MACHINE}" = "s390"; then
-	  echo s390-ibm-linux && exit 0
-	elif test "${UNAME_MACHINE}" = "x86_64"; then
-	  echo x86_64-unknown-linux-gnu && exit 0
-	else
-	  # Either a pre-BFD a.out linker (linux-gnuoldld)
-	  # or one that does not give us useful --help.
-	  # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
-	  # If ld does not provide *any* "supported emulations:"
-	  # that means it is gnuoldld.
-	  test -z "$ld_supported_emulations" \
-	    && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
-	  case "${UNAME_MACHINE}" in
-	  i?86)
-	    VENDOR=pc;
-	    ;;
-	  *)
-	    VENDOR=unknown;
-	    ;;
-	  esac
-	  # Determine whether the default compiler is a.out or elf
-	  cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-	  rm -f $dummy.c $dummy
-	  test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
-	fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
-# are messed up and put the nodename in both sysname and nodename.
-    i?86:DYNIX/ptx:4*:*)
-	echo i386-sequent-sysv4
-	exit 0 ;;
-    i?86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit 0 ;;
-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit 0 ;;
-    i?86:*:5:7*)
-        # Fixed at (any) Pentium or better
-        UNAME_MACHINE=i586
-        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
-	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
-	else
-	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-	fi
-	exit 0 ;;
-    i?86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit 0 ;;
-    i?86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit 0 ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
-        exit 0 ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit 0 ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit 0 ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit 0 ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit 0 ;;
-    M68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit 0 ;;
-    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit 0 ;;
-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                           # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit 0 ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes@openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
-    *:*:*:FTX*)
-	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit 0 ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit 0 ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit 0 ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit 0 ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit 0 ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit 0 ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Darwin:*:*)
-	echo `uname -p`-apple-darwin${UNAME_RELEASE}
-	exit 0 ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	if test "${UNAME_MACHINE}" = "x86pc"; then
-		UNAME_MACHINE=pc
-	fi
-	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
-	exit 0 ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit 0 ;;
-    NSR-[KW]:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit 0 ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit 0 ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit 0 ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
-  printf ("vax-dec-bsd\n"); exit (0);
-#else
-  printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit 0 ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit 0 ;;
-    c34*)
-	echo c34-convex-bsd
-	exit 0 ;;
-    c38*)
-	echo c38-convex-bsd
-	exit 0 ;;
-    c4*)
-	echo c4-convex-bsd
-	exit 0 ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-The $version version of this script cannot recognize your system type.
-Please download the most up to date version of the config scripts:
-
-    ftp://ftp.gnu.org/pub/gnu/config/
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess version = $version
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "version='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/src/config.sub b/src/config.sub
deleted file mode 100644
index 35a112d..0000000
--- a/src/config.sub
+++ /dev/null
@@ -1,1328 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-#   Free Software Foundation, Inc.
-
-version='2000-09-11'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Please send patches to <config-patches@gnu.org>.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help               print this help, then exit
-  -V, --version            print version number, then exit"
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case "$1" in
-    --version | --vers* | -V )
-       echo "$version" ; exit 0 ;;
-    --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       exec >&2
-       echo "$me: invalid option $1"
-       echo "$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit 0;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis)
-		os=
-		basic_machine=$1
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
-		| arme[lb] | armv[2345] | armv[345][lb] | pyramid | mn10200 | mn10300 | tron | a29k \
-		| 580 | i960 | h8300 \
-		| x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
-		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-		| hppa64 \
-		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
-		| alphaev6[78] \
-		| we32k | ns16k | clipper | i390 | sh | sh[34] \
-		| powerpc | powerpcle \
-		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
-		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
-		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-		| mips64vr5000 | miprs64vr5000el | mcore \
-		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
-		| thumb | d10v | d30v | fr30 | avr)
-		basic_machine=$basic_machine-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i[234567]86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	# FIXME: clean up the formatting here.
-	vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
-	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
-	      | xmp-* | ymp-* \
-	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
-	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
-	      | hppa2.0n-* | hppa64-* \
-	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
-	      | alphaev6[78]-* \
-	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
-	      | clipper-* | orion-* \
-	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
-	      | mips64el-* | mips64orion-* | mips64orionel-* \
-	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
-	      | mipstx39-* | mipstx39el-* | mcore-* \
-	      | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
-	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
-	      | bs2000-* | tic54x-* | c54x-* | x86_64-*)
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	cray2)
-		basic_machine=cray2-cray
-		os=-unicos
-		;;
-	[ctj]90-cray)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i390-ibm* | ibm*)
-		basic_machine=i390-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i[34567]86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i[34567]86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i[34567]86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i[34567]86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	i386-go32 | go32)
-		basic_machine=i386-unknown
-		os=-go32
-		;;
-	i386-mingw32 | mingw32)
-		basic_machine=i386-unknown
-		os=-mingw32
-		;;
-	i[34567]86-pw32 | pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mipsel*-linux*)
-		basic_machine=mipsel-unknown
-		os=-linux-gnu
-		;;
-	mips*-linux*)
-		basic_machine=mips-unknown
-		os=-linux-gnu
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	msdos)
-		basic_machine=i386-unknown
-		os=-msdos
-		;;
-	mvs)
-		basic_machine=i390-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-        pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pentium | p5 | k5 | k6 | nexen)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexen-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=rs6000-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-	        ;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-	        ;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sparclite-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=t3e-cray
-		os=-unicos
-		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xmp)
-		basic_machine=xmp-cray
-		os=-unicos
-		;;
-        xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	mips)
-		if [ x$os = x-linux-gnu ]; then
-			basic_machine=mips-unknown
-		else
-			basic_machine=mips-mips
-		fi
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh3 | sh4)
-		base_machine=sh-unknown
-		;;
-	sparc | sparcv9)
-		basic_machine=sparc-sun
-		;;
-        cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	c4x*)
-		basic_machine=c4x-none
-		os=-coff
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i[34567]86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto*)
-		os=-nto-qnx
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-ns2 )
-	        os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-        -*mint | -*MiNT)
-	        os=-mint
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-        pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i390-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-        *-gould)
-		os=-sysv
-		;;
-        *-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-        *-sgi)
-		os=-irix
-		;;
-        *-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f301-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-vxsim* | -vxworks*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -*MiNT)
-				vendor=atari
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "version='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/src/configure b/src/configure
deleted file mode 100755
index a02b304..0000000
--- a/src/configure
+++ /dev/null
@@ -1,1630 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
-    ac_prev=
-    continue
-  fi
-
-  case "$ac_option" in
-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) ac_optarg= ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case "$ac_option" in
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir="$ac_optarg" ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build="$ac_optarg" ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file="$ac_optarg" ;;
-
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
-    datadir="$ac_optarg" ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    eval "enable_${ac_feature}=no" ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_${ac_feature}='$ac_optarg'" ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix="$ac_optarg" ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he)
-    # Omit some internal or obsolete options to make the list less imposing.
-    # This message is too long to be a string in the A/UX 3.1 sh.
-    cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
-  --cache-file=FILE       cache test results in FILE
-  --help                  print this message
-  --no-create             do not create output files
-  --quiet, --silent       do not print \`checking...' messages
-  --version               print the version of autoconf that created configure
-Directory and file names:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-  --datadir=DIR           read-only architecture-independent data in DIR
-                          [PREFIX/share]
-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-                          [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-  --includedir=DIR        C header files in DIR [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-  --infodir=DIR           info documentation in DIR [PREFIX/info]
-  --mandir=DIR            man documentation in DIR [PREFIX/man]
-  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-  --program-prefix=PREFIX prepend PREFIX to installed program names
-  --program-suffix=SUFFIX append SUFFIX to installed program names
-  --program-transform-name=PROGRAM
-                          run sed PROGRAM on installed program names
-EOF
-    cat << EOF
-Host type:
-  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-  --host=HOST             configure for HOST [guessed]
-  --target=TARGET         configure for TARGET [TARGET=HOST]
-Features and packages:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --x-includes=DIR        X include files are in DIR
-  --x-libraries=DIR       X library files are in DIR
-EOF
-    if test -n "$ac_help"; then
-      echo "--enable and --with options recognized:$ac_help"
-    fi
-    exit 0 ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host="$ac_optarg" ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir="$ac_optarg" ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir="$ac_optarg" ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir="$ac_optarg" ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir="$ac_optarg" ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    localstatedir="$ac_optarg" ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir="$ac_optarg" ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir="$ac_optarg" ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix="$ac_optarg" ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix="$ac_optarg" ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix="$ac_optarg" ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name="$ac_optarg" ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir="$ac_optarg" ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir="$ac_optarg" ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site="$ac_optarg" ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir="$ac_optarg" ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir="$ac_optarg" ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target="$ac_optarg" ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13"
-    exit 0 ;;
-
-  -with-* | --with-*)
-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_${ac_package}='$ac_optarg'" ;;
-
-  -without-* | --without-*)
-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    eval "with_${ac_package}=no" ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes="$ac_optarg" ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries="$ac_optarg" ;;
-
-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-    ;;
-
-  *)
-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-      echo "configure: warning: $ac_option: invalid host type" 1>&2
-    fi
-    if test "x$nonopt" != xNONE; then
-      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-    fi
-    nonopt="$ac_option"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
-  case "$ac_arg" in
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c) ;;
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-  esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set.  These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=PlatformSupport/PlatformSupportDefinitions.hpp
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-  srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-  else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-  fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
-fi
-for ac_site_file in $CONFIG_SITE; do
-  if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
-else
-  echo "creating cache $cache_file"
-  > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:529: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="gcc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:559: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_prog_rejected=no
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-        ac_prog_rejected=yes
-	continue
-      fi
-      ac_cv_prog_CC="cc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# -gt 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    set dummy "$ac_dir/$ac_word" "$@"
-    shift
-    ac_cv_prog_CC="$@"
-  fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-  if test -z "$CC"; then
-    case "`uname -s`" in
-    *win32* | *WIN32*)
-      # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:610: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="cl"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
- ;;
-    esac
-  fi
-  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:642: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 653 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  ac_cv_prog_cc_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cc_cross=no
-  else
-    ac_cv_prog_cc_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
-  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:684: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:689: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gcc=yes
-else
-  ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:717: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-  ac_cv_prog_cc_g=yes
-else
-  ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-
-for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:753: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CXX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
-  echo "$ac_t""$CXX" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$CXX" && break
-done
-test -n "$CXX" || CXX="gcc"
-
-
-echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:785: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
-
-ac_ext=C
-# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cxx_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 796 "configure"
-#include "confdefs.h"
-
-int main(){return(0);}
-EOF
-if { (eval echo configure:801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  ac_cv_prog_cxx_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cxx_cross=no
-  else
-    ac_cv_prog_cxx_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cxx_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
-if test $ac_cv_prog_cxx_works = no; then
-  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:827: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
-cross_compiling=$ac_cv_prog_cxx_cross
-
-echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:832: checking whether we are using GNU C++" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.C <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gxx=yes
-else
-  ac_cv_prog_gxx=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gxx" 1>&6
-
-if test $ac_cv_prog_gxx = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-
-ac_test_CXXFLAGS="${CXXFLAGS+set}"
-ac_save_CXXFLAGS="$CXXFLAGS"
-CXXFLAGS=
-echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:860: checking whether ${CXX-g++} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
-  ac_cv_prog_cxx_g=yes
-else
-  ac_cv_prog_cxx_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS="$ac_save_CXXFLAGS"
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:922: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
-  for ac_dir in $PATH; do
-    # Account for people who put trailing slashes in PATH elements.
-    case "$ac_dir/" in
-    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-    *)
-      # OSF1 and SCO ODT 3.0 have their own names for install.
-      # Don't use installbsd from OSF since it installs stuff as root
-      # by default.
-      for ac_prog in ginstall scoinst install; do
-        if test -f $ac_dir/$ac_prog; then
-	  if test $ac_prog = install &&
-            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  else
-	    ac_cv_path_install="$ac_dir/$ac_prog -c"
-	    break 2
-	  fi
-	fi
-      done
-      ;;
-    esac
-  done
-  IFS="$ac_save_IFS"
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL="$ac_cv_path_install"
-  else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
-    INSTALL="$ac_install_sh"
-  fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-# Extract the first word of "autoconf", so it can be a program name with args.
-set dummy autoconf; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:977: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AUTOCONF'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$AUTOCONF"; then
-  ac_cv_prog_AUTOCONF="$AUTOCONF" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_AUTOCONF="autoconf"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_AUTOCONF" && ac_cv_prog_AUTOCONF="true"
-fi
-fi
-AUTOCONF="$ac_cv_prog_AUTOCONF"
-if test -n "$AUTOCONF"; then
-  echo "$ac_t""$AUTOCONF" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-echo $ac_n "checking for floor in -lm""... $ac_c" 1>&6
-echo "configure:1006: checking for floor in -lm" >&5
-ac_lib_var=`echo m'_'floor | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lm  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1014 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char floor();
-
-int main() {
-floor()
-; return 0; }
-EOF
-if { (eval echo configure:1025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lm $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1055: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    # This must be in double quotes, not single quotes, because CPP may get
-  # substituted into the Makefile and "${CC-cc}" will confuse make.
-  CPP="${CC-cc} -E"
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp.
-  cat > conftest.$ac_ext <<EOF
-#line 1070 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -E -traditional-cpp"
-  cat > conftest.$ac_ext <<EOF
-#line 1087 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -nologo -E"
-  cat > conftest.$ac_ext <<EOF
-#line 1104 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-  ac_cv_prog_CPP="$CPP"
-fi
-  CPP="$ac_cv_prog_CPP"
-else
-  ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1135: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1140 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1148: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  ac_cv_header_stdc=yes
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 1165 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "memchr" >/dev/null 2>&1; then
-  :
-else
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 1183 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "free" >/dev/null 2>&1; then
-  :
-else
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
-  :
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1204 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:1215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  :
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
-  cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-echo $ac_n "checking for XMLByte""... $ac_c" 1>&6
-echo "configure:1239: checking for XMLByte" >&5
-if eval "test \"`echo '$''{'ac_cv_type_XMLByte'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1244 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "(^|[^a-zA-Z_0-9])XMLByte[^a-zA-Z_0-9]" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_type_XMLByte=yes
-else
-  rm -rf conftest*
-  ac_cv_type_XMLByte=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_XMLByte" 1>&6
-if test $ac_cv_type_XMLByte = no; then
-  cat >> confdefs.h <<\EOF
-#define XMLByte unsigned char
-EOF
-
-fi
-
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1279: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
-  case $nonopt in
-  NONE)
-    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
-    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-    fi ;;
-  *) host_alias=$nonopt ;;
-  esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-
-case "${host}" in
-        *-*-solaris*)   platform=SOLARIS ;;
-        *-*-linux*)     platform=LINUX ;;
-        *-*-irix*)      platform=IRIX ;;
-        *-*-aix*)       platform=AIX ;;
-        *-*-hp*)        platform=HPUX ;
-                        case "${host}" in
-                            *-*-hpux11*)  osver=HPUX11;;
-                            *-*-hpux10*)  osver=HPUX10;;
-                            *)            osver=HPUX11;;
-                        esac;;
-        *-*-mvs*)       platform=OS390 ;;
-        *-*-osf*)       platform=TRU64 ;;
-        *-apple-darwin*)       platform=MACOSX ;;
-        *)              platform=UNKNOWN ;;
-esac
-
-
-cxx=${CXX}
-
-
-cc=${CC}
-
-
-
-
-
-cxxflags=${CXXFLAGS}
-
-
-cppflags=${CPPFLAGS}
-
-
-cflags=${CFLAGS}
-
-
-ldflags=${LDCFLAGS}
-
-
-libs=${LIBS}
-
-
-uselibwww=${USELIBWWW}
-
-
-messageloader=${MESSAGELOADER}
-
-
-transcoder=${TRANSCODER}
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\n' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
-  case "\$ac_option" in
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.13"
-    exit 0 ;;
-  -help | --help | --hel | --he | --h)
-    echo "\$ac_cs_usage"; exit 0 ;;
-  *) echo "\$ac_cs_usage"; exit 1 ;;
-  esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@CPP@%$CPP%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@platform@%$platform%g
-s%@cxx@%$cxx%g
-s%@cc@%$cc%g
-s%@osver@%$osver%g
-s%@cxxflags@%$cxxflags%g
-s%@cppflags@%$cppflags%g
-s%@cflags@%$cflags%g
-s%@ldflags@%$ldflags%g
-s%@libs@%$libs%g
-s%@uselibwww@%$uselibwww%g
-s%@messageloader@%$messageloader%g
-s%@transcoder@%$transcoder%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
-  if test $ac_beg -gt 1; then
-    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-  else
-    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-  fi
-  if test ! -s conftest.s$ac_file; then
-    ac_more_lines=false
-    rm -f conftest.s$ac_file
-  else
-    if test -z "$ac_sed_cmds"; then
-      ac_sed_cmds="sed -f conftest.s$ac_file"
-    else
-      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-    fi
-    ac_file=`expr $ac_file + 1`
-    ac_beg=$ac_end
-    ac_end=`expr $ac_end + $ac_max_sed_cmds`
-  fi
-done
-if test -z "$ac_sed_cmds"; then
-  ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-    # The file is in a subdirectory.
-    test ! -d "$ac_dir" && mkdir "$ac_dir"
-    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-    # A "../" for each directory in $ac_dir_suffix.
-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-  else
-    ac_dir_suffix= ac_dots=
-  fi
-
-  case "$ac_given_srcdir" in
-  .)  srcdir=.
-      if test -z "$ac_dots"; then top_srcdir=.
-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-  *) # Relative path.
-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-    top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  case "$ac_given_INSTALL" in
-  [/$]*) INSTALL="$ac_given_INSTALL" ;;
-  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-  esac
-
-  echo creating "$ac_file"
-  rm -f "$ac_file"
-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-  case "$ac_file" in
-  *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
-  *) ac_comsub= ;;
-  esac
-
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/src/configure.in b/src/configure.in
deleted file mode 100644
index 4a0fd10..0000000
--- a/src/configure.in
+++ /dev/null
@@ -1,70 +0,0 @@
-dnl Process this file with autoconf to produce a configure script
-AC_INIT(PlatformSupport/PlatformSupportDefinitions.hpp)
-
-dnl Checks for programs
-AC_PROG_CC
-AC_PROG_CXX
-AC_PROG_INSTALL
-AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
-
-dnl Checks for libraries
-AC_CHECK_LIB(m, floor)
-
-dnl
-dnl Do not know how to use this macro, so comment it out.
-dnl
-dnl special pthread handling (AIX uses pthreads instead of pthread)
-dnl AC_CHECK_LIB(pthread, pthread_create)
-dnl if test $ac_cv_lib_pthread_pthread_create = no; then
-dnl AC_CHECK_LIB(pthreads, pthread_create)
-dnl fi
-dnl
-
-dnl Determine the host system and Makefile fragment
-AC_CANONICAL_HOST
-
-dnl Platform-specific Makefile setup
-case "${host}" in
-        *-*-solaris*)   platform=SOLARIS ;;
-        *-*-linux*)     platform=LINUX ;;
-        *-*-irix*)      platform=IRIX ;;
-        *-*-aix*)       platform=AIX ;;
-        *-*-hp*)        platform=HPUX ;
-                        case "${host}" in
-                            *-*-hpux11*)  osver=HPUX11;;
-                            *-*-hpux10*)  osver=HPUX10;;
-                            *)            osver=HPUX11;;
-                        esac;;
-        *-*-mvs*)       platform=OS390 ;;
-        *-*-osf*)       platform=TRU64 ;;
-        *-apple-darwin*)       platform=MACOSX ;;
-        *)              platform=UNKNOWN ;;
-esac
-AC_SUBST(platform)
-
-cxx=${CXX}
-AC_SUBST(cxx)
-
-cc=${CC}
-AC_SUBST(cc)
-
-AC_SUBST(prefix)
-AC_SUBST(osver)
-
-cxxflags=${CXXFLAGS}
-AC_SUBST(cxxflags)
-
-cppflags=${CPPFLAGS}
-AC_SUBST(cppflags)
-
-cflags=${CFLAGS}
-AC_SUBST(cflags)
-
-ldflags=${LDCFLAGS}
-AC_SUBST(ldflags)
-
-libs=${LIBS}
-AC_SUBST(libs)
-
-dnl output the Makefiles
-+AC_OUTPUT([Makefile])
diff --git a/src/install-sh b/src/install-sh
deleted file mode 100644
index e9de238..0000000
--- a/src/install-sh
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd="$cpprog"
-	    shift
-	    continue;;
-
-	-d) dir_arg=true
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd="$stripprog"
-	    shift
-	    continue;;
-
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
-
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
-
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-	echo "install:	no input file specified"
-	exit 1
-else
-	true
-fi
-
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-	
-	if [ -d $dst ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=mkdir
-	fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-	if [ -f $src -o -d $src ]
-	then
-		true
-	else
-		echo "install:  $src does not exist"
-		exit 1
-	fi
-	
-	if [ x"$dst" = x ]
-	then
-		echo "install:	no destination specified"
-		exit 1
-	else
-		true
-	fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-	if [ -d $dst ]
-	then
-		dst="$dst"/`basename $src`
-	else
-		true
-	fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='	
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-	pathcomp="${pathcomp}${1}"
-	shift
-
-	if [ ! -d "${pathcomp}" ] ;
-        then
-		$mkdirprog "${pathcomp}"
-	else
-		true
-	fi
-
-	pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd $dst &&
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-	if [ x"$transformarg" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		dstfile=`basename $dst $transformbasename | 
-			sed $transformarg`$transformbasename
-	fi
-
-# don't allow the sed command to completely eliminate the filename
-
-	if [ x"$dstfile" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		true
-	fi
-
-# Make a temp file name in the proper directory.
-
-	dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-	$doit $instcmd $src $dsttmp &&
-
-	trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-	$doit $rmcmd -f $dstdir/$dstfile &&
-	$doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
diff --git a/src/makedepends b/src/makedepends
deleted file mode 100644
index e5d16e8..0000000
--- a/src/makedepends
+++ /dev/null
@@ -1,147 +0,0 @@
-# Generated automatically from Makefile.in by configure.
-#
-# The Apache Software License, Version 1.1
-# 
-# Copyright (c) 1999-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", "Xerces" 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, International
-# Business Machines, Inc., http://www.ibm.com .  For more information
-# on the Apache Software Foundation, please see
-# <http://www.apache.org/>.
-# 
-#
-# $Log$
-# Revision 1.1  2000/02/10 13:09:19  jdonohue
-# Make dependencies file
-#
-#
-
-#=============== LINUX SPECIFIC OPTIONS =========================
-# This makefile only supported with gcc on linux
-PLATFORM =LINUX
-CC  = gcc
-CXX = g++
-PLATFORM_COMPILE_OPTIONS = -fpic -D${PLATFORM} -D_REENTRANT
-CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS)
-
-
-# We have to use the includes from the source distribution, since we use
-# headers that others normally wouldn't
-XSL_INCL = -I . -I $(XERCESCROOT)/src/
-
-###################################################################
-#                    IMPORTANT NOTE                               #
-###################################################################
-# Before you try to run the Makefile, make sure you have two      #
-# environment variables set.                                      #
-#                                                                 #
-# export XALANCROOT=<the directory where you installed XALAN-C>   #
-# export XERCESCROOT=<the directory where you installed XERCES-C> #
-#                                                                 #
-###################################################################
-
-
-ifndef XALANCROOT 
-noxalanroot:
-	@echo XALANCROOT must be defined
-endif
-
-ifndef XERCESCROOT 
-noxercesroot:
-	@echo XERCESCROOT must be defined
-endif
-
-DOMSUPPORT_DIR = DOMSupport
-INCLUDE_DIR = Include
-PLATFORMSUPPORT_DIR = PlatformSupport
-TESTXPATH_DIR = TestXPath
-TESTXSLT_DIR = TestXSLT
-XMLSUPPORT_DIR = XMLSupport
-XPATH_DIR = XPath
-XSLT_DIR = XSLT
-XERCESINIT_DIR = XercesInit
-XERCESPARSERLIAISON_DIR = XercesParserLiaison
-XERCESPLATFORMSUPPORT_DIR = XercesPlatformSupport
-ALL_OBJECTS_DIR = ${XALANCROOT}/obj
-
-
-vpath %.cpp \
-$(DOMSUPPORT_DIR):$(PLATFORMSUPPORT_DIR):$(TESTXPATH_DIR):$(TESTXSLT_DIR):\
-$(XMLSUPPORT_DIR):$(XPATH_DIR):$(XSLT_DIR):$(XERCESINIT_DIR):\
-$(XERCESPARSERLIAISON_DIR):$(XERCESPLATFORMSUPPORT_DIR)
-
-${ALL_OBJECTS_DIR}/%.o:%.cpp
-	$(CC1) -M $(XSL_INCL)  $< >> xxxdepends
-	echo "$< " | sed 's/\.cpp/\\.o/' | sed 's/^.*\///'  >xxx1
-	echo "$@" | sed 's/\.cpp/\\.o/'  >xxx2
-	paste xxx1 xxx2 | awk '{print "s#" $$1 "#" $$2 "#"}' >> xxxscr 
-	 
-ALLSOURCE = \
-	$(wildcard $(DOMSUPPORT_DIR)/*.cpp) \
-	$(wildcard $(PLATFORMSUPPORT_DIR)/*.cpp) \
-	$(wildcard $(XMLSUPPORT_DIR)/*.cpp) \
-	$(wildcard $(XPATH_DIR)/*.cpp) \
-	$(wildcard $(XSLT_DIR)/*.cpp) \
-	$(wildcard $(XERCESINIT_DIR)/*.cpp) \
-	$(wildcard $(XERCESPARSERLIAISON_DIR)/*.cpp) \
-	$(wildcard $(XERCESPLATFORMSUPPORT_DIR)/*.cpp) 
-
-ALL_OBJECTS = $(addprefix $(ALL_OBJECTS_DIR)/,$(addsuffix .o,$(basename $(notdir $(ALLSOURCE)))))
-
-all:	 prepare compile finish
-
-prepare:
-	-rm xxx*
-	-rm $(DEPENDSFILE)
-
-compile: $(ALL_OBJECTS)
-
-finish:
-	sed -f xxxscr xxxdepends > $(DEPFILE)
-	rm xxx*
-
diff --git a/src/runConfigure b/src/runConfigure
deleted file mode 100755
index 420be9c..0000000
--- a/src/runConfigure
+++ /dev/null
@@ -1,301 +0,0 @@
-#!/bin/sh
-
-
-#
-# 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, International
-# Business Machines, Inc., http://www.ibm.com .  For more information
-# on the Apache Software Foundation, please see
-# <http://www.apache.org/>.
-# 
-#
-# $Log$
-# Revision 1.8  2002/05/06 05:34:06  dbertoni
-# Implemented multiple compiler options.
-#
-# Revision 1.7  2001/11/27 14:29:43  dbertoni
-# Reverted previous changes.
-#
-# Revision 1.5  2001/08/14 16:10:18  dbertoni
-# Changes from James Berry <jberry@criticalpath.com> for Mac OS X support.
-#
-# Revision 1.4  2001/05/18 18:24:12  dbertoni
-# Added $compileroption to CXXFLAGS and CFLAGS.  Bug 1810
-#
-# Revision 1.3  2001/04/13 02:53:20  dbertoni
-# Changes for the TRU64 port.
-#
-# Revision 1.2  2001/03/15 15:56:36  dbertoni
-# Add -D NDEBUG to release builds to disable assertions.
-#
-# Revision 1.1  2000/01/27 19:57:43  jdonohue
-# Preliminary based on Xerces
-#
-# Revision 1.1  1999/12/21 01:13:53  jdonohue
-# Make for linux, etc
-#
-
-#
-#
-
-#
-# runConfigure:
-#    This script will run the "configure" script for the appropriate
-#    platform. Only supported platforms are recognized.
-#
-# The following variables are defined and exported at the end of this
-# script.
-#
-# LIBS
-# LDFLAGS
-# CXXFLAGS
-#
-
-usage()
-{
-    echo "runConfigure: Helper script to run \"configure\" for one of the supported platforms"
-    echo "Usage: runConfigure \"options\""
-    echo "       where options may be any of the following:"
-    echo "       -p <platform> (accepts 'aix', 'linux', 'solaris', 'hp-10', 'hp-11', 'irix', 'tru64', 'macosx' )"
-    echo "       -c <C compiler name> (e.g. gcc, cc, xlc)"
-    echo "       -x <C++ compiler name> (e.g. g++, CC, xlC)"
-    echo "       -d (specifies that you want to build debug version)"
-    echo "       -r <thread option> can be 'pthread' or 'dce' (only used on HP-11)"
-    echo "       -l <extra linker options>"
-    echo "       -z <extra compiler options>"
-    echo "       -C <any one extra configure options>"
-    echo "       -h (to get help on the above commands)"
-}
-
-ERROR_EXIT_CODE=1
-
-if test ${1}o = "o"; then
-   usage
-   exit ${ERROR_EXIT_CODE}
-fi
-
-if test ${XALANCROOT}o = "o"; then
-   echo ERROR : You have not set your XALANCROOT environment variable
-   echo Though this environment variable has nothing to do with creating makefiles,
-   echo this is just a general warning to prevent you from pitfalls in future. Please
-   echo set an environment variable called XALANCROOT to indicate where you installed
-   echo the XALAN-C files, and run this command again to proceed. See the documentation
-   echo for an example if you are still confused.
-   exit ${ERROR_EXIT_CODE}
-fi
-
-if test $1 = "-h"; then
-   usage
-   exit ${ERROR_EXIT_CODE}
-fi
-
-# Get the command line parameters
-set -- `getopt p:c:x:dm:n:t:r:l:z:h $*`
-if [ $? != 0 ]
-   then
-   usage
-   exit ${ERROR_EXIT_CODE}
-fi
-
-# Set up the default values for each parameter
-debug=off                # by default debug is off
-msgloader=inmem          # by default use native transcoder
-
-for i in $*
-   do
-   case $i in
-   -p) 
-        platform=$2; shift 2;;
-   
-   -c) 
-        ccompiler=$2; shift 2;;
-   
-   -x) 
-        cppcompiler=$2; shift 2;;
-   
-   -d) 
-        debug=on; shift;;
-   
-   -r) 
-        thread=$2; shift 2;;
-   
-   -l) 
-        linkeroption=$2; shift 2;;
-   
-   -z) 
-        compileroptions="$compileroptions $2"; shift 2;;
-   
-   -C)
-        configureoptions="$configureoptions $2"; shift 2;;
-
-   -h) 
-        usage
-        exit ${ERROR_EXIT_CODE};; 
-   
-   --) 
-        shift; break;; 
-   esac
-done
-
-echo "Generating makefiles with the following options ..."
-echo "Platform: $platform"
-echo "C Compiler: $ccompiler"
-echo "C++ Compiler: $cppcompiler"
-echo "Extra compile options: $compileroptions"
-echo "Extra link options: $linkeroption"
-echo "Thread option: $thread"
-echo "Extra configure options: $configureoptions"
-
-
-#
-# Now check if the options are correct or not, bail out if incorrect
-#
-
-case $platform in
-   aix | linux | solaris | hp-10 | hp-11 | irix | tru64 | macosx)
-       # platform has been recognized
-       ;;
-   *)
-      echo "I do not recognize the platform '$platform'. Please type '${0} -h' for help."
-      exit ${ERROR_EXIT_CODE};;
-esac
-
-
-#
-# Enable debugging or not...
-#
-
-if test $debug = "off"; then
-    echo "Debug is OFF"
-    debugflag="-O -DNDEBUG";
-else
-    echo "Debug is ON"
-    debugflag="-g";
-fi
-
-
-
-#
-# Check for the threading option only for hp-11
-#
-
-threadingLibs="-lpthread"
-if test $platform = "hp-11"; then
-    if test $thread; then
-    case $thread in
-       pthread)
-           ;;
-    
-       dce)
-           threadingLibs="-lcma";
-           threadingDefines="-D_PTHREADS_DRAFT4 -DXML_USE_DCE" ;;
-    
-       *)
-           echo "I do not recognize the thread option '$thread'. Please type '${0} -h' for help."
-           exit ${ERROR_EXIT_CODE};;
-    esac
-    fi
-elif test $platform = "aix"; then
-    threadingLibs="-lpthreads"
-elif test $platform = "hp-10"; then
-    threadingLibs="-lcma"
-    threadingDefines="-DXML_USE_DCE"
-fi
-
-
-
-
-#
-# Set the C compiler and C++ compiler environment variables
-#
-
-case $cppcompiler in
-   xlC | xlc | xlC_r | xlc_r | g++ | c++ | cc | CC | aCC | cxx)
-      ;;
-
-   *)
-      echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..." 
-      ;;
-esac
-
-CC="$ccompiler"
-export CC
-
-CXX="$cppcompiler"
-export CXX
-
-
-#
-# Set the extra C and C++ compiler flags
-#
-
-CXXFLAGS="$compileroptions $debugflag $transcodingDefines $threadingDefines"
-export CXXFLAGS
-
-CFLAGS="$compileroptions $debugflag $transcodingDefines $threadingDefines"
-export CFLAGS
-
-LIBS="$transcodingLibs $threadingLibs "
-export LIBS
-
-
-echo
-rm -f config.cache
-rm -f config.log
-rm -f config.status
-./configure $configureoptions
-
-echo
-echo If the result of the above commands look OK to you, go to the directory
-echo ${XALANCROOT}/src and type \"make\" to make the XALAN-C system.
-
-exit  0;
-
diff --git a/xdocs/DoxyfileXalan b/xdocs/DoxyfileXalan
deleted file mode 100644
index 09a620a..0000000
--- a/xdocs/DoxyfileXalan
+++ /dev/null
@@ -1,572 +0,0 @@
-# Doxyfile 1.1.2
-
-# Xerces-C Note: Make sure that you run Doxygen from the 'doc' directory
-#                where this configuraton file resides.
-
-# This file describes the settings to be used by doxygen for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of word surrounded
-# by quotes) that should identify the project. 
-
-PROJECT_NAME         = "Xalan-C++"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-# not using -- don't like where it appears; release num is in sources -- dml
-PROJECT_NUMBER       =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY     = ../Build
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are: 
-# Dutch, French, Italian, Czech, Swedish, German and Japanese
-
-OUTPUT_LANGUAGE      = English
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS             = YES
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX        = NO
-
-# If the EXTRACT_ALL tag is set to YES all classes and functions will be
-# included in the documentation, even if no documentation was available.
-
-EXTRACT_ALL          = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE      = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members inside documented classes or files.
-
-HIDE_UNDOC_MEMBERS   = YES
-
-# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all
-# undocumented classes.
-
-HIDE_UNDOC_CLASSES   = YES
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC    = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF         = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES      = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path.
-
-STRIP_FROM_PATH      = 
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS        = NO
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a class diagram (in Html and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off.
-
-CLASS_DIAGRAMS       = YES
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER       = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES       = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS  = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen
-# will only generate file names in lower case letters. If set to
-# YES upper case letters are also allowed. This is useful if you have
-# classes or files whose names only differ in case and if your file system
-# supports case sensitive file names.
-
-CASE_SENSE_NAMES     = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS     = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES   = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the Javadoc-style will
-# behave just like the Qt-style comments.
-
-JAVADOC_AUTOBRIEF    = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS         = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO          = NO
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS     = YES
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE             = 4
-
-# The ENABLE_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS     = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT  = ../src/DOMSupport ../src/ICUBridge ../src/Include ../src/PlatformSupport ../src/TestXSLT  ../src/XalanDOM  ../src/XalanSourceTree  ../src/XalanTransformer  ../src/XercesParserLiaison  ../src/XMLSupport  ../src/XPath  ../src/XSLT ../src/XalanExtensions ../src/XalanExe ../src/XpathCAPI
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-FILE_PATTERNS        = *.hpp *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE            = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE              = 
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS     = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH         = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS     = 
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH           = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER         = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output
-
-GENERATE_HTML        = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT          = docs/apiDocs
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER          = html/apiDocs/header.html
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER          = html/apiDocs/footer.html
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET      =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS   = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX   = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX  = 3
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX        = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX       = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT         = latex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX        = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE           = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES       = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER         = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS       = NO
-
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-LATEX_BATCHMODE      = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# For now this is experimental and is disabled by default. The RTF output
-# is optimised for Word 97 and may not look too pretty with other readers
-# or editors.
-
-GENERATE_RTF         = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT           = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF          = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using a WORD or other.
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS       = NO
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN         = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT           = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION        = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor 
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed.
-
-MACRO_EXPANSION      = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES      = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH         = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed.
-
-PREDEFINED           = 
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED tag.
-
-EXPAND_ONLY_PREDEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references 
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles. 
-
-TAGFILES             = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE     = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS         = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH            = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool 
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT             = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH  = YES
-
-# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
-# YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other 
-# documented files.
-
-INCLUDE_GRAPH        = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY  = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the search engine 
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE         = NO
-
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
-
-CGI_NAME             = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for 
-# details.
-
-CGI_URL              = 
-
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the 
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL              = 
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
-
-DOC_ABSPATH          = 
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
-
-BIN_ABSPATH          = /usr/local/bin/
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS        = 
diff --git a/xdocs/html/apiDocs/ApacheLogo.jpg b/xdocs/html/apiDocs/ApacheLogo.jpg
deleted file mode 100644
index e8bd8f5..0000000
--- a/xdocs/html/apiDocs/ApacheLogo.jpg
+++ /dev/null
Binary files differ
diff --git a/xdocs/html/apiDocs/diagramnotes.html b/xdocs/html/apiDocs/diagramnotes.html
deleted file mode 100644
index 58b4765..0000000
--- a/xdocs/html/apiDocs/diagramnotes.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Notes on the class diagrams</title>
-</head>
-
-<body>
-<center>
-<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
-<hr>
-<h2>Notes on the class diagrams<sup>*</sup></h2>
-
-<p><em>&quot;</em>The elements in the class diagrams ... have the following meaning:</p>
-<ul>
-<li>A yellow box indicates a class. A box can have a little marker in the lower right corner to indicate
-that the class contains base classes that are hidden. If the box is filled with a dashed pattern the
-inheritance relation is virtual.<br><br></li>
-<li>A white box indicates that the documentation of the class is currently shown.<br><br></li>
-<li>A grey box indicates an undocumented class.<br><br></li>
-<li>A solid dark blue arrows indicates public inheritance.<br><br></li>
-<li>A dashed dark green arrows indicates protected inheritance.<br><br></li>
-<li>A dotted dark green arrows indicates private inheritance.<em>&quot;</em></li>
-</ul>
-<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-2">
-<i><sup>*</sup> Extracted from pp. 14-15 of the Doxygen manual for version 1.1.2 by Dimitri Heesch &copy;1997-2000. <A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
-<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR></TABLE>
-</body>
-</html>
diff --git a/xdocs/html/apiDocs/footer.html b/xdocs/html/apiDocs/footer.html
deleted file mode 100644
index 2be4c29..0000000
--- a/xdocs/html/apiDocs/footer.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
-<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
-<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
-
-<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR></TABLE>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
-	<TR>
-		<TD WIDTH="80%" VALIGN="TOP">
-			<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.3</B><BR>
-			Copyright &copy; 2000, 2001 The Apache Software Foundation. All Rights Reserved.</i></p>
-		</TD>
-	</TR>
-	<TR>
-		<TD WIDTH="100%">
-			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0">
-		</TD>
-	</TR>
-</TABLE>
diff --git a/xdocs/html/apiDocs/header.html b/xdocs/html/apiDocs/header.html
deleted file mode 100644
index fc882d3..0000000
--- a/xdocs/html/apiDocs/header.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
-<BODY>
-<h2 align="center">Xalan-C++ API Documentation</h2>
-<h3 align="center">The Xalan C++ XSLT Processor Version 1.3</h3>
-</BODY>
\ No newline at end of file
diff --git a/xdocs/html/apiDocs/tail.html b/xdocs/html/apiDocs/tail.html
deleted file mode 100644
index c96d613..0000000
--- a/xdocs/html/apiDocs/tail.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<P>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
-	<TR>
-		<TD WIDTH="100%" VALIGN="TOP">
-			<P ALIGN="CENTER"><B>Xerces-C XML Parser for C++ Version 1.6.0</B><BR>
-			Copyright &copy; 2000,2001 The Apache Software Foundation. All Rights Reserved.
-		</TD>
-	</TR>
-	<TR>
-		<TD WIDTH="100%">
-			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0">
-		</TD>
-	</TR>
-</TABLE>
diff --git a/xdocs/sources/entities.ent b/xdocs/sources/entities.ent
deleted file mode 100644
index cf7c419..0000000
--- a/xdocs/sources/entities.ent
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml encoding="US-ASCII"?>
-
-<!ENTITY xslt4c "Xalan-C++">
-<!ENTITY xslt4c-dist "Xalan-C_1_3">
-<!ENTITY xslt4c-current "Xalan-C++ version 1.3">
-<!ENTITY xslt4c-windlls "DOMSupport.dll, PlatformSupport.dll, XalanDOM.dll, XalanSourceTree,dll, XercesParserLiaison.dll, XMLSupport.dll, XPath.dll, XSLT.dll, XalanTransformer.dll, XalanExtensions.dll">
-<!ENTITY xslt4c-linuxlib "libxalan-c1_3.so">
-<!ENTITY xslt4c-aixlib "libxalan-c1_3.a">
-<!ENTITY xslt4c-hplib "libxalan-c1_3.sl">
-<!ENTITY xslt4c-solarislib "libxalan-c1_3.so">
-<!ENTITY xml4c "Xerces-C++">
-<!ENTITY xml4c-used "Xerces-C++ version 1.6.0">
-<!ENTITY xml4c-windll "xerces-c_1_6_0.dll">
-<!ENTITY xml4c-winlib "xerces-c_1.lib">
-<!ENTITY xml4c-linuxlib "libxerces-c1_6_0.so">
-<!ENTITY xml4c-aixlib "libxerces-c1_6_0.a">
-<!ENTITY xml4c-hplib "libxerces-c1_6_0.sl">
-<!ENTITY xml4c-solarislib "libxerces-c1_6_0.so">
-<!ENTITY xslt4j "Xalan-Java">
-<!ENTITY icu-used "International Components for Unicode(ICU) 2.0 source files">
-<!ENTITY icu-windlls "icui18n.dll, icuuc.dll">
-<!ENTITY icubridge-win "ICUBridge.dll">
-<!ENTITY done SYSTEM "xalan/DONE">
-<!ENTITY status SYSTEM "xalan/STATUS">
-<!ENTITY bugs SYSTEM "xalan/BUGS">
\ No newline at end of file
diff --git a/xdocs/sources/xalan-c-collate.xsl b/xdocs/sources/xalan-c-collate.xsl
deleted file mode 100644
index 0b4d6e8..0000000
--- a/xdocs/sources/xalan-c-collate.xsl
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:template match ="/">
-  <documentation>
-    <chapter id="index"><xsl:copy-of select="document('xalan/index.xml')"/></chapter>  
-    <chapter id="overview"><xsl:copy-of select="document('xalan/overview.xml')"/></chapter>
-    <chapter id="getstarted"><xsl:copy-of select="document('xalan/getstarted.xml')"/></chapter>
-    <chapter id="faq"><xsl:copy-of select="document('xalan/faq.xml')"/></chapter>
-    <chapter id="samples"><xsl:copy-of select="document('xalan/samples.xml')"/></chapter>
-    <chapter id="commandline"><xsl:copy-of select="document('xalan/commandline.xml')"/></chapter>
-    <chapter id="usagepatterns"><xsl:copy-of select="document('xalan/usagepatterns.xml')"/></chapter>
-    <chapter id="extensions"><xsl:copy-of select="document('xalan/extensions.xml')"/></chapter>
-    <chapter id="extensionslib"><xsl:copy-of select="document('xalan/extensionslib.xml')"/></chapter>
-    <chapter id="readme"><xsl:copy-of select="document('xalan/readme.xml')"/></chapter>
-  </documentation>
-</xsl:template>
-</xsl:stylesheet>
-
-
diff --git a/xdocs/sources/xalan.xml b/xdocs/sources/xalan.xml
deleted file mode 100644
index d74d3d3..0000000
--- a/xdocs/sources/xalan.xml
+++ /dev/null
@@ -1,132 +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-C++ XSLT User's Guide" copyright="2001 The Apache Software Foundation">
-
-  <resources source="sbk:/sources/xalan/resources.xml"/>
-    
-  <external href="../index.html"  label="Home"/>
-  
-  <separator/>
-  
-  <document id="index"
-            label="Xalan-C++ 1.3"
-            source="xalan/index.xml"/>
-            
- <separator/>            
-  
-  <external href="getstarted.html#download"  label="Downloads"/>
-  
-  <document id="overview" 
-            label="Overview" 
-            source="xalan/overview.xml"/>   
-                        
-  <separator/>                      
-
-  <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"/>
-            
-  <document id="usagepatterns"
-            label="Usage Patterns"
-            source="xalan/usagepatterns.xml"/>
-
-  <separator/>
-  
-  <external href="apidocs/index.html"  
-            label="C++ API"/>
-   
-  <separator/>        
-            
-  <document id="extensions" 
-            label="Extensions" 
-            source="xalan/extensions.xml"/>
-  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>            
- <separator/>
-          
- <document id="readme" 
-            label="Release Notes" 
-            source="xalan/readme.xml"/> 
-
-<separator/>
-
-<external href="readme.html#bugs" label="Bugs"/>
-
-<external href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"  
-          label="Testing"/>
-          
-</book>
-  
\ No newline at end of file
diff --git a/xdocs/sources/xalan/BUGS b/xdocs/sources/xalan/BUGS
deleted file mode 100644
index 9df2adb..0000000
--- a/xdocs/sources/xalan/BUGS
+++ /dev/null
@@ -1,9 +0,0 @@
-<s3 title="Bugs">
-<p>Open bugs:</p>
-<ul>
-<li>Does not support 20 or more digits of numerical precision after the decimal.<br/><br/></li>
-<li>The namespace axis does not return the default "xml" namespace.</li>
-<li>Does not support case-order and lang attributes in xsl:sort.</li>
-</ul>
-  <note>Please report any bugs you find to the <human-resource-ref idref="xalandev"/>, and please note in the subject line that the bug applies to &xslt4c;.</note>
-</s3>    
diff --git a/xdocs/sources/xalan/CREDITS b/xdocs/sources/xalan/CREDITS
deleted file mode 100644
index 80059b1..0000000
--- a/xdocs/sources/xalan/CREDITS
+++ /dev/null
@@ -1,10 +0,0 @@
-David N Bertoni
-Scott Boag
-Shane Curcuru
-Jack Donohue
-Paul Dick
-Emily Farmer
-Donald Leslie
-David Marston
-Myriam Midy
-Robert Weir
diff --git a/xdocs/sources/xalan/KEYS b/xdocs/sources/xalan/KEYS
deleted file mode 100644
index 05e842b..0000000
--- a/xdocs/sources/xalan/KEYS
+++ /dev/null
@@ -1,44 +0,0 @@
-This file contains the PGP keys of various Xalan developers.
-Please don't use them for email unless you have to. Their main
-purpose is code signing.
-
-Xalan users: pgp < KEYS
-Xalan developers: pgp -kxa <your name> and append it to this file.
-
-
-Robert Weir <robert_weir@lotus.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGPfreeware 6.5.1 for non-commercial use <http://www.pgp.com>
-
-mQGiBDgkhusRBADPjF2sbjCOC9A6CSwukoXCWMOaSLT1WPo2HH+xYOofXpMUxNNc
-bpNsgsV8PDhptd4bPfTCDtKl4/9oJQr36fgM6FuIoq+i3VCtyxwTvzaVClteh6bo
-y8I3OrYow1e+adFmjpWc3bX5kj8X1vAP+Kq61KEQwk4BU7BVzt5ROJyYBwCg/678
-cy/aq7P/ToxSFNOPxqEBsyED/i8oOYzVXo0w9rC4khsJ9ST0qfvu9a1NMW7djlCn
-QarFjrOcA8OpKjQNxkcgMrRHgPQM0diAKAKDCfIQeM8cmfw+tTb7znOrlrhIas6Y
-2f13UiKOoeT1NlMsojVWQ/LCGCF7sYIZrbmeOgA+6tCazxpHl+ggZ5/fNPM/Ct52
-zNnxA/9Wr3MzzH/JuYFwyFXFn9pDL/hYtbZKGJhT3hzp4R50J+UBDTZ+6ff6/g6a
-6MRTNqdgk9O/V9yrSZpMuQEna/fwjm5OcG9DsgpD23KuUl0l7VoDS6/3brPdMg2G
-16gh+nW78S2Ctx5G/LiTKZ06dmZ5pVaTxG9op9Vd5jCZF2i7P7QmUm9iZXJ0IEMu
-IFdlaXIgPHJvYmVydF93ZWlyQGxvdHVzLmNvbT6JAE4EEBECAA4FAjgkhusECwMC
-AQIZAQAKCRBR6z7xV3Za8g+SAKDl8D33vCcGP8M1asMRkMdvLlyrEgCg3izyhGfJ
-iaDay5TTmzsiWKiP3je0I1JvYmVydCBDLiBXZWlyIDxyd2VpckBjeWJlcmNvbS5u
-ZXQ+iQBLBBARAgALBQI4JIffBAsDAgEACgkQUes+8Vd2WvJu/gCeJFgUuR+wcdan
-oJx4wpf9NHvXv+MAoP28cqLzv15cZPC5RvbtXymsNol+tCRSb2JlcnQgQy4gV2Vp
-ciA8cm9id2VpckBob3RtYWlsLmNvbT6JAEsEEBECAAsFAjgkiCMECwMCAQAKCRBR
-6z7xV3Za8uk1AJ9I7PcEkKcRuKuwzuShKyHblJAKPwCgxO4ZaV0h/VQ4Rmu26Zyr
-6/bHZA65Ag0EOCSG6xAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGn
-VqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFX
-klnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl
-9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhd
-ONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r
-0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIIALZiDVEp4qPLEi4X
-5cJVcNvqmsft2qvfxiesiOJc1a7IbECXXUjYbSFG4GkOAd3LFqgznakus4BqNxyL
-PZPZ5qDpimFEAspELAwNaVFwYHnu8YLaf1V2R22WImDXjssSKaDY0iJT68v+69FU
-BlMbHpKmK4uVCflBdfGEmVBoZaNMqWjcr4KfvwRTwPa06GcF11Ol5ld/ZBdVCrQb
-lRpnMpriiRqdY81uWAvc3zONwjoU5InTryQp7RVe8uCDdDskJbSXUgAOiE8w8jXf
-cDFq482nSu5maqE7Qhr4sv5CMb5LjiZeAyVxNdYg2VMd2afef+TnkiBM91ITbOCA
-AquWEJ+JAEYEGBECAAYFAjgkhusACgkQUes+8Vd2WvLlLACg/LAuccXl5181u2vP
-8j2yaW7cdyYAoOYLdsQGtHv+5DYuqCTjVjJtevqb
-=fA+F
------END PGP PUBLIC KEY BLOCK-----
diff --git a/xdocs/sources/xalan/License b/xdocs/sources/xalan/License
deleted file mode 100644
index b6f8711..0000000
--- a/xdocs/sources/xalan/License
+++ /dev/null
@@ -1,56 +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/xdocs/sources/xalan/STATUS b/xdocs/sources/xalan/STATUS
deleted file mode 100644
index 4250dae..0000000
--- a/xdocs/sources/xalan/STATUS
+++ /dev/null
@@ -1,12 +0,0 @@
-<s3 title="Version of &xml4c; to use"> 
-<p>&xslt4c-current; has been tested with &xml4c-used;. Each &xslt4c-current; download includes the Xerces-C++ distribution for the specified platform. For information about including The Xerces-C++ libraries on the path, see <link idref="getstarted" anchor="path">Setting up the system path</link>.</p>
-<p><em>Important</em> You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.</p>
-</s3><anchor name="to-do"/>
-<s3 title="To-do tasks for future &xslt4c; releases">
-    <ul>
-       <li>Add support for extension elements<br/><br/></li>
-       <li>Fix any conformance bugs we or our users find<br/><br/></li>
-       <li>Expand the XalanTransformer simplified API.<br/><br/></li>
-    </ul>
-    <p>Watch the <human-resource-ref idref="xalandev"/> for more information and for ideas about how you can get involved.</p>    
-</s3>    
diff --git a/xdocs/sources/xalan/commandline.xml b/xdocs/sources/xalan/commandline.xml
deleted file mode 100644
index c021417..0000000
--- a/xdocs/sources/xalan/commandline.xml
+++ /dev/null
@@ -1,176 +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="&xslt4c; Command-Line Utility">
-<ul>
-<li><link anchor="use">Using a command-line utility</link></li>
-<li><link anchor="xalanexe">Using the Xalan executable</link></li>
-<li><link anchor="testxslt">Using TestXSLT</link></li>
-<li><link anchor="icu">Enabling ICU support for the Xalan executable and/or testXSLT</link></li>
-</ul><anchor name="use"/>
-<s2 title="Using a command-line utility">
-<p>To perform a transformation, you can call &xslt4c; from the command line (or script), 
-      or from within an application (see <link idref="usagepatterns">Usage Patterns</link>).</p>
-<p>To perform a transformation from the command line or a script, you can use Xalan or testXSLT. The testXSLT executable has been around since the inception of &xslt4c; and supports a variety of options. The Xalan executable is newer, simpler to use, and supports fewer options.</p>
-<p>To perform a transformation from the command line or a script with either executable,
-    do the following:</p>
- 		<ol>
-    <li><link idref="getstarted" anchor="download">Download &xslt4c;</link>.<br/><br/></li> 
-    <li><link idref="getstarted" anchor="path">Set the path</link> to include the build directory.<br/><br/></li>
-    <li>Call the executable with the appropriate flags and arguments (described below).</li>
-  </ol>  
-</s2><anchor name="xalanexe"/>
-<s2 title="Using the Xalan executable">
-<p>Call the Xalan executable as follows:<br/><br/> 
-<code>Xalan <ref>[options]</ref> <ref>xmlSource</ref> <ref>xslStylesheet</ref></code><br/><br/>
-where <ref>xmlSource</ref> is the XML source document, <ref>xslStylesheet</ref> is the stylesheet to apply, and <ref>[options]</ref> are any (or none) of the following:</p>
-<table>
- <tr><th>Option</th><th>Description</th></tr>
- <tr><td>-a</td><td>Use stylesheet processing instruction, not the stylesheet argument.</td></tr>
- <tr><td>-o filename</td><td>Write transformation result to this file (rather than to the console).</td></tr>
- <tr><td>-p name expr</td><td>Set a stylesheet parameter with this expression</td></tr> 
- <tr><td>-v</td><td>Validate the XML source document.</td></tr> 
- </table>
- <p>To display a list of the options call the Xalan executable as follows:</p>
-<p><code>Xalan ?</code></p>
-</s2><anchor name="testxslt"/>
-<s2 title="Using TestXSLT">
-    <p>Call the testXSLT executable with the 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>testXSLT -IN foo.xml -XSL foo.xsl -OUT foo.out</code></p>
-    <p>The testXSLT executable can take the following flags and arguments (the flags are case insensitive):</p> 
-      <source>-IN inputXMLURL
--XSL XSLTransformationURL
--OUT outputFileName
--H (Display list of command-line options)
--? (Display list of command-line options)
--V (Version info)
--QC (Quiet Pattern Conflicts Warnings)
--Q  (Quiet Mode)
--INDENT (Number of spaces to indent each level in output tree --default is 0)
--VALIDATE (Validate the XSL and XML input -- default is not to validate)
--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)
--XML (Use XML formatter and add XML header)
-The -XML flag must be set:
-&nbsp;&nbsp;-NH (Don't write XML header)
--HTML (Use HTML formatter)
-The -HTML flag must be set:
-&nbsp;&nbsp;-NOINDENT (turns off HTML indenting)
-The -XML or -HTML flag must be set:
-&nbsp;&nbsp;-STRIPCDATA (Strip CDATA sections of their brackets, but do not escape)
-&nbsp;&nbsp;-ESCAPECDATA (Strip CDATA sections of their brackets, and escape)
--TEXT (Use simple Text formatter)
--DOM (Test for well-formed output --format to DOM then to XML for output)
--XST (Format to Xalan source tree, then to XML for output)
--XD (Use Xerces DOM instead of Xalan source tree)
--DE Disable built-in extension functions)
--EN (Specify the namespace URI for Xalan extension functions; the default
-     is 'http://xml.apache.org/xslt')
--PARAM name expression (Set a stylesheet parameter)</source>
-      <p>Use -IN to specify the XML source document.</p> 
-      <p>Use -XSL to specify the XSL stylesheet file.</p>
-      <p>Use -DE not to load the standard set of <link idref="extensionslib">extension functions</link>.</p>
-      <p>Use -TEXT if you want the output to include only text nodes without any escaping.</p>
-      <p>Use -HTML 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>testXSLT -PARAM <ref>name expression</ref></code><br/>
-      To set the parameter to a string value, enclose the string in single quotes (') to
-      make it an expression.</p>
-    </s2><anchor name="icu"/>
-    <s2 title="Enabling ICU support for the Xalan executable and/or testXSLT">
-     <p>You can set up the <resource-ref idref="icu"/> to enhance the support that &xslt4c; provides for encoding, number
-     formatting, and sorting. For more information, see <link idref="usagepatterns" anchor="icu">Using the ICU</link>.</p>
-     <p>If you have built and integrated the ICU with &xml4c;, Xalan and testXSLT (like any &xslt4c; application) automatically uses ICU
-     support for output encoding. See <resource-ref idref="xerces-build-icu"/>.</p>     
-     <p>The Xalan and testXSLT executables also conditionally include ICU support for number formatting and sorting. For Xalan, look in XalanTransformer.cpp
-     for the <code>#if defined(XALAN_USE_ICU)</code> blocks. For testXSLT, look in process.cpp for the
-     <code>#if defined(XALAN_USE_ICU)</code> blocks. These blocks #include the ICUBridge headers, and
-     substitutes ICU support for xsl:number, format-number(), and xsl:sort. To activate this support:</p>
-     <ol>
-       <li>Download and build the ICU (see <link idref="usagepatterns" anchor="icu">Using the ICU</link>).<br/><br/></li>
-       <li>Rebuild Xalan and or testXSLT with the ICU enabled (see below).</li>
-     </ol>
-     <s3 title="Rebuilding Xalan and/or TestXSLT in Windows">
-     <ol>
-       <li>Uncomment the <code>#define XALAN_USE_ICU</code> in XalanTransformer.cpp and/or process.cpp.<br/><br/></li>
-       <li>Add ICUBridge to the Visual C++ list of dependencies for the XalanTransformer and/or TestXSLT project.<br/><br/></li>
-       <li>Build Xalan.exe and/or TestXSLT.exe.</li>     
-     </ol>     
-     </s3>
-     <s3 title="Rebuilding Xalan and/or testXSLT in UNIX">
-     <p>In the Linux, AIX, HP-UX 11, and Solaris builds, the ICUBridge is in the core Xalan library (&xslt4c-linuxlib; in Linux; &xslt4c-aixlib; in
-     AIX; &xslt4c-hplib; in HP-UX 11; &xslt4c-solarislib; in Solaris ), so you must rebuild this library along with Xalan and/or testXSLT.</p>
-     <p>Before you do the build, define the XALAN_USE_ICU environment variable.  For information about defining this
-     environment variable and doing a build, see <link idref="readme" anchor="unix">Steps for doing a
-     UNIX build</link>.</p>
-     <note>The make file uses the XALAN_USE_ICU environment variable to do the equivalent of a #define and to add
-     ICUBridge to the list of dependencies for testXSLT. If you uncomment the <code>#define XALAN_USE_ICU</code>
-     statement in process.cpp (which is the right thing to do in Windows), you will get an error in AIX ("The
-     macro 'XALAN_USE_ICU' has already been defined"), an error in HP-UX 11 ("Redefinition of macro 'XALAN-USE_ICU' 
-     differs from previous definition"), or a warning in Linux or Solaris about duplicate settings when you
-     run the make, and testXSLT does not link with ICUBridge.</note>
-     </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 93e4069..0000000
--- a/xdocs/sources/xalan/extensions.xml
+++ /dev/null
@@ -1,249 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!--
- * 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/>.
- -->
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<s1 title="&xslt4c; Extension Functions">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="implement">Implementing an extension function</link></li>
-<li><link anchor="install">Installing an extension function</link></li>
-<li><link anchor="use">Using an extension function</link></li>
-</ul><anchor name="intro"/>
-  <s2 title="Introduction">
-<p>At times, you may want to call your own custom C functions from a stylesheet. For these situations, &xslt4c; supports the creation and use of extension functions &xslt4c; also provides a <link idref="extensionslib">library of extension elements</link> for your use.</p>
-<p>You can think of extension functions as extending the core library of functions that XPath provides. Like the
-XPath functions, an extension function returns an XObject, which may contain a value of any of the five XSLT
-data types: node-set, result-tree-fragment, string, boolean, or number.</p> 
-<p>You can send arguments to an extension function in the form of XPath expressions, literals (for string, boolean, and number), the values returned by other functions, and XSL variables or parameters set to any of the preceding.</p>
-<p>For an example that implements, installs, and uses three extension functions, see the 
-<link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
-<note>&xslt4c; does not support extension elements.</note>
-</s2><anchor name="implement"/>
-<s2 title="Implementing an extension function">
-  <p>Like the standard XPath functions, the functions you create derive from the Function base class. Set up your 
-  extension function class as follows:</p>
-  <ol>
-  <li>The body of a function is the execute() method. Use the appropriate XObjectFactory method -- createNumber()
-  in the example below -- to create an XObject corresponding to the XSLT data type the function returns.<br/><br/></li>
-  <li>Implement a clone() method to enable Xalan to create and maintain a copy of the extension
-  function.<br/><br/></li> 
-  <li>(Optional) As Xalan does for the XPath functions, you may want to prevent the compiler from generating 
-  an assignment or equality operator for this function.</li>
-  </ol>
-  <p>These features all appear in the following example.</p>
-<source>// Base header file.  Must be first.
-#include &lt;Include/PlatformDefinitions.hpp&gt;
-
-#include &lt;cmath&gt;
-#include &lt;ctime&gt;
-
-#include &lt;util/PlatformUtils.hpp&gt;
-#include &lt;XalanTransformer/XalanTransformer.hpp&gt;
-#include &lt;XPath/XObjectFactory.hpp&gt;
-
-// This class defines a function that will return the square root
-// of its argument.
-class FunctionSquareRoot : public Function
-{
-public:
-
-  /**
-   * Execute an XPath function object.  The function must return a valid
-   * XObject.
-   *
-   * @param executionContext executing context
-   * @param context          current context node
-   * @param opPos            current op position
-   * @param args             vector of pointers to XObject arguments
-   * @return                 pointer to the result XObject
-   */
-  virtual XObjectPtr
-  execute(
-      XPathExecutionContext&amp; executionContext,
-      XalanNode* /* context */,
-      const XObjectPtr arg,
-     	const Locator*	/* locator */) const
-  {
-    if (args.size() != 1)
-    {
-      executionContext.error("The square-root() function takes one argument!", 
-                              context);
-    }
-    assert(args[0] != 0);
-    // Use the XObjectFactory createNumber() method to create an XObject 
-    // corresponding to the XSLT number data type.
-    return executionContext.getXObjectFactory().createNumber(
-                                                        sqrt(args[0]->num()));
-  }
-
-  /**
-   * Implement clone() so Xalan can copy the square-root function into
-   * its own function table.
-   *
-   * @return pointer to the new object
-   */
-// For compilers that do not support covariant return types,
-// clone() must be declared to return the base type.
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-  virtual Function*
-#else
-  virtual FunctionSquareRoot*
-#endif
-  clone() const
-  {
-    return new FunctionSquareRoot(*this);
-  }
-
-private:
-  // The assignment and equality operators are not implemented...
-  FunctionSquareRoot&amp;
-  operator=(const FunctionSquareRoot&amp;);
-  bool
-  operator==(const FunctionSquareRoot&amp;) const;
-}</source>   
-</s2><anchor name="install"/>
-<s2 title="Installing an extension function">
-<p><jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> provides methods for installing and unistalling external functions:</p>
-<ul>
-<li>installExternalFunction() makes the function available in the current instance of XalanTransformer. Use uninstallExternalFunction() to remove the function.<br/><br/></li>
-<li>installExternalFunctionGlobal() makes the function available globally. Use uninstallExternalFunctionGlobal() to remove the function. The global functions are static. The global install and unistall operations are not thread-safe; the global functions are thread-safe..</li>
-</ul>
-<p>These methods include arguments for the namespace, the function name, and the function implementation.</p>
-<p>When you install an extension function, the function inhabits the namespace you designate. For information about XML namespaces, see <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</jump>.</p>
-<p>The following code fragment installs locally the square root function defined above, and binds it to the extension-function name "square-root" in the namespace "http://MyExternalFunction.mycompany.org" so it can be accessed from stylesheets. Keep in mind that the function name does not need to be the same as the name of the function class, and that a function name may be used more than once provided that each function with that name is installed in a different namespace.</p>
-<source>#include &lt;Include/PlatformDefinitions.hpp&gt;
-#include &lt;util/PlatformUtils.hpp&gt;
-#include &lt;XalanTransformer/XalanTransformer.hpp&gt;
-// You have created a header file for FunctionSquareRoot.
-#include &lt;MyFunctions/FunctionSquareRoot.hpp&gt;
-// The namespace...
-const XalanDOMString	
-    theNamespace("http://MyExternalFunction.mycompany.org");
-    
-theXalanTransformer.installExternalFunction(theNamespace,
-                                            XalanDOMString("square-root"),
-                                            FunctionSquareRoot());</source>
-<p>For an example that installs three functions, see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
-</s2><anchor name="use"/>
-<s2 title="Using an extension function">
-<p>To use the extension function in a stylesheet, you must do the following:</p>
-<ol>
-<li>Declare the extension function namespace.<br/><br/>
-<code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code><br/><br/>
-The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> matches the namespace specified when the function
-is installed.<br/><br/>
-By default, namespace declarations are included in the transformation output. To exclude namespaces from the output, 
-use<br/><br/>
-<code>exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
-in the stylesheet element or<br/><br/>
-<code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
-in a literal result element or extension element.<br/><br/></li>
-<li>Call the extension function in the same manner you would call an XPath function. The function name you use in the stylesheet is a Qualified Name (QName) made up of the prefix you declared in step 1 and the function name you specified when you installed the function.<br/><br/>
-You can use XPath expressions, literals (for string, boolean, and number), and values returned by other functions to
-specify function arguments.</li></ol>
-<p>Suppose, for example, you are working with XML documents containing area elements like
-<code>&lt;area value="397"/&gt;</code>, where the value attribute identifies the area of a square.</p>
-<p>The following stylesheet declares the square-root function namespace (the prefix is up to you), instructs 
-the processor not to copy the namespace declaration to the result tree, and uses the square-root function to return
-the square root of //area/@value:</p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-  version="1.0"
-	xmlns:external="http://ExternalFunction.xalan-c.xml.apache.org"
-  exclude-result-prefixes="external"&gt;
-  
-    &lt;xsl:template match="//area"&gt;
-    &lt;out&gt;
-      The area of the square is
-      &lt;xsl:value-of select="@value"/&gt; square units.
-      The length of each side is 
-      &lt;xsl:value-of select="external:square-root(@value)"/&gt; units
-    &lt;/out&gt;</source>
-<p>This stylesheet converts  <code>&lt;area value="397"/&gt;</code> into the following output:</p>
-<source>&lt;out&gt;
-  The area of the square is 
-  397 square units.
-  The length of each side is 
-  19.9249 units.
-&lt;/out&gt;</source>
-<p>For a slightly more complex variation on this example,  
-see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
-<s3 title="Passing Nodes to a function">
-<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 
-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 pass a node-set to an extension function, be sure to set up the function to process a node-set.</p>
-<p>Suppose, for example, you have a ProcessNodes function class that uses<br/><br/> 
-<code>const NodeRefListBase&amp; theNodeList = args[0]->nodeset();</code><br/><br/>
-in the execute() method to get a reference to the node-set.</p>
-<p>Assuming you install the function as "ProcessNodes" and use the "node-ext" prefix in a stylesheet to refer to the ProcessNodes function namespace, any of the following function calls are syntactically possible:</p>
-<p><code>&lt;!--Process the current node--&gt;</code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(.)"/&gt;</code></p>
-<p><code>&lt;!--Process all nodes in current context--></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(*)"/&gt;</code></p>
-<p><code>&lt;!-- Process all nodes --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(/*)"/&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:ProcessNodes(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:ProcessNodes(/foo/baz | /bar/saz)"/&gt;</code></p>
-<p>The NodeRefListBase 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 node-set.</p>
-</s3>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/extensionslib.xml b/xdocs/sources/xalan/extensionslib.xml
deleted file mode 100644
index 6cc82a4..0000000
--- a/xdocs/sources/xalan/extensionslib.xml
+++ /dev/null
@@ -1,139 +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="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="evaluate">evaluate</link></li>
-<li><link anchor="hassamenodes">hasSameNodes</link></li>
-</ul><anchor name="intro"/>
-<s2 title= "Introduction">
-<p>Extension 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 &xslt4c;. 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>We are placing the Xalan extension functions in the XalanExtensions module and we have defined a namespace for this module:</p>
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan</code></p>
-<p>If you are calling &xslt4c;-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 &xslt4c;-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="nodeset"/>
-<s2 title= "nodeset">
-<p>Implemented in <jump href="apidocs/class_functionnodeset.html">FunctionNodeSet</jump>, <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/class_functionintersection.html">FunctionIntersection</jump>, <code>intersection (node-set1, node-set2)</code> 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/class_functiondifference.html">FunctionDifference</jump>, <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/class_functiondistinct.html">FunctionDistinct</jump>, 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="evaluate"/>
-  <s2 title= "evaluate">
-  <p>Implemented in <jump href="apidocs/class_functionevaluate.html">FunctionEvaluate</jump>, <code>evaluate (xpath-expression)</code> 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="hassamenodes"/>
-<s2 title= "hasSameNodes">
-<p>Implemented in <jump href="apidocs/class_functionhassamenodes.html">FunctionHasSameNodes</jump>, <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>
-</s1>
diff --git a/xdocs/sources/xalan/faq.xml b/xdocs/sources/xalan/faq.xml
deleted file mode 100644
index 382a3e1..0000000
--- a/xdocs/sources/xalan/faq.xml
+++ /dev/null
@@ -1,208 +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 general questions not specific to &xslt4c;, see Dave Pawson's <resource-ref idref="dpawsonxslfaq"/> and Michael Kay's 
-    <jump href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's Reference</jump>.</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="Questions"><q>Where can I ask question?</q>
-
-<a><p>For generic questions about XSL stylesheets and transformations, use the <jump href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open Forum on XSL</jump> hosted by Mulberry Technologies. There is an archive that can be searched as well. Specific questions about &xslt4c; can be asked on the Xalan-dev list. Please review this document and the archives before posting new questions.</p>
-
-<p>For specific questions on &xslt4c;, see xalan-dev@xml.apache.org on <jump href="http://archive.covalent.net/">http://archive.covalent.net/</jump>.</p>
-</a>
-</faq>
-
-<faq title="What is &xml4c;?">
-<q>What is &xml4c; and why do I need it?</q>
-
-<a><p>&xml4c; is a validating XML parser written in a portable subset of C++. &xml4c; makes it easy to give your application the ability to read and write XML data. Like &xslt4c;, &xml4c; is available from the Apache XML site:  http://xml.apache.org/xerces-c/index.html</p><!--xml4cNote--></a>
-</faq>
-  
-
-  <faq title="Which version of Xerces should I be using?">  
-    <q>Which version of Xerces should I be using?</q>
-    
-    <a><p>The &xslt4c; release notes includes information about the &xml4c; release with which the &xslt4c; release has been coordinated and tested. See <link idref="readme" anchor="status">Status</link></p><!--xml4cNote--></a>
-  </faq>
-  
-<faq title="Problems with samples in Windows">
-<q>I have encountered problem executing the &xslt4c; sample applications after rebuilding them under Win32 Environment (Windows NT 4.0, SP3).
- When I tried to execute the sample, I receive the error message "Debug Assertion Failed! ...  Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)".</q>
-
-<a><p>You may be mixing debug and release versions of executables and libraries. In other words, if you are compiling the sample for debug, then you should link with the debug version of the &xslt4c; and &xml4c; libraries and run with the debug version of the dynamic link libraries.</p><anchor name="build"/><p/></a>
-</faq>
-
-<faq title="Building on Windows">
-<q>What do I need to rebuild &xslt4c; on Windows?</q>
-
-<a><p>To build &xslt4c; on Windows, you need &xml4c; and MS Visual C++ 6.0 installed with Service Pack 3 for Visual C++ and Visual Studio. You should also apply the bug fixes for the C++ standard library that shipped with Visual C++ 6.0. These fixes are available from the Dinkumware site: <jump href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</jump>.</p>
-<p>For more details, see <link idref="readme" anchor="win32">Steps for doing a Windows build</link>.</p></a>
-</faq>
-
-<faq title="Building on UNIX">
-<q>What do I need to rebuild &xslt4c; on UNIX?</q>
-
-<a><p>To build &xslt4c; on supported UNIX platforms, you need &xml4c; and a supported C++ compilers (see the table below). If your compiler does not support the STL or its implementation is old, you must install the STLPort.</p>
-<p>For more details see: http://xml.apache.org/xalan-c/readme.html#unix</p>
-     <table>
-       <tr>
-         <th>Platform - Operating System</th>
-         <th>Compilers</th>
-         <th>STLPort Required</th>
-       </tr>
-       <tr>
-         <td>AIX 4.3</td>
-         <td>IBM C and C++ for AIX 5.02</td>
-         <td>No</td>
-      </tr>
-       <tr>
-         <td>Solaris 2.6</td>
-         <td>[Workshop 4.2]</td>
-         <td>Yes</td>
-      </tr>
-       <tr>
-         <td>HP/UX 11.0</td>
-         <td>aCC A.03.27</td>
-         <td>No</td>
-      </tr>
-       <tr>
-         <td>Red Hat Linux 6.1</td>
-         <td>egcs-2.91.66 and glibc-2.1.2-11</td>
-         <td>No</td>
-      </tr>
-    </table>
- <p>For more details see: <link idref="readme" anchor="unix">Steps for doing a UNIX build</link>.</p>
-</a></faq>
-
-<faq title="STLPort">
-<q>What is STLPort and why do I need it?</q>
-
-<a><p>The Standard Template Library, or STL, is a C++ library of container classes, algorithms, and iterators; it provides many of the basic computer science algorithms and data structures. &xslt4c; implementation uses the STL. STLport ports SGI STL to any platform possible and provides all necessary wrap-ups installed. If your compiler does not support the STL or its implementation is out of date, you will need to install the STLPort.</p> 
-
-<p>The STLPort version 4.0  for download from the site: <jump href="http://www.stlport.org/">http://www.stlport.org/</jump>.</p>
-
-<p>For more details on the STL, see: <jump href="http://www.sgi.com/tech/stl/stl_introduction.html">http://www.sgi.com/tech/stl/stl_introduction.html</jump>.</p></a>
-</faq>
-
-<faq title="ICU">
-<q>What is ICU and why do I need it?</q>
-
-<a><p>The International Components for Unicode(ICU) is a C and C++ library that provides robust and full-featured Unicode support on a wide variety of platforms. &xslt4c; uses the ICU to extend support for encoding, number formatting, and sorting.</p> 
-<p>The ICU is available for download from <jump href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html">http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html</jump>.</p>
-<p>For more details see: <link idref="usagepatterns" anchor="icu">Using the International Components for Unicode (ICU)</link>.</p><!--icuNote--><anchor name="gnutar"/><p/></a>
-</faq>
-
-   <faq title="A tar checksum error on Solaris">
-      <q>I am getting a tar checksum error on Solaris. What's the problem?</q>
-      <a>
-         <p>The Solaris tar utility you are using does not properly handle files with long pathnames.
-         You must use GNU tar (gtar), which handles arbitrarily long pathnames
-            and is freely available on every platform on which &xslt4c; is
-            supported.  If you don't already have GNU tar installed on your system,
-            you can obtain it from the Free Software Foundation
-            <jump href="http://www.gnu.org/software/tar/tar.html">
-            http://www.gnu.org/software/tar/tar.html</jump>.  For additional
-            background information on this problem, see the online manual
-            <jump href="http://www.gnu.org/manual/tar/html_node/tar_117.html#SEC112">
-            GNU tar and POSIX tar </jump> for the utility.
-         </p>
-      </a>
-   </faq>
-   
-<faq title="&xslt4c; in Apache">
-<q>Is it possible to run &xslt4c; from an Apache server?</q>
-
-<a><p>A simple Apache module called <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link> is provided as a sample. It demonstrates how to integrate &xslt4c; with Apache.</p></a>
-</faq>
-
-    
-  <faq title="Is &xslt4c; thread-safe?">
-  
-    <q>Is &xslt4c; thread-safe?</q>
-       
-    <a>
-    <p>Instances of XalanTransformer are not thread-safe; each thread should use its own instance.</p>
-    <p>In order to support very efficient use in multi-threaded applications, &xslt4c; is designed to avoid synchronization as much as
-     possible. Each thread of execution is required to have its own set of "support" objects that contain the state of the
-     transformation.  Accordingly, no synchronization is required when multiple threads are executing.</p>
-     
-     <p>Parsed ("compiled") stylesheets (see <link idref="usagepatterns" anchor="compiled">Compiling stylesheets</link>) and parsed
-      source documents may be freely shared by multiple threads of execution without worrying
-      about providing synchronized access to them. The <em>only</em> exception to this rule: You use XercesParserLiaison to parse a
-      document after calling XercesParserLiaison::setBuildBridgeNodes(false) or XercesParserLiaison::setThreadSafe(false). In this case,
-      the document <em>cannot</em> be shared by multiple threads of execution. For reasons of performance, we do not recommend the use of
-      XercesParserLiaison, so this should not be an issue for most applications.</p>
-      
-     <p>All other objects in &xslt4c; are <em>not</em> thread-safe. Each thread must have its own instance of each object.</p>
-     
-     <p>See the <link idref="samples" anchor="threadsafe">ThreadSafe</link> sample program for more information.</p></a>
-  </faq>
-   
-  <faq title="What can I do to speed up transformations?">
-  
-    <q>What can I do to speed up transformations?</q>
-    
-    <a><p>To maximize performance, here are some suggestions for you to keep in mind as you set up your applications:</p><ul>
-    <li>Use a compiled stylesheet when you expect to use the stylesheet more than once.<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
-         &lt;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>
-       </ul>
-    </ul></a>
-  </faq>
-
-  	<faq title="Stylesheet validation">
-		<q>Can 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, but you probably will have
-      to write a custom DTD for the purpose.</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="What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?">
-      <q>What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</q>
-      <a>
-        <p>It means that an attempt was made to add a node to a DOM that would create
-          an invalid structure.  For example, text nodes are not allowed as children
-          of the document node.</p>
-
-          <p>This is a common error when attempting to transform to DOM.
-          Source documents and stylesheets that might produce valid serialized XML
-          might not produce value DOM.  The usual suspect is text nodes being
-          generated before the document element is generated.</p>
-          <p>If you think you have seen this error because of a bug in Xalan-C++'s source tree
-          implementation, please post a bug report on Bugzilla, and attach a minimal source document 
-          and stylesheet that produce the problem to the bug report.</p>
-      </a>
-    </faq>
-
-    
-<faq title="Patches">
-<q>Who do I submit patches to?</q>
-<a><p>Your contributions are much appreciated! Please e-mail your patches to <human-resource-ref idref="xalandev"/>.</p></a>
-</faq>
-    
-</faqs>
diff --git a/xdocs/sources/xalan/getstarted.xml b/xdocs/sources/xalan/getstarted.xml
deleted file mode 100644
index faab3fb..0000000
--- a/xdocs/sources/xalan/getstarted.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" standalone="no"?>  
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<s1 title="Getting Started with Xalan-C++">
-<ul>
-<li><link anchor="download">Downloading what you need</link></li>
-<li><link anchor="path">Setting up the path/library path</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="apps">Setting up your own XSLT applications</link></li>
-</ul>
-<anchor name="download"/>
-<s2 title="Downloading what you need">
-<p>For &xslt4c-current;, we are distributing a Windows32 Visual C++ build and four UNIX builds with a makefile: a Red Hat Linux GNU build, an AIX xlC build, an HP-UX 11 aCC build, and a Solaris build. 
-Please contact us at <human-resource-ref idref="xalandev"/> if you would like to help provide builds for other platforms.</p>
-<anchor name="xalandists"/>
-<s3 title="&xslt4c; Windows Distribution">
-<p><img src="xalan-c-windist.gif" alt="xalan-c-windist.gif"/></p>
-</s3>
-<p>For the Windows32 build, download <resource-ref idref="xslt4c-win32-download"/>. This Windows32 distribution was built with MSVC 6.0 SP3 and <jump href="http://www.dinkumware.com/vc_fixes.html">Dinkumware C++ library fixes</jump>.</p>
-<s3 title="&xslt4c; UNIX Distributions">
-<p><img src="xalan-c-unixdist.gif" alt="xalan-cdist.gif"/></p>
-</s3>
-<p>For the Linux build, download <resource-ref idref="xslt4c-linux-download"/>. This Red Hat Linux 6.1 distribution was built with egcs-2.91.66 and glibc-2.1.2-11.</p>
-<p>For the AIX build, download <resource-ref idref="xslt4c-aix-download"/>. This AIX 4.3 distribution was built with IBM C and C++ for AIX 5.02.</p>
-<p>For the HP-UX 11 build, download <resource-ref idref="xslt4c-hp-ux-download"/>. This HP-UX 11 distribution was built with aCC A.03.27.</p>
-<p>For the Solaris build, download <resource-ref idref="xslt4c-Solaris-download"/>. This Solaris distribution was built with Sun Workshop 6 update 2.</p>
-<note>Use GNU tar to untar the Solaris distribution file; see <link idref="faq" anchor="gnutar">A tar checksum error on Solaris </link>.</note>
-<p>Each distribution contains all you need to run the Xalan command-line transformations utility and to build your own applications. 
-If you want to take advantage of the support for number formatting, sorting, and encoding the ICU provides, you should also download and install the <resource-ref idref="icu"/>; see <link idref="usagepatterns" anchor="icu">Using the ICU</link>,</p>
-<s3 title="What you need to run the Xalan command-line utility">
-<p>To run the Xalan executable for performing transformations, you need the following:</p>
-<p><em>Windows32</em></p>
-<ul>
-<li>The executable: Xalan.exe or TestXSLT.exe</li>
-<li>The Xalan-C++ dynamic link libraries: &xslt4c-windlls;</li>
-<li>The Xerces-C++ dynamic link library: &xml4c-windll;</li>
-</ul>
-
-<p><em>Linux</em></p>
-<ul>
-  <li>The executable: Xalan or testXSLT</li>
-  <li>The Xalan-C++ shared library: &xslt4c-linuxlib;</li>
-  <li>The Xerces-C++ shared library: &xml4c-linuxlib;</li>
-</ul>
-<p><em>AIX</em></p>
-<ul>
-  <li>The executable: Xalan or testXSLT</li>
-  <li>The Xalan-C++ load library: &xslt4c-aixlib;</li>
-  <li>The Xerces-C++ load library: &xml4c-aixlib;</li>
-</ul>
-<p><em>HP-UX 11</em></p>
-<ul>
-  <li>The executable: Xalan or testXSLT</li>
-  <li>The Xalan-C++ shared library: &xslt4c-hplib;</li>
-  <li>The Xerces-C++ shared library: &xml4c-hplib;</li>
-</ul>
-<p><em>Solaris</em></p>
-<ul>
-  <li>The executable: Xalan or testXSLT</li>
-  <li>The Xalan-C++ shared library: &xslt4c-solarislib;</li>
-  <li>The Xerces-C++ shared library: &xml4c-solarislib;</li>
-</ul>
-<p>If you want to enable ICU support for the command-line utility, you must build the ICU and rebuild the Xalan-C++ shared/load library (Linux/AIX/HP-UX 11) and Xalan or TestXSLT (all platforms) with the ICUBridge. See <link idref="usagepatterns" anchor="icu">Using the ICU</link> and <link idref="commandline" anchor="icu">Enabling ICU support for the Xalan and/or TestXSLT executable</link>.</p>
-<p>For information about using the command-line utility, see <link idref="commandline">Command-Line Utility</link>.</p>
-</s3>
-<s3 title="What you need to build and run applications">
-<p>To build your own applications with Xalan and Xerces, you also need need the
-Xalan-C++ and Xerces-C++ header (.hpp) files and (for Windows) the &xslt4c; and &xml4c; libraries (.lib files). To run your applications, you need the &xslt4c; and &xml4c; library files (.dll files for Windows, shared or load libraries for the UNIX platforms).</p>
-<p>The Xalan-C++ and Xerces-C++ header files are in the src directory trees in both distributions.</p> 
-<p>In the Windows32 distribution (built with Microsoft&reg; Visual C++&reg; 6.0), the .dlls and libraries are in the Build\Win32\V6 Debug and Release subdirectories.</p> 
-<p>In the Linux distribution (built with a make file and the GNU C++ compiler on Red Hat Linux 6.1), the shared object libraries are in the lib subdirectories.</p>
-<p>In the AIX distribution (built with the make file and xlC), the load libraries are in the lib subdirectories.</p>
-<p>In the HP-UX 11 distribution (built with the make file and aCC), the shared libraries are in the lib subdirectories.</p>
-<p>In the Solaris distribution (built with the make file and CC), the shared libraries are in the lib subdirectories.</p>
-<note>For your convenience, both the Xalan and Xerces libraries are placed together in the pertinent xml-xalan directory, whereas the corresponding xml-xerces directory only contains Xerces libraries.</note>
-<p>If you want to enable ICU support in your applications, you must rebuild the Xalan-C++ shared/load library (Linux/AIX) and include the ICUBridge headers (all platforms).</p>
-<p>For the requirements for rebuilding &xslt4c;, see the <link idref="readme" anchor="build">Build notes</link>.</p>
-</s3>
-</s2><anchor name="path"/>
-<s2 title="Setting up the path/library path">
-<p>For the Xalan-C++ Windows32 distribution, place xml-xalan\c\Build\Win32\VC6\Release on the path.</p>
-<p>For the Xalan-C++ Linux distribution, place xml-xalan/c/bin on the path (PATH) and xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH for Red Hat Linux 6.1), or copy &xslt4c-linuxlib; to /usr/lib.</p>
-<p>For the Xalan-C++ AIX distribution, place xml-xalan/c/bin on the path (PATH) and xml-xalan/c/lib on the load library path (LIBPATH), or copy &xslt4c-aixlib; to /usr/lib.</p>
-<p>For the Xalan-C++ HP-UX 11 distribution, place xml-xalan/c/bin on the path (PATH) and xml-xalan/c/lib on the shared library path (SHLIB_PATH), or copy &xslt4c-aixlib; to /usr/lib.</p>
-<p>For the Xalan-C++ Solaris distribution, place xml-xalan/c/bin on the path (PATH) and xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH), or copy &xslt4c-solarislib; to /usr/lib.</p>
-<p>If you do your own Xalan, ICU, and Xerces builds, be sure to include the directories that contain the libraries and the TextXSLT executable on your path.</p>
-</s2><anchor name="samples"/>
-<s2 title="Trying out the samples">
-<p>The &xslt4c; distribution includes a number of basic sample applications. We have precompiled these samples for you so they are ready to run, and you can review the source files to see just how they work. </p>
-<p>To run the samples, do the following:</p>
-<ol>
-<li>Set up your path (see above). In the Windows32 distribution, the sample executables are in
-xml-xalan\c\Build\Win32\VC6\Release. In the UNIX distributions, the executables are in xml-xalan/c/bin.</li>
-<li>Go to the samples subdirectory containing the sample.</li>
-<li>Run the sample from the command line (in Windows, use the DOS shell).</li>
-<li>Examine the application source files.</li>
-</ol>
-<p>For example, go to the SimpleTransform subdirectory and issue the following command:</p>
-<p><code>SimpleTransform</code></p>
-<p>SimpleTransform uses the foo.xsl stylesheet to transform foo.xml, and writes the transformation result to foo.out. To see how the example works, examine the source files: foo.xml, foo.xsl, foo.out, and SimpleTransform.cpp.</p>
-<p>For more information about the samples, see <link idref="samples">&xslt4c; Samples</link>.</p>
-</s2><anchor name="commandline"/>
-<s2 title="Performing your own transformations from the command line">
-<p>The Xalan executable lets you perform transformations from the command line. The command line for 
-most standard transformations is as follows:</p>
-<p><code>Xalan -o <ref>outputfile</ref> <ref>xmlSource</ref> <ref>stylesheet</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 -o flag and <ref>outputfile</ref>.</p>
-<p>You can use this utility to try out XSL stylesheets you have written, to make sure they do what you expect with the XML source files they are designed to transform. The utility provides useful messages if the source file or stylesheet is not well formed. If you include a DOCTYPE statement in your XML source files and include the -v flag on the command line, the utility will also let you know whether the XML document is valid (conforms to that DOCTYPE). For more information, see <link idref="commandline">Command-Line Utility</link>.</p>
-</s2><anchor name="apps"/>
-<s2 title="Setting up your own XSLT applications">
-<p>You can start by using your own XML source files and XSL stylesheets with the sample applications, which illustrate a number of usage patterns. For more information on setting up applications, 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 dac4921..0000000
--- a/xdocs/sources/xalan/history.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-  <s3 title="Changes for &xslt4c; version 1.2">
-    <p>Major updates since version 1.1 include:</p>
-     <ul>
-      <li><link idref="extensionslib">Introduction of a library of extension functions</link></li>
-      <li>Support for pre-parsed source documents and pre-compiled stylesheets in 
-      <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> and the C API.</li>
-      <li>Support for stylesheet params in <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> 
-      and the C API</li>
-      <li>Support for extension functions in <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump></li>
-      <li>Performance enhancements</li>
-      </ul>
-   </s3>  
-<s3 title="Changes for &xslt4c; version 1.1">
-<p>In addition to adding to the list of platforms on which &xslt4c; builds, our focus for this release has been on bug fixes, performance enhancements, 
-and providing a simplified C++ and C API for performing standard transformations. Major updates since version 1.0 include:</p>
-<ul>
-<li>Added HP-UX 11 build.<br/><br/></li>
-<li>Added Solaris build.<br/><br/></li>
-<li>Greatly improved performance.<br/><br/></li>
-<li>Improved conformance to the XSLT specification.<br/><br/></li>
-<li>Simplified the C++ API and provided a C API for performing standard transformations with the <link idref="usagepatterns" 
-anchor="xalantransformer">XalanTransformer</link> class and associated header files.<br/><br/></li>
-<li>Added sample illustrating use of XalanTransformer and the new C++ API: 
-    <link idref="samples" anchor="xalantransform">XalanTransform</link>.<br/><br/></li> 
-<li>Added sample illustrating use of XalanTransformer, the new C API, and how to run &xslt4c; and perform transformations on an 
-    Apache Web server: <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link>.<br/><br/></li>
-<li>Added the <link idref="samples" anchor="streamtransform">StreamTransform</link> sample.<br/><br/></li>
-<li>Eliminated dependencies on non-public Xerces headers; accordingly can now build with the Xerces distribution.<br/><br/></li>
-<li>Fixed namespace mapping and inheritance problems.<br/><br/></li>
-<li>Fixed failure of &lt;copy-of ...&gt; to include CRLFs (if any) in the result.<br/><br/></li>
-<li>Fixed bug sorting in reverse document order based on position. <br/><br/></li>
-<li>Fixed &lt;xsl:number&gt; bug with use of letter-value="traditional" for "classical" Greek numbering.<br/><br/></li>
-<li>Fixed use of &lt;xsl:fallback&gt; within a top-level extension function.<br/><br/></li>
-<li>Fixed HTML output method bug. The &lt;HEAD&gt; element was not including a &lt;META&gt; tag with the encoding.<br/><br/></li>
-<li>Fixed bug using key() in match patterns to find descendants.<br/><br/></li>
-<li>Fixed bug using the id() function in complex match patterns.<br/><br/></li>
-<li>Fixed problem outputting multiple single-character CDATA sections.<br/><br/></li>
-<li>Fixed problem outputting whitespace characters.<br/><br/></li>
-<li>Fixed problem transforming from a stream on UNIX platforms.<br/><br/></li>
-<li>Fixed a bug with the document() function, which was generating a syntax error if called in the following manner: document(<ref>string</ref>,/).<br/><br/></li>
-<li>Fixed named templates bug accepting global parameter when called with a parameter of the same name that the named template does not 
-    recognize.</li>
-</ul>
-</s3>
-<s3 title="Changes for &xslt4c; version 1.0">
-<p>Major updates since version 0.40.0 include:</p>
-<ul>
-<li>Full support for namespace handling<br/><br/></li>
-<li>Full implementation of the format-number() function and support for the decimal-format element<br/><br/></li>
-<li>Integration with the <resource-ref idref="icu"/> for number formatting, sorting, and output encoding<br/><br/></li>
-<li>Support for the exclude-result-prefixes attribute<br/><br/></li>
-<li>Support for the output encoding attribute</li>
-</ul>
-</s3>
-<s3 title="Changes for &xslt4c; version 0.40.0">
-<p>Major updates since version 0.30.0 include:</p>
-<ul>
-<li>Permitting OS file names (as well as URLs) as command-line arguments with TestXSLT<br/><br/></li>
-<li>Stricter compliance for HTML and XML output<br/><br/></li>
-<li>Improved handling of relative URI's<br/><br/></li>
-<li>Improved handling of Import and Include<br/><br/></li>
-<li>Better namespace handling (although there are still problems here)<br/><br/></li>
-<li>Support for Document() function<br/><br/></li>
-<li>Support for XPath predicates<br/><br/></li>
-<li>Better handling of parameters to stylesheet and templates<br/><br/></li>
-<li>Full implementation of axes ( with the exception of namespace:: )<br/><br/></li>
-</ul>
-</s3>
-	
diff --git a/xdocs/sources/xalan/icu.gif b/xdocs/sources/xalan/icu.gif
deleted file mode 100644
index 7d3903f..0000000
--- a/xdocs/sources/xalan/icu.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xalan/index.xml b/xdocs/sources/xalan/index.xml
deleted file mode 100644
index 6e0fd26..0000000
--- a/xdocs/sources/xalan/index.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!-- 
- * 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/>.
- -->
-
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<s1 title="&xslt4c-current;">
-      
-  <s2 title="What is it?">
-    <p>Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML
-     document types.</p>
-    <p>&xslt4c-current; is a robust implementation of the W3C Recommendations 
-    for XSL Transformations (XSLT) and the XML Path Language (XPath). It includes a compatible release of the 
-    &xml4c; XML parser: &xml4c-used;. The focus for this release is on bug fixes, along with a new and simpler command-line executable, 
-    two new samples and additional support for using a Xerces DOM as input for a transformation. For the details, see the <link idref="readme">Release Notes</link>.</p>
-	</s2>
-  
-  <s2 title="How do I get it?">
-    <p>Download and unzip the distribution file for your platform. In addition to the
-     platform-specific binaries, documentation, and sample applications, the distribution also
-     includes the complete &xslt4c; source tree.</p>
-     <table>
-       <tr>
-         <td><ref>Platform</ref></td>
-         <td><ref>Download</ref></td>
-         <td><ref>Built with</ref></td>         
-       </tr>
-       <tr>
-         <td>Windows32</td>
-        <td><resource-ref idref="xslt4c-win32-download"/></td>
-        <td>MSVC 6.0 SP3 and <jump href="http://www.dinkumware.com/vc_fixes.html">Dinkumware C++ library fixes</jump></td>
-      </tr>
-      <tr>
-        <td>Red Hat Linux 6.1</td>
-        <td><resource-ref idref="xslt4c-linux-download"/></td>
-        <td>egcs-2.91.66 and glibc-2.1.2-11</td>
-      </tr>
-      <tr>
-        <td>AIX 4.3</td>
-        <td><resource-ref idref="xslt4c-aix-download"/></td>
-        <td>IBM C and C++ for AIX 5.02</td>
-      </tr>
-      <tr>
-        <td>HP-UX 11</td>
-        <td><resource-ref idref="xslt4c-hp-ux-download"/></td>
-        <td>aCC A.03.27</td>
-      </tr>
-      <tr>
-        <td>Solaris 2.6</td>
-        <td><resource-ref idref="xslt4c-Solaris-download"/>*<br/>
-        [*Use GNU tar to untar; see <link idref="faq" anchor="gnutar">FAQs</link>]</td>
-        <td>Sun Workshop 6 update 2</td>
-      </tr>      
-     </table>
-  <p>Volunteers are more than welcome to help develop builds for other platforms!</p>
-  </s2>
-  
-  <s2 title="Where do I get Xerces?">
-    <p>Right here! The distributions include everything you need to build and run applications that use Xalan and Xerces. Each distribution
-     file includes the Xerces distribution with the appropriate Xerces runtime environment for Xalan: &xml4c-windll; for
-     Windows, &xml4c-linuxlib; for Linux, &xml4c-aixlib; for AIX, &xml4c-hplib; for HP-UX 11, and &xml4c-solarislib; for Solaris.</p>
-  </s2>
-  <s2 title="How about support for internationalization?">
-    <p>To extend Unicode support for encoding, number formatting, and sorting, you can download,
-     build, and integrate the <resource-ref idref="icu"/> with &xslt4c;. See
-     <link idref="usagepatterns" anchor="icu">Using the ICU</link>.</p>
-  </s2>
-  <s2 title="For more information...">
-    <p>For more information, go to the <link idref="overview">&xslt4c; Overview</link> and 
-    <link idref="getstarted">Getting Started with &xslt4c;</link>. All of the Xalan documentation
-    on this website is included in the Xalan downloads, as are a number of samples to help you start
-    using Xalan 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 2d8a7e4..0000000
--- a/xdocs/sources/xalan/overview.xml
+++ /dev/null
@@ -1,197 +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="&xslt4c; Overview">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="features">&xslt4c; Features</link></li>
-<li><link anchor="towork">Getting to work with &xslt4c;</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>&xslt4c; (named after a rare musical instrument) 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 &xslt4c;. 
-    For more information, see <resource-ref idref="XSL"/> and the 
-    <jump href="http://xml.apache.org/fop">Apache XML FOP (Formatting Objects Project)</jump>.</note>
-    <p>You use the XSLT language to compose XSL stylesheets. An XSL stylesheet contains instructions for
-     transforming XML documents from one document type to 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>
-
-      </s2><anchor name="features"/>
-   	  <s2 title="&xslt4c; Features">
-	    <ul> 
-		    <li>&xslt4c; fully implements the <resource-ref idref="XSLT"/>.</li>
-        <li>&xslt4c; incorporates the <resource-ref idref="XPath"/>.<br/><br/></li>
-    	  <li>&xslt4c; uses <jump href="http://xml.apache.org/xerces-c/index.html">&xml4c;</jump> to parse XML documents and XSL
-        stylesheets.<br/><br/>
-        The input may appear in the form of a file or URL, a stream, or a <resource-ref idref="DOM"/>. 
-        &xslt4c; performs the transformations specified in the XSL stylesheet and produces a file, a stream, or a DOM as you
-        specify when you set up the transformation.<br/><br/></li>
-        <li>Along with a complete API for performing transformations in your C++ applications, &xslt4c; provides a <link
-        idref="commandline">command line</link> utility for convenient file-to-file transformations.<br/><br/></li>
-        <li>&xslt4c; supports C++ <link idref="extensions">extension functions</link></li>
-	    </ul> 
-	  </s2><anchor name="towork"/>
-    <s2 title="Getting to work with &xslt4c;">
-     <p>For instructions and some suggestions about how to get started using &xslt4c;, 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 c923f31..0000000
--- a/xdocs/sources/xalan/readme.xml
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"[
-<!ENTITY done-c SYSTEM "DONE">
-<!ENTITY status-c SYSTEM "STATUS">
-<!ENTITY history-c SYSTEM "history.xml">]>
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="&xslt4c; Release Notes">
-<p>Release notes for &xslt4c-current;</p>
- <ul>
-  <li><link anchor="status">Status</link></li>
-  <li><link anchor="build">Build Notes</link></li>
-  <li><link anchor="contact">Getting in touch</link></li>
-  <li><link anchor="history">History of software changes</link></li>  
- </ul>
- <anchor name="status"/>
- <s2 title="Status">
-   <ul>
-    <li><link anchor="done">Changes since &xslt4c; version 1.2</link></li>
-    <li><link anchor="bugs">Bug reporting</link></li>    
-    <li><link anchor="xml4c">Version of &xml4c; to use</link></li>
-    <li><link anchor="to-do">To-do tasks for future &xslt4c; releases</link></li>
-   </ul>
-     <anchor name="done"/>
-  <s3 title="Changes since &xslt4c; version 1.2">
-    <p>Major updates since version 1.2 include:</p>
-     <ul>
-       <li>A new and simplified command-line utility: <link idref="commandline" anchor="xalanexe">the Xalan executable</link></li>
-       <li>New XPath samples exploiting the XPathEvaluator C API and illustrating serialization of an XPath result set: <link idref="samples" anchor="simplexpathcapi">SimpleXPathCAPI</link> and <link idref="samples" anchor="serializenodeset">SerializeNodeSet</link></li>
-       <li>A new <link idref="usagepatterns" anchor="xercesdomwrapperparsedsource">wrapper class</link> that lets you pass in a Xerces DOM as input for a transformation</li>
-<li>Bug fixes.</li>
-<li>Changed XPathException to XalanXPathException because of a clash with a new Xerces class of the same name.</li>
-      </ul>
-   </s3>  
-     <anchor name="bugs"/>
-   <s3 title="Bug reporting">
-     <p>All known &xslt4c; 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 XalanC 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="xml4c"/>     
-     &status-c;     
-  </s2><anchor name="build"/>
-  <s2 title="Build Notes">
-<ul>
-<li><link anchor="jar">Rebuilding &xslt4c;</link></li>
-<li><link anchor="samples">Rebuilding sample applications</link></li>
-</ul>
-<anchor name="jar"/> 
-   <s3 title="Rebuilding &xslt4c;">
-   <ul>
-    <li><link anchor="layout">Layout of Xerces-C and ICU</link></li>      
-    <li><link anchor="win32">Steps for doing a Windows build</link></li>
-    <li><link anchor="unix">Steps for doing a UNIX build</link></li>       
-   </ul>
-   <p>If you want to rebuild &xslt4c;, you need the following:</p>
-   <ul>
-     <li>The &xslt4c; source files</li>
-     <li>The &xml4c; header and (for Windows) .lib files</li>
-     <li>(Optional) The ICU header and (for Windows) .lib files</li>
-   </ul>
-   <p>The &xslt4c; source files and The required &xml4c; files are in the distribution.</p>
-   <p>For information on using the <resource-ref idref="icu"/>, see  
-   <link idref="usagepatterns" anchor="icu">Using the ICU</link>.</p>
-   <note>If you are not rebuilding with the ICU, you do not need the ICU header or .lib files.</note>
-   <p>To rebuild the Windows32 release, use the Microsoft Visual C++ 6.0 project files. To rebuild
-    the Linux or AIX release, use the make file in the root of the source directory. The builds look
-    for &xml4c; and ICU in directories parallel to the
-    xml-xalan directory.</p>
-    </s3><anchor name="layout"/>
-    <s3 title="Layout">
-   <p><em>Important</em> We have set up the Visual C++ projects and the UNIX make files to look for Xerces in the directory structure replicated in our distribution files (see <link idref="getstarted" anchor="xalandists">&xslt4c; Distributions</link>). This matches the structure that results from downloading xml-xerces/c from the <jump href="http://xml.apache.org/websrc/cvsweb.cgi/">Apache XML CVS repository</jump> and building with the Visual C++ project files or the UNIX make file.</p>
-<p>If you are using a &xml4c; binary distribution that you have obtained independently from this &xslt4c; distribution, you must either modify the &xslt4c; project files or makefile, or rearrange the build directory structure as indicated in the following illustration.</p>
-<p>For UNIX, the XERCESROOT environment variable points to the Xerces-C root directory. For Windows, the Xerces-C root directory must be named xml-xerces, and it must be at the same level as the &xslt4c; root directory. For all environments, the ICU root directory must be named icu, and it must be at the same level as the &xslt4c; root directory.</p>
-<s4 title="ICU layout for &xslt4c; build">
-<p><img src="icu.gif" alt="icu.gif"/></p>
-</s4>
-<note>Keep in mind that at any given point in time the &xslt4c; and &xml4c; source trees in the Apache XML repository may not be consistent. When we release a version of &xslt4c; we certify that it is compatible with a given version of &xml4c;. To be safe, stick with distributions that we certify to be compatible. Reminder: &xslt4c-current; is compatible with the &xml4c; that is included with the distribution..<br/><br/>
-&xslt4c-current; has been tested with &icu-used;. You may be able to use newer ICU releases as they appear.</note>
-  </s3><anchor name="win32"/>
-  <s3 title="Steps for doing a Windows build">
-  <p>To build &xslt4c; on Windows, you need &xml4c; and MS Visual C++ 6.0 installed with Service Pack 3 for Visual C++ and Visual Studio. You should also apply the bug fixes for the C++ standard library that shipped with Visual C++ 6.0. These fixes are available from the Dinkumware site: <jump href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</jump>.</p>
-  <ol>
-     <li>(Optional) If you are rebuilding the ICUBridge, install the ICU so the icu root directory
-      is at the same level as the xml-xerces root directory (see <link 
-      idref="usagepatterns" anchor="icu">Using the ICU</link>.<br/><br/>
-      If you want the Xalan and/or testXSLT executable to use ICU support for number formatting and sorting, install the ICU,
-      uncomment the <code>#define XALAN_USE_ICU</code> statement in process.cpp, and use the Visual C++ 
-      Project Dependencies command to add ICUBridge to the list of XalanTransformer and/or TestXSLT dependencies (see <link idref="commandline"
-      anchor="icu">Enabling ICU support for the Xalan and/or TestXSLT executable</link>).<br/><br/></li>
-    <li>Use Visual C++ to open the Xalan workspace from the xml-xalan\c\Projects\Win32\VC6.
-    <br/><br/></li>
-    <li>Use Visual C++ to rebuild everything or specific dynamic link libraries and executables of
-    interest.<br/><br/></li>
-  </ol>
-  </s3><anchor name="unix"/>
-<s3 title="Steps for doing a UNIX build">
-    <ol>
-      <li>Set the XERCESCROOT environment variable to the root of xml-xerces.<br/><br/></li>    
-      <li>Set the XALANCROOT environment variable to the complete path to the root of the &xslt4c;
-       distribution.<br/><br/></li>
-      <li>Solaris only: Download <resource-ref idref="stlport"/> and set the STLPORTROOT environment
-       variable to the complete path to the STLPort distribution. <br/>
-       (This step is not required for Linux, AIX, or HP-UX 11 because the Linux GNU compiler, AIX xlC compiler, and 
-       HP aCC compiler include the STL (Standard Template Library.)<br/><br/></li>
-      <li>(Optional) If you are including the ICUBridge, install the ICU (see <link idref="usagepatterns"
-      anchor="icu">Using the ICU</link>) and use the shell to define XALAN_USE_ICU.<br/><br/>
-      If you are using Bourne Shell, K Shell, or Bash:
-      <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>export XALAN_USE_ICU "1"</code><br/><br/>
-      If you are using C Shell:
-      <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>setenv XALAN_USE_ICU="1"</code><br/><br/></li>
-      <li>Change directory to xml-xalan/c/src in the &xslt4c; distribution.<br/><br/></li>      
-      <li>Use the chmod +x command to set the executable flags for conf* and runConfigure.<br/><br/>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>chmod +x runConfigure</code><br/>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>chmod +x conf*</code><br/><br/></li>
-      <li>Run the runConfigure utility with at least the platform flag (Linux) or the platform, C compilier, and C++ compiler flags (AIX) as indicated below.<br/><br/>
-      <ref>Linux:</ref>&nbsp;&nbsp;<code>runConfigure -p linux</code><br/>
-      <ref>AIX:</ref>&nbsp;&nbsp;&nbsp;&nbsp;<code>runConfigure -p aix -c xlc -x xlC</code><br/><br/>
-      <ref>HP-UX 11:</ref>&nbsp;&nbsp;<code>runConfigure -p hp-11 -c cc -x aCC</code><br/><br/>
-      <ref>Solaris:</ref>&nbsp;&nbsp;<code>runConfigure -p Solaris -c cc -x CC</code><br/><br/>            
-      To see the other runConfigure flags you may include, use the help flag:<br/><br/>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>runConfigure -h</code><br/><br/></li>
-      <li>Purge the previous build:<br/><br/>
-         <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make clean</code><br/><br/></li>
-      <li>Run the new build:<br/><br/>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>make</code><br/>
-      or<br/>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>make <ref>targ</ref></code><br/><br/>
-      where <ref>targ</ref> is omitted or is <code>all</code> (rebuild all), <code>lib</code> (the XSLT library), <code>Xalan</code> (the Xalan executable), or
-      <code>testXSLT</code> (the testXSLT executable). ICUBridge is included in the build of Xalan and TestXSLT if XALAN_USE_ICU is
-      defined.<br/><br/></li>
-    </ol>
-    <note>The command you use for setting environment variables depends on the shell you are
-     using.<br/>
-     For Bourne Shell, K Shell, or Bash use <em>export</em> ENVAR="val"<br/>
-     For C Shell, use <em>setenv</em> ENVAR "val"<br/>
-     where ENVAR is the environment variable name and val is the environment variable
-     setting. You can check the setting of an environment variable with <em>echo</em> $ENVAR</note>
-   </s3><anchor name="samples"/>
-   <s3 title="Rebuilding a sample application">
-   <p>The Windows32 distribution includes a Visual C++ workspace for the sample applications. This workspace is in the samples directory. If you modify a sample and want to recompile it, you can recompile the .cpp file(s) and rebuild the executable.</p>
-<p>The make files that come with the UNIX distributions include targets for rebuilding one or all of the sample applications (with the exception of the ThreadSafe sample, which in its current form only runs under Windows). To rebuild one or more sample applications, go to the xml-xalan/c/src directory and run<br/><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>make <ref>targ</ref></code><br/><br/>
-where <ref>targ</ref> is <code>Samples</code> (all the samples), <code>XalanTransform</code>, <code>SimpleTransform</code>,  <code>StreamTransform</code>, <code>UseStylesheetParam</code>, <code>TraceListen</code>, <code>CompileStylesheet</code>, (Windows only) <code>ThreadSafe</code>  <code>XPathWrapper</code>, <code>ExternalFunctions</code>,or <code>ApacheModuleXSLT</code>.</p>
-<note>For information on building Apache Module, see <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link></note>
-   </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 contribute to the ongoing development, testing, or documentation of &xslt4c;.</p> 
-<p>Please email your comments, questions, suggestions, bug reports, and offers to help to <human-resource-ref idref="xalandev"/>.</p>
- </s2><anchor name="history"/>
- <s2 title="Cumulative history of software changes">
-   <p>The following sections list the changes in each release since &xslt4c; version 0.40.0.</p>
-   &history-c;
- </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 8b9cbe7..0000000
--- a/xdocs/sources/xalan/resources.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> 
-<!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="xslt4c-current" title="&xslt4c-current;" location="http://xml.apache.org/xalan"/>
-  <resource id="xml4c-used" title="&xml4c-used;" location="http://xml.apache.org/xerces-c/index.html"/>   
-
-  <resource id="xslt4c-distdir" title="&xslt4c; distribution directory" location="http://xml.apache.org/dist/xalan-c"/>
-  <resource id="xml4c-distdir" title="&xml4c; distribution directory" location="http://xml.apache.org/dist/xerces-c/"/>
-  <resource id="xslt4c-win32-download" title="&xslt4c-dist;-win32.zip" location="http://xml.apache.org/dist/xalan-c/&xslt4c-dist;-win32.zip"/>
-  <resource id="xslt4c-linux-download" title="&xslt4c-dist;-linux.tar.gz" location="http://xml.apache.org/dist/xalan-c/&xslt4c-dist;-linux.tar.gz"/>
-<resource id="xslt4c-aix-download" title="&xslt4c-dist;-aix.tar.gz" location="http://xml.apache.org/dist/xalan-c/&xslt4c-dist;-aix.tar.gz"/>
-<resource id="xslt4c-hp-ux-download" title="&xslt4c-dist;-hp-ux.tar.gz" location="http://xml.apache.org/dist/xalan-c/&xslt4c-dist;-hp-ux.tar.gz"/>
-<resource id="xslt4c-Solaris-download" title="&xslt4c-dist;-solaris.tar.gz" location="http://xml.apache.org/dist/xalan-c/&xslt4c-dist;-solaris.tar.gz"/>
-  
-  <resource id="icu" title="International Components for Unicode (ICU)" location="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html"/>
-<resource id="icu-download" title="International Components for Unicode (ICU) 2.0 source files" location="http://oss.software.ibm.com/developerworks/opensource/icu/project/download/index.html"/>
-<resource id="xerces-build-icu" title="Building ICU for &xml4c;" location="http://xml.apache.org/xerces-c/build.html#BuildICU"/>
-
-  <resource id="stlport" title="STLport" location="http://www.stlport.org/"/>
-	
- <resource id="ApacheLicense" title="The Apache Software License, Version 1.1" location="http://xml.apache.org/dist/LICENSE.txt"/>
-	
-  <resource id="Readme" title="Xalan Repository Release Notes" location="http://www.apache.org/websrc/cvsweb.cgi/xml-xalan/README"/>
-  
-  <resource id="XSL" title="Extensible Stylesheet Language (XSL) Version 1.0 W3C Candidate Recommendation"
-   location="http://www.w3.org/TR/xsl"/>
-
-  <resource id="XSLT" title="W3C Recommendation 16 November 1999 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="dpawsonxslfaq" title="XSL Frequently Asked Questions" location="http://www.dpawson.co.uk/xsl/xslfaq.html"/>
- 
-  <human-resource id="xalandev" name="Xalan Development Mailing List" mailto="xalan-dev@xml.apache.org"/>
-  
-  <resource id="bugzilla"
-            title="Bugzilla (the Apache bug database)"
-            location="http://nagoya.apache.org/bugzilla"/>
-  <resource id="buglist"
-            title="XalanC 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=XalanC&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=Reuse+same+sort+as+last+time"/>
-
-
-</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 886939d..0000000
--- a/xdocs/sources/xalan/samples.xml
+++ /dev/null
@@ -1,332 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!--
- * 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/>.
- -->
-
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<s1 title="&xslt4c; Samples">
-  <ul>
-    <li><link anchor="getstarted">Samples to help you get started</link></li>
-    <li><link anchor="xalantransform">XalanTransform</link></li>
-    <li><link anchor="simpletransform">SimpleTransform</link></li>
-    <li><link anchor="streamtransform">StreamTransform</link></li>    
-    <li><link anchor="usestylesheetparam">UseStylesheetParam</link></li>
-    <li><link anchor="xalantransformercallback">XalanTransformerCallback</link></li>
-    <li><link anchor="tracelisten">TraceListen</link></li>        
-    <li><link anchor="compilestylesheet">CompileStylesheet</link></li>
-     <li><link anchor="documentbuilder">DocumentBuilder</link></li>
-    <li><link anchor="threadsafe">ThreadSafe</link></li>  
-    <li><link anchor="xpathwrapper">XPathWrapper</link></li>
-    <li><link anchor="simplexpathapi">SimpleXPathAPI</link></li>
-    <li><link anchor="simplexpathcapi">SimpleXPathCAPI</link></li>
-    <li><link anchor="serializenodeset">SerializeNodeSet</link></li>    
-    <li><link anchor="externalfunctions">ExternalFunctions</link></li>
-    <li><link anchor="apachemodulexslt">ApacheModuleXSLT</link></li>
-  </ul>
-
-  <anchor name="getstarted"/>
-	<s2 title="Samples to help you get started">
-    <p>Each of the subdirectories in the &xslt4c; samples directory contains the source files for a
-    sample application. The executables for the samples are in the build subdirectory, which should be on the system
-    path.</p>
-    <p>With most of the samples, you can use the following procedure:</p>
-     <ol>
-      <li>Go to the samples subdirectory containing the sample (use the DOS shell if you are running Windows)
-      <br/><br/></li>
-      <li>Run the sample from the command line (as indicated below)<br/><br/></li>
-      <li>Examine the application source files. You may also want to modify the source files. Remember that if you
-      modify a .cpp file, you must rebuild the executable and place it on the path before you can run the
-      modified application.</li>
-     </ol>
-     <note> Each sample application looks for input files in the current directory, the directory from
-     which you run the application. The input files are in the samples subdirectory along with the sample source
-     files. For the UNIX builds, application executables are in the bin subdirectory. For the Windows32 build, the
-     application executable is in the build subdirectory (xml-xalan\c\Build\Win32\VC6\ Debug and Release). To run a sample, be sure the
-     executable is on the path, and run it from the samples subdirectory that contains the input files.</note>
-  </s2><anchor name="xalantransform"/>
-  <s2 title="XalanTransform">
-    <p>What it does: XalanTransform uses the XalanTransformer class and the associated C++ API to apply an XSL stylesheet file to an XML document file and write
-    the transformation output to either an output file or to a stream. XalanTransform takes command-line 
-    arguments for the XML document to be transformed, the XSL stylesheet to apply, and an optional output file argument. If you omit 
-    the third argument, XalanTransform writes the transformation output to a stream that is sent to standard out (the console).</p>
-    <p>You can run XalanTransform from the XalanTransform subdirectory with</p>
-    <p><code>XalanTransform foo.xml foo.xsl foo.out</code></p>
-    <p>Omit the third argument to write the transformation result to the console. See also: <link idref="usagepatterns" 
-    anchor="xalantransformer">Using the XalanTransformer class.</link>.</p>
-  </s2><anchor name="simpletransform"/>
-  <s2 title="SimpleTransform">
-    <p>What it does: The SimpleTransform class uses the foo.xsl stylesheet to transform foo.xml, and writes the
-     output to foo.out.</p>
-    <p>You can run it from the SimpleTransform subdirectory with</p>
-    <p><code>SimpleTransform</code></p>
-    <p>See also: <link idref="usagepatterns" anchor="xalantransformer">Basic procedures for performing XSL
-    transformations</link>.</p>
-  </s2><anchor name="streamtransform"/>
-  <s2 title="StreamTransform">
-  <p>What it does: The StreamTransform class processes character input streams containing a stylesheet and an XML document, and
-   writes the transformation output to a character output stream. This sample illustrates the process for working with stylesheets and documents that you assemble in memory.</p>
-      <p>You can run it from the SimpleTransform subdirectory with</p>
-    <p><code>StreamTransform</code></p>
-  </s2><anchor name="usestylesheetparam"/>    
-  <s2 title="UseStylesheetParam">    
-    <p>What it does: Set a stylesheet parameter that the stylesheet uses during the transformation.</p>
-    <p>You can run it from the UseStylesheetParam subdirectory with</p>
-    <p><code>UseStylesheetParam <ref>key expression</ref></code></p>
-    <p>where <ref>key</ref> is the parameter key (or name) and <ref>expression</ref> is a string expression enclosed
-     in single quotes.</p>
-    <p>The example uses a stylesheet (foo.xsl) with a parameter named param1. The stylesheet accepts any string
-     expression. Enclose the string expression in single quotes (so it is interpreted as an expression); if it
-     includes more than a single word, enclose the resulting string in double quotes so the executable interprets it
-     as a single argument. For example:</p>
-     <p><code>UseStylesheetParam param1 "'hello out there'"</code></p>
-     <p>See also: <link idref="usagepatterns" anchor="params">Setting stylesheet parameters</link>.</p>     
-  </s2><anchor name="xalantransformercallback"/>
-  <s2 title="XalanTransformerCallback">
-  <p>What it does: Return transformation output in blocks to a callback function, which writes the output to a file.
-  This sample illustrates the use of a callback function to incrementally process a transformation result, that is to begin
-  working with the transformation result before the transformation has beeen completed. See <link idref="usagepatterns"
-  anchor="incremental">Processing output incrementally</link>.</p>
-  <p>You can run it from the XalanTransformerCallback subdirectory with</p>
-  <p><code>XalanTransformerCallback foo.xml foo.xsl [foo.out]</code></p>
-  <note>If you omit the third argument, the transformation result is written to the console.</note>
-  </s2>
-  <anchor name="tracelisten"/>
-  <s2 title="TraceListen">
-  <p>What it does: Trace events during a transformation; the transformation uses birds.xsl to transform birds.xml and writes the
-  output to birds.out.</p>
-  <p>You can run it from the TraceListen subdirectory with</p>
-  <p><code>TraceListen <ref>traceFlags</ref></code></p>
-  <p>where <ref>traceFlags</ref> is one or more of the following:</p>
-  <p>&nbsp;&nbsp;<code>-tt</code> (Trace the templates as they are being called)</p>
-  <p>&nbsp;&nbsp;<code>-tg</code> (Trace each result tree generation event)</p>
-  <p>&nbsp;&nbsp;<code>-ts</code> (Trace each selection event)</p>
-  <p>&nbsp;&nbsp;<code>-ttc</code> (Trace the template children as they are being processed)</p>
-  <p>These flags are also available in the <link idref="commandline">command-line utility (TestXSLT)</link>.</p>
-  <p>The core of this example is the following fragment:</p>
-  <source>// Set up a diagnostic writer to be used by the TraceListener...
-XalanStdOutputStream  theStdErr(cerr);
-XalanOutputStreamPrintWriter  diagnosticsWriter(theStdErr);
-// Make sure that error reporting, which includes any TraceListener 
-// output does not throw exceptions when transcoding, since that could 
-// result in an exception being thrown while another exception is active.
-// In particular, characters that the TraceListener writes might not be 
-// representable in the local code page.
-theStdErr.setThrowTranscodeException(false);
-
-// Set up the TraceListener...
-// traceTemplates, traceTemplateChildren, traceGenerationEvent,
-// and TraceSelectionEvent are booleans set by the command line.
-TraceListenerDefault theTraceListener(
-        diagnosticsWriter,
-        traceTemplates,
-        traceTemplateChildren,
-        traceGenerationEvent,
-        traceSelectionEvent);
-
-// Add the TraceListener to the XSLT processor...
-theProcessor.setTraceSelects(traceSelectionEvent);
-theProcessor.addTraceListener(&amp;theTraceListener);
-
-// Perform the transformation
-....</source>
-  
-  </s2><anchor name="compilestylesheet"/>    
-  <s2 title="CompileStylesheet">
-    <p>What it does: Use a compiled stylesheet to perform a series of transformations.</p>
-    <p>You can run it from the CompileStylesheet subdirectory with</p>
-    <p><code>CompileStylesheet</code></p>
-    <p>See also: <link idref="usagepatterns" anchor="compiled">Compiling stylesheets</link>.</p>
-  </s2>  <anchor name="documentbuilder"/>
-  <s2 title="DocumentBuilder">
-  <p>What it does: Use a DocumentBuilder to programmatically construct an XML document, apply the foo.xsl stylesheet to
-  this document, and write the ouput to foo.out.</p>
-  <p>You can run it from the DocumentBuilder subdirectory with</p>
-  <p><code>DocumentBuilder</code></p>
-  </s2><anchor name="threadsafe"/>
-  <s2 title="ThreadSafe (Windows32 Only)">
-  <p>What it does: Multiple threads use a single compiled stylesheet (StylesheetRoot) and DOM source tree (XalanNode) to perform
-  transformations concurrently. The application tracks the progress of the threads in messages to the console, and each thread
-  writes its own output file. Imagine a server application responding to multiple clients who happen to request the same
-  transformation.</p>
-  <note>This sample uses Windows libraries, but could readily be adapted to run under Linux, AIX, or other environments. It
-  could also be adapted to perform a variety of transformations, each with its own XML input.</note>
-  <p>You can run it from the ThreadSafe subdirectory with</p>
-  <p><code>ThreadSafe</code></p>
-  <p>See also: <link idref="usagepatterns" anchor="compiled">Compiling stylesheets</link>.</p>  
-  </s2><anchor name="xpathwrapper"/>
-  <s2 title="XPathWrapper">
-  <note>For a more streamlined sample that uses the XPathEvaluator interface, see 
-  <link anchor="simplexpathapi">SimpleXPathAPI</link>.</note>
-    <p>This sample uses an executable (TestDriver in Windows, XPathWrapper in Linux and AIX), and two classes: XPathWrapper and
-    XPathWrapperImp.</p>
-    <p>What it does: The executable passes XPathWrapper an XML file name, a context node location path, and an XPath
-     expression. XPathWrapper in turn passes these arguments to the XPathWrapperImpl evaluate() method, which executes the
-     XPath expression from specified context node in the XML document and returns the nodes it finds (if any).</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 context node in an XML file.</note>
-    <p>Run this sample from the XPathWrapper subdirectory with the same command line arguments described for <link
-    anchor="simplexpathapi">SimpleXPathAPI</link>. Under Windows, the executable is TestDriver; under UNIX, the 
-    executable is XPathWrapper.</p> 
-  </s2><anchor name="simplexpathapi"/>
-  <s2 title="SimpleXPathAPI">
-  <p>What it does: Use the XPathEvaluator interface to evaluate an XPath expression from the specified context node of 
-  an XML file and display the nodeset returned by the expression.</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 context node in an XML file.</note>
-  <p>Run this sample from the SimpleXPathAPI subdirectory with</p>
-  <p><code>SimpleXPathAPI <ref>XMLFile</ref> <ref>ContextNode</ref> <ref>XPathExpression</ref></code></p>
-  <p>where <ref>XMLFile</ref> is an XML source file, <ref>ContextNode</ref> is the location path to the context
-     node, and <ref>XPathExpression</ref> is an XPath expression to apply to that context node.</p> 
-<note>Keep in mind that the string value returned by an XPath expression is the string value of the first node in the nodeset returned by the expresssion.</note>
-<p>The XPathWrapper subdirectory contains an XML file named xml.foo (part of it appears below).</p>
-     <source>&lt;?xml version="1.0"?&gt;
-&lt;doc&gt;
-  &lt;name first="David" last="Marston"&gt;Mr. Marson&lt;/name&gt;
-  &lt;name first="David" last="Bertoni"&gt;Mr. Bertoni&lt;/name&gt;
-  ...
-  &lt;name first="Paul" last="Dick"&gt;Mr. Dick&lt;/name&gt;
-&lt;/doc&gt;</source>
-    <p>You can try command lines like</p>
-    <p><code>SimpleXPathAPI foo.xml /doc name/@last</code></p>
-    <p>and</p>
-    <p><code>SimpleXPathAPI foo.xml / '//name[position()="4"]/@first'</code></p>
-     <note>If a SimpleXPathAPI argument includes characters (such as *) that the shell interprets incorrectly, enclose the argument 
-     in double quotes.</note>
-    <p>See also: <link idref="usagepatterns" anchor="xpath">Working with XPath expressions</link>.</p>
-  </s2><anchor name="simplexpathcapi"/>
-  <s2 title="SimpleXPathCAPI">
-  <p>What it does: Use the XPathEvaluator C interface to evaluate an XPath epxeression and display the string value returned by the epxression.</p>
-<note>Keep in mind that the string value returned by an XPath expression is the string value of the first node in the nodeset returned by the epxresssion.</note>
-<p>Run this sample from the SimpleXPathCAPI subdirectory with</p>
-<p><code>SimpleXPathCAPI <ref>XMLFile</ref> <ref>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 the XML source file. The SimpleXPathCAPI subdirectory contains an XML file named xml.foo identical to foo.xml in the preceding example.</p>
-    <p>You can try command lines like</p>
-    <p><code>SimpleXPathCAPI foo.xml /doc/name[3]</code></p>
-  </s2><anchor name="serializenodeset"/>
-  <s2 title="SerializeNodeSet">
-  <p>What it does: Serialize the node set returned by the application of an XPath expression to an XML document.</p>
-<p>Run this sample from the SerializeNodeSet subdirectory with</p>
-<p><code>SerializeNodeSet <ref>XMLFile</ref> <ref>ContextNode</ref> <ref>XPathExpression</ref></code></p>
-  <p>where <ref>XMLFile</ref> is an XML source file, <ref>ContextNode</ref> is the location path to the context
-     node, and <ref>XPathExpression</ref> is an XPath expression to apply to that context node. The SerializeNodeSet directory contains the same foo.xml sample source file as the preceding examples.</p>
-  </s2><anchor name="externalfunctions"/>
-  <s2 title="ExternalFunctions">
-    <p>What it does: implement, install, and illustrate the usage of three extension functions. The functions return a
-    square root, a cube, and a string with the current date and time. The sample stylesheet (foo.xsl) gets the area
-    of a cube and units of measurement from an XML document (foo.xml), computes the length of each side
-    of a cube and the volume of the cube, and enters the date and time of the transformation. The output appears in
-    foo.out.</p>
-    <p>Run this sample from the ExternalFunctions subdirectory with</p> 
-    <p><code>ExternalFunctions</code></p>
-    <p>See also: <link idref="extensions">Extension Functions</link>.</p>
-  </s2><anchor name="apachemodulexslt"/>
-  <s2 title="ApacheModuleXSLT">
-  <note>This sample must be built with the Apache Web server, and the &xslt4c; distribution files do not include a binary
-    for ApacheModuleXSLT. Assuming you have installed the Apache server on your platform, you can use Visual C++ on Windows to
-    build ApacheModuleXSLT.dll, or the makefile on UNIX to build xslt_module (with the appropriate library suffix).</note>
-    
-  <p>What it does: runs as an Apache module on an Apache Web server; performs transformations and returns the output to a Web
-  browser. You configure Apache to respond to a given URL request for an output file (html or txt file in the configuration below)
-  by applying an xsl stylesheet file to an xml document file (both with the specified name in a given location) and returning
-  the transformation output to the client.</p> 
-  <p>This sample also illustrates use of the XalanTransformer class and the C API defined in src/XalanTransformer/XalanCAPI.h. It returns 
-  transformation output in blocks to a callback function, which enables the browser to start displaying the result before the transformation
-  has been completed.</p>
-  <note>You may need to adjust the Visual C++ or makefile settings to locate the required Apache header files. As shipped, the Visual C++ 
-  project file looks in \Apache Group\Apache\src\include, and the UNIX makefile looks in usr/lib.</note>
-  <p>To build the Apache module, follow the instructions in <link idref="readme" anchor="win32">Steps for doing a Windows 
-  build</link> or <link idref="readme" anchor="unix">Steps for doing a UNIX build</link>. For UNIX platforms, you do the build with<br/> 
-  <code>make ApacheModuleXSLT</code>.</p>
-  <s3 title="Setting up and using ApacheModuleXSLT">
-  <p>To use ApacheModuleXSLT, do the following:</p>
-  <ol>
-    <li>(UNIX only) Be sure the Xalan and Xerces libraries are on your library path (you can accomplish this by copying them to
-    /usr/lib; see <link idref="getstarted" anchor="path">Setting up the path/library path</link>), and copy the Apache module to 
-    /usr/lib/apache.<br/><br/></li>
-    <li>Add LoadModule and (UNIX only) AddModule entries to the Apache configuration file: httpd.conf.<br/><br/>
-    Windows: <code>LoadModule xslt_module xml-xalan\c\Build\Win32\VC6\Release\ApacheModuleXSLT.dll</code><br/><br/>
-    UNIX: <code>AddModule mod_xslt.c</code><br/>
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and<br/>
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>LoadModule xslt_module /usr/lib/apache/mod_xslt.<ref>xx</ref></code><br/><br/>
-    where <ref>xx</ref> is the appropriate library suffix for the UNIX platform ("so" or "a").<br/><br/></li>
-    <li>Add a &lt;Location&gt; entry to httpd.conf that indicates where xml/xsl file pairs are to be found, and what target file extensions
-    to recognize. We suggest the following:<br/><br/>
-    <code>&lt;Location /xslt&gt;</code><br/>
-    &nbsp;&nbsp;<code>AddHandler mod_xslt .html</code><br/>
-    &nbsp;&nbsp;<code>AddHandler mod_xslt .txt</code><br/>
-    <code>&lt;/Location&gt;</code><br/><br/>
-    This &lt;Location&gt; element instructs the module to respond to requests for <ref>xxx</ref>.html and <ref>xxx</ref>.txt files in the 
-    in the xslt subdirectory (under the document root; see next item) by applying the <ref>xxx</ref>.xsl stylesheet to <ref>xxx</ref>.xml 
-    (both in that directory) and returning the transformation result to the browser.<br/><br/>
-    For example, a request for foo.html instructs the module to apply foo.xsl to foo.xml and return the result.<br/><br/>
-    Note: It is up to the stylesheet to apply the appropriate xsl:output method to the output. Whether the user specifies html or txt is, of
-    itself, immaterial.<br/><br/></li>
-    <li>Put xml/xsl file pairs in the &lt;Location&gt; subdirectory (xslt in the example)) under the document root directory specified in httpd.conf by the 
-    DocumentRoot and &lt;Directory&gt; settings. Alternatively, you can modify these settings to point to xml-xalan/c/samples/ApacheModuleXSLT,
-    which includes an xslt subdirectory with xml/xsl file pairs (foo.xml/xsl, apachemod.xml/xsl).<br/><br/></li>
-    <li>Start the Apache server.<br/><br/></li>
-    <li>From a Web browser, call the module with a URL as follows:<br/>
-    <code>http://<ref>serverName</ref>/xslt/<ref>xxx</ref>.html</code><br/>
-    where <ref>serverName</ref> is the Apache server (such as www.myServer.com) and <ref>xxx</ref> is the name of an xml/xsl pair of files 
-    (such as foo.xml and foo.xsl) in the xslt subdirectory under the DocumentRoot directory.<br/><br/>
-    For example,<br/>
-    <code>http://www.myServer.com/xslt/apachemod.html</code><br/>
-    instructs ApacheModuleXSLT to apply the apachemod.xsl stylesheet to the apachemod.xml XML document (both files in the xslt directory under the 
-    Apache DocumentRoot directory) and return the transformation result to the browser.</li>
-  </ol>
-  </s3>
-  </s2>
-</s1>
diff --git a/xdocs/sources/xalan/tail.html b/xdocs/sources/xalan/tail.html
deleted file mode 100644
index 4b0cd94..0000000
--- a/xdocs/sources/xalan/tail.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<CENTER>
-<P>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
-	<TR>
-		<TD WIDTH="50%" VALIGN="TOP"><B>Xalan XSL Transformer for C++</B><BR>
-			Copyright &copy; 1999 The Apache Software Foundation</TD>
-		<TD WIDTH="50%">
-			<P ALIGN="RIGHT"><IMG SRC="apacheL.jpg" ALIGN="BOTTOM" ALT="Apache Logo" BORDER="0">
-		</TD>
-	</TR>
-</TABLE>
-</CENTER>
diff --git a/xdocs/sources/xalan/usagepatterns.xml b/xdocs/sources/xalan/usagepatterns.xml
deleted file mode 100644
index e3a4bea..0000000
--- a/xdocs/sources/xalan/usagepatterns.xml
+++ /dev/null
@@ -1,421 +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="&xslt4c; Basic usage patterns">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="xalantransformer">Basic usage pattern with the XalanTransformer C++ API</link></li>
-<li><link anchor="stylepi">Using a stylesheet processing instruction</link></li>
-<li><link anchor="params">Setting stylesheet parameters</link></li>
-<li><link anchor="incremental">Processing output incrementally</link></li>
-<li><link anchor="compiled">Performing a series of transformations</link></li>
-<li><link anchor="dom">Working with DOM input and output</link></li>
-<li><link anchor="xercesdomwrapperparsedsource">Using a Xerces DOM as the source for a Xalan transformation</link></li>
-<li><link anchor="xpath">Working with XPath expressions</link></li>
-<li><link anchor="tracelistener">Using the TraceListener</link></li>
-<li><link anchor="icu">Using the International Components for Unicode (ICU)</link></li>
-<li><link anchor="capi">Basic usage pattern with the XalanTransformer C API</link></li>
-<li><link anchor="cvar">Variations with the XalanTransformer C API</link></li>
-<li>See also: <link idref="extensions">Creating and using extension functions</link></li>
-</ul><anchor name="intro"/>
-
-<s2 title="Introduction">  
-<p>To perform a transformation, use one of the <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> transform() methods. The transformation requires an XML source document and an XSL stylesheet. Both of these objects may be represented by instances of <jump href="apidocs/class_xsltinputsource.html">XSLTInputSource</jump>. You can construct an XSLTInputSource with a string (the system ID for a file or URI), an input stream, or a DOM.</p>
-<p>If you are using an XSL stylesheet to perform a series of transformations, you can improve performance by calling transform() with a compiled stylesheet, an instance of <jump href="apidocs/class_xalancompiledstylesheet.html">XalanCompiledStylesheet</jump>. If you are transforming an XML source more than once, you should call transform() with a parsed XML source, an instance of <jump href="apidocs/class_xalanparsedsource">XalanParsedSource</jump>. See <link anchor="compiled">Performing a series of transformations</link>.</p>
-<p>If you XML source document contains a stylesheet Processing Instruction (PI), you do not need to include a stylesheet object when you call transform().</p>
-<p>The transformation output is represented by an <jump href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</jump>, which you can set up to refer to an output stream, the system ID for a file or URI, or a DOM.</p>
-<p>For detailed API documentation, see <jump href="apidocs/index.html">&xslt4c; API</jump>. For an overview of the
-command-line utility, see <link idref="commandline">Command-Line Utility</link>.</p>
-</s2><anchor name="xalantransformer"/>
-<s2 title="Basic usage patten with the XalanTransformer C++ API">
-<p>Using <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> and the C++ API, you can perform one or more transformations as described in the following steps.</p>
-<note>For a working sample that illustrates these steps, see the <link idref="samples" anchor="xalantransform">XalanTransform</link> sample.</note>
-<s3 title="1. Include the required header files.">
-<p>Always start with Include/PlatformDefinitions.hpp, the &xslt4c; base header file. Also include util/PlatformUtils.hpp, XalanTransformer/XalanTransformer.hpp, and any other header files your particular application requires.</p>
-<source>#include &lt;Include/PlatformDefinitions.hpp&gt;
-#include &lt;util/PlatformUtils.hpp&gt;
-#include &lt;XalanTransformer/XalanTransformer.hpp&gt;
-...</source>
-</s3>
-  <s3 title="2. Initialize Xerces and Xalan">
-<p>Use the static initializers to initialize the &xslt4c; and &xml4c; platforms. You must initialize &xml4c; once per process. You may initialize and terminate &xslt4c; multiple times, but this is not recommended: it is inefficient and is not thread safe.</p>  
-<source>XMLPlatformUtils::Initialize();
-XalanTransformer::initialize();</source>
-</s3>
-  <s3 title="3.Create a XalanTransformer">
-  <source>XalanTransformer theXalanTransformer;</source>
-  </s3>
-  <s3 title="4. Perform each transformation">
-    <p>You can explicitly instantiate <jump href="apidocs/class_xsltinputsource.html">XSLTInputSource</jump> objects for the XML source document and XSL stylesheet, and an <jump href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</jump> object for the output, and then call <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> transform() with those objects as parameters. For example:</p>
-<source>XSLTInputSource xmlIn("foo.xml");
-XSLTInputSource xslIn("foo.xsl");
-XSLTResultTarget xmlOut("foo-out.xml");
-int theResult =
-    theXalanTransformer.transform(xmlIn,xslIn,xmlOut)</source>
-   <p>Alternatively, you can call transform() with the strings (system identifiers), streams, and/or DOMs that the compiler needs to implicitly construct the <jump href="apidocs/class_xsltinputsource.html">XSLTInputSource</jump> and <jump href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</jump> objects. For example:</p>
-<source>const char* xmlIn = "foo.xml";
-const char* xslIn = "foo.xsl";
-const char* xmlOut = "foo-out.xml";
-int theResult =
-    theXalanTransformer.transform(xmlIn,xslIn,xmlOut)</source>
- <p>Keep in mind that <jump href="apidocs/class_xsltinputsource.html">XSLTInputSource</jump> and <jump href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</jump> provide a variety of single-argument constructors that you can use in this manner:</p>
-<ul>
-  <li><code>XSLTInputSource(const char* systemID);</code></li>
-  <li><code>XSLTInputSource(const XMLCh* systemID);//Unicode chars</code></li>
-  <li><code>XSLTInputSource(istream* stream);</code></li>
-  <li><code>XSLTInputSource(XalanNode* node);</code><br/><br/></li>
-  <li><code>XSLTResultTarget(char* fileName);</code></li>
-  <li><code>XSLTResultTarget(XalanDOMString&amp; fileName);</code></li>
-  <li><code>XSLTResultTarget(ostream* stream);</code></li>
-  <li><code>XSLTResultTarget(ostream&amp; stream);</code></li>  
-  <li><code>XSLTResultTarget(Writer* characterStream);</code></li>
-  <li><code>XSLTResultTarget(XalanDocument* document);</code></li>
-  <li><code>XSLTResultTarget(XalanDocumentFragment* documentFragment);</code></li>
-  <li><code>XSLTResultTarget(XalanElement* element);</code></li>
-</ul>
-<note>Each transform() method returns an integer code, 0 for success. If an error occurs, you can use the getLastError() method to return a pointer to the error message.</note>
-</s3>
-<s3 title="5. Shut down Xalan and (optionally) Xerces">
-<p>Use the static terminators.</p>
-<source>XalanTransformer::terminate();
-XMLPlatformUtils::Terminate();</source>
-  <note>Once you have shut down Xerces, you can no longer make Xalan or Xerces calls in the current process.</note>
-</s3></s2><anchor name="stylepi"/>
-<s2 title="Using a stylesheet processing instruction">
-<p>If you want to use the stylesheet referred to by a stylesheet processing instruction in the XMl document, simply call transform() without the second XSLTInputSource argument. For example:</p>
-<source>// foo.xml contains a stylesheet PI
-const char* xmlIn = "foo.xml";
-const char* xmlOut = "foo-out.xml";
-int theResult =
-    theXalanTransformer.transform(xmlIn,xmlOut)</source>
-</s2><anchor name="params"/>
-<s2 title="Setting stylesheet parameters">
-<p>An XSL stylesheet can include parameters that are set at run time before a transformation takes place. When we generate the HTML documents that make up the Xalan doc set, for example, we send the stylesheet an id parameter along with each XML source document. The id identifies that document and enables the stylesheet to integrate it into the overall doc set.</p>
-<p>To set a stylesheet parameter, use the <jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> setStylesheetParam() method. The setStytlesheetParam() method takes two arguments: the parameter name and the expression. For example:</p>
-<source>const XalanDOMString key("param1");
-const XalanDOMString expression("'Hello World'");
-theXalanTransformer.setStylesheetParam(key, expression);
-// foo.xsl defines a stylesheet parameter named param1.
-theXalanTransformer.transform("foo.xml","foo.xsl","foo-out.xml")</source>
-<note>If the expression is a string, enclose it in single quotes to make it a string expression.</note>
-<p>You can include the -param flag with two arguments when you call the <link idref="commandline">command line utility</link>. The first argument is the parameter name or key, and the second argument is the string expression (in single quotes). For example:</p>
-<p><code>Xalan -p param1 'boo' foo.xml foo.xsl</code></p>
-<p>or</p>
-<p><code>testXSLT -in foo.xml -xsl foo.xsl -param param1 'boo'</code></p>
-<p>If the string expression includes spaces or other characters that the shell intercepts, first enclose the string in single quotes so &xslt4c; interprets it as a string expression, and then enclose the resulting string in double quotes so the shell interprets it as a single argument. For example:</p>
-<p><code>Xalan -p "'hello there'" foo.xml foo.xsl</code></p>
-<p>or</p>
-<p><code>testXSLT -in foo.xml -xsl foo.xsl -param param1 "'hello there'"</code></p>
-<p>The <link idref="samples" anchor="usestylesheetparam">UseStylesheetParam</link> sample application also uses a command-line parameter.</p>
-</s2><anchor name="incremental"/>
-<s2 title="Processing output incrementally">
-<p><jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> provides a transform() method that sends the output in blocks to a callback function, which enables you to begin processing the output while the transformation is still in process:</p>
-<source>int
-transform(const XSLTInputSource&amp; xmlIn,
-          const XSLTInputSource&amp; xslIn,
-          void* theOutputHandle,
-          XalanOutputHandlerType theOutputHandler
-          XalanFlushHanderType theFlushHandler = 0);</source>
-<p>For an example, see <link idref="samples" anchor="xalantransformercallback">XalanTransformerCallback</link>.</p>
-</s2><anchor name="compiled"/>
-<s2 title="Performing a series of transformations">
-<p>Before Xalan performs a standard transformation, it must parse the XML document and compile the XSL stylesheet into binary representations. If you plan to use the same XML document or stylesheet in a series of transformations, you can improve performance by parsing the XML document or compiling the stylesheet once and using the binary representation when you call transform().</p>
-<p><jump href="apidocs/class_xalantransformer.html">XalanTransformer</jump> includes methods for creating compiled stylesheets and parsed XML documents: the compileStylesheet() method returns a pointer to a <jump href="apidocs/class_xalancompiledstylesheet.html">XalanCompiledStylesheet</jump>; the parseSource() method returns a pointer to a <jump href="apidocs/class_xalanparsedsource.html">XalanParsedSource</jump>.</p>
-<note>In the case of failure, both methods return 0.</note>
-<p>Example using a XalanCompiledStylesheet to perform multiple transformations:</p>
-<source>XalanCompiledStylesheet* compiledStylesheet = 0;
-compiledStylesheet = theXalanTransformer.compileStylesheet("foo.xsl");
-assert(compiledStylesheet!=0);
-theXalanTransformer.transform("foo1.xml", *compiledStylesheet, "foo1.out.");
-theXalanTransformer.transform("foo2.xml", *compiledStylesheet, "foo2.out");
-...</source>
-<p>For a working sample, see the <link idref="samples" anchor="compilestylesheet">CompileStylesheet</link> sample.</p>
-<p>Example using a XalanParsedSource for multiple transformations:</p>
-<source>XalanParsedSource* parsedXML = 0;
-parsedXML = theXalanTransformer.parseSource("foo.xml");
-assert(parsedXML!=0);
-theXalanTransformer.transform(*parsedXML, "foo1.xsl", "foo-xsl1.out");
-theXalanTransformer.transform(*parsedXML, "foo2.xsl", "foo-xsl2.out");
-...</source>
-<p>For a sample that uses both a parsed XML source and a compiled stylesheet, see <link idref="samples" anchor="threadsafe">ThreadSafe</link>.</p>
-</s2><anchor name="dom"/>
-<s2 title="Working with DOM input and output">
-<p>You can set up an <jump href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</jump> to produce a DOM when you perform a transformation. You can also use a DOM as input for a transformation.</p>
-<p>The following code fragments illustrate the procedures for working with DOM input and output:</p>
-<source>
-
-// Use the Xerces DOM parser to create a DOM_Document.
-#include &lt;parsers/DOMParser.hpp&gt;
-#include &lt;dom/DOM_Node.hpp&gt;
-
-DOMParser  theParser;
-// You MUST instruct the Xerces DOMParser NOT to create a DOM_XMLDecNode
-// in the DOM to represent the XML declaration. See "Limitations" below.
-DOMParser::setToCreateXMLDeclTypeNode(false);
-theParser.parse("foo.xml");
-const DOM_Document theDOM = theParser.getDocument();
-
-// Set up a XercesParserLiaison and use it to wrap the DOM_Document
-// in a XalanDocument.
-XercesDOMSupport   theDOMSupport;
-XercesParserLiaison	theParserLiaison(theDOMSupport);
-XalanDocument* theDoc = theParserLiaison.createDocument(theDOM);
-
-// Use the XalanDocument to create an XSLTInputSource object, which
-// you can then use in a transformation.
-XSLTInputSource		theInputSource(theDoc);
-...
-// If you want to produce DOM output, create an empty XalanDocument
-// to contain the transformation output.
-XalanDocument* docOut = theParserLiaison.createDocument();
-XSLTResultTarget theDOMResultTarget(docOut);
-...
-// After you perform the transformation, the XalanDocument contains
-// the output.
-// You can also convert the XalanDocument to a Xerces DOM_Document.
-DOM_Document domOut = theParserLiaison.mapXercesDocument(docOut)</source>
-<p>If you want to use a Xerces DOM object as input for a transformation without wrapping the DOM in
-a XercesParserLiaison, see <link anchor="xercesdomwrapperparsedsource">passing in a Xerces DOM</link>.</p>
-<s3 title="Limitations">
-<p>Performance is much better when &xslt4c; uses native source tree handling rather than interacting with the Xerces DOMParser.</p>
-<p>By default, the Xerces DOMParser creates a DOM_XMLDecNode in the DOM tree to represent the XML declaration. The
-Xalan bridge for the Xerces DOM does not support this non-standard node type. Accordingly, you must call DOMParser::setToCreateXMLDeclTypeNode(false) <em>before</em> you parse the XML file. If not, the behavior is undefined, and 
-your application may crash.</p>
-</s3><anchor name="xercesdomwrapperparsedsource"/>
-<s3 title="Passing in a Xerces DOM to a transformation">
-<p>You may want to use a Xerces DOM that was created without using the XalanTransformer class. As the following code snippet illustrates, you can use <jump href="apidocs/class_xercesdomwrapperparsedsource.html">XercesDOMWrapperParsedSource</jump> to pass in a Xerces DOM as the source for an XSL transformation.</p>
-<source>#include &lt;parsers/DOMParser.hpp&gt;
-#include &lt;XalanTransformer/XercesDOMWrapperParsedSource.hpp&gt;
-
-void parseWithXerces(XalanTransformer &amp;xalan, 
-                     const XSLTInputSource &amp;xmlInput,
-                     const XalanCompiledStylesheet* styleSheer,
-                     const XSLTResultTarget &amp;output,
-                     XMLFileReporter &amp;logFile)
-{
-  DOMParser the Parser;
-  
-  // You MUST instruct the Xerces DOMParser NOT to create a DOM_XMLDecNode
-  // in the DOM to represent the XML declaration. See "Limitations" above.
-  theParser.setToCreateXMLDeclTypeNode(false);
-  
-  // Turn on validatiion and namespace support.
-  theParser.setDoValidation(true);
-  theParser.setDoNamespaces(true);
-  
-  theParser.parse(xmlInput);
-  DOM_Document theDOM = theParser.getDocument();
-  theDOM.normalize();
-  XercesDOMSupport theDOMSupport;
-  XercesParserLiaison theParserLiaison(theDOMSupport);
-  
-  // Use the DOM to create a XercesDOMWrapperParsedSource, 
-  // which you can pass to the transform method.
-  try
-  {
-    const XercesDOMWrapperParsedSource parsedSource(
-                                   theDOM,
-                                   theParserLiaison,
-                                   theDOMSupport,
-                                   XalanDOMString(xmlInput.getSystemId()));
-    xalan.transform(parsedSource, stylesheet, output);
-  }
-  catch (....)
-  {
-    ...
-  }
-}  
-                     </source>
-</s3>
-</s2><anchor name="xpath"/>
-<s2 title="Working with XPath expressions">
-<p>XSL 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. &xslt4c; provides an XPathEvaluator interface to simplify the process of
-executing XPath expressions.</p>
-<p>For an example that executes XPath expressions against XML source files, see <link idref="samples" anchor="simplexpathapi">SimpleXPathAPI</link> 
-(takes advantage of the XPathEvaluator interface) and <link idref="samples" anchor="xpathwrapper">XPathWrapper</link>.</p>
-</s2><anchor name="tracelistener"/>
-<s2 title="Using TraceListener">
-<p>TraceListener is a debugging abstract base class implemented by TraceListenerDefault. You can use TraceListener to trace any combination of the following:</p>
-<ul>
-  <li>Calls to templates</li>
-  <li>Calls to template children</li>
-  <li>Selection events</li>    
-  <li>Result tree generation events</li>
- </ul>
-<p>To construct a TraceListener with TraceListenerDefault, you need a PrintWriter and a boolean for each of these four tracing options. You can then use the XSLTEngimeImpl setTraceSelects and addTraceListener methods to add the TraceListener to an XSLTProcessor. See the <link idref="samples" anchor="tracelisten">TraceListen</link> sample application.</p>
-<p>The <link idref="commandline" anchor="testxslt">testXSLT command-line utility</link> and TraceListen both use TraceListenerDefault to write events to the screen.</p>
-</s2><anchor name="icu"/>
-<s2 title="Using the ICU">
-    <p>You can use the <resource-ref idref="icu"/> to extend support for encoding, number
-    formatting, and sorting.</p>
-    <ul>
-      <li><em>Encoding</em>
-      <br/> &xml4c; and &xslt4c; use UTF-16 encoding to work with Unicode data.
-      If you integrate the ICU with &xml4c;, both &xml4c; and &xslt4c; use ICU support for 
-      input and output transcoding.<br/><br/></li>
-      <li><em>format-number()</em>
-      <br/>This XSLT function includes two or three arguments (the third is
-      optional): number, format pattern, and decimal-format name. &xslt4c; ignores the format
-      pattern and optional decimal-format name. If you install ICU support for format-number(), 
-      this function is fully supported with all its arguments.<br/><br/></li>
-      <li><em>xsl:sort</em>
-      <br/>If you install ICU support for xml:sort, &xslt4c; implements Unicode-style collation.</li>
-     </ul>
-
-    <p>To get the ICU:</p> 
-    <ol>
-      <li>Download and unzip the <resource-ref idref="icu-download"/> from the IBM
-      developerWorks open source zone.<br/><br/></li>
-      <li>Do an ICU build -- see the Windows NT or Unix build instructions in the readme.html that
-       accompanies the download. 
-      <br/><em>Important</em> For Windows, be sure to install the ICU on the same drive and at 
-      the same level as &xslt4c; and &xml4c;.<br/><br/></li>
-      <li>Set the ICU_DATA environment variable as indicated in the readme.html.</li>
-    </ol>
-    <s3 title="Enabling ICU support for encoding">
-    <p>If you want to enable ICU support for encoding, you must integrate ICU with
-    your &xml4c; build. &xml4c; uses ICU for input encoding. See
-    <resource-ref idref="xerces-build-icu"/>.</p>
-    <p>Once you have integrated the ICU with &xml4c;, &xslt4c; automatically uses ICU support 
-    for output encoding (the xsl:output encoding attribute).</p>
-     </s3>
-    <s3 title="Enabling ICU support for number formatting and sorting"> 
-    <p>If you only want to use the ICU to support number formatting and sorting, you do not need to
-    integrate the ICU with &xslt4c;, but you must do the following in the application where you
-    want to enable ICU support:</p>
-    <ol>
-      <li>Include the ICUBridge headers.<br/><br/></li>
-      <li>Substitute ICU support for format-number(), xsl:number, and/or xsl:sort.<br/><br/></li>
-      <li>Windows: Provide your application access to the ICUBridge library.<br/>
-      Linux, AIX, or HP-UX 11: Rebuild the Xalan library to include the ICUBridge.</li>
-      </ol>
-      <p><em>ICUBridge</em></p>
-     <p>All &xslt4c; references to ICU are centralized in the ICUBridge module, which supplies the
-     infrastructure for enabling ICU support for number formatting and sorting.</p>
-     <source>#include &lt;ICUBridge/ICUBridge.hpp&gt;
-#include &lt;ICUBridge/FunctionICUFormatNumber.hpp&gt;
-#include &lt;ICUBridge/ICUXalanNumberFormatFactory.hpp&gt;
-#include &lt;ICUBridge/ICUBridgeCollationCompareFunctor.hpp&gt;</source>
-    <p>For Windows be sure &icubridge-win;,the ICUBridge library, is on the path.</p>
-    <p>For Linux, rebuild &xslt4c-linuxlib; with XALAN_USE_ICU defined, and place it on the shared library path
-    (LD_LIBRARY_PATH for Red Hat Linux 6.1) or copy it to /usr/lib.</p> 
-    <p>For AIX, rebuild &xslt4c-aixlib; with XALAN_USE_ICU defined, and place it on the load library
-    path (LIBPATH) or copy it to /usr/lib.</p>
-    <p>For HP-UX 11, rebuild &xslt4c-hplib; with XALAN_USE_ICU defined, and place it on the shared library
-    path (SHLIB_PATH) or copy it to /usr/lib.</p>
-    <p>For Solaris, rebuild &xslt4c-solarislib; with XALAN_USE_ICU defined, and place it on the shared library
-    path (LD_LIBRARY_PATH) or copy it to /usr/lib.</p>
-    
-    <p><em>Number formatting</em></p>
-    <p>To enable ICU support for the XSLT format-number() function, do
-     the following:</p>
-<source>// Install ICU support for the format-number() function.
-FunctionICUFormatNumber::FunctionICUFormatNumberInstaller theInstaller;</source>
-  <p><em>Sorting</em></p> 
-  <p>To enable ICU support for xsl:sort, do the following:</p>
-  <source>// Set up a StylesheetExecutionContextDefault	object
-// (named theExecutionContext in the following fragment),
-// and install the ICUCollationCompareFunctor.
-ICUBridgeCollationCompareFunctor	theICUFunctor;
-theExecutionContext.installCollationCompareFunctor(&amp;theICUFunctor);</source>
- </s3></s2><anchor name="capi"/>
- <s2 title="Basic XalanTransformer usage pattern with the C API">
-<p>We also include a simple C interface for using the XalanTransformer class. See <jump href="apidocs/XalanCAPI.h.html">XalanTransformer/XalanCAPI.h</jump>. 
-The <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link> sample illustrates the use of this C API.</p>
-<p>Basic strategy:</p>
-
-  <s3 title="1. Include the XalanTransformer C API header">
-  <source>#include &lt;XalanTransformer/XalanCAPI.h&gt;</source>
-  </s3>
-  <s3 title="2. Initialize Xalan and Xerces">
-  <source>XalanInitialize();</source> 
-  </s3>
-  <s3 title="3. Create a Xalan transformer">
-  <source>XalanHandle xalan = NULL;
-xalan = CreateXalanTransformer();</source>
-</s3>
-  <s3 title="4. Perform each transformation">
-<p>  For example:</p>
-<source>const char * xmlfilename = "foo.xml";
-const char* xslfilename = "foo.xsl";
-const char* outfilename = "foo.out";
-int theResult = 0;
-theResult = XalanTransformToFile(xmlfilename,
-                                 xslfilename,
-                                 outfilename,
-                                 xalan);</source>
-<note>If the XML input file contains a stylesheet processing instruction that you want to use, include an empty string ("") for the xslfilename argument.</note>
-</s3>                                 
-  <s3 title="5. Shut down Xalan">
-  <source>XalanTerminate();</source>
-</s3></s2><anchor name="cvar"/>
-<s2 title="Variations with the XalanTransformer C API">
-<p>The <jump href="apidocs/XalanCAPI.h.html">Xalan C API</jump> supports approximately the same set of options as the C++ API. In particular, you can</p>
-<ul>
-<li>Use stylesheet processing instructions (PI) to supply the stylesheet. Simply supply an empty string ("") for the XSL file name.<br/><br/></li>
-<li>Set stylesheet parameters. Use the SetStylesheetParam() function.<br/><br/></li>
-<li>Compile stylesheets. Use the CompileStylesheet() method to compile a stylesheet, and the TransformToFileCSS() or TransformToDataCSS() function to use the compiled stylesheet in a transformation.<br/><br/></li>
-<li>Parse XML sources. Use the XalanParseSource() or XalanParseSouceUseXalan() method.<br/><br/></li>
-<li>Place the transformation output in a character array. Use the TransformToData() or TransformToDataCSS() function. After you perform the transformation, use the XalanFreeData() function to free memory allocated for the output data.<br/><br/></li>
-<li>Send the output to a callback function to process blocks of output data as they arrive.</li>
-</ul> 
-<p>For a sample that sends output in blocks to a callback function, see <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link>.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/xalan-c-unixdist.gif b/xdocs/sources/xalan/xalan-c-unixdist.gif
deleted file mode 100644
index 4ebd974..0000000
--- a/xdocs/sources/xalan/xalan-c-unixdist.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xalan/xalan-c-windist.gif b/xdocs/sources/xalan/xalan-c-windist.gif
deleted file mode 100644
index 7453ab9..0000000
--- a/xdocs/sources/xalan/xalan-c-windist.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xalan/xalan-cdist.gif b/xdocs/sources/xalan/xalan-cdist.gif
deleted file mode 100644
index 271dfcf..0000000
--- a/xdocs/sources/xalan/xalan-cdist.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xalan/xerces-icu.gif b/xdocs/sources/xalan/xerces-icu.gif
deleted file mode 100644
index 06edc50..0000000
--- a/xdocs/sources/xalan/xerces-icu.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xalanLocal.xml b/xdocs/sources/xalanLocal.xml
deleted file mode 100644
index 4b77ddb..0000000
--- a/xdocs/sources/xalanLocal.xml
+++ /dev/null
@@ -1,119 +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-C++ XSLT User's Guide" copyright="2001 The Apache Software Foundation">
- 
-  <resources source="sbk:/sources/xalan/resources.xml"/>
-   
-  <document id="overview" 
-            label="Overview" 
-            source="xalan/overview.xml"/>   
-                        
-  <separator/>
-  
-  <external href="getstarted.html#download"  label="Downloads"/>
-
-  <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"/>
-            
-  <document id="usagepatterns"
-            label="Usage Patterns"
-            source="xalan/usagepatterns.xml"/>
-
-  <separator/>
-   
-  <external href="apidocs/index.html"  label="C++ API"/>
-   
-  <separator/>                  
-            
-  <document id="extensions" 
-            label="Extensions" 
-            source="xalan/extensions.xml"/>
-  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>            
- <separator/>
-          
- <document id="readme" 
-            label="Release Notes" 
-            source="xalan/readme.xml"/> 
-            
- <separator/>
- 
- <external href="readme.html#bugs" label="Bugs"/>
- 
- <external href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"  label="Testing"/>
-
-</book>
diff --git a/xdocs/style/stylesheets/done-c.xsl b/xdocs/style/stylesheets/done-c.xsl
deleted file mode 100644
index 7404c24..0000000
--- a/xdocs/style/stylesheets/done-c.xsl
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE xsl:stylesheet>
-
-<!-- XSL Style sheet, DTD omitted -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:output method="xml"/>
-  
-  <xsl:template match="Commits">
-  <xsl:comment>This XML fragment contains a list of source code and sample updates to place in an &lt;s3&gt; section of readme.xml</xsl:comment>
-    <xsl:if test="count(Commit[@category='core'])>0">
-      <p>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 source code updates.</note>
-    </xsl:if>
-    <xsl:if test="count(Commit[@category='samples'])>0">
-      <p>Samples updates:</p>
-      <ul>
-      <xsl:for-each select="Commit[@category='samples']">
-        <li><xsl:apply-templates select="Who|DateCommitted|Modified|Added|Removed|Log"/></li>
-      </xsl:for-each>
-      </ul>
-    </xsl:if>
-    <xsl:if test="count(Commit[@category='samples'])=0">
-      <note>This release includes no updates of the samples.</note>
-    </xsl:if>
-  </xsl:template>
-  
-  <xsl:template match="Who">
-    <ref>Committed by </ref><xsl:value-of select="."/>
-  </xsl:template>
-  <xsl:template match="DateCommitted">
-    <ref> on </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Modified">    
-    <ref>Modified: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Added">    
-    <ref>Added: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Removed">    
-    <ref>Removed: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-    <xsl:template match="Log">    
-    <ref>Committer's log entry: </ref><xsl:value-of select="."/><br/><br/>
-  </xsl:template>
-  
-</xsl:stylesheet>
\ No newline at end of file