This commit was manufactured by cvs2svn to create tag
'Xerces-C_1_0_0'.
git-svn-id: https://svn.apache.org/repos/asf/xerces/c/tags/Xerces-C_1_0_0@171462 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp b/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp
index 7d3ed50..e2b8888 100644
--- a/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp
@@ -42,7 +42,7 @@
# 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 /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\ICU\Include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
+# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\icu_1_3_1\Include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -51,7 +51,7 @@
# 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 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\ICU\Lib\Release"
+# ADD LINK32 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\icu_1_3_1\Lib\Release"
!ELSEIF "$(CFG)" == "NLSXlat - Win32 Debug"
@@ -67,7 +67,7 @@
# 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 /G6 /MDd /Za /W3 /GX /Zi /Od /I "..\..\..\..\..\src" /I "\ICU\Include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
+# ADD CPP /nologo /G6 /MDd /Za /W3 /GX /Zi /Od /I "..\..\..\..\..\src" /I "\icu_1_3_1\Include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -76,7 +76,7 @@
# 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 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\icu_1_3_1\Lib\Debug"
!ENDIF
diff --git a/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp b/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp
index 4f73b37..cadef07 100644
--- a/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp
@@ -82,7 +82,7 @@
# 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 kernel32.lib user32.lib IXUtil.Lib IXCore.Lib IXSAX.Lib /nologo /base:"0x12000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug\IXVal.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib IXCore.Lib IXSAX.Lib /nologo /base:"0x12000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug\IXVal.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
# SUBTRACT LINK32 /profile
!ENDIF
diff --git a/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp b/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp
index 007609c..9f67490 100644
--- a/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp
@@ -54,7 +54,7 @@
# 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 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\ICU\Lib\Release"
+# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
# SUBTRACT LINK32 /profile
!ELSEIF "$(CFG)" == "XML4CParser - Win32 Debug"
@@ -82,7 +82,7 @@
# 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 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
# SUBTRACT LINK32 /profile /map
!ENDIF
diff --git a/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp b/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
index b0501ef..fc0182d 100644
--- a/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
@@ -43,7 +43,7 @@
# 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 "XMLUTIL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\icu\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_WIN32_MSGLOADER" /FD /c
+# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\icu_1_3_1\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_WIN32_MSGLOADER" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
@@ -54,7 +54,7 @@
# 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 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\ICU\Lib\Release"
+# ADD LINK32 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\icu_1_3_1\Lib\Release"
# SUBTRACT LINK32 /profile
!ELSEIF "$(CFG)" == "XMLUtil - Win32 Debug"
@@ -71,7 +71,7 @@
# 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 "XMLUTIL_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MDd /Za /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\src" /I "\icu\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_INMEMORY_MSGLOADER" /FD /GZ /c
+# ADD CPP /nologo /G6 /MDd /Za /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\src" /I "\icu_1_3_1\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_INMEMORY_MSGLOADER" /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
@@ -82,7 +82,7 @@
# 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 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\icu_1_3_1\Lib\Debug"
# SUBTRACT LINK32 /profile
!ENDIF
diff --git a/Projects/Win32/VC6/xerces-all/DOMCount/DOMCount.dsp b/Projects/Win32/VC6/xerces-all/DOMCount/DOMCount.dsp
new file mode 100644
index 0000000..7e25022
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/DOMCount/DOMCount.dsp
@@ -0,0 +1,96 @@
+# Microsoft Developer Studio Project File - Name="DOMCount" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=DOMCount - 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 "DOMCount.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 "DOMCount.mak" CFG="DOMCount - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DOMCount - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "DOMCount - 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)" == "DOMCount - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "DOMCount - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DOMCount - Win32 Release"
+# Name "DOMCount - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\DOMCount\DOMCount.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\DOMCount\DOMCount.hpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/DOMMemTest/DOMMemTest.dsp b/Projects/Win32/VC6/xerces-all/DOMMemTest/DOMMemTest.dsp
new file mode 100644
index 0000000..6eea25b
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/DOMMemTest/DOMMemTest.dsp
@@ -0,0 +1,102 @@
+# Microsoft Developer Studio Project File - Name="DOMMemTest" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=DOMMemTest - 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 "DOMMemTest.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 "DOMMemTest.mak" CFG="DOMMemTest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DOMMemTest - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "DOMMemTest - 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)" == "DOMMemTest - 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 "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /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 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)" == "DOMMemTest - 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\obj"
+# 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 /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DOMMemTest - Win32 Release"
+# Name "DOMMemTest - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\tests\DOM\DOMMemTest\DOMMemTest.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/xerces-all/DOMPrint/DOMPrint.dsp b/Projects/Win32/VC6/xerces-all/DOMPrint/DOMPrint.dsp
new file mode 100644
index 0000000..e91cc09
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/DOMPrint/DOMPrint.dsp
@@ -0,0 +1,104 @@
+# Microsoft Developer Studio Project File - Name="DOMPrint" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=DOMPrint - 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 "DOMPrint.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 "DOMPrint.mak" CFG="DOMPrint - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DOMPrint - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "DOMPrint - 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)" == "DOMPrint - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "DOMPrint - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DOMPrint - Win32 Release"
+# Name "DOMPrint - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\DOMPrint\DOMPrint.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\DOMPrint\DOMPrint.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\DOMPrint\DomTreeErrorReporter.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\DOMPrint\DomTreeErrorReporter.hpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/DOMTest/DOMTest.dsp b/Projects/Win32/VC6/xerces-all/DOMTest/DOMTest.dsp
new file mode 100644
index 0000000..8a2d5d1
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/DOMTest/DOMTest.dsp
@@ -0,0 +1,105 @@
+# Microsoft Developer Studio Project File - Name="DOMTest" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=DOMTest - 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 "DOMTest.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 "DOMTest.mak" CFG="DOMTest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DOMTest - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "DOMTest - 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)" == "DOMTest - 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 "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /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 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)" == "DOMTest - 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\obj"
+# 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 /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DOMTest - Win32 Release"
+# Name "DOMTest - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\tests\DOM\DOMTest\DTest.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\tests\DOM\DOMTest\DTest.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/xerces-all/EnumVal/EnumVal.dsp b/Projects/Win32/VC6/xerces-all/EnumVal/EnumVal.dsp
new file mode 100644
index 0000000..9abb73a
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/EnumVal/EnumVal.dsp
@@ -0,0 +1,92 @@
+# Microsoft Developer Studio Project File - Name="EnumVal" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=EnumVal - 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 "EnumVal.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 "EnumVal.mak" CFG="EnumVal - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "EnumVal - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "EnumVal - 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)" == "EnumVal - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "EnumVal - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "EnumVal - Win32 Release"
+# Name "EnumVal - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\EnumVal\EnumVal.cpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/MemParse/MemParse.dsp b/Projects/Win32/VC6/xerces-all/MemParse/MemParse.dsp
new file mode 100644
index 0000000..86c7b89
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/MemParse/MemParse.dsp
@@ -0,0 +1,104 @@
+# Microsoft Developer Studio Project File - Name="MemParse" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=MemParse - 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 "MemParse.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 "MemParse.mak" CFG="MemParse - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MemParse - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "MemParse - 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)" == "MemParse - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "MemParse - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MemParse - Win32 Release"
+# Name "MemParse - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\MemParse\MemParse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\MemParse\MemParse.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\MemParse\MemParseHandlers.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\MemParse\MemParseHandlers.hpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/PParse/PParse.dsp b/Projects/Win32/VC6/xerces-all/PParse/PParse.dsp
new file mode 100644
index 0000000..f7af913
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/PParse/PParse.dsp
@@ -0,0 +1,116 @@
+# Microsoft Developer Studio Project File - Name="PParse" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=PParse - 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 "PParse.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 "PParse.mak" CFG="PParse - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PParse - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "PParse - 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)" == "PParse - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "PParse - 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\obj"
+# 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 /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PParse - Win32 Release"
+# Name "PParse - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\PParse\PParse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\PParse\PParseHandlers.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\PParse\PParse.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\PParse\PParseHandlers.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/xerces-all/Redirect/Redirect.dsp b/Projects/Win32/VC6/xerces-all/Redirect/Redirect.dsp
new file mode 100644
index 0000000..995ed6b
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/Redirect/Redirect.dsp
@@ -0,0 +1,104 @@
+# Microsoft Developer Studio Project File - Name="Redirect" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Redirect - 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 "Redirect.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 "Redirect.mak" CFG="Redirect - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Redirect - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Redirect - 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)" == "Redirect - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "Redirect - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Redirect - Win32 Release"
+# Name "Redirect - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\Redirect\Redirect.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\Redirect\Redirect.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\Redirect\RedirectHandlers.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\Redirect\RedirectHandlers.hpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/SAXCount/SAXCount.dsp b/Projects/Win32/VC6/xerces-all/SAXCount/SAXCount.dsp
new file mode 100644
index 0000000..2b21c29
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/SAXCount/SAXCount.dsp
@@ -0,0 +1,104 @@
+# Microsoft Developer Studio Project File - Name="SAXCount" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=SAXCount - 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 "SAXCount.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 "SAXCount.mak" CFG="SAXCount - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SAXCount - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SAXCount - 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)" == "SAXCount - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "SAXCount - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SAXCount - Win32 Release"
+# Name "SAXCount - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXCount\SAXCount.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXCount\SAXCount.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXCount\SAXCountHandlers.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXCount\SAXCountHandlers.hpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/SAXPrint/SAXPrint.dsp b/Projects/Win32/VC6/xerces-all/SAXPrint/SAXPrint.dsp
new file mode 100644
index 0000000..2853af5
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/SAXPrint/SAXPrint.dsp
@@ -0,0 +1,104 @@
+# Microsoft Developer Studio Project File - Name="SAXPrint" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=SAXPrint - 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 "SAXPrint.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 "SAXPrint.mak" CFG="SAXPrint - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SAXPrint - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SAXPrint - 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)" == "SAXPrint - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "SAXPrint - 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\obj"
+# 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 /c
+# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SAXPrint - Win32 Release"
+# Name "SAXPrint - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXPrint\SAXPrint.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXPrint\SAXPrint.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXPrint\SAXPrintHandlers.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\SAXPrint\SAXPrintHandlers.hpp
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/StdInParse/StdInParse.dsp b/Projects/Win32/VC6/xerces-all/StdInParse/StdInParse.dsp
new file mode 100644
index 0000000..89c3721
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/StdInParse/StdInParse.dsp
@@ -0,0 +1,116 @@
+# Microsoft Developer Studio Project File - Name="StdInParse" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=StdInParse - 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 "StdInParse.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 "StdInParse.mak" CFG="StdInParse - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "StdInParse - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "StdInParse - 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)" == "StdInParse - 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\obj"
+# 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 /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /incremental:yes /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
+
+!ELSEIF "$(CFG)" == "StdInParse - 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\obj"
+# 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 /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\..\src" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "StdInParse - Win32 Release"
+# Name "StdInParse - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\StdInParse\StdInParse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\StdInParse\StdInParseHandlers.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\StdInParse\StdInParse.Hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\samples\StdInParse\StdInParseHandlers.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/xerces-all/XercesLib/XercesLib.dsp b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
new file mode 100644
index 0000000..f0479fe
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
@@ -0,0 +1,1153 @@
+# Microsoft Developer Studio Project File - Name="XercesLib" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=XercesLib - 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 "XercesLib.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 "XercesLib.mak" CFG="XercesLib - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "XercesLib - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "XercesLib - 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)" == "XercesLib - 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\obj"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\src" /I "..\..\src\dom" /I "..\..\..\..\..\src" /D "PROJ_XMLPARSER" /D "PROJ_XMLUTIL" /D "PROJ_PARSERS" /D "PROJ_SAX4C" /D "PROJ_DOM" /D "PROJ_VALIDATORS" /D "XML_SINGLEDLL" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "DEVENV_VCPP" /D "PLATFORM_WIN32" /D "XML_USE_WIN32_TRANSCODER" /D "XML_USE_WIN32_MSGLOADER" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /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 /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib /nologo /base:"0x10000000" /version:1.0 /subsystem:windows /dll /incremental:yes /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_1_0.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_1.lib"
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "XercesLib - 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\obj"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /G6 /MDd /Za /W3 /Gm /GX /ZI /Od /I "..\..\src" /I "..\..\src\dom" /I "..\..\..\..\..\src" /D "PROJ_XMLPARSER" /D "PROJ_XMLUTIL" /D "PROJ_PARSERS" /D "PROJ_SAX4C" /D "PROJ_DOM" /D "PROJ_VALIDATORS" /D "XML_SINGLEDLL" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "XML_USE_WIN32_TRANSCODER" /D "XML_USE_WIN32_MSGLOADER" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /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 /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib /nologo /base:"0x10000000" /version:1.0 /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_1_0.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_1.lib" /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "XercesLib - Win32 Release"
+# Name "XercesLib - Win32 Debug"
+# Begin Group "util"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Group "Win32"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Platforms\Win32\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Platforms\Win32\Win32Defs.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Platforms\Win32\Win32PlatformUtils.cpp
+# ADD CPP /Ze
+# End Source File
+# End Group
+# Begin Group "MsgLoaders"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\MsgLoaders\InMemory\CppErrMsgs_EN_US.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\MsgLoaders\Win32\Win32MsgLoader.Cpp
+# ADD CPP /Ze
+# End Source File
+# End Group
+# Begin Group "Transcoders"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Transcoders\Win32\Win32TransService.cpp
+# ADD CPP /Ze
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Transcoders\Win32\Win32TransService.hpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\ArrayIndexOutOfBoundsException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\AutoSense.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BinFileInputStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BinFileInputStream.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BinInputStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BinInputStream.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BinMemInputStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BinMemInputStream.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BitOps.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BitSet.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\BitSet.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\CountedPointer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\EmptyStackException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\FlagJanitor.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\HeaderDummy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\IllegalArgumentException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\InvalidCastException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\IOException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Janitor.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\KeyValuePair.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\KVStringPair.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\KVStringPair.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Mutexes.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Mutexes.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\NameIdPool.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\NoDefTranscoderException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\NoSuchElementException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\NullPointerException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\PlatformUtils.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\PlatformUtils.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\RefArrayOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\RefHashTableOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\RefStackOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\RefVectorOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\RuntimeException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\StdOut.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\StdOut.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\StringPool.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\StringPool.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\TextOutputStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\TextOutputStream.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\TranscodingException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\TransService.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\UnexpectedEOFException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\UnsupportedEncodingException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\URL.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\URL.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\UTFDataFormatException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\ValueArrayOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\ValueStackOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\ValueVectorOf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XML4CDefs.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLEnumerator.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLException.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLExceptMsgs.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLMsgLoader.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLString.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLString.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLUni.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\XMLUni.hpp
+# End Source File
+# End Group
+# Begin Group "framework"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLAttDef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLAttDef.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLAttDefList.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLAttr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLAttr.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLBuffer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLBuffer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLBufferMgr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLBufferMgr.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLContentModel.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLContentModel.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLDocumentHandler.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLElementDecl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLElementDecl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLEntityDecl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLEntityDecl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLEntityHandler.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLErrorCodes.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLNotationDecl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLNotationDecl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLRecognizer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLRecognizer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLRefInfo.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLValidator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\framework\XMLValidator.hpp
+# End Source File
+# End Group
+# Begin Group "internal"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\CharTypeTables.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\ElemStack.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\ElemStack.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\EndOfEntityException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\MemBufInputSource.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\MemBufInputSource.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\ReaderMgr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\ReaderMgr.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\StdInInputSource.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\StdInInputSource.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\URLInputSource.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\URLInputSource.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\VecAttrListImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\VecAttrListImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\XMLReader.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\XMLReader.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\XMLScanner.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\XMLScanner.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\internal\XMLScanner2.cpp
+# End Source File
+# End Group
+# Begin Group "sax"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\AttributeList.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\DocumentHandler.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\DTDHandler.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\Dummy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\EntityResolver.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\ErrorHandler.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\HandlerBase.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\InputSource.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\InputSource.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\Locator.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\Parser.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\SAXException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\SAXParseException.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\sax\SAXParseException.hpp
+# End Source File
+# End Group
+# Begin Group "parsers"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\parsers\DOMParser.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\parsers\DOMParser.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\parsers\SAXParser.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\parsers\SAXParser.hpp
+# End Source File
+# End Group
+# Begin Group "dom"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\AttrImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\AttrImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\CDATASectionImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\CDATASectionImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\CharacterDataImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\CharacterDataImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\CommentImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\CommentImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DeepNodeListImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DeepNodeListImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DocumentFragmentImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DocumentFragmentImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DocumentImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DocumentImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DocumentTypeImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DocumentTypeImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Attr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Attr.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_CDATASection.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_CDATASection.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_CharacterData.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_CharacterData.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Comment.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Comment.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Document.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Document.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DocumentFragment.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DocumentFragment.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DocumentType.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DocumentType.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DOMException.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DOMException.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DOMImplementation.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_DOMImplementation.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Element.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Element.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Entity.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Entity.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_EntityReference.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_EntityReference.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NamedNodeMap.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NamedNodeMap.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Node.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Node.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NodeFilter.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NodeFilter.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NodeIterator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NodeIterator.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NodeList.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_NodeList.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Notation.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Notation.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_ProcessingInstruction.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_ProcessingInstruction.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Text.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_Text.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_TreeWalker.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOM_TreeWalker.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DomMemDebug.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DomMemDebug.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOMString.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DOMString.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DStringPool.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\DStringPool.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\ElementDefinitionImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\ElementDefinitionImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\ElementImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\ElementImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\EntityImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\EntityImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\EntityReferenceImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\EntityReferenceImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\MemDebug.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NamedNodeMapImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NamedNodeMapImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NameNodeFilter.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeFilterImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeFilterImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeIteratorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeIteratorImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeListImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeListImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeVector.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NodeVector.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NotationImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\NotationImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\ProcessingInstructionImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\ProcessingInstructionImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\RefCountedImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\RefCountedImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\TextImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\TextImpl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\TreeWalkerImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\dom\TreeWalkerImpl.hpp
+# End Source File
+# End Group
+# Begin Group "validators"
+
+# PROP Default_Filter ".cpp,.hpp"
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMBinaryOp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMBinaryOp.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMLeaf.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMNode.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMStateSet.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMUnaryOp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\CMUnaryOp.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\ContentSpecNode.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\ContentSpecNode.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DFAContentModel.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DFAContentModel.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DocTypeHandler.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDAttDef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDAttDef.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDAttDefList.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDAttDefList.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDElementDecl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDElementDecl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDEntityDecl.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDValidator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDValidator.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\DTDValidator2.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\MixedContentModel.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\MixedContentModel.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\SimpleContentModel.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\validators\DTD\SimpleContentModel.hpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\util\Platforms\Win32\Version.rc
+# End Source File
+# End Target
+# End Project
diff --git a/Projects/Win32/VC6/xerces-all/xerces-all.dsw b/Projects/Win32/VC6/xerces-all/xerces-all.dsw
new file mode 100644
index 0000000..473e528
--- /dev/null
+++ b/Projects/Win32/VC6/xerces-all/xerces-all.dsw
@@ -0,0 +1,194 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DOMCount"=".\DOMCount\DOMCount.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DOMMemTest"=".\DOMMemTest\DOMMemTest.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DOMPrint"=".\DOMPrint\DOMPrint.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DOMTest"=".\DOMTest\DOMTest.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "EnumVal"=".\EnumVal\EnumVal.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "MemParse"=".\MemParse\MemParse.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PParse"=".\PParse\PParse.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Redirect"=".\Redirect\Redirect.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SAXCount"=".\SAXCount\SAXCount.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SAXPrint"=".\SAXPrint\SAXPrint.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "StdInParse"=".\StdInParse\StdInParse.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XercesLib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "XercesLib"=".\XercesLib\XercesLib.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/obj/Makefile.in b/obj/Makefile.in
index 67d9f67..fbb380c 100644
--- a/obj/Makefile.in
+++ b/obj/Makefile.in
@@ -55,8 +55,20 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:10:49 twl
-# Initial revision
+# Revision 1.4 1999/11/24 23:21:42 rahulj
+# Now works under HPUX 10.20 with CC and aCC, with ICU and native
+distclean target now remove and remaining Makefile(s)
+clean target now removes the template repository directory
+#
+# Revision 1.3 1999/11/23 01:59:16 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.2 1999/11/12 20:38:43 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:10:49 twl
+# Initial checkin
#
# Revision 1.2 1999/11/08 20:43:14 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -74,21 +86,25 @@
###################################################################
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
PREFIX = @prefix@
+LDFLAGS = @ldflags@
+LIBS = @libs@
+OSVER = @osver@
include ../src/Makefile.incl
-LIB=${XML4CROOT}/lib
+LIB=${XERCESCROOT}/lib
## OS390BATCH
ifeq (${OS390BATCH},1)
BATCH_TARGET = "//'${LOADMOD}(XML4C30)'"
endif
-LIBNAME=libIXXML4C
+LIBNAME=libxerces-c
THISLIB=${LIB}/${LIBNAME}
-VER=3_0
+VER=1_0
-ALL_OBJECTS_DIR=${XML4CROOT}/obj
+ALL_OBJECTS_DIR=${XERCESCROOT}/obj
ALL_OBJECTS=$(wildcard $(ALL_OBJECTS_DIR)/*.o)
#######################################################
@@ -103,7 +119,7 @@
#######################################################
ifeq (${PLATFORM},HPUX)
- ifeq (${COMPILER},CC)
+ ifeq (${CXX},CC)
###### Start HP-UX CC compiler specific stuff #######
DUMMYEXE=$(XML_LIB_DIR)/dummyExe
TEMPLATESOBJS=$(wildcard $(TEMPLATESREPOSITORY)/*.o)
@@ -112,7 +128,7 @@
\rm -f $(DUMMYEXE)
$(DUMMYEXE): $(ALL_OBJECTS)
- ${MAKE_SHARED} -o ${@} $(PLATFORM_LIBRARIES) $^ $(ALLLIBS)
+ ${MAKE_SHARED} -o ${@} $^ $(PLATFORM_LIBRARIES) $(ALLLIBS)
###### End HP-UX CC compiler specific stuff #######
else
@@ -141,25 +157,37 @@
${THISLIB}${VER}${SHLIBSUFFIX}: $(ALL_OBJECTS)
@echo Building ${THISLIB}${VER}${SHLIBSUFFIX}
- ${MAKE_SHARED} -o ${@} $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $^ $(TEMPLATESOBJS) $(ALLLIBS)
+ ${MAKE_SHARED} -o ${@} $^ $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS)
## OS390
ifeq (${PLATFORM},OS390)
## OS390BATCH
ifeq (${OS390BATCH},1)
${BATCH_TARGET}: $(ALL_OBJECTS)
@echo Building ${BATCH_TARGET}
- ${MAKE_SHARED} -o ${@} $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $^ $(TEMPLATESOBJS) $(ALLLIBS)
+ ${MAKE_SHARED} -o ${@} $^ $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS)
else
$(CP) ${LIBNAME}${VER}${OS390SIDEDECK} ${LIB}
endif
endif
+
clean:
@echo "Making clean in obj ..."
-rm -f $(ALL_OBJECTS) ${THISLIB}${VER}${SHLIBSUFFIX}
+ifneq ($strip $(TEMPLATESREPOSITORY)),)
+ -rm -f $(TEMPLATESREPOSITORY)/*.o
+ -rm -f $(TEMPLATESREPOSITORY)/*.c
+ -rm -f $(TEMPLATESREPOSITORY)/*.cs
+ -rm -f $(TEMPLATESREPOSITORY)/*.he
+endif
+
distclean: clean
rm -f Makefile
+ifneq ($strip $(TEMPLATESREPOSITORY)),)
+ -rm -rf $(TEMPLATESREPOSITORY)
+endif
+
install:
ifeq (${OS390BATCH},1)
diff --git a/samples/DOMCount/DOMCount.cpp b/samples/DOMCount/DOMCount.cpp
index b39d365..df2c896 100644
--- a/samples/DOMCount/DOMCount.cpp
+++ b/samples/DOMCount/DOMCount.cpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:52 twl
- * Initial revision
+ * Revision 1.2 1999/11/12 02:13:40 rahulj
+ * It now validates when the -v option is specified.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:52 twl
+ * Initial checkin
*
* Revision 1.8 1999/11/08 20:43:34 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -143,6 +146,7 @@
// Instantiate the DOM parser.
DOMParser parser;
+ parser.setDoValidation(doValidation);
// And create our error handler and install it
DOMCount elementCounter;
diff --git a/samples/DOMCount/Makefile.in b/samples/DOMCount/Makefile.in
index 330d456..b6efa12 100644
--- a/samples/DOMCount/Makefile.in
+++ b/samples/DOMCount/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:53 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:31 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:53 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:35 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=DOMCount
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/DOMCount.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
## OS390BATCH
ifeq (${OS390BATCH},1)
diff --git a/samples/DOMPrint/DOMPrint.cpp b/samples/DOMPrint/DOMPrint.cpp
index c9e98fc..15dcb95 100644
--- a/samples/DOMPrint/DOMPrint.cpp
+++ b/samples/DOMPrint/DOMPrint.cpp
@@ -56,8 +56,17 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:51 twl
- * Initial revision
+ * Revision 1.3 1999/12/03 00:14:52 andyh
+ * Removed transcoding stuff, replaced with DOMString::transcode.
+ *
+ * Tweaked xml encoding= declaration to say ISO-8859-1. Still wrong,
+ * but not as wrong as utf-8
+ *
+ * Revision 1.2 1999/11/12 02:14:05 rahulj
+ * It now validates when the -v option is specified.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:51 twl
+ * Initial checkin
*
* Revision 1.7 1999/11/08 20:43:35 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -78,6 +87,13 @@
// filename - The path to the XML file to parse
//
// These are non-case sensitive
+//
+// Limitations:
+// 1. The encoding="xxx" clause in the XML header should reflect
+// the system local code page, but does not.
+// 2. Cases where the XML data contains characters that can not
+// be represented in the system local code page are not handled.
+//
// ---------------------------------------------------------------------------
@@ -138,9 +154,9 @@
catch(const XMLException& toCatch)
{
- cerr << "Error during XML4C2 Initialization.\n"
+ cerr << "Error during Xerces-c Initialization.\n"
<< " Exception message:"
- << StrX(toCatch.getMessage()) << endl;
+ << DOMString(toCatch.getMessage()) << endl;
return 1;
}
@@ -199,6 +215,7 @@
// discovers errors during the course of parsing the XML document.
//
DOMParser parser;
+ parser.setDoValidation(doValidation);
ErrorHandler *errReporter = new DOMTreeErrorReporter();
parser.setErrorHandler(errReporter);
@@ -215,7 +232,8 @@
catch (const XMLException& e)
{
cerr << "An error occured during parsing\n Message: "
- << StrX(e.getMessage()) << endl;
+ << DOMString(e.getMessage()) << endl;
+ // << StrX(e.getMessage()) << endl;
errorsOccured = true;
}
@@ -298,7 +316,11 @@
case DOM_Node::DOCUMENT_NODE :
{
- target << "<?xml version='1.0' encoding='utf-8' ?>\n";
+ // Bug here: we need to find a way to get the encoding name
+ // for the default code page on the system where the
+ // program is running, and plug that in for the encoding
+ // name.
+ target << "<?xml version='1.0' encoding='ISO-8859-1' ?>\n";
DOM_Node child = toWrite.getFirstChild();
while( child != 0)
{
@@ -427,7 +449,8 @@
default:
// If it is none of the special characters, print it as such
- target << StrX(&chars[index], 1);
+ // target << StrX(&chars[index], 1);
+ target << toWrite.substringData(index, 1);
break;
}
}
@@ -439,12 +462,18 @@
// ---------------------------------------------------------------------------
//
-// ostream << DOMString Stream out a DOM string.
+// ostream << DOMString Stream out a DOM string.
+// Doing this requires that we first transcode
+// to char * form in the default code page
+// for the system
//
// ---------------------------------------------------------------------------
ostream& operator<<(ostream& target, const DOMString& s)
{
- if (s.length() > 0)
- target << StrX(s.rawBuffer(), s.length());
+ //if (s.length() > 0)
+ // target << StrX(s.rawBuffer(), s.length());
+ char *p = s.transcode();
+ target << p;
+ delete p;
return target;
}
diff --git a/samples/DOMPrint/DOMTreeErrorReporter.cpp b/samples/DOMPrint/DOMTreeErrorReporter.cpp
index 8d7534f..80ba8ca 100644
--- a/samples/DOMPrint/DOMTreeErrorReporter.cpp
+++ b/samples/DOMPrint/DOMTreeErrorReporter.cpp
@@ -56,8 +56,14 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:51 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:14:53 andyh
+ * Removed transcoding stuff, replaced with DOMString::transcode.
+ *
+ * Tweaked xml encoding= declaration to say ISO-8859-1. Still wrong,
+ * but not as wrong as utf-8
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:51 twl
+ * Initial checkin
*
* Revision 1.6 1999/11/08 20:43:35 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -72,6 +78,10 @@
#include <iostream.h>
#include <stdlib.h>
#include <memory.h>
+#include <dom/DOMString.hpp>
+
+// Global streaming operator for DOMString is defined in DOMPrint.cpp
+extern ostream& operator<<(ostream& target, const DOMString& s);
void DOMTreeErrorReporter::warning(const SAXParseException&)
@@ -83,18 +93,18 @@
void DOMTreeErrorReporter::error(const SAXParseException& toCatch)
{
- cerr << "Error at file \"" << StrX(toCatch.getSystemId())
+ cerr << "Error at file \"" << DOMString(toCatch.getSystemId())
<< "\", line " << toCatch.getLineNumber()
<< ", column " << toCatch.getColumnNumber()
- << "\n Message: " << StrX(toCatch.getMessage()) << endl;
+ << "\n Message: " << DOMString(toCatch.getMessage()) << endl;
}
void DOMTreeErrorReporter::fatalError(const SAXParseException& toCatch)
{
- cerr << "Fatal Error at file \"" << StrX(toCatch.getSystemId())
+ cerr << "Fatal Error at file \"" << DOMString(toCatch.getSystemId())
<< "\", line " << toCatch.getLineNumber()
<< ", column " << toCatch.getColumnNumber()
- << "\n Message: " << StrX(toCatch.getMessage()) << endl;
+ << "\n Message: " << DOMString(toCatch.getMessage()) << endl;
}
void DOMTreeErrorReporter::resetErrors()
@@ -103,70 +113,3 @@
}
-
-// ---------------------------------------------------------------------------
-// StrX: Private helper methods
-// ---------------------------------------------------------------------------
-void StrX::transcode(const XMLCh* const toTranscode, const unsigned int len)
-{
- // Short circuit if its a null pointer
- if (!toTranscode || (!toTranscode[0]))
- {
- fLocalForm = new char[1];
- fLocalForm[0] = 0;
- return;
- }
-
- // See if our XMLCh and wchar_t as the same on this platform
- const bool isSameSize = (sizeof(XMLCh) == sizeof(wchar_t));
-
- //
- // Get the actual number of chars. If the passed len is zero, its null
- // terminated. Else we have to use the len.
- //
- wchar_t realLen = (wchar_t)len;
- if (!realLen)
- {
- //
- // We cannot just assume we can use wcslen() because we don't know
- // if our XMLCh is the same as wchar_t on this platform.
- //
- const XMLCh* tmpPtr = toTranscode;
- while (*(tmpPtr++))
- realLen++;
- }
-
- //
- // If either the passed length was non-zero or our char sizes are not
- // same, we have to use a temp buffer. Since this is common in these
- // samples, we just do it anyway.
- //
- wchar_t* tmpSource = new wchar_t[realLen + 1];
- if (isSameSize)
- {
- memcpy(tmpSource, toTranscode, realLen * sizeof(wchar_t));
- }
- else
- {
- for (unsigned int index = 0; index < realLen; index++)
- tmpSource[index] = (wchar_t)toTranscode[index];
- }
- tmpSource[realLen] = 0;
-
- // See now many chars we need to transcode this guy
- const unsigned int targetLen = ::wcstombs(0, tmpSource, 0);
-
- // Allocate out storage member
- fLocalForm = new char[targetLen + 1];
-
- //
- // And transcode our temp source buffer to the local buffer. Cap it
- // off since the converter won't do it (because the null is beyond
- // where the target will fill up.)
- //
- ::wcstombs(fLocalForm, tmpSource, targetLen);
- fLocalForm[targetLen] = 0;
-
- // Don't forget to delete our temp buffer
- delete [] tmpSource;
-}
diff --git a/samples/DOMPrint/DOMTreeErrorReporter.hpp b/samples/DOMPrint/DOMTreeErrorReporter.hpp
index 7086912..e3151d2 100644
--- a/samples/DOMPrint/DOMTreeErrorReporter.hpp
+++ b/samples/DOMPrint/DOMTreeErrorReporter.hpp
@@ -56,8 +56,14 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:51 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:14:53 andyh
+ * Removed transcoding stuff, replaced with DOMString::transcode.
+ *
+ * Tweaked xml encoding= declaration to say ISO-8859-1. Still wrong,
+ * but not as wrong as utf-8
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:51 twl
+ * Initial checkin
*
* Revision 1.4 1999/11/08 20:43:36 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -92,58 +98,3 @@
void resetErrors();
};
-
-// ---------------------------------------------------------------------------
-// This is a simple class that lets us do easy (though not terribly efficient)
-// trancoding of XMLCh data to local code page for display.
-// ---------------------------------------------------------------------------
-class StrX
-{
-public :
- // -----------------------------------------------------------------------
- // Constructors and Destructor
- // -----------------------------------------------------------------------
- StrX(const XMLCh* const toTranscode, const unsigned int len = 0) :
-
- fLocalForm(0)
- {
- // Call the private transcoding method
- transcode(toTranscode, len);
- }
-
- ~StrX()
- {
- delete [] fLocalForm;
- }
-
-
- // -----------------------------------------------------------------------
- // Getter methods
- // -----------------------------------------------------------------------
- const char* localForm() const
- {
- return fLocalForm;
- }
-
-
-private :
- // -----------------------------------------------------------------------
- // Private helper methods
- // -----------------------------------------------------------------------
- void transcode (const XMLCh* const toTranscode, const unsigned int len);
-
-
- // -----------------------------------------------------------------------
- // Private data members
- //
- // fLocalForm
- // This is the local code page form of the string.
- // -----------------------------------------------------------------------
- char* fLocalForm;
-};
-
-inline ostream& operator<<(ostream& target, const StrX& toDump)
-{
- target << toDump.localForm();
- return target;
-}
diff --git a/samples/DOMPrint/Makefile.in b/samples/DOMPrint/Makefile.in
index 4f9fbee..2f0b00c 100644
--- a/samples/DOMPrint/Makefile.in
+++ b/samples/DOMPrint/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:52 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:35 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:52 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:36 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=DOMPrint
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/DOMPrint.o ${OUTDIR}/DOMTreeErrorReporter.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES=${SRC}/DOMTreeErrorReporter.hpp
## OS390BATCH
diff --git a/samples/EnumVal/EnumVal.cpp b/samples/EnumVal/EnumVal.cpp
new file mode 100644
index 0000000..09dc050
--- /dev/null
+++ b/samples/EnumVal/EnumVal.cpp
@@ -0,0 +1,331 @@
+/*
+ * (C) Copyright IBM Corp. 1999 All rights reserved.
+ *
+ * US Government Users Restricted Rights Use, duplication or
+ * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
+ *
+ * The program is provided "as is" without any warranty express or
+ * implied, including the warranty of non-infringement and the implied
+ * warranties of merchantibility and fitness for a particular purpose.
+ * IBM will not be liable for any damages suffered by you as a result
+ * of using the Program. In no event will IBM be liable for any
+ * special, indirect or consequential damages or lost profits even if
+ * IBM has been advised of the possibility of their occurrence. IBM
+ * will not be liable for any third party claims against you.
+ */
+
+/**
+ * @version Revision: %M% %I% %W% %Q%
+ */
+
+
+// ---------------------------------------------------------------------------
+// Includes
+// ---------------------------------------------------------------------------
+#include <util/NameIdPool.hpp>
+#include <util/PlatformUtils.hpp>
+#include <framework/XMLValidator.hpp>
+#include <parsers/SAXParser.hpp>
+#include <validators/DTD/DTDValidator.hpp>
+#include <iostream.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+// ---------------------------------------------------------------------------
+// Forward references
+// ---------------------------------------------------------------------------
+static void usage();
+
+
+
+// ---------------------------------------------------------------------------
+// This is a simple class that lets us do easy (though not terribly efficient)
+// trancoding of XMLCh data to local code page for display.
+// ---------------------------------------------------------------------------
+class StrX
+{
+public :
+ // -----------------------------------------------------------------------
+ // Constructors and Destructor
+ // -----------------------------------------------------------------------
+ StrX(const XMLCh* const toTranscode, const unsigned int len = 0) :
+
+ fLocalForm(0)
+ {
+ // Call the private transcoding method
+ transcode(toTranscode, len);
+ }
+
+ ~StrX()
+ {
+ delete [] fLocalForm;
+ }
+
+
+ // -----------------------------------------------------------------------
+ // Getter methods
+ // -----------------------------------------------------------------------
+ const char* localForm() const
+ {
+ return fLocalForm;
+ }
+
+
+private :
+ // -----------------------------------------------------------------------
+ // Private helper methods
+ // -----------------------------------------------------------------------
+ void transcode (const XMLCh* const toTranscode, const unsigned int len);
+
+
+ // -----------------------------------------------------------------------
+ // Private data members
+ //
+ // fLocalForm
+ // This is the local code page form of the string.
+ // -----------------------------------------------------------------------
+ char* fLocalForm;
+};
+
+inline ostream& operator<<(ostream& target, const StrX& toDump)
+{
+ target << toDump.localForm();
+ return target;
+}
+
+
+// ---------------------------------------------------------------------------
+// Program entry point
+// ---------------------------------------------------------------------------
+int main(int argc, char* args[])
+{
+ // Initialize the XML4C system
+ try
+ {
+ XMLPlatformUtils::Initialize();
+ }
+
+ catch (const XMLException& toCatch)
+ {
+ cerr << "Error during initialization! Message:\n"
+ << StrX(toCatch.getMessage()) << endl;
+ return 1;
+ }
+
+ // We only have one required parameter, which is the file to process
+ if (argc < 2)
+ {
+ usage();
+ return -1;
+ }
+ const char* xmlFile = args[1];
+ bool doValidation = false;
+
+ // Check for some special cases values of the parameter
+ if (!strncmp(xmlFile, "-?", 2))
+ {
+ usage();
+ return 0;
+ }
+ else if (!strncmp(xmlFile, "-v", 2))
+ {
+ doValidation = true;
+ if (argc < 3)
+ {
+ usage();
+ return -1;
+ }
+ xmlFile = args[2];
+ }
+ else if (xmlFile[0] == '-')
+ {
+ usage();
+ return -1;
+ }
+
+ //
+ // Create a DTD validator to be used for our validation work. Then create
+ // a SAX parser object and pass it our validator. Then, according to what
+ // we were told on the command line, set it to validate or not. He owns
+ // the validator, so we have to allocate it.
+ //
+ DTDValidator* valToUse = new DTDValidator;
+ SAXParser parser(valToUse);
+ parser.setDoValidation(doValidation);
+
+ //
+ // Get the starting time and kick off the parse of the indicated
+ // file. Catch any exceptions that might propogate out of it.
+ //
+ try
+ {
+ parser.parse(xmlFile);
+ }
+
+ catch (const XMLException& e)
+ {
+ cerr << "\nError during parsing: '" << xmlFile << "'\n"
+ << "Exception message is: \n"
+ << StrX(e.getMessage()) << "\n" << endl;
+ return -1;
+ }
+
+ //
+ // Now we will get an enumerator for the element pool from the validator
+ // and enumerate the elements, printing them as we go. For each element
+ // we get an enumerator for its attributes and print them also.
+ //
+ NameIdPoolEnumerator<DTDElementDecl> elemEnum = valToUse->getElemEnumerator();
+ if (elemEnum.hasMoreElements())
+ {
+ cout << "\nELEMENTS:\n----------------------------\n";
+ while(elemEnum.hasMoreElements())
+ {
+ const DTDElementDecl& curElem = elemEnum.nextElement();
+ cout << " Name: " << StrX(curElem.getFullName()) << "\n";
+
+ cout << " Content Model: "
+ << StrX(curElem.getFormattedContentModel(*valToUse))
+ << "\n";
+
+ // Get an enumerator for this guy's attributes if any
+ if (curElem.hasAttDefs())
+ {
+ cout << " Attributes:\n";
+ XMLAttDefList& attList = curElem.getAttDefList();
+ while (attList.hasMoreElements())
+ {
+ const XMLAttDef& curAttDef = attList.nextElement();
+ cout << " Name:" << StrX(curAttDef.getFullName())
+ << ", Type: ";
+
+ // Get the type and display it
+ const XMLAttDef::AttTypes type = curAttDef.getType();
+ switch(type)
+ {
+ case XMLAttDef::CData :
+ cout << "CDATA";
+ break;
+
+ case XMLAttDef::ID :
+ cout << "ID";
+ break;
+
+ case XMLAttDef::IDRef :
+ case XMLAttDef::IDRefs :
+ cout << "IDREF(S)";
+ break;
+
+ case XMLAttDef::Entity :
+ case XMLAttDef::Entities :
+ cout << "ENTITY(IES)";
+ break;
+
+ case XMLAttDef::NmToken :
+ case XMLAttDef::NmTokens :
+ cout << "NMTOKEN(S)";
+ break;
+
+ case XMLAttDef::Notation :
+ cout << "NOTATION";
+ break;
+
+ case XMLAttDef::Enumeration :
+ cout << "ENUMERATION";
+ break;
+ }
+
+ cout << "\n";
+ }
+ }
+ cout << endl;
+ }
+ }
+ else
+ {
+ cout << "The validator has no elements to display\n" << endl;
+ }
+ return 0;
+}
+
+
+// ---------------------------------------------------------------------------
+// Local helper methods
+// ---------------------------------------------------------------------------
+static void usage()
+{
+ cout << "\nUsage:\n"
+ " EnumVal [-v] <XML file>\n"
+ " -v Do a validating parse. Defaults to non-validating.\n"
+ "This program parses a file, then shows how to enumerate the"
+ "contents of the validator pools\n" << endl;
+}
+
+
+// ---------------------------------------------------------------------------
+// StrX: Private helper methods
+// ---------------------------------------------------------------------------
+void StrX::transcode(const XMLCh* const toTranscode, const unsigned int len)
+{
+ // Short circuit if its a null pointer
+ if (!toTranscode)
+ {
+ fLocalForm = new char[1];
+ fLocalForm[0] = 0;
+ return;
+ }
+
+ // See if our XMLCh and wchar_t as the same on this platform
+ const bool isSameSize = (sizeof(XMLCh) == sizeof(wchar_t));
+
+ //
+ // Get the actual number of chars. If the passed len is zero, its null
+ // terminated. Else we have to use the len.
+ //
+ wchar_t realLen = (wchar_t)len;
+ if (!realLen)
+ {
+ //
+ // We cannot just assume we can use wcslen() because we don't know
+ // if our XMLCh is the same as wchar_t on this platform.
+ //
+ const XMLCh* tmpPtr = toTranscode;
+ while (*(tmpPtr++))
+ realLen++;
+ }
+
+ //
+ // If either the passed length was non-zero or our char sizes are not
+ // same, we have to use a temp buffer. Since this is common in these
+ // samples, we just do it anyway.
+ //
+ wchar_t* tmpSource = new wchar_t[realLen + 1];
+ if (isSameSize)
+ {
+ memcpy(tmpSource, toTranscode, realLen * sizeof(wchar_t));
+ }
+ else
+ {
+ for (unsigned int index = 0; index < realLen; index++)
+ tmpSource[index] = (wchar_t)toTranscode[index];
+ }
+ tmpSource[realLen] = 0;
+
+ // See now many chars we need to transcode this guy
+ const unsigned int targetLen = ::wcstombs(0, tmpSource, 0);
+
+ // Allocate out storage member
+ fLocalForm = new char[targetLen + 1];
+
+ //
+ // And transcode our temp source buffer to the local buffer. Cap it
+ // off since the converter won't do it (because the null is beyond
+ // where the target will fill up.)
+ //
+ ::wcstombs(fLocalForm, tmpSource, targetLen);
+ fLocalForm[targetLen] = 0;
+
+ // Don't forget to delete our temp buffer
+ delete [] tmpSource;
+}
diff --git a/samples/EnumVal/Makefile.in b/samples/EnumVal/Makefile.in
new file mode 100644
index 0000000..9cde5c9
--- /dev/null
+++ b/samples/EnumVal/Makefile.in
@@ -0,0 +1,107 @@
+#
+# The Apache Software License, Version 1.1
+#
+# Copyright (c) 1999 The Apache Software Foundation. All rights
+# reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The end-user documentation included with the redistribution,
+# if any, must include the following acknowledgment:
+# "This product includes software developed by the
+# Apache Software Foundation (http://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/>.
+#
+#
+
+###################################################################
+# IMPORTANT NOTE #
+###################################################################
+# If you are going to do the OS390BATCH build, make sure you have #
+# the OS390BATCH environment variable set. #
+# #
+# export OS390BATCH=1 #
+# #
+###################################################################
+
+PLATFORM = @platform@
+COMPILER = @compiler@
+CXXFLAGS = @cxxflags@
+CFLAGS = @cflags@
+PREFIX = @prefix@
+
+include ../Makefile.incl
+
+APP_NAME=EnumVal
+
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
+OBJS= ${OUTDIR}/EnumVal.o
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
+HEADER_FILES=
+
+## OS390BATCH
+ifeq (${OS390BATCH},1)
+BATCH_TARGET= "//'${LOADMOD}(${APP_NAME})'"
+all: makedir ${BATCH_TARGET}
+else
+all: makedir ${EXEC}/${APP_NAME}
+endif
+
+makedir:
+ -mkdir -p $(OUTDIR)
+
+${EXEC}/${APP_NAME}: ${OBJS}
+ ${LINK} ${PLATFORM_LIB_LINK_OPTIONS} ${OBJS} -o $@ ${LIBRARY_SEARCH_PATHS} ${LIBRARY_NAMES} ${EXTRA_LINK_OPTIONS}
+${BATCH_TARGET}: ${OBJS}
+ ${LINK} ${PLATFORM_LIB_LINK_OPTIONS} ${OBJS} -o $@ ${LIBRARY_SEARCH_PATHS} ${LIBRARY_NAMES} ${EXTRA_LINK_OPTIONS}
+
+$(OUTDIR)/EnumVal.o: ${SRC}/EnumVal.cpp ${HEADER_FILES}
+ ${CC} ${CMP} $(INCLUDES) -o $(OUTDIR)/EnumVal.o ${SRC}/EnumVal.cpp
+
+clean:
+ rm -f ${OBJS} ${EXEC}/${APP_NAME}
+
+distclean: clean
+ rm -f Makefile
diff --git a/samples/Makefile.in b/samples/Makefile.in
index 61cb1c1..d746156 100644
--- a/samples/Makefile.in
+++ b/samples/Makefile.in
@@ -55,8 +55,14 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:25 twl
-# Initial revision
+# Revision 1.4 1999/11/30 21:35:21 abagchi
+# Included EnumVal in the list of samples
+#
+# Revision 1.3 1999/11/12 20:31:22 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:25 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 20:43:33 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -71,7 +77,8 @@
MemParse_DIR=MemParse
PParse_DIR=PParse
StdInParse_DIR=StdInParse
-LIB_DIR=${XML4CROOT}/lib
+EnumVal_DIR=EnumVal
+LIB_DIR=${XERCESCROOT}/lib
PLATFORM = @platform@
COMPILER = @compiler@
@@ -79,7 +86,7 @@
CFLAGS = @cflags@
PREFIX = @prefix@
-all: saxprint saxcount domprint domcount redirect memparse pparse stdinparse
+all: saxprint saxcount domprint domcount redirect memparse pparse stdinparse enumval
saxprint:
@echo Building "SAXPrint"
@@ -113,6 +120,10 @@
@echo Building "StdInParse"
cd $(StdInParse_DIR) ; $(MAKE) $(MAKE_FLAGS) ; cd ..
+enumval:
+ @echo Building "EnumVal"
+ cd $(EnumVal_DIR) ; $(MAKE) $(MAKE_FLAGS) ; cd ..
+
clean:
cd $(SAXPrint_DIR) && $(MAKE) $@ && cd ..
cd $(SAXCount_DIR) && $(MAKE) $@ && cd ..
@@ -122,6 +133,7 @@
cd $(Redirect_DIR) && $(MAKE) $@ && cd ..
cd $(PParse_DIR) && $(MAKE) $@ && cd ..
cd $(StdInParse_DIR) && $(MAKE) $@ && cd ..
+ cd $(EnumVal_DIR) && $(MAKE) $@ && cd ..
distclean:
cd $(SAXPrint_DIR) && $(MAKE) $@ && cd ..
@@ -132,6 +144,7 @@
cd $(Redirect_DIR) && $(MAKE) $@ && cd ..
cd $(PParse_DIR) && $(MAKE) $@ && cd ..
cd $(StdInParse_DIR) && $(MAKE) $@ && cd ..
+ cd $(EnumVal_DIR) && $(MAKE) $@ && cd ..
rm -f Makefile config.cache config.log config.status
rm -f *~ core
diff --git a/samples/Makefile.incl b/samples/Makefile.incl
index c9a6c50..8a4ad01 100644
--- a/samples/Makefile.incl
+++ b/samples/Makefile.incl
@@ -55,8 +55,14 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:25 twl
-# Initial revision
+# Revision 1.4 1999/12/01 01:08:20 aruna1
+# Added notempinc for AIX
+#
+# Revision 1.3 1999/11/12 20:31:23 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:25 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:34 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -65,11 +71,11 @@
################## LIBRARY NAMES AND DIRECTORIES ##################
-INCLUDES= -I. -I${XML4CROOT}/include
-LIB_DIR=${XML4CROOT}/lib
-LIBNAME=IXXML4C
+INCLUDES= -I. -I${XERCESCROOT}/include
+LIB_DIR=${XERCESCROOT}/lib
+LIBNAME=xerces-c
THISLIB=${LIB_DIR}/${LIBNAME}
-VER=3_0
+VER=1_0
ifdef ICUROOT
ICU_LIB_DIR=${ICUROOT}/lib
ICU_LIBNAME=icu-uc
@@ -102,7 +108,7 @@
#================= AIX SPECIFIC OPTIONS ===========================
ifeq (${PLATFORM}, AIX)
-CMP= -c ${CXXFLAGS}
+CMP= -c ${CXXFLAGS} -qnotempinc
CC=xlC_r -D${PLATFORM}
LINK = ${CC}
PLATFORM_LIB_LINK_OPTIONS=-L/usr/lpp/xlC/lib
@@ -133,7 +139,7 @@
CXXFLAGS = -w +O1
endif
APPL_NAME = $(notdir $(shell pwd))
- TEMPLATESDIR = $(XML4CROOT)/bin/obj/$(APPL_NAME)/ptrepository
+ TEMPLATESDIR = $(XERCESCROOT)/bin/obj/$(APPL_NAME)/ptrepository
COMMON_CMP = $(CXXFLAGS) -D_HP_UX -DHPCC +DAportable -w +eh +z -z \
-ptr$(TEMPLATESDIR)
CMP = -c $(COMMON_CMP)
@@ -151,19 +157,7 @@
# Before you try to run the Makefile, make sure you have two #
# environment variables set. #
# #
-# export XML4CROOT=<the directory where you installed XML4C> #
-# XML4C can be built in two ways (1) using ICU and #
-# (2) using Iconv (not ICU) #
-# #
-# To use ICU, you must: #
-# export ICUROOT=<the directory where you installed ICU> #
-# To disable ICU and use Iconv instead: #
-# unset ICUROOT #
-# #
-# Also, to enable debugging, you must type: #
-# export DEBUG=1 #
-# To disable debugging, you must type: #
-# unset DEBUG #
+# export XERCESCROOT=<the directory where you installed XERCES-C> #
# #
# If you are going to do the OS390BATCH build, make sure you have #
# the OS390BATCH environment variable set. #
diff --git a/samples/MemParse/Makefile.in b/samples/MemParse/Makefile.in
index 86b10d6..48cae98 100644
--- a/samples/MemParse/Makefile.in
+++ b/samples/MemParse/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:49 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:39 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:49 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:36 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=MemParse
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/MemParse.o ${OUTDIR}/MemParseHandlers.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES= ${SRC}/MemParse.hpp ${SRC}/MemParseHandlers.hpp
## OS390BATCH
diff --git a/samples/MemParse/MemParse.cpp b/samples/MemParse/MemParse.cpp
index 815e8f7..1d770f4 100644
--- a/samples/MemParse/MemParse.cpp
+++ b/samples/MemParse/MemParse.cpp
@@ -64,8 +64,11 @@
* on parameters to the constructor.
*
* $Log$
- * Revision 1.1 1999/11/09 01:09:49 twl
- * Initial revision
+ * Revision 1.2 1999/11/20 01:09:55 rahulj
+ * Fixed usage message.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:49 twl
+ * Initial checkin
*
* Revision 1.7 1999/11/08 20:43:36 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -126,7 +129,7 @@
void usage()
{
cout << "\nUsage:\n"
- << " MemParse [-nv]\n"
+ << " MemParse [-v]\n"
<< "This program uses the SAX Parser to parse a memory buffer\n"
<< "containing XML statements, and reports the number of\n"
<< "elements and attributes found.\n"
diff --git a/samples/PParse/Makefile.in b/samples/PParse/Makefile.in
index 73feeff..4f447eb 100644
--- a/samples/PParse/Makefile.in
+++ b/samples/PParse/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:45 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:42 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:45 twl
+# Initial checkin
#
# Revision 1.2 1999/11/08 20:43:37 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=PParse
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/PParse.o ${OUTDIR}/PParseHandlers.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES=${SRC}/PParse.hpp ${SRC}/PParseHandlers.hpp
## OS390BATCH
diff --git a/samples/Projects/Win32/VC6/DOMCount/DOMCount.dsp b/samples/Projects/Win32/VC6/DOMCount/DOMCount.dsp
index b02634e..6f3b81b 100644
--- a/samples/Projects/Win32/VC6/DOMCount/DOMCount.dsp
+++ b/samples/Projects/Win32/VC6/DOMCount/DOMCount.dsp
@@ -47,7 +47,7 @@
# 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 kernel32.lib user32.lib IXXML4C3.lib /nologo /version:2.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# ADD LINK32 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
# Begin Target
# Name "DOMCount - Win32 Debug"
diff --git a/samples/Projects/Win32/VC6/DOMPrint/DOMPrint.dsp b/samples/Projects/Win32/VC6/DOMPrint/DOMPrint.dsp
index 0661ccd..bb622ee 100644
--- a/samples/Projects/Win32/VC6/DOMPrint/DOMPrint.dsp
+++ b/samples/Projects/Win32/VC6/DOMPrint/DOMPrint.dsp
@@ -47,7 +47,7 @@
# 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 kernel32.lib user32.lib IXXML4C3.lib /nologo /version:2.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# ADD LINK32 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
# Begin Target
# Name "DOMPrint - Win32 Debug"
diff --git a/samples/Projects/Win32/VC6/EnumVal/EnumVal.dsp b/samples/Projects/Win32/VC6/EnumVal/EnumVal.dsp
new file mode 100644
index 0000000..961c22e
--- /dev/null
+++ b/samples/Projects/Win32/VC6/EnumVal/EnumVal.dsp
@@ -0,0 +1,67 @@
+# Microsoft Developer Studio Project File - Name="EnumVal" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=EnumVal - 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 "EnumVal.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 "EnumVal.mak" CFG="EnumVal - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "EnumVal - 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
+# 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 "..\..\..\..\..\bin"
+# PROP Intermediate_Dir "..\..\..\..\..\bin\obj"
+# 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 /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "DEVENV_VCPP" /D "PROJ_SAXCOUNT" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# Begin Target
+
+# Name "EnumVal - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\EnumVal\EnumVal.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/samples/Projects/Win32/VC6/MemParse/MemParse.dsp b/samples/Projects/Win32/VC6/MemParse/MemParse.dsp
index e49f950..c2544c9 100644
--- a/samples/Projects/Win32/VC6/MemParse/MemParse.dsp
+++ b/samples/Projects/Win32/VC6/MemParse/MemParse.dsp
@@ -47,7 +47,7 @@
# 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 kernel32.lib user32.lib IXXML4C3.lib /nologo /version:2.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# ADD LINK32 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
# Begin Target
# Name "MemParse - Win32 Debug"
diff --git a/samples/Projects/Win32/VC6/PParse/PParse.dsp b/samples/Projects/Win32/VC6/PParse/PParse.dsp
new file mode 100644
index 0000000..2cd4a62
--- /dev/null
+++ b/samples/Projects/Win32/VC6/PParse/PParse.dsp
@@ -0,0 +1,83 @@
+# Microsoft Developer Studio Project File - Name="PParse" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=PParse - 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 "PParse.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 "PParse.mak" CFG="PParse - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PParse - 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
+# 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 "..\..\..\..\..\bin"
+# PROP Intermediate_Dir "..\..\..\..\..\bin\obj"
+# 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 /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "DEVENV_VCPP" /D "PROJ_SAXCOUNT" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# Begin Target
+
+# Name "PParse - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\PParse\PParse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\PParse\PParseHandlers.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\..\..\PParse\PParse.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\PParse\PParseHandlers.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/Projects/Win32/VC6/Redirect/Redirect.dsp b/samples/Projects/Win32/VC6/Redirect/Redirect.dsp
index b61809d..96860ae 100644
--- a/samples/Projects/Win32/VC6/Redirect/Redirect.dsp
+++ b/samples/Projects/Win32/VC6/Redirect/Redirect.dsp
@@ -47,7 +47,7 @@
# 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 kernel32.lib user32.lib IXXML4C3.lib /nologo /version:2.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# ADD LINK32 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
# Begin Target
# Name "Redirect - Win32 Debug"
diff --git a/samples/Projects/Win32/VC6/SAXCount/SAXCount.dsp b/samples/Projects/Win32/VC6/SAXCount/SAXCount.dsp
index e02d82f..d2bf078 100644
--- a/samples/Projects/Win32/VC6/SAXCount/SAXCount.dsp
+++ b/samples/Projects/Win32/VC6/SAXCount/SAXCount.dsp
@@ -47,7 +47,7 @@
# 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 kernel32.lib user32.lib IXXML4C3.lib /nologo /version:2.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# ADD LINK32 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
# Begin Target
# Name "SAXCount - Win32 Debug"
diff --git a/samples/Projects/Win32/VC6/SAXPrint/SAXPrint.dsp b/samples/Projects/Win32/VC6/SAXPrint/SAXPrint.dsp
index 81d2e50..e4d448d 100644
--- a/samples/Projects/Win32/VC6/SAXPrint/SAXPrint.dsp
+++ b/samples/Projects/Win32/VC6/SAXPrint/SAXPrint.dsp
@@ -47,7 +47,7 @@
# 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 kernel32.lib user32.lib IXXML4C3.lib /nologo /version:2.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# ADD LINK32 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
# Begin Target
# Name "SAXPrint - Win32 Debug"
diff --git a/samples/Projects/Win32/VC6/StdInParse/StdInParse.dsp b/samples/Projects/Win32/VC6/StdInParse/StdInParse.dsp
new file mode 100644
index 0000000..32d86b3
--- /dev/null
+++ b/samples/Projects/Win32/VC6/StdInParse/StdInParse.dsp
@@ -0,0 +1,83 @@
+# Microsoft Developer Studio Project File - Name="StdInParse" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=StdInParse - 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 "StdInParse.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 "StdInParse.mak" CFG="StdInParse - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "StdInParse - 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
+# 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 "..\..\..\..\..\bin"
+# PROP Intermediate_Dir "..\..\..\..\..\bin\obj"
+# 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 /G5 /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "DEVENV_VCPP" /D "PROJ_SAXCOUNT" /D "PLATFORM_WIN32" /FD /GZ /c
+# SUBTRACT CPP /YX
+# 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 kernel32.lib user32.lib xerces-c_1.lib /nologo /version:1.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\lib"
+# Begin Target
+
+# Name "StdInParse - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\..\..\StdInParse\StdInParse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\StdInParse\StdInParseHandlers.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\..\..\StdInParse\StdInParse.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\StdInParse\StdInParseHandlers.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/Projects/Win32/VC6/samples.dsw b/samples/Projects/Win32/VC6/samples.dsw
index 270b277..744204e 100644
--- a/samples/Projects/Win32/VC6/samples.dsw
+++ b/samples/Projects/Win32/VC6/samples.dsw
@@ -75,6 +75,42 @@
###############################################################################
+Project: "PParse"=.\PParse\PParse.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "StdInParse"=.\StdInParse\StdInParse.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "EnumVal"=.\EnumVal\EnumVal.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Global:
Package=<5>
diff --git a/samples/Redirect/Makefile.in b/samples/Redirect/Makefile.in
index 7940ec5..e63cbfd 100644
--- a/samples/Redirect/Makefile.in
+++ b/samples/Redirect/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:36 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:46 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:36 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:38 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=Redirect
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/Redirect.o ${OUTDIR}/RedirectHandlers.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES=${SRC}/Redirect.hpp ${SRC}/RedirectHandlers.hpp
## OS390BATCH
diff --git a/samples/SAXCount/Makefile.in b/samples/SAXCount/Makefile.in
index fe5ef5a..9935bda 100644
--- a/samples/SAXCount/Makefile.in
+++ b/samples/SAXCount/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:30 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:51 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:30 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:40 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=SAXCount
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/SAXCount.o ${OUTDIR}/SAXCountHandlers.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES=${SRC}/SAXCount.hpp ${SRC}/SAXCountHandlers.hpp
## OS390BATCH
diff --git a/samples/SAXPrint/Makefile.in b/samples/SAXPrint/Makefile.in
index ea08292..7acd6b1 100644
--- a/samples/SAXPrint/Makefile.in
+++ b/samples/SAXPrint/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:28 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:34:55 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:28 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:43:41 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=SAXPrint
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/SAXPrint.o ${OUTDIR}/SAXPrintHandlers.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES=${SRC}/SAXPrint.hpp ${SRC}/SAXPrintHandlers.hpp
## OS390BATCH
diff --git a/samples/StdInParse/Makefile.in b/samples/StdInParse/Makefile.in
index fbd2215..9991545 100644
--- a/samples/StdInParse/Makefile.in
+++ b/samples/StdInParse/Makefile.in
@@ -55,8 +55,11 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:26 twl
-# Initial revision
+# Revision 1.2 1999/11/12 20:35:02 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:26 twl
+# Initial checkin
#
# Revision 1.2 1999/11/08 20:43:42 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -83,10 +86,10 @@
APP_NAME=StdInParse
-OUTDIR= ${XML4CROOT}/bin/obj/${APP_NAME}
-EXEC= ${XML4CROOT}/bin
+OUTDIR= ${XERCESCROOT}/bin/obj/${APP_NAME}
+EXEC= ${XERCESCROOT}/bin
OBJS= ${OUTDIR}/StdInParse.o ${OUTDIR}/StdInParseHandlers.o
-SRC= ${XML4CROOT}/samples/${APP_NAME}
+SRC= ${XERCESCROOT}/samples/${APP_NAME}
HEADER_FILES=${SRC}/StdInParse.hpp ${SRC}/StdInParseHandlers.hpp
## OS390BATCH
diff --git a/samples/configure b/samples/configure
index 7436180..2e0127e 100755
--- a/samples/configure
+++ b/samples/configure
@@ -1314,6 +1314,15 @@
compiler=${CXX}
+# prefix=${prefix}
+
+
+cxxflags=${CXXFLAGS}
+
+
+cflags=${CFLAGS}
+
+
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
@@ -1433,7 +1442,10 @@
SAXPrint/Makefile \
DOMPrint/Makefile \
MemParse/Makefile \
-Redirect/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+Redirect/Makefile \
+PParse/Makefile \
+StdInParse/Makefile \
+EnumVal/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
@@ -1480,6 +1492,8 @@
s%@host_os@%$host_os%g
s%@platform@%$platform%g
s%@compiler@%$compiler%g
+s%@cxxflags@%$cxxflags%g
+s%@cflags@%$cflags%g
CEOF
EOF
@@ -1527,7 +1541,10 @@
SAXPrint/Makefile \
DOMPrint/Makefile \
MemParse/Makefile \
-Redirect/Makefile"}
+Redirect/Makefile \
+PParse/Makefile \
+StdInParse/Makefile \
+EnumVal/Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
@@ -1598,3 +1615,4 @@
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/samples/configure.in b/samples/configure.in
index 8ca8602..dd99f55 100644
--- a/samples/configure.in
+++ b/samples/configure.in
@@ -60,5 +60,6 @@
MemParse/Makefile \
Redirect/Makefile \
PParse/Makefile \
-StdInParse/Makefile])
+StdInParse/Makefile \
+EnumVal/Makefile])
diff --git a/samples/runConfigure b/samples/runConfigure
index d703165..c8a96af 100755
--- a/samples/runConfigure
+++ b/samples/runConfigure
@@ -58,8 +58,44 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:26 twl
-# Initial revision
+# Revision 1.3 1999/12/02 18:10:51 dirkx
+# Changed exit codes from -1 to '1'. Added indirection.
+#
+# Date: Thu, 2 Dec 1999 17:47:39 +0000
+# From: Jonathan McDowell <noodles@earth.li>
+# Reply-To: xerces-dev@xml.apache.org
+# To: xerces-dev@xml.apache.org, rahulj@apache.org
+# Subject: Re: runConfigure script & bash
+#
+#
+# On Mon, Nov 29, 1999 at 10:29:13AM -0800, Rahul Jain wrote:
+#
+# > > I'm quite happy to produce a patch that makes it work under both
+# > > FreeBSD's sh and bash - I would assume this would work under most sh
+# > > like shells.
+# > Please post the changes for FreeBSD and I will test the changes on
+# > other unix's and do the integration.
+#
+# I sat down to do this today and found that it can be trivially fixed by
+# changing all the "exit -1" instances to "exit 1" - it seems the /bin/sh
+# with FreeBSD doesn't like negative result codes. It seems a bit
+# pointless to submit a patch for this, so can someone with CVS access
+# change this please?
+#
+# J.
+#
+# --
+#
+# PR:
+# Obtained from:
+# Submitted by:
+# Reviewed by:
+#
+# Revision 1.2 1999/11/12 19:12:40 abagchi
+# Changed instances of XML4CROOT to XERCESCROOT
+#
+# Revision 1.1.1.1 1999/11/09 01:09:26 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 20:43:34 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -82,24 +118,26 @@
echo " -h (get help on the above commands)"
}
+ERROR_EXIT_CODE=1
+
if test ${1}o = "o"; then
usage
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
-if test ${XML4CROOT}o = "o"; then
- echo ERROR : You have not set your XML4CROOT environment variable
+if test ${XERCESCROOT}o = "o"; then
+ echo ERROR : You have not set your XERCESCROOT 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 XML4CROOT to indicate where you installed
- echo the XML4C files, and run this command again to proceed. See the documentation
+ echo set an environment variable called XERCESCROOT to indicate where you installed
+ echo the XERCES-C files, and run this command again to proceed. See the documentation
echo for an example if you are still confused.
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
if test $1 = "-h"; then
usage
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
# Get the command line parameters
@@ -107,7 +145,7 @@
if [ $? != 0 ]
then
usage
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
# Set up the default values for each parameter
@@ -133,7 +171,7 @@
-h)
usage
- exit -1;;
+ exit ${ERROR_EXIT_CODE};;
--)
shift; break;;
@@ -159,7 +197,7 @@
;;
*)
echo "I do not recognize the platform '$platform'. Please type '${0} -h' for help."
- exit -1;;
+ exit ${ERROR_EXIT_CODE};;
esac
# Set the C compiler and C++ compiler environment variables
@@ -200,7 +238,7 @@
echo
echo If the result of the above commands look OK to you, go to the directory
-echo ${XML4CROOT}/src and type \"make\" to make the XML4C system.
+echo ${XERCESCROOT}/src and type \"make\" to make the XERCES-C system.
exit 0;
diff --git a/scripts/Win32/ccd.cmd b/scripts/Win32/ccd.cmd
new file mode 100755
index 0000000..3029866
--- /dev/null
+++ b/scripts/Win32/ccd.cmd
@@ -0,0 +1,80 @@
+@ECHO OFF
+
+%DevDrive%
+
+IF "%1"=="build" GOTO CD_BUILD
+IF "%1"=="data" GOTO CD_DATA
+IF "%1"=="dom" GOTO CD_DOM
+IF "%1"=="framework" GOTO CD_FRAMEWORK
+IF "%1"=="internal" GOTO CD_INTERNAL
+IF "%1"=="intl" GOTO CD_INTL
+IF "%1"=="parsers" GOTO CD_PARSERS
+IF "%1"=="samples" GOTO CD_SAMPLES
+IF "%1"=="sax" GOTO CD_SAX
+IF "%1"=="scripts" GOTO CD_SCRIPTS
+IF "%1"=="src" GOTO CD_SRC
+IF "%1"=="tests" GOTO CD_TESTS
+IF "%1"=="tools" GOTO CD_TOOLS
+IF "%1"=="util" GOTO CD_UTIL
+
+
+ECHO Unknown target directory
+GOTO :EXIT
+
+:CD_BUILD
+CD %XML4CRoot%\Build\Win32\VC6
+GOTO EXIT
+
+:CD_DATA
+CD %XML4CRoot%\samples\data
+GOTO EXIT
+
+:CD_DOM
+CD %XML4CRoot%\src\dom
+GOTO EXIT
+
+:CD_FRAMEWORK
+CD %XML4CRoot%\src\framework
+GOTO EXIT
+
+:CD_INTERNAL
+CD %XML4CRoot%\src\internal
+GOTO EXIT
+
+:CD_INTL
+CD %XML4CRoot%\intlFiles
+GOTO EXIT
+
+:CD_PARSERS
+CD %XML4CRoot%\src\parsers
+GOTO EXIT
+
+:CD_SAMPLES
+CD %XML4CRoot%\samples
+GOTO EXIT
+
+:CD_SAX
+CD %XML4CRoot%\src\sax
+GOTO EXIT
+
+:CD_SCRIPTS
+CD %XML4CRoot%\scripts\Win32
+GOTO EXIT
+
+:CD_SRC
+CD %XML4CRoot%\src
+GOTO EXIT
+
+:CD_TESTS
+CD %XML4CRoot%\tests
+GOTO EXIT
+
+:CD_TOOLS
+CD %XML4CRoot%\tools
+GOTO EXIT
+
+:CD_UTIL
+CD %XML4CRoot%\src\util
+GOTO EXIT
+
+:EXIT
diff --git a/scripts/packageBinaries.pl b/scripts/packageBinaries.pl
index 970ef3e..e8a6289 100644
--- a/scripts/packageBinaries.pl
+++ b/scripts/packageBinaries.pl
@@ -1,6 +1,6 @@
#!/usr/local/bin/perl5
-push(@INC, "/home/xml4c/bin", "/home/xml4c/bin/perl/perl-RUN/opt/perl5/lib", "/Development2/cupert/bin/perl/perl-RUN/opt/perl5/lib", "/Development/cupert/usr/local/perl/perl-RUN/opt/perl5/lib");
+push(@INC, "/home/xerces-c/bin", "/home/xerces-c/bin/perl/perl-RUN/opt/perl5/lib", "/Development2/cupert/bin/perl/perl-RUN/opt/perl5/lib", "/Development/cupert/usr/local/perl/perl-RUN/opt/perl5/lib");
require "getopt.pl";
@@ -9,17 +9,11 @@
# Extract the source and target directories
&Getopt('sopcxmntr');
-$XML4CROOT = $opt_s;
+$XERCESCROOT = $opt_s;
$targetdir = $opt_o;
-$ccompiler = $opt_c;
-$cppcompiler = $opt_x;
-$msgloader = $opt_m;
-$netaccessor = $opt_n;
-$transcoder = $opt_t;
-$thread = $opt_r;
# Check for the environment variables and exit if error
-if (!length($XML4CROOT) || !length($targetdir) || (length($opt_h) > 0) ) {
+if (!length($XERCESCROOT) || !length($targetdir) || (length($opt_h) > 0) ) {
print ("Usage is: packageBinaries <options>\n");
print (" options are: -s <source_directory>\n");
print (" -o <target_directory>\n");
@@ -30,22 +24,22 @@
print (" -t <transcoder> can be 'icu' or 'native'\n");
print (" -r <thread option> can be 'pthread' or 'dce' (only used on HP-11)\n");
print (" -h to get help on these commands\n");
- print ("Example: perl packageBinaries.pl -s\$HOME/xml4csrc3_0_0 -o\$HOME/xml4c3_0_0 -cgcc -xg++ -minmem -nfileonly -tnative\n");
+ print ("Example: perl packageBinaries.pl -s\$HOME/xerces-c_1_0_0d01 -o\$HOME/xerces-c_1_0_0d01bin -cgcc -xg++ -minmem -nfileonly -tnative\n");
exit(-1);
}
# Set up the environment variables for ICU
-# As of Version 3, ICU is not a required component of XML4C
+# As of Version 3, ICU is not a required component of XERCES-C
$ICUROOT = $ENV{'ICUROOT'};
if (!length($ICUROOT)) {
print "You have not defined your ICU install directory.\n";
- print "You must set an environment variable called ICUROOT to package ICU with XML4C.\n";
- print "Proceeding to build XML4C without ICU...\n";
+ print "You must set an environment variable called ICUROOT to package ICU with XERCES-C.\n";
+ print "Proceeding to build XERCES-C without ICU...\n";
}
# Check if the source directory exists or not
-if (!(-e $XML4CROOT)) {
- print ("The directory $XML4CROOT does not exist. Cannot proceed any further.\n");
+if (!(-e $XERCESCROOT)) {
+ print ("The directory $XERCESCROOT does not exist. Cannot proceed any further.\n");
exit(-1);
}
@@ -57,7 +51,7 @@
}
#Fix the backslashes on the Windows platform
-$XML4CROOT =~ s/\\/\//g;
+$XERCESCROOT =~ s/\\/\//g;
$ICUROOT =~ s/\\/\//g;
$targetdir =~ s/\\/\//g;
@@ -65,16 +59,14 @@
open(PLATFORM, "uname -s|");
$platform = <PLATFORM>;
chomp($platform);
-#$platform =~ m/(^\w*)\s/;
-#$platform = $1;
close (PLATFORM);
print "Packaging binaries for \`" . $platform . "\` in " . $targetdir . " ...\n";
#Construct the name of the zip file by extracting the last directory name
$zipfiles = $targetdir;
-$zipfiles =~ m/\/(\w*$)/;
-$zipfiles = $1 . "/*";
+$zipfiles =~ s/.*\/([\w|-]*)$/$1/g;
+$zipfiles = $zipfiles . "/*";
$buildmode = "Release"; # Universally, why do you want to package Debug builds anyway?
@@ -112,6 +104,7 @@
mkdir ($targetdir . "/samples/MemParse", "0644");
mkdir ($targetdir . "/samples/PParse", "0644");
mkdir ($targetdir . "/samples/StdInParse", "0644");
+ mkdir ($targetdir . "/samples/EnumVal", "0644");
mkdir ($targetdir . "/doc", "0644");
mkdir ($targetdir . "/doc/apiDocs", "0644");
mkdir ($targetdir . "/bin/icu", "0644");
@@ -138,65 +131,71 @@
}
#Clean up all the dependency files, causes problems for nmake
- chdir ("$XML4CROOT");
+ chdir ("$XERCESCROOT");
system ("del /s /f *.dep");
- # Make the XML4C dll
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/IXXML4C3");
- print "Executing: nmake -f XXML4C3.mak clean CFG=\"IXXML4C3 - $platformname $buildmode\"";
- system("nmake -f IXXML4C3.mak clean CFG=\"IXXML4C3 - $platformname $buildmode\"");
- print "Executing: nmake -f IXXML4C3.mak all CFG=\"IXXML4C3 - $platformname $buildmode\"";
- system("nmake -f IXXML4C3.mak all CFG=\"IXXML4C3 - $platformname $buildmode\"");
+ # Make the XERCES-C dll
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/XercesLib");
+ print "Executing: nmake -f XercesLib.mak clean CFG=\"XercesLib - $platformname $buildmode\"";
+ system("nmake -f XercesLib.mak clean CFG=\"XercesLib - $platformname $buildmode\"");
+ print "Executing: nmake -f XercesLib.mak all CFG=\"XercesLib - $platformname $buildmode\"";
+ system("nmake -f XercesLib.mak all CFG=\"XercesLib - $platformname $buildmode\"");
# Make the SAXCount sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/SAXCount");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/SAXCount");
system "nmake -f SAXCount.mak clean CFG=\"SAXCount - $platformname $buildmode\"";
print "Executing: nmake -f SAXCount.mak all CFG=\"SAXCount - $platformname $buildmode\"";
system("nmake -f SAXCount.mak all CFG=\"SAXCount - $platformname $buildmode\"");
# Make the SAXPrint sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/SAXPrint");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/SAXPrint");
system "nmake -f SAXPrint.mak clean CFG=\"SAXPrint - $platformname $buildmode\"";
print "Executing: nmake -f SAXPrint.mak all CFG=\"SAXPrint - $platformname $buildmode\"";
system("nmake -f SAXPrint.mak all CFG=\"SAXPrint - $platformname $buildmode\"");
# Make the DOMCount sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/DOMCount");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/DOMCount");
system "nmake -f DOMCount.mak clean CFG=\"DOMCount - $platformname $buildmode\"";
print "Executing: nmake -f DOMCount.mak all CFG=\"DOMCount - $platformname $buildmode\"";
system("nmake -f DOMCount.mak all CFG=\"DOMCount - $platformname $buildmode\"");
# Make the DOMPrint sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/DOMPrint");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/DOMPrint");
system "nmake -f DOMPrint.mak clean CFG=\"DOMPrint - $platformname $buildmode\"";
print "Executing: nmake -f DOMPrint.mak all CFG=\"DOMPrint - $platformname $buildmode\"";
system("nmake -f DOMPrint.mak all CFG=\"DOMPrint - $platformname $buildmode\"");
# Make the Redirect sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/Redirect");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/Redirect");
system "nmake -f Redirect.mak clean CFG=\"Redirect - $platformname $buildmode\"";
print "Executing: nmake -f Redirect.mak all CFG=\"Redirect - $platformname $buildmode\"";
system("nmake -f Redirect.mak all CFG=\"Redirect - $platformname $buildmode\"");
# Make the MemParse sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/MemParse");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/MemParse");
system "nmake -f MemParse.mak clean CFG=\"MemParse - $platformname $buildmode\"";
print "Executing: nmake -f MemParse.mak all CFG=\"MemParse - $platformname $buildmode\"";
system("nmake -f MemParse.mak all CFG=\"MemParse - $platformname $buildmode\"");
# Make the PParse sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/PParse");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/PParse");
system "nmake -f PParse.mak clean CFG=\"PParse - $platformname $buildmode\"";
print "Executing: nmake -f PParse.mak all CFG=\"PParse - $platformname $buildmode\"";
system("nmake -f PParse.mak all CFG=\"PParse - $platformname $buildmode\"");
# Make the StdInParse sample
- chdir ("$XML4CROOT/Projects/Win32/VC6/IXXML4C3/StdInParse");
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/StdInParse");
system "nmake -f StdInParse.mak clean CFG=\"StdInParse - $platformname $buildmode\"";
print "Executing: nmake -f StdInParse.mak all CFG=\"StdInParse - $platformname $buildmode\"";
system("nmake -f StdInParse.mak all CFG=\"StdInParse - $platformname $buildmode\"");
+ # Make the EnumVal sample
+ chdir ("$XERCESCROOT/Projects/Win32/VC6/xerces-all/EnumVal");
+ system "nmake -f EnumVal.mak clean CFG=\"EnumVal - $platformname $buildmode\"";
+ print "Executing: nmake -f EnumVal.mak all CFG=\"EnumVal - $platformname $buildmode\"";
+ system("nmake -f EnumVal.mak all CFG=\"EnumVal - $platformname $buildmode\"");
+
if (length($ICUROOT) > 0) {
# run makeconv now
chdir ("$ICUROOT/data");
@@ -211,15 +210,15 @@
# Decide where you want the build copied from
chdir ($targetdir);
- $BUILDDIR = $XML4CROOT . "/Build/Win32/VC6/" . $buildmode;
+ $BUILDDIR = $XERCESCROOT . "/Build/Win32/VC6/" . $buildmode;
print "\nBuild is being copied from \'" . $BUILDDIR . "\'";
# Populate the include output directory
print ("\n\nCopying headers files ...\n");
- $xcopycommand = "xcopy $XML4CROOT\\src\\*.hpp $targetdir\\include";
+ $xcopycommand = "xcopy $XERCESCROOT\\src\\*.hpp $targetdir\\include";
$xcopycommand =~ s/\//\\/g;
system ("$xcopycommand /S /C /I /R");
- $xcopycommand = "xcopy $XML4CROOT\\src\\*.c $targetdir\\include";
+ $xcopycommand = "xcopy $XERCESCROOT\\src\\*.c $targetdir\\include";
$xcopycommand =~ s/\//\\/g;
system ("$xcopycommand /S /C /I /R");
@@ -236,7 +235,7 @@
system("cp -fv $ICUROOT/lib/$buildmode/icuuc.lib $targetdir/lib");
system("cp -fv $ICUROOT/source/tools/makeconv/$buildmode/makeconv.exe $targetdir/bin");
}
- system("cp -fv $BUILDDIR/IXXML4C3.lib $targetdir/lib");
+ system("cp -fv $BUILDDIR/xerces-c_1.lib $targetdir/lib");
# Copy the locale files
if (length($ICUROOT) > 0) {
@@ -246,23 +245,24 @@
# Populate the samples directory
print ("\n\nCopying sample files ...\n");
- system("cp -Rfv $XML4CROOT/samples/Projects/* $targetdir/samples/Projects");
- system("cp -Rfv $XML4CROOT/samples/SAXCount/* $targetdir/samples/SAXCount");
- system("cp -Rfv $XML4CROOT/samples/SAXPrint/* $targetdir/samples/SAXPrint");
- system("cp -Rfv $XML4CROOT/samples/DOMCount/* $targetdir/samples/DOMCount");
- system("cp -Rfv $XML4CROOT/samples/DOMPrint/* $targetdir/samples/DOMPrint");
- system("cp -Rfv $XML4CROOT/samples/Redirect/* $targetdir/samples/Redirect");
- system("cp -Rfv $XML4CROOT/samples/MemParse/* $targetdir/samples/MemParse");
- system("cp -Rfv $XML4CROOT/samples/PParse/* $targetdir/samples/PParse");
- system("cp -Rfv $XML4CROOT/samples/StdInParse/* $targetdir/samples/StdInParse");
- system("cp -Rfv $XML4CROOT/samples/data/* $targetdir/samples/data");
+ system("cp -Rfv $XERCESCROOT/samples/Projects/* $targetdir/samples/Projects");
+ system("cp -Rfv $XERCESCROOT/samples/SAXCount/* $targetdir/samples/SAXCount");
+ system("cp -Rfv $XERCESCROOT/samples/SAXPrint/* $targetdir/samples/SAXPrint");
+ system("cp -Rfv $XERCESCROOT/samples/DOMCount/* $targetdir/samples/DOMCount");
+ system("cp -Rfv $XERCESCROOT/samples/DOMPrint/* $targetdir/samples/DOMPrint");
+ system("cp -Rfv $XERCESCROOT/samples/Redirect/* $targetdir/samples/Redirect");
+ system("cp -Rfv $XERCESCROOT/samples/MemParse/* $targetdir/samples/MemParse");
+ system("cp -Rfv $XERCESCROOT/samples/PParse/* $targetdir/samples/PParse");
+ system("cp -Rfv $XERCESCROOT/samples/StdInParse/* $targetdir/samples/StdInParse");
+ system("cp -Rfv $XERCESCROOT/samples/EnumVal/* $targetdir/samples/EnumVal");
+ system("cp -Rfv $XERCESCROOT/samples/data/* $targetdir/samples/data");
# Populate the docs directory
print ("\n\nCopying documentation ...\n");
- system("cp -Rfv $XML4CROOT/doc/* $targetdir/doc");
- system("cp -Rfv $XML4CROOT/doc/apiDocs/* $targetdir/doc/apiDocs");
- system("cp $XML4CROOT/Readme.html $targetdir");
- system("cp $XML4CROOT/doc/license.html $targetdir");
+ system("cp -Rfv $XERCESCROOT/doc/* $targetdir/doc");
+ system("cp -Rfv $XERCESCROOT/doc/apiDocs/* $targetdir/doc/apiDocs");
+ system("cp $XERCESCROOT/Readme.html $targetdir");
+ system("cp $XERCESCROOT/doc/license.html $targetdir");
# Now package it all up using ZIP
chdir ("$targetdir/..");
@@ -281,7 +281,7 @@
$icuCompileFlags = 'CXX="xlC_r -L/usr/lpp/xlC/lib" CC="xlc_r -L/usr/lpp/xlC/lib" C_FLAGS="-w -O" CXX_FLAGS="-w -O"';
}
if ($platform eq 'HP-UX') {
- if ($ccompiler eq 'CC') {
+ if ($opt_c eq 'CC') {
$icuCompileFlags = 'CC=cc CXX=CC CXXFLAGS="+eh +DAportable -w -O" CFLAGS="+DAportable -w -O"';
}
else {
@@ -290,6 +290,7 @@
}
if ($platform =~ m/Linux/) {
$icuCompileFlags = 'CC=gcc CXX=g++ CXXFLAGS="-w -O" CFLAGS="-w -O"';
+ $platform =~ tr/A-Z/a-z/;
}
if ($platform =~ m/SunOS/) {
$icuCompileFlags = 'CC=cc CXX=CC CXXFLAGS="-w -O" CFLAGS="-w -O"';
@@ -302,32 +303,52 @@
exit(1);
}
- $srczipfiles = $srctargetdir . "/*";
-
- $srctargetdir = $OUTPUTDIR . $srctargetdir;
if (-e $srctargetdir.".tar") {
print ("Error: The target file \'$srctargetdir.tar\' already exists.\n");
print (" You must delete the file \'$srctargetdir.tar\' to package your product.\n");
exit(1);
}
+ $platform =~ tr/A-Z/a-z/;
# Make the target directory and its main subdirectories
system ("mkdir $targetdir");
system ("mkdir $targetdir/bin");
system ("mkdir $targetdir/lib");
- if (length($ICUROOT) > 0) {
- system ("mkdir $targetdir/lib/icu");
- system ("mkdir $targetdir/lib/icu/data");
- system ("mkdir $targetdir/include/icu");
- }
system ("mkdir $targetdir/include");
+ if (length($ICUROOT) > 0) {
+ system ("mkdir $targetdir/lib/icu");
+ system ("mkdir $targetdir/lib/icu/data");
+ system ("mkdir $targetdir/include/icu");
+ }
system ("mkdir $targetdir/include/sax");
system ("mkdir $targetdir/include/framework");
system ("mkdir $targetdir/include/internal");
system ("mkdir $targetdir/include/parsers");
system ("mkdir $targetdir/include/util");
+ system ("mkdir $targetdir/include/util/Compilers");
+ system ("mkdir $targetdir/include/util/MsgLoaders");
+ system ("mkdir $targetdir/include/util/MsgLoaders/ICU");
+ system ("mkdir $targetdir/include/util/MsgLoaders/InMemory");
+ system ("mkdir $targetdir/include/util/MsgLoaders/MsgCatalog");
+ system ("mkdir $targetdir/include/util/MsgLoaders/Win32");
+ system ("mkdir $targetdir/include/util/Platforms");
+ system ("mkdir $targetdir/include/util/Platforms/AIX");
+ system ("mkdir $targetdir/include/util/Platforms/HPUX");
+ system ("mkdir $targetdir/include/util/Platforms/Linux");
+ system ("mkdir $targetdir/include/util/Platforms/MacOS");
+ system ("mkdir $targetdir/include/util/Platforms/OS2");
+ system ("mkdir $targetdir/include/util/Platforms/OS390");
+ system ("mkdir $targetdir/include/util/Platforms/Solaris");
+ system ("mkdir $targetdir/include/util/Platforms/Tandem");
+ system ("mkdir $targetdir/include/util/Platforms/Win32");
+ system ("mkdir $targetdir/include/util/Transcoders");
+ system ("mkdir $targetdir/include/util/Transcoders/ICU");
+ system ("mkdir $targetdir/include/util/Transcoders/Iconv");
+ system ("mkdir $targetdir/include/util/Transcoders/Win32");
system ("mkdir $targetdir/include/dom");
+ system ("mkdir $targetdir/include/validators");
+ system ("mkdir $targetdir/include/validators/DTD");
system ("mkdir $targetdir/samples");
system ("mkdir $targetdir/samples/data");
system ("mkdir $targetdir/samples/SAXCount");
@@ -338,6 +359,7 @@
system ("mkdir $targetdir/samples/MemParse");
system ("mkdir $targetdir/samples/PParse");
system ("mkdir $targetdir/samples/StdInParse");
+ system ("mkdir $targetdir/samples/EnumVal");
system ("mkdir $targetdir/doc");
system ("mkdir $targetdir/doc/apiDocs");
@@ -353,19 +375,19 @@
system ("gmake");
# For the antiquated CC compiler under HPUX, we need to invoke
# gmake one extra time to generate the .cnv files.
- if ( ($platform eq 'HP-UX') && ($compiler eq 'CC') ) {
+ if ( ($platform eq 'HP-UX') && ($opt_c eq 'CC') ) {
system ("gmake");
}
}
# make the source files
- chdir ("$XML4CROOT/src");
+ chdir ("$XERCESCROOT/src");
system ("runConfigure -p$platform -c$opt_c -x$opt_x -m$opt_m -n$opt_n -t$opt_t -r$opt_r");
system ("gmake");
# Now build the samples
- chdir ("$XML4CROOT/samples");
+ chdir ("$XERCESCROOT/samples");
system ("runConfigure -p$platform -c$opt_c -x$opt_x");
system ("gmake");
@@ -373,14 +395,35 @@
# Populate the include output directory
print ("\n\nCopying headers files ...\n");
- system("cp -Rf $XML4CROOT/src/sax/*.hpp $targetdir/include/sax");
- system("cp -Rf $XML4CROOT/src/framework/*.hpp $targetdir/include/framework");
- system("cp -Rf $XML4CROOT/src/dom/DOM*.hpp $targetdir/include/dom");
- system("cp -Rf $XML4CROOT/src/internal/*.hpp $targetdir/include/internal");
- system("cp -Rf $XML4CROOT/src/internal/*.c $targetdir/include/internal");
- system("cp -Rf $XML4CROOT/src/parsers/*.hpp $targetdir/include/parsers");
- system("cp -Rf $XML4CROOT/src/util/*.hpp $targetdir/include/util");
- system("cp -Rf $XML4CROOT/src/util/*.c $targetdir/include/util");
+ system("cp -Rf $XERCESCROOT/src/sax/*.hpp $targetdir/include/sax");
+ system("cp -Rf $XERCESCROOT/src/framework/*.hpp $targetdir/include/framework");
+ system("cp -Rf $XERCESCROOT/src/dom/DOM*.hpp $targetdir/include/dom");
+ system("cp -Rf $XERCESCROOT/src/internal/*.hpp $targetdir/include/internal");
+ system("cp -Rf $XERCESCROOT/src/internal/*.c $targetdir/include/internal");
+ system("cp -Rf $XERCESCROOT/src/parsers/*.hpp $targetdir/include/parsers");
+ system("cp -Rf $XERCESCROOT/src/util/*.hpp $targetdir/include/util");
+ system("cp -Rf $XERCESCROOT/src/util/*.c $targetdir/include/util");
+ system("cp -Rf $XERCESCROOT/src/util/Compilers/*.hpp $targetdir/include/util/Compilers");
+ system("cp -Rf $XERCESCROOT/src/util/MsgLoaders/*.hpp $targetdir/include/util/MsgLoaders");
+ system("cp -Rf $XERCESCROOT/src/util/MsgLoaders/ICU/*.hpp $targetdir/include/util/MsgLoaders/ICU");
+ system("cp -Rf $XERCESCROOT/src/util/MsgLoaders/InMemory/*.hpp $targetdir/include/util/MsgLoaders/InMemory");
+ system("cp -Rf $XERCESCROOT/src/util/MsgLoaders/MsgCatalog/*.hpp $targetdir/include/util/MsgLoaders/MsgCatalog");
+ system("cp -Rf $XERCESCROOT/src/util/MsgLoaders/Win32/*.hpp $targetdir/include/util/MsgLoaders/Win32");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/*.hpp $targetdir/include/util/Platforms");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/AIX/*.hpp $targetdir/include/util/Platforms/AIX");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/HPUX/*.hpp $targetdir/include/util/Platforms/HPUX");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/Linux/*.hpp $targetdir/include/util/Platforms/Linux");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/MacOS/*.hpp $targetdir/include/util/Platforms/MacOS");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/OS2/*.hpp $targetdir/include/util/Platforms/OS2");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/OS390/*.hpp $targetdir/include/util/Platforms/OS390");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/Solaris/*.hpp $targetdir/include/util/Platforms/Solaris");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/Tandem/*.hpp $targetdir/include/util/Platforms/Tandem");
+ system("cp -Rf $XERCESCROOT/src/util/Platforms/Win32/*.hpp $targetdir/include/util/Platforms/Win32");
+ system("cp -Rf $XERCESCROOT/src/util/Transcoders/*.hpp $targetdir/include/util/Transcoders");
+ system("cp -Rf $XERCESCROOT/src/util/Transcoders/ICU/*.hpp $targetdir/include/util/Transcoders/ICU");
+ system("cp -Rf $XERCESCROOT/src/util/Transcoders/Iconv/*.hpp $targetdir/include/util/Transcoders/Iconv");
+ system("cp -Rf $XERCESCROOT/src/util/Transcoders/Win32/*.hpp $targetdir/include/util/Transcoders/Win32");
+ system("cp -Rf $XERCESCROOT/src/validators/DTD/*.hpp $targetdir/include/validators/DTD");
if (length($ICUROOT) > 0) {
print "\nInternational files are being copied from \'" . $ICUROOT . "\'";
@@ -389,14 +432,14 @@
# Populate the binary output directory
print ("\n\nCopying binary outputs ...\n");
- system("cp -Rf $XML4CROOT/bin/* $targetdir/bin");
+ system("cp -Rf $XERCESCROOT/bin/* $targetdir/bin");
if (length($ICUROOT) > 0) {
system("cp -f $ICUROOT/source/tools/makeconv/makeconv $targetdir/bin");
system("cp -f $ICUROOT/lib/libicu-uc.* $targetdir/lib");
}
- system("cp -f $XML4CROOT/lib/*.a $targetdir/lib");
- system("cp -f $XML4CROOT/lib/*.so $targetdir/lib");
- system("cp -f $XML4CROOT/lib/*.sl $targetdir/lib");
+ system("cp -f $XERCESCROOT/lib/*.a $targetdir/lib");
+ system("cp -f $XERCESCROOT/lib/*.so $targetdir/lib");
+ system("cp -f $XERCESCROOT/lib/*.sl $targetdir/lib");
system("rm -rf $targetdir/bin/obj");
@@ -410,25 +453,26 @@
print ("\n\nCopying sample files ...\n");
foreach $iii ('config.guess', 'config.h.in', 'config.sub', 'configure', 'configure.in',
'install-sh', 'runConfigure', 'Makefile.in', 'Makefile.incl', 'Makefile') {
- system("cp -f $XML4CROOT/samples/$iii $targetdir/samples");
+ system("cp -f $XERCESCROOT/samples/$iii $targetdir/samples");
}
- system("cp -Rf $XML4CROOT/samples/data/* $targetdir/samples/data");
- system("cp -Rf $XML4CROOT/samples/SAXCount/* $targetdir/samples/SAXCount");
- system("cp -Rf $XML4CROOT/samples/SAXPrint/* $targetdir/samples/SAXPrint");
- system("cp -Rf $XML4CROOT/samples/DOMCount/* $targetdir/samples/DOMCount");
- system("cp -Rf $XML4CROOT/samples/DOMPrint/* $targetdir/samples/DOMPrint");
- system("cp -Rf $XML4CROOT/samples/Redirect/* $targetdir/samples/Redirect");
- system("cp -Rf $XML4CROOT/samples/MemParse/* $targetdir/samples/MemParse");
- system("cp -Rf $XML4CROOT/samples/PParse/* $targetdir/samples/PParse");
- system("cp -Rf $XML4CROOT/samples/StdInParse/* $targetdir/samples/StdInParse");
+ system("cp -Rf $XERCESCROOT/samples/data/* $targetdir/samples/data");
+ system("cp -Rf $XERCESCROOT/samples/SAXCount/* $targetdir/samples/SAXCount");
+ system("cp -Rf $XERCESCROOT/samples/SAXPrint/* $targetdir/samples/SAXPrint");
+ system("cp -Rf $XERCESCROOT/samples/DOMCount/* $targetdir/samples/DOMCount");
+ system("cp -Rf $XERCESCROOT/samples/DOMPrint/* $targetdir/samples/DOMPrint");
+ system("cp -Rf $XERCESCROOT/samples/Redirect/* $targetdir/samples/Redirect");
+ system("cp -Rf $XERCESCROOT/samples/MemParse/* $targetdir/samples/MemParse");
+ system("cp -Rf $XERCESCROOT/samples/PParse/* $targetdir/samples/PParse");
+ system("cp -Rf $XERCESCROOT/samples/StdInParse/* $targetdir/samples/StdInParse");
+ system("cp -Rf $XERCESCROOT/samples/EnumVal/* $targetdir/samples/EnumVal");
# Populate the docs directory
print ("\n\nCopying documentation ...\n");
- system("cp -Rf $XML4CROOT/doc/* $targetdir/doc");
- system("cp -Rf $XML4CROOT/doc/apiDocs/* $targetdir/doc/apiDocs");
- system("cp $XML4CROOT/Readme.html $targetdir");
- system("cp $XML4CROOT/doc/license.html $targetdir");
+ system("cp -Rf $XERCESCROOT/doc/* $targetdir/doc");
+ system("cp -Rf $XERCESCROOT/doc/apiDocs/* $targetdir/doc/apiDocs");
+ system("cp $XERCESCROOT/Readme.html $targetdir");
+ system("cp $XERCESCROOT/doc/license.html $targetdir");
# Change the directory permissions
system ("chmod 644 `find $targetdir -type f`");
@@ -442,14 +486,13 @@
chdir ("$targetdir/..");
$zipname = $targetdir . ".tar";
$platformzipname = $zipname;
- $platformzipname =~ s/\.tar/$platformextension\.tar/g;
- print ("tar -cvf $platfromzipname $zipfiles\n");
+ print ("tar -cvf $platformzipname $zipfiles\n");
system ("tar -cvf $platformzipname $zipfiles");
# Finally compress the files
print ("Compressing $platformzipname ...\n");
- system ("compress $platformzipname");
+ system ("gzip $platformzipname");
}
diff --git a/scripts/packageSources.pl b/scripts/packageSources.pl
index 486a47a..2c076f7 100644
--- a/scripts/packageSources.pl
+++ b/scripts/packageSources.pl
@@ -1,17 +1,17 @@
#!/usr/bin/perl
-push(@INC, "/home/xml4c/bin", "/home/xml4c/bin/perl/perl-RUN/opt/perl5/lib", "/Development2/cupert/bin/perl/perl-RUN/opt/perl5/lib", "/Development/cupert/usr/local/perl/perl-RUN/opt/perl5/lib");
+push(@INC, "/home/xerces-c/bin", "/home/xerces-c/bin/perl/perl-RUN/opt/perl5/lib", "/Development2/cupert/bin/perl/perl-RUN/opt/perl5/lib", "/Development/cupert/usr/local/perl/perl-RUN/opt/perl5/lib");
require "getopt.pl";
$|=1; # Force a flush after every print
-# Set up the environment variables for XML4C and ICU
-$XML4CROOT = $ENV{'XML4CROOT'};
+# Set up the environment variables for XERCES-C and ICU
+$XERCESCROOT = $ENV{'XERCESCROOT'};
$ICUROOT = $ENV{'ICUROOT'};
# Check for the environment variables and exit if error
-if (!length($XML4CROOT)) {
- print "You must set an environment variable called XML4CROOT to work with this script.\n";
+if (!length($XERCESCROOT)) {
+ print "You must set an environment variable called XERCESCROOT to work with this script.\n";
exit(-1);
}
@@ -19,10 +19,10 @@
$OUTPUTDIR = $opt_o;
# Check for the environment variables and exit if error
-if (!length($XML4CROOT) || !length($OUTPUTDIR)) {
- print ("Usage is: packageSources -s<output_directory>\n");
- print ("Example: perl packageSources.pl -od:\\xml4csrc3_0_0\n");
- print (" perl packageSources.pl -o\$HOME/xml4csrc3_0_0");
+if (!length($XERCESCROOT) || !length($OUTPUTDIR)) {
+ print ("Usage is: packageSources -o<output_directory>\n");
+ print ("Example: perl packageSources.pl -od:\\xerces-c_1_0_0d01\n");
+ print (" perl packageSources.pl -o\$HOME/xerces-c_1_0_0d01\n");
exit(-1);
}
@@ -34,11 +34,11 @@
# }
#Fix the backslashes on the Windows platform
-$XML4CROOT =~ s/\\/\//g;
+$XERCESCROOT =~ s/\\/\//g;
$ICUROOT =~ s/\\/\//g;
-# Read the target version from the file $XML4CROOT/src/util/XML4CDefs.hpp
-$versionfile = "$XML4CROOT/src/util/XML4CDefs.hpp";
+# Read the target version from the file $XERCESCROOT/src/util/XML4CDefs.hpp
+$versionfile = "$XERCESCROOT/src/util/XML4CDefs.hpp";
$openresult = open (VERSIONFILE, "<$versionfile");
if ($openresult == 0) {
@@ -50,15 +50,11 @@
if ($fileline =~ /gXML4CFullVersionStr = \"(.*)\"/) {
$binarytargetdir = $1; # We found the version string inside this file
}
- if ($fileline =~ /gXML4CVersionStr = \"(.*)\"/) {
- $libraryversion = $1;
- }
}
close(VERSIONFILE);
$binarytargetdir =~ s/\./_/g; # Substitute the dots
$binarytargetdir =~ s/\s/_/g; # Substitute the blanks
-$binarydirectoryname = "xml4c" . $binarytargetdir; # Is the name of the binary directory
$binarytargetdir =~ s/\\/\//g; # Fix the backslashes, if they exist, probably doesn't
# Now check if the target directory exists, exit if it does
@@ -68,8 +64,10 @@
exit(1);
}
-
-$srczipfiles = $OUTPUTDIR . "/*";
+#Construct the name of the zip file by extracting the last directory name
+$srczipfiles = $OUTPUTDIR;
+$srczipfiles =~ s/.*\/([\w|-]*)$/$1/g;
+$srczipfiles = $srczipfiles . "/*";
$srctargetdir = $OUTPUTDIR;
# Find out the platform from 'uname -a'
@@ -79,12 +77,12 @@
$platform = $1;
close (PLATFORM);
-print "\nPackaging XML4C sources in " . $srctargetdir . " on platform " . $platform . "...\n";
+print "\nPackaging XERCES-C sources in " . $srctargetdir . " on platform " . $platform . "...\n";
# Build the API docs
$docppfilelist = "";
-$hppdir = "$XML4CROOT/src/sax";
+$hppdir = "$XERCESCROOT/src/sax";
chdir ($hppdir);
opendir (THISDIR, $hppdir);
@allfiles = grep(!/^\.\.?$/, readdir(THISDIR));
@@ -94,7 +92,7 @@
$docppfilelist = $docppfilelist . " " . $hppdir . "/" . $hppfile;
}
-$hppdir = "$XML4CROOT/src/dom";
+$hppdir = "$XERCESCROOT/src/dom";
chdir ($hppdir);
opendir (THISDIR, $hppdir);
@allfiles = grep(!/^\.\.?$/, readdir(THISDIR));
@@ -105,11 +103,11 @@
$docppfilelist = $docppfilelist . " " . $hppdir . "/" . $hppfile;
}
-$docppfilelist = $docppfilelist . " $XML4CROOT/src/dom/DOMString.hpp";
-$docppfilelist = $docppfilelist . " $XML4CROOT/src/framework/XMLDocumentHandler.hpp";
-$docppfilelist = $docppfilelist . " $XML4CROOT/src/framework/XMLEntityHandler.hpp";
+$docppfilelist = $docppfilelist . " $XERCESCROOT/src/dom/DOMString.hpp";
+$docppfilelist = $docppfilelist . " $XERCESCROOT/src/framework/XMLDocumentHandler.hpp";
+$docppfilelist = $docppfilelist . " $XERCESCROOT/src/framework/XMLEntityHandler.hpp";
-system ("doc++ -d $XML4CROOT/doc/apiDocs -B $XML4CROOT/doc/tail.html -a -G -k -H -S $docppfilelist");
+system ("doc++ -d $XERCESCROOT/doc/apiDocs -B $XERCESCROOT/doc/tail.html -a -G -k -H -S $docppfilelist");
&package_sources();
@@ -125,8 +123,8 @@
print ("\nCopying source tree ...\n");
system ("mkdir $srctargetdir");
print ("Targetdir is : " . $srctargetdir . "\n");
- system("cp -Rf $XML4CROOT/* $srctargetdir");
- system("cp $XML4CROOT/doc/license.html $srctargetdir");
+ system("cp -Rf $XERCESCROOT/* $srctargetdir");
+ system("cp $XERCESCROOT/doc/license.html $srctargetdir");
if ($platform =~ m/Windows/) {
$RM = "rm";
@@ -195,11 +193,6 @@
# Walk through the source directory structure and delete all CVS directories
&deleteCVSdirs($srctargetdir);
- #Change the version number in the user documentation
- &change_version_number($srctargetdir . "/doc/installation.html", $binarydirectoryname);
- &change_version_number($srctargetdir . "/doc/programming.html", $binarydirectoryname);
- &change_version_number($srctargetdir . "/doc/distribution.html", $binarydirectoryname);
-
# remove the export clauses
chdir ("$srctargetdir/doc/apiDocs");
opendir (THISDIR, "$srctargetdir/doc/apiDocs");
@@ -226,36 +219,11 @@
print ("tar -cvf $srczipname $srczipfiles");
system ("tar -cvf $srczipname $srczipfiles");
- system ("compress $srczipname");
+ system ("gzip $srczipname");
}
print ("Done with packaging sources.\n");
}
-sub change_version_number()
-{
- my ($thefile, $version_num) = @_;
- print "\nChanging all version numbers in file $thefile to $version_num";
- my $thefiledotbak = $thefile . ".bak";
- rename ($thefile, $thefiledotbak);
-
- $dll_name = "xml4c" . $libraryversion;
- $dll_name =~ tr/a-z/A-Z/;
- my $srcversion_num = $version_num;
- $srcversion_num =~ s/xml4c2/xml4csrc2/ig;
- open (FIZZLE, $thefiledotbak);
- open (FIZZLEOUT, ">$thefile");
- while ($line = <FIZZLE>) {
- $line =~ s/xml4c2srcreleasenum/$srcversion_num/ig;
- $line =~ s/xml4c2releasenum/$version_num/ig;
- $line =~ s/XML4C2dllname/$dll_name/ig;
- print FIZZLEOUT $line;
- }
- close (FIZZLEOUT);
- close (FIZZLE);
- unlink ($thefiledotbak);
-}
-
-
sub remove_export_clauses()
{
my ($thefile) = @_;
diff --git a/src/Makefile.in b/src/Makefile.in
index ffd2545..5adca4b 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -55,8 +55,23 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:02:54 twl
-# Initial revision
+# Revision 1.6 1999/11/24 23:21:42 rahulj
+# Now works under HPUX 10.20 with CC and aCC, with ICU and native
+distclean target now remove and remaining Makefile(s)
+clean target now removes the template repository directory
+#
+# Revision 1.5 1999/11/23 01:59:25 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.4 1999/11/12 21:14:32 rahulj
+# fixed ver number.
+#
+# Revision 1.3 1999/11/12 20:38:48 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:02:54 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 22:36:39 anupam
# Removed the overrided definition of XML4CROOT
@@ -72,13 +87,9 @@
# Before you try to run the Makefile, make sure you have two #
# environment variables set. #
# #
-# export XML4CROOT=<the directory where you installed XML4C> #
-# export ICUROOT=<the directory where you installed ICU> #
+# export XERCESCROOT=<the directory where you installed XERCES-C> #
+# export ICUROOT=<the directory where you installed ICU> #
# #
-# Also, to enable debugging, you must type: #
-# export DEBUG=1 #
-# To disable debugging, you must type: #
-# unset DEBUG #
###################################################################
#MACROS defining commands
MKDIR=mkdir
@@ -94,26 +105,27 @@
DOM_DIR = dom
PARSERS_DIR = parsers
VALIDATORS_DTD_DIR = validators/DTD
-ALL_OBJECTS_DIR = ${XML4CROOT}/obj
-LIB_DIR = ${XML4CROOT}/lib
+ALL_OBJECTS_DIR = ${XERCESCROOT}/obj
+LIB_DIR = ${XERCESCROOT}/lib
-LIB = ${XML4CROOT}/lib
-LIBNAME = libIXXML4C
+LIB = ${XERCESCROOT}/lib
+LIBNAME = libxerces-c
THISLIB = ${LIB}/${LIBNAME}
-VER = 3_0
+VER = 1_0
ALL_OBJECTS = $(wildcard ${ALL_OBJECTS_DIR}/*.o)
#all these setting come from the arguments passed in to runConfigure.
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
PREFIX = @prefix@
MESSAGELOADER=@messageloader@
TRANSCODER=@transcoder@
PRODUCTNAME=xerces
PRODUCTVERSION=${VER}
-BINTARGETDIR=${HOME}/${PRODUCTNAME}-c-${PLATFORM}-${COMPILER}-${PRODUCTVERSION}
+BINTARGETDIR=${HOME}/${PRODUCTNAME}-c-${PLATFORM}-${CXX}-${PRODUCTVERSION}
all: Prepare Util Sax Internal Framework Parsers Dom Validators ${THISLIB}${VER}${SHLIBSUFFIX}
@@ -195,6 +207,7 @@
${CD} $(VALIDATORS_DTD_DIR) && $(MAKE) $@ && ${CD} ../..
${CD} $(ALL_OBJECTS_DIR) && $(MAKE) $@ && ${CD} ..
rm -f Makefile config.cache config.log config.status
+ find . -name Makefile -print -exec rm -f {} \;
rm -f *~ core
#docs:
@@ -236,24 +249,24 @@
@echo Populate the include output directory
@echo Copying headers files ...
- -${CP} -Rf ${XML4CROOT}/src/sax/*.hpp ${BINTARGETDIR}/include/sax
- -${CP} -Rf ${XML4CROOT}/src/framework/*.hpp ${BINTARGETDIR}/include/framework
- -${CP} -Rf ${XML4CROOT}/src/dom/DOM*.hpp ${BINTARGETDIR}/include/dom
- -${CP} -Rf ${XML4CROOT}/src/internal/*.hpp ${BINTARGETDIR}/include/internal
- -${CP} -Rf ${XML4CROOT}/src/internal/*.c ${BINTARGETDIR}/include/internal
- -${CP} -Rf ${XML4CROOT}/src/parsers/*.hpp ${BINTARGETDIR}/include/parsers
- -${CP} -Rf ${XML4CROOT}/src/util/*.hpp ${BINTARGETDIR}/include/util
- -${CP} -Rf ${XML4CROOT}/src/util/*.c ${BINTARGETDIR}/include/util
+ -${CP} -Rf ${XERCESCROOT}/src/sax/*.hpp ${BINTARGETDIR}/include/sax
+ -${CP} -Rf ${XERCESCROOT}/src/framework/*.hpp ${BINTARGETDIR}/include/framework
+ -${CP} -Rf ${XERCESCROOT}/src/dom/DOM*.hpp ${BINTARGETDIR}/include/dom
+ -${CP} -Rf ${XERCESCROOT}/src/internal/*.hpp ${BINTARGETDIR}/include/internal
+ -${CP} -Rf ${XERCESCROOT}/src/internal/*.c ${BINTARGETDIR}/include/internal
+ -${CP} -Rf ${XERCESCROOT}/src/parsers/*.hpp ${BINTARGETDIR}/include/parsers
+ -${CP} -Rf ${XERCESCROOT}/src/util/*.hpp ${BINTARGETDIR}/include/util
+ -${CP} -Rf ${XERCESCROOT}/src/util/*.c ${BINTARGETDIR}/include/util
-${CP} -Rf ${ICUROOT}/include/* ${BINTARGETDIR}/include/icu
@echo Populate the binary output directory
@echo Copying binary outputs ...
- -${CP} -Rf ${XML4CROOT}/bin/* ${BINTARGETDIR}/bin
+ -${CP} -Rf ${XERCESCROOT}/bin/* ${BINTARGETDIR}/bin
-${CP} -f ${ICUROOT}/source/tools/makeconv/makeconv ${BINTARGETDIR}/bin
-${CP} -f ${ICUROOT}/lib/libicu-uc.* ${BINTARGETDIR}/lib
- -${CP} -f ${XML4CROOT}/lib/*.a ${BINTARGETDIR}/lib
- -${CP} -f ${XML4CROOT}/lib/*.so ${BINTARGETDIR}/lib
- -${CP} -f ${XML4CROOT}/lib/*.sl ${BINTARGETDIR}/lib
+ -${CP} -f ${XERCESCROOT}/lib/*.a ${BINTARGETDIR}/lib
+ -${CP} -f ${XERCESCROOT}/lib/*.so ${BINTARGETDIR}/lib
+ -${CP} -f ${XERCESCROOT}/lib/*.sl ${BINTARGETDIR}/lib
-{RM} -rf ${BINTARGETDIR}/bin/obj
@@ -263,31 +276,31 @@
@echo Populate the samples directory
@echo Copying sample files ...
- -${CP} -f ${XML4CROOT}/samples/config.guess ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/config.h.in ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/config.sub ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/configure ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/configure.in ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/install-sh ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/runConfigure ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/Makefile.in ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/Makefile.incl ${BINTARGETDIR}/samples
- -${CP} -f ${XML4CROOT}/samples/Maefile ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/config.guess ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/config.h.in ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/config.sub ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/configure ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/configure.in ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/install-sh ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/runConfigure ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/Makefile.in ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/Makefile.incl ${BINTARGETDIR}/samples
+ -${CP} -f ${XERCESCROOT}/samples/Maefile ${BINTARGETDIR}/samples
- -${CP} -Rf ${XML4CROOT}/samples/data/* ${BINTARGETDIR}/samples/data
- -${CP} -Rf ${XML4CROOT}/samples/SAXCount/* ${BINTARGETDIR}/samples/SAXCount
- -${CP} -Rf ${XML4CROOT}/samples/SAXPrint/* ${BINTARGETDIR}/samples/SAXPrint
- -${CP} -Rf ${XML4CROOT}/samples/DOMCount/* ${BINTARGETDIR}/samples/DOMCount
- -${CP} -Rf ${XML4CROOT}/samples/DOMPrint/* ${BINTARGETDIR}/samples/DOMPrint
- -${CP} -Rf ${XML4CROOT}/samples/Redirect/* ${BINTARGETDIR}/samples/Redirect
- -${CP} -Rf ${XML4CROOT}/samples/MemParse/* ${BINTARGETDIR}/samples/MemParse
+ -${CP} -Rf ${XERCESCROOT}/samples/data/* ${BINTARGETDIR}/samples/data
+ -${CP} -Rf ${XERCESCROOT}/samples/SAXCount/* ${BINTARGETDIR}/samples/SAXCount
+ -${CP} -Rf ${XERCESCROOT}/samples/SAXPrint/* ${BINTARGETDIR}/samples/SAXPrint
+ -${CP} -Rf ${XERCESCROOT}/samples/DOMCount/* ${BINTARGETDIR}/samples/DOMCount
+ -${CP} -Rf ${XERCESCROOT}/samples/DOMPrint/* ${BINTARGETDIR}/samples/DOMPrint
+ -${CP} -Rf ${XERCESCROOT}/samples/Redirect/* ${BINTARGETDIR}/samples/Redirect
+ -${CP} -Rf ${XERCESCROOT}/samples/MemParse/* ${BINTARGETDIR}/samples/MemParse
@echo Populate the docs directory
@echo Copying documentation ..
- -${CP} -Rf ${XML4CROOT}/doc/* ${BINTARGETDIR}/doc
- -${CP} -Rf ${XML4CROOT}/doc/apiDocs/* ${BINTARGETDIR}/doc/apiDocs
- -${CP} ${XML4CROOT}/Readme.html ${BINTARGETDIR}
- -${CP} ${XML4CROOT}/doc/license.html ${BINTARGETDIR}
+ -${CP} -Rf ${XERCESCROOT}/doc/* ${BINTARGETDIR}/doc
+ -${CP} -Rf ${XERCESCROOT}/doc/apiDocs/* ${BINTARGETDIR}/doc/apiDocs
+ -${CP} ${XERCESCROOT}/Readme.html ${BINTARGETDIR}
+ -${CP} ${XERCESCROOT}/doc/license.html ${BINTARGETDIR}
@echo Change the directory permissions
-{CHMODE} 644 `find ${BINTARGETDIR} -type f`
diff --git a/src/Makefile.incl b/src/Makefile.incl
index b4463e5..8cb16f4 100644
--- a/src/Makefile.incl
+++ b/src/Makefile.incl
@@ -55,8 +55,21 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:02:55 twl
-# Initial revision
+# Revision 1.6 1999/12/01 17:16:15 rahulj
+# Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+#
+# Revision 1.5 1999/11/23 01:59:28 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.4 1999/11/17 22:36:31 rahulj
+# Code works with ICU transcoding service
+#
+# Revision 1.3 1999/11/12 20:38:49 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:02:55 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 20:44:09 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -69,7 +82,7 @@
# Before you try to run the Makefile, make sure you have set #
# the following environment variables properly. #
# #
-# export XML4CROOT=<the directory where you installed XML4C> #
+# export XERCESCROOT=<the directory where you installed XRECES-C> #
# #
# In case you intend to use either the ICU transcoder or the #
# ICU message loader, you must set ICUROOT correctly. #
@@ -95,45 +108,44 @@
ALL: all
-ALL_OBJECTS_DIR = ${XML4CROOT}/obj
+ALL_OBJECTS_DIR = ${XERCESCROOT}/obj
XML_BUILD_OPTIONS = ${CXXFLAGS}
+XML_LIB_DIR = $(XERCESCROOT)/lib
+XML_INC_DIR = $(XERCESCROOT)/include
+XML_INCL = -I$(XML_INC_DIR)
+
####################### PLATFORM DEPENDENCIES #####################
#=============== SOLARIS SPECIFIC OPTIONS =========================
ifeq (${PLATFORM}, SOLARIS)
- ifeq (${COMPILER}, g++)
- PLATFORM_CPP_COMPILER = g++
- PLATFORM_C_COMPILER = gcc
- PLATFORM_LIBRARIES=-L/usr/lib -L/usr/local/lib -L/usr/ccs/lib
+ ifeq (${CXX}, g++)
PLATFORM_COMPILE_OPTIONS = -fPIC -instances=static -D${PLATFORM} -D_REENTRANT
- MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -D${PLATFORM} -shared
- MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -shared
- EXTRA_LINK_OPTIONS = -lm -lw -lgen
+ MAKE_SHARED = ${CXX} -D${PLATFORM} -shared
+ MAKE_SHARED_C = ${CC} -D${PLATFORM} -shared
+ ALLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -lm -lw -lgen
else
- PLATFORM_CPP_COMPILER = CC
- PLATFORM_C_COMPILER = cc
- PLATFORM_LIBRARIES=-L/usr/local/SUNWspro/lib -L/usr/ccs/lib
PLATFORM_COMPILE_OPTIONS = -KPIC -mt -xs -instances=static -features=rtti -D${PLATFORM} -D_REENTRANT
- MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -D${PLATFORM} -G
- MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -G
- EXTRA_LINK_OPTIONS = -lm -lw -lC -lc -lgen
+ MAKE_SHARED = ${CXX} -D${PLATFORM} -G
+ MAKE_SHARED_C = ${CC} -D${PLATFORM} -G
+ EXTRA_LINK_OPTIONS = ${LIBS} -L/usr/local/SUNWspro/lib -L/usr/ccs/lib -lm -lw -lC -lc -lgen
endif
SHLIBSUFFIX=.so
endif
#================= AIX SPECIFIC OPTIONS ===========================
ifeq (${PLATFORM}, AIX)
-PLATFORM_CPP_COMPILER = xlC_r
-PLATFORM_C_COMPILER = xlc_r
-ifdef ICUROOT
- PLATFORM_LIBRARIES=-L/usr/lpp/xlC/lib -L${ICUROOT}/lib
- EXTRA_LINK_OPTIONS = -licu-uc -lbsd
-else
- PLATFORM_LIBRARIES=-L/usr/lpp/xlC/lib
- EXTRA_LINK_OPTIONS = -lbsd
-endif
+
+#PLATFORM_CPP_COMPILER = xlC_r
+#PLATFORM_C_COMPILER = xlc_r
+#ifdef ICUROOT
+# ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -L${ICUROOT}/lib -licu-uc -lbsd
+#else
+# ALLLIBS = -L/usr/lpp/xlC/lib -lbsd
+#endif
+
+ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -lbsd
PLATFORM_COMPILE_OPTIONS = -qnotempinc -D_THREAD_SAFE
MAKE_SHARED = makeC++SharedLib_r -p 5000
MAKE_SHARED_C = makeC++SharedLib_r -p 5000
@@ -142,20 +154,30 @@
#=============== LINUX SPECIFIC OPTIONS =========================
ifeq (${PLATFORM}, LINUX)
-PLATFORM_CPP_COMPILER = g++
-PLATFORM_C_COMPILER = gcc
-PLATFORM_LIBRARIES=-L/usr/lib -L/usr/local/lib -L/usr/ccs/lib
PLATFORM_COMPILE_OPTIONS = -fpic -instances=static -D${PLATFORM} -D_REENTRANT
-MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -D${PLATFORM} -shared -fpic
-MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -shared -fpic
-EXTRA_LINK_OPTIONS = -lc
+MAKE_SHARED = ${CXX} -D${PLATFORM} -shared -fpic
+MAKE_SHARED_C = ${CC} -D${PLATFORM} -shared -fpic
+ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -lc
SHLIBSUFFIX=.so
endif
+#=============== IRIX SPECIFIC OPTIONS ============================
+ifeq (${PLATFORM}, IRIX)
+PLATFORM_COMPILE_OPTIONS = -mips4 -LANG:pch -LANG:std -O2 \
+ -D${PLATFORM} -D_REENTRANT \
+ -I/usr/local/include
+OBJ_OUT=${XML4CROOT}/obj/
+MAKE_SHARED = ${CXX} -D${PLATFORM} -shared
+MAKE_SHARED_C = ${CC} -D${PLATFORM} -shared
+ALLLIBS = -L/usr/lib32 -lC
+SHLIBSUFFIX=.so
+endif
+
+
#=============== OS2 SPECIFIC OPTIONS =========================
ifeq (${PLATFORM}, OS/2)
-PLATFORM_CPP_COMPILER = icc
-PLATFORM_C_COMPILER = icc
+#PLATFORM_CPP_COMPILER = icc
+#PLATFORM_C_COMPILER = icc
PLATFORM_LIBRARIES= CPPOM30.LIB os2386.lib mmpm2.lib
PLATFORM_COMPILE_OPTIONS = /C+ /Gd- /Ge- /Gm+ /Gs- /Re /J+ /Ms /Sm /Sn /Ss+
MAKE_SHARED = ilink /nofree
@@ -168,40 +190,6 @@
endif
#================= HP SPECIFIC OPTIONS ===========================
-#ifeq (${PLATFORM}, HPUX)
-# ifeq (${COMPILER}, aCC)
-# PLATFORM_CPP_COMPILER = aCC
-# PLATFORM_C_COMPILER = aCC
-# PLATFORM_LIBRARIES=-L/opt/aCC/lib -L/usr/ccs/lib
-# PLATFORM_COMPILE_OPTIONS = $(COMPILESWITCH) -D_HP_UX -DHPaCC -D_PTHREADS_DRAFT4 \
-# +DAportable -w +z +inst_compiletime
-# MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -D${PLATFORM} -b
-# MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -b
-# EXTRA_LINK_OPTIONS = -lcma -lCsup -lstream
-# SHLIBSUFFIX=.sl
-# else
-# ifneq (${DEBUG}, 1)
-# XML_BUILD_OPTIONS = -w +O1
-# endif
-# PLATFORM_CPP_COMPILER = CC
-# PLATFORM_C_COMPILER = cc
-# PLATFORM_LIBRARIES= -L${ICUROOT}/lib -L/opt/CC/lib -L/usr/lib
-# TEMPLATESREPOSITORY = ${ALL_OBJECTS_DIR}/ptrepository
-# COMMON_COMPILE_OPTIONS = $(COMPILESWITCH) -D_HP_UX -DXML4C_TMPLSINC \
-# -D_PTHREADS_DRAFT4 +DAportable -w +eh +z -z +a1
-# ifeq ($(MODULE), dom)
-# PLATFORM_COMPILE_OPTIONS = -DDOM_PROJ $(COMMON_COMPILE_OPTIONS)
-# else
-# PLATFORM_COMPILE_OPTIONS = $(COMMON_COMPILE_OPTIONS) -ptr${TEMPLATESREPOSITORY}
-# endif
-# ALLINCLUDES= -I$(XML4CROOT)/src -I$(ICUROOT)/include
-# MAKE_SHARED = $(PLATFORM_CPP_COMPILER) $(PLATFORM_COMPILE_OPTIONS) $(ALLINCLUDES)
-# MAKE_SHARED_C = $(PLATFORM_C_COMPILER) $(PLATFORM_COMPILE_OPTIONS) $(ALLINCLUDES)
-# ALLLIBS = -licu-uc -lcma -lm
-# EXTRA_LINK_OPTIONS = -b -Wl,+s -Wl,-a,shared
-# SHLIBSUFFIX=.sl
-# endif
-#endif
ifeq (${PLATFORM}, HPUX)
@@ -210,41 +198,25 @@
OSVERDEFINE=HPUX10
endif
- ifeq (${COMPILER}, aCC)
- PLATFORM_CPP_COMPILER = aCC
- PLATFORM_C_COMPILER = aCC
- PLATFORM_COMPILE_OPTIONS = $(COMPILESWITCH) -D_HP_UX -DHPaCC \
- -D_PTHREADS_DRAFT4 -D${OSVERDEFINE} +DAportable -w +z \
- +inst_compiletime
- MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -D${PLATFORM} -b
- MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -b
- ALLLIBS = -lcma -lCsup -lstream
+ ifeq (${CXX}, aCC)
+ PLATFORM_COMPILE_OPTIONS = -D_HP_UX -DHPaCC \
+ -D${OSVERDEFINE} +DAportable +z +inst_compiletime
+ MAKE_SHARED = ${CXX} -D${PLATFORM} -b
+ MAKE_SHARED_C = ${CC} -D${PLATFORM} -b
+ ALLLIBS = ${LIBS} -lCsup -lstream
SHLIBSUFFIX=.sl
else
- ifneq (${DEBUG}, 1)
- XML_BUILD_OPTIONS = -w +O1
- endif
- PLATFORM_CPP_COMPILER = CC
- PLATFORM_C_COMPILER = cc
-ifdef ICUROOT
- PLATFORM_LIBRARIES= -L${ICUROOT}/lib
-endif
TEMPLATESREPOSITORY = ${ALL_OBJECTS_DIR}/ptrepository
- COMMON_COMPILE_OPTIONS = $(COMPILESWITCH) -D_HP_UX -DXML4C2_TMPLSINC \
- -D_PTHREADS_DRAFT4 -D${OSVERDEFINE} +DAportable -w +eh +z -z +a1
+ COMMON_COMPILE_OPTIONS = -D_HP_UX -DXML4C_TMPLSINC \
+ -D${OSVERDEFINE} +DAportable +eh +z -z +a1
ifeq ($(MODULE), dom)
PLATFORM_COMPILE_OPTIONS = -DDOM_PROJ $(COMMON_COMPILE_OPTIONS)
else
PLATFORM_COMPILE_OPTIONS = $(COMMON_COMPILE_OPTIONS) -ptr${TEMPLATESREPOSITORY}
endif
-ifdef ICUROOT
- ALLINCLUDES=-I$(XML4CROOT)/src/com/ibm/xml -I$(XML4CROOT)/src -I$(ICUROOT)/include
-else
- ALLINCLUDES=-I$(XML4CROOT)/src/com/ibm/xml -I$(XML4CROOT)/src
-endif
- MAKE_SHARED = $(PLATFORM_CPP_COMPILER) $(PLATFORM_COMPILE_OPTIONS) $(ALLINCLUDES)
- MAKE_SHARED_C = $(PLATFORM_C_COMPILER) $(PLATFORM_COMPILE_OPTIONS) $(ALLINCLUDES)
- ALLLIBS = -licu-uc -lcma -lm
+ MAKE_SHARED = $(CXX) $(PLATFORM_COMPILE_OPTIONS) $(XML_INCL)
+ MAKE_SHARED_C = $(CC) $(PLATFORM_COMPILE_OPTIONS) $(XML_INCL)
+ ALLLIBS = ${LIBS}
EXTRA_LINK_OPTIONS = -b -Wl,+s -Wl,-a,shared
SHLIBSUFFIX=.sl
endif
@@ -286,32 +258,12 @@
CAT = cat
AR = ar -cqv
CD = cd
-CC1 = ${PLATFORM_CPP_COMPILER} ${PLATFORM_COMPILE_OPTIONS}
-JUST_CC = ${PLATFORM_C_COMPILER} -D${PLATFORM}
+CC1 = ${CXX} ${PLATFORM_COMPILE_OPTIONS}
+JUST_CC = ${CC} -D${PLATFORM}
ECHO = echo
CREATE_DEPENDS_FILE = echo "" > depends
MAKE_DEPEND = ${CC1} -E -xM
-########################## DIRECTORIES ############################
-XML_LIB_DIR = $(XML4CROOT)/lib
-XML_INC_DIR = $(XML4CROOT)/include
-ifeq (${MESSAGELOADER}, ICU)
- INTL_INC_DIR1 = $(ICUROOT)/include
-endif
-ifeq (${TRANSCODER}, ICU)
- INTL_INC_DIR1 = $(ICUROOT)/include
-endif
-
-#################### COMPILE/LINK FLAGS ###########################
-ifeq (${MESSAGELOADER}, ICU)
- XML_INCL = -I. -I$(XML_INC_DIR) -I$(INTL_INC_DIR1)
-else
- ifeq (${TRANSCODER}, ICU)
- XML_INCL = -I. -I$(XML_INC_DIR) -I$(INTL_INC_DIR1)
- else
- XML_INCL = -I. -I$(XML_INC_DIR)
- endif
-endif
##################### HELPER MACROS ###############################
DEPFILE = depends
@@ -323,6 +275,9 @@
.cpp.o:
$(CC1) -c $(XML_BUILD_OPTIONS) $(XML_DEF) $(XML_INCL) $(EXTRA_COMPILE_OPTIONS) -o $(@) $(<)
+ifeq (${PLATFORM}, IRIX)
+ $(CC1) -c $(XML_BUILD_OPTIONS) $(XML_DEF) $(XML_INCL) $(EXTRA_COMPILE_OPTIONS) -o $(OBJ_OUT)$(@) $(<)
+endif
.c.o:
$(JUST_CC) -c $(XML_BUILD_OPTIONS) $(XML_DEF) $(XML_INCL) $(EXTRA_COMPILE_OPTIONS) -o $(@) $(<)
diff --git a/src/configure b/src/configure
index 1c0b40b..a72877a 100755
--- a/src/configure
+++ b/src/configure
@@ -1049,105 +1049,9 @@
fi
-echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:1054: checking for pthread_create in -lpthread" >&5
-ac_lib_var=`echo pthread'_'pthread_create | 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="-lpthread $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1062 "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 pthread_create();
-
-int main() {
-pthread_create()
-; return 0; }
-EOF
-if { (eval echo configure:1073: \"$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 pthread | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lpthread $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test $ac_cv_lib_pthread_pthread_create = no; then
-echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
-echo "configure:1102: checking for pthread_create in -lpthreads" >&5
-ac_lib_var=`echo pthreads'_'pthread_create | 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="-lpthreads $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1110 "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 pthread_create();
-
-int main() {
-pthread_create()
-; return 0; }
-EOF
-if { (eval echo configure:1121: \"$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 pthreads | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lpthreads $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1151: checking how to run the C preprocessor" >&5
+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=
@@ -1162,13 +1066,13 @@
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1166 "configure"
+#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:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (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
:
@@ -1179,13 +1083,13 @@
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1183 "configure"
+#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:1189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (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
:
@@ -1196,13 +1100,13 @@
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1200 "configure"
+#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:1206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (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
:
@@ -1226,60 +1130,13 @@
fi
echo "$ac_t""$CPP" 1>&6
-for ac_hdr in inttypes.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1234: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1239 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1244: \"$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*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-if test $ac_cv_header_inttypes_h = no; then
-HAVE_INTTYPES_H=0
-else
-HAVE_INTTYPES_H=1
-fi
-
-
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1278: checking for ANSI C header files" >&5
+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 1283 "configure"
+#line 1140 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1287,7 +1144,7 @@
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1291: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (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*
@@ -1304,7 +1161,7 @@
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 1308 "configure"
+#line 1165 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1322,7 +1179,7 @@
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 1326 "configure"
+#line 1183 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1343,7 +1200,7 @@
:
else
cat > conftest.$ac_ext <<EOF
-#line 1347 "configure"
+#line 1204 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1354,7 +1211,7 @@
exit (0); }
EOF
-if { (eval echo configure:1358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+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
@@ -1378,12 +1235,12 @@
fi
echo $ac_n "checking for XMLByte""... $ac_c" 1>&6
-echo "configure:1382: checking for XMLByte" >&5
+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 1387 "configure"
+#line 1244 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1418,7 +1275,7 @@
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1422: checking host system type" >&5
+echo "configure:1279: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -1442,17 +1299,50 @@
case "${host}" in
*-*-solaris*) platform=SOLARIS ;;
*-*-linux*) platform=LINUX ;;
+ *-*-irix*) platform=IRIX ;;
*-*-aix*) platform=AIX ;;
- *-*-hp*) platform=HPUX ;;
+ *-*-hp*) platform=HPUX ;
+ case "${host}" in
+ *-*-hpux11*) osver=HPUX11;;
+ *-*-hpux10*) osver=HPUX10;;
+ *) osver=HPUX11;;
+ esac;;
*-*-mvs*) platform=OS390 ;;
*) platform=UNKNOWN ;;
esac
-compiler=${CXX}
+cxx=${CXX}
-prefix=${prefix}
+cc=${CC}
+
+
+
+
+
+cxxflags=${CXXFLAGS}
+
+
+cppflags=${CPPFLAGS}
+
+
+cflags=${CFLAGS}
+
+
+ldflags=${LDCFLAGS}
+
+
+libs=${LIBS}
+
+
+uselibwww=${USELIBWWW}
+
+
+messageloader=${MESSAGELOADER}
+
+
+transcoder=${TRANSCODER}
trap '' 1 2 15
@@ -1622,14 +1512,23 @@
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@AUTOCONF@%$AUTOCONF%g
s%@CPP@%$CPP%g
-s%@HAVE_INTTYPES_H@%$HAVE_INTTYPES_H%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%@compiler@%$compiler%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
diff --git a/src/configure.in b/src/configure.in
index 7fbc01d..5891b44 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -11,20 +11,15 @@
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)
-AC_CHECK_LIB(pthread, pthread_create)
-if test $ac_cv_lib_pthread_pthread_create = no; then
-AC_CHECK_LIB(pthreads, pthread_create)
-fi
-
-dnl Checks for header files
-AC_CHECK_HEADERS(inttypes.h)
-if test $ac_cv_header_inttypes_h = no; then
-HAVE_INTTYPES_H=0
-else
-HAVE_INTTYPES_H=1
-fi
-AC_SUBST(HAVE_INTTYPES_H)
+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 Checks for typedefs
AC_CHECK_TYPE(XMLByte,unsigned char)
@@ -36,6 +31,7 @@
case "${host}" in
*-*-solaris*) platform=SOLARIS ;;
*-*-linux*) platform=LINUX ;;
+ *-*-irix*) platform=IRIX ;;
*-*-aix*) platform=AIX ;;
*-*-hp*) platform=HPUX ;
case "${host}" in
@@ -48,12 +44,13 @@
esac
AC_SUBST(platform)
-compiler=${CXX}
-AC_SUBST(compiler)
+cxx=${CXX}
+AC_SUBST(cxx)
-# prefix=${prefix}
+cc=${CC}
+AC_SUBST(cc)
+
AC_SUBST(prefix)
-
AC_SUBST(osver)
cxxflags=${CXXFLAGS}
diff --git a/src/dom/AttrImpl.cpp b/src/dom/AttrImpl.cpp
index 8c65573..c05a6ac 100644
--- a/src/dom/AttrImpl.cpp
+++ b/src/dom/AttrImpl.cpp
@@ -57,8 +57,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:39 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:24 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:39 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:10 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -171,8 +176,12 @@
void AttrImpl::setValue(const DOMString &val)
{
if (readOnly)
- throw new DOM_DOMException(
- DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ {
+ throw DOM_DOMException
+ (
+ DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null
+ );
+ }
NodeImpl *kid;
while ((kid = getFirstChild()) != null) // Remove existing kids
diff --git a/src/dom/CharacterDataImpl.cpp b/src/dom/CharacterDataImpl.cpp
index fd309ee..0abeef2 100644
--- a/src/dom/CharacterDataImpl.cpp
+++ b/src/dom/CharacterDataImpl.cpp
@@ -56,8 +56,20 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:41 twl
- * Initial revision
+ * Revision 1.3 1999/12/03 00:11:22 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.2 1999/11/30 21:16:24 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:41 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:11 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -88,7 +100,7 @@
void CharacterDataImpl::appendData(const DOMString &data)
{
if(readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
value.appendData(data);
@@ -104,10 +116,10 @@
void CharacterDataImpl::deleteData(int offset, int count)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (count < 0)
- throw new DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
//int tailLength = Math.max(value.length() - count - offset, 0);
@@ -117,21 +129,20 @@
//}
//catch (StringIndexOutOfBoundsException e)
//{
- // throw new DOM_DOMException(DOMException.INDEX_SIZE_ERR, null);
+ // throw DOM_DOMException(DOMException.INDEX_SIZE_ERR, null);
int len = value.length();
if (offset < 0 || offset >= len)
- throw new DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
value.deleteData(offset, count);
};
-DOMString CharacterDataImpl::getData()
+DOMString &CharacterDataImpl::getData()
{
- return value.clone(); // clone here so that subsequent changes to
- // our value will not change the returned string.
+ return value;
};
@@ -156,11 +167,11 @@
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (offset<0 || offset>value.length())
- throw new DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
value.insertData(offset, data);
}
@@ -170,7 +181,7 @@
void CharacterDataImpl::replaceData(int offset, int count, const DOMString &data)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
deleteData(offset, count);
insertData(offset, data);
@@ -182,7 +193,7 @@
void CharacterDataImpl::setData(const DOMString &arg)
{
if (readOnly)
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
value = arg.clone();
};
@@ -194,7 +205,7 @@
{
if(count < 0 || offset < 0 || offset > value.length()-1)
- throw new DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR,null);
return value.substringData(offset, count);
};
diff --git a/src/dom/CharacterDataImpl.hpp b/src/dom/CharacterDataImpl.hpp
index 39dbd90..81a9e6c 100644
--- a/src/dom/CharacterDataImpl.hpp
+++ b/src/dom/CharacterDataImpl.hpp
@@ -59,8 +59,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:41 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:22 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:41 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:11 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -91,7 +98,7 @@
virtual void appendData(const DOMString &data);
virtual NodeImpl *cloneNode(bool deep);
virtual void deleteData(int offset, int count);
- virtual DOMString getData();
+ virtual DOMString &getData();
virtual int getCharDataLength();
virtual void insertData(int offset, const DOMString &data);
virtual void replaceData(int offset, int count, const DOMString &data);
diff --git a/src/dom/DOMString.cpp b/src/dom/DOMString.cpp
index 7325436..7eeb490 100644
--- a/src/dom/DOMString.cpp
+++ b/src/dom/DOMString.cpp
@@ -56,8 +56,20 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:47 twl
- * Initial revision
+ * Revision 1.3 1999/12/03 00:11:22 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:47 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:12 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -797,13 +809,75 @@
if (fHandle)
{
retP = fHandle->fDSData->fData;
- retP[fHandle->fLength] = 0;
}
return retP;
};
-int DOMString::strcmp(const DOMString &other) const
+char *DOMString::transcode() const
+{
+ if (!fHandle || fHandle->fLength == 0)
+ {
+ char* retP = new char[1];
+ *retP = 0;
+ return retP;
+ }
+
+ // We've got some data
+ // DOMStrings are not always null terminated, so we may need to
+ // copy to another buffer first in order to null terminate it for
+ // use as input to the transcoding routines..
+ //
+ XMLCh* DOMStrData = fHandle->fDSData->fData;
+
+ const int localBufLen = 1000;
+ XMLCh localBuf[localBufLen];
+ XMLCh *allocatedBuf = 0;
+ XMLCh *srcP;
+
+ if (DOMStrData[fHandle->fLength] == 0)
+ {
+ // The data in the DOMString itself happens to be null terminated.
+ // Just use it in place.
+ srcP = DOMStrData;
+ }
+ else if (fHandle->fLength < localBufLen-1)
+ {
+ // The data is not null terminated, but does fit in the
+ // local buffer (fast allocation). Copy it over, and add
+ // the null termination,
+ memcpy(localBuf, DOMStrData, fHandle->fLength * sizeof(XMLCh));
+ srcP = localBuf;
+ srcP[fHandle->fLength] = 0;
+ }
+ else
+ {
+ // The data is too big for the local buffer. Heap allocate one.
+ allocatedBuf = srcP = new XMLCh[fHandle->fLength + 1];
+ memcpy(allocatedBuf, DOMStrData, fHandle->fLength * sizeof(XMLCh));
+ srcP[fHandle->fLength] = 0;
+ }
+
+ //
+ // Find out how many output chars we need and allocate a buffer big enough
+ // for that plus a null.
+ //
+ const unsigned int charsNeeded = getDomConverter()->calcRequiredSize(srcP);
+ char* retP = new char[charsNeeded + 1];
+
+ if (!getDomConverter()->transcode(srcP, retP, charsNeeded))
+ {
+ // <TBD> We should throw something here?
+ }
+ delete [] allocatedBuf; // which will be null if we didn't allocate one.
+
+ // Cap it off and return it
+ retP[charsNeeded] = 0;
+ return retP;
+}
+
+
+int DOMString::compareString(const DOMString &other) const
{
// Note: this strcmp does not match the semantics
// of the standard C strcmp. All it needs to do is
diff --git a/src/dom/DOMString.hpp b/src/dom/DOMString.hpp
index 5c46413..6f56cd4 100644
--- a/src/dom/DOMString.hpp
+++ b/src/dom/DOMString.hpp
@@ -56,8 +56,20 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:48 twl
- * Initial revision
+ * Revision 1.3 1999/12/03 00:11:22 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:48 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:12 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -260,10 +272,22 @@
* Returns a handle to the raw buffer in the <code>DOMString</code>.
*
* @return The pointer inside the <code>DOMString</code> containg the string data.
+ * Note: the data is not always null terminated. Do not rely on
+ * a null being there, and do not add one, as several DOMStrings
+ * with different lengths may share the same raw buffer.
*/
XMLCh *rawBuffer() const;
/**
+ * Returns a copy of the string, transcoded to the local code page. The
+ * caller is responsible for cleaning up this buffer.
+ *
+ * @return A pointer to a newly allocated buffer of char elements, which
+ * represents the original string, but in the local encoding.
+ */
+ char *transcode() const;
+
+ /**
* Returns a sub-string of the <code>DOMString</code> starting at a specified position.
*
* @param offset The offset from the beginning from which the sub-string is being requested.
@@ -313,7 +337,7 @@
/**
* Compares a DOMString with another.
*
- * This strcmp does not match the semantics of the standard C strcmp.
+ * This compareString does not match the semantics of the standard C strcmp.
* All it needs to do is define some less than - equals - greater than
* ordering of strings. How doesn't matter.
*
@@ -321,7 +345,7 @@
* @param other The object to be compared with
* @return Either -1, 0, or 1 based on the comparison.
*/
- int strcmp(const DOMString &other) const;
+ int compareString(const DOMString &other) const;
/**
* Tells if a <code>DOMString</code> contains the same character data
diff --git a/src/dom/DOM_Attr.cpp b/src/dom/DOM_Attr.cpp
index 66551dc..ea3c4d7 100644
--- a/src/dom/DOM_Attr.cpp
+++ b/src/dom/DOM_Attr.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:48 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:22 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:48 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:12 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -106,30 +113,34 @@
DOMString DOM_Attr::getName() const
{
- return ((AttrImpl *)fImpl)->getName();
+ return ((AttrImpl *)fImpl)->getName().clone();
};
-bool DOM_Attr::getSpecified() const
+bool DOM_Attr::getSpecified() const
{
- return ((AttrImpl *)fImpl)->getSpecified();
+ return ((AttrImpl *)fImpl)->getSpecified();
};
-DOMString DOM_Attr::getValue() const
+DOMString DOM_Attr::getValue() const
{
- return ((AttrImpl *)fImpl)->getValue();
+ // The value of an attribute does not need to be cloned before
+ // returning, because it is computed dynamically from the
+ // children of the attribute.
+ //
+ return ((AttrImpl *)fImpl)->getValue();
};
-void DOM_Attr::setSpecified(bool specified)
+void DOM_Attr::setSpecified(bool specified)
{
- ((AttrImpl *)fImpl)->setSpecified(specified);
+ ((AttrImpl *)fImpl)->setSpecified(specified);
};
-void DOM_Attr::setValue(const DOMString &value) {
- ((AttrImpl *)fImpl)->setValue(value);
+void DOM_Attr::setValue(const DOMString &value) {
+ ((AttrImpl *)fImpl)->setValue(value);
};
@@ -137,5 +148,5 @@
DOM_Element DOM_Attr::getOwnerElement() const
{
- return DOM_Element(((AttrImpl *)fImpl)->getOwnerElement());
+ return DOM_Element(((AttrImpl *)fImpl)->getOwnerElement());
}
diff --git a/src/dom/DOM_CharacterData.cpp b/src/dom/DOM_CharacterData.cpp
index 6f3e8a2..31807b3 100644
--- a/src/dom/DOM_CharacterData.cpp
+++ b/src/dom/DOM_CharacterData.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:49 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:22 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:49 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:13 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -101,7 +108,7 @@
DOMString DOM_CharacterData::getData() const
{
- return ((CharacterDataImpl *)fImpl)->getData();
+ return ((CharacterDataImpl *)fImpl)->getData().clone();
};
diff --git a/src/dom/DOM_DOMImplementation.cpp b/src/dom/DOM_DOMImplementation.cpp
index e3a3988..d295de4 100644
--- a/src/dom/DOM_DOMImplementation.cpp
+++ b/src/dom/DOM_DOMImplementation.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:56 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:56 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:15 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -155,7 +160,7 @@
const DOMString &internalSubset)
{
if (!DocumentImpl::isXMLName(qualifiedName))
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::INVALID_CHARACTER_ERR, null);
return DOM_DocumentType(new DocumentTypeImpl(qualifiedName, publicID, systemID, internalSubset));
diff --git a/src/dom/DOM_Document.cpp b/src/dom/DOM_Document.cpp
index 03707e2..fc00f51 100644
--- a/src/dom/DOM_Document.cpp
+++ b/src/dom/DOM_Document.cpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:50 twl
- * Initial revision
+ * Revision 1.2 1999/11/23 01:48:14 rahulj
+ * Changed 0L to 0. CC under HPUX is happy now.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:50 twl
+ * Initial checkin
*
* Revision 1.4 1999/11/08 20:44:15 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -203,32 +206,32 @@
};
-DOM_TreeWalker DOM_Document::createTreeWalker(DOM_Node root, short whatToShow, DOM_NodeFilter filter) {
- return DOM_TreeWalker(DocumentImpl::createTreeWalker(root, whatToShow, filter, 0L));
+DOM_TreeWalker DOM_Document::createTreeWalker(DOM_Node root, short whatToShow, DOM_NodeFilter filter) {
+ return DOM_TreeWalker(DocumentImpl::createTreeWalker(root, whatToShow, filter, 0L));
};
-DOM_NodeIterator DOM_Document::createNodeIterator(DOM_Node root, short whatToShow, NodeFilterImpl* filterThatWillBeAdopted) {
- return DOM_NodeIterator(DocumentImpl::createNodeIterator(root, whatToShow, 0L, filterThatWillBeAdopted));
+DOM_NodeIterator DOM_Document::createNodeIterator(DOM_Node root, short whatToShow, NodeFilterImpl* filterThatWillBeAdopted) {
+ return DOM_NodeIterator(DocumentImpl::createNodeIterator(root, whatToShow, 0, filterThatWillBeAdopted));
};
-DOM_TreeWalker DOM_Document::createTreeWalker(DOM_Node root, short whatToShow, NodeFilterImpl* filterThatWillBeAdopted) {
- return DOM_TreeWalker(DocumentImpl::createTreeWalker(root, whatToShow, 0L, filterThatWillBeAdopted));
+DOM_TreeWalker DOM_Document::createTreeWalker(DOM_Node root, short whatToShow, NodeFilterImpl* filterThatWillBeAdopted) {
+ return DOM_TreeWalker(DocumentImpl::createTreeWalker(root, whatToShow, 0, filterThatWillBeAdopted));
};
-DOM_NodeList DOM_Document::getElementsByTagName(const DOMString &tagname) const {
- return DOM_NodeList(((DocumentImpl *)fImpl)->getElementsByTagName(tagname));
+DOM_NodeList DOM_Document::getElementsByTagName(const DOMString &tagname) const {
+ return DOM_NodeList(((DocumentImpl *)fImpl)->getElementsByTagName(tagname));
};
//Introduced in DOM Level 2
-DOM_Node DOM_Document::importNode(const DOM_Node &source, bool deep)
+DOM_Node DOM_Document::importNode(const DOM_Node &source, bool deep)
{
- return DOM_Node(((DocumentImpl *)fImpl)->importNode(source.fImpl, deep));
+ return DOM_Node(((DocumentImpl *)fImpl)->importNode(source.fImpl, deep));
};
diff --git a/src/dom/DOM_DocumentType.cpp b/src/dom/DOM_DocumentType.cpp
index 63e4868..da15a97 100644
--- a/src/dom/DOM_DocumentType.cpp
+++ b/src/dom/DOM_DocumentType.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:52 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:23 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:52 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:16 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -107,7 +114,7 @@
DOMString DOM_DocumentType::getName() const
{
- return ((DocumentTypeImpl *)fImpl)->getName();
+ return ((DocumentTypeImpl *)fImpl)->getName().clone();
};
@@ -129,17 +136,17 @@
DOMString DOM_DocumentType::getPublicID() const
{
- return ((DocumentTypeImpl *)fImpl)->getPublicID();
+ return ((DocumentTypeImpl *)fImpl)->getPublicID().clone();
}
DOMString DOM_DocumentType::getSystemID() const
{
- return ((DocumentTypeImpl *)fImpl)->getSystemID();
+ return ((DocumentTypeImpl *)fImpl)->getSystemID().clone();
}
DOMString DOM_DocumentType::getInternalSubset() const
{
- return ((DocumentTypeImpl *)fImpl)->getInternalSubset();
+ return ((DocumentTypeImpl *)fImpl)->getInternalSubset().clone();
}
diff --git a/src/dom/DOM_Element.cpp b/src/dom/DOM_Element.cpp
index 9b952f7..78fe64d 100644
--- a/src/dom/DOM_Element.cpp
+++ b/src/dom/DOM_Element.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:57 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:23 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:57 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:17 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -108,13 +115,13 @@
DOMString DOM_Element::getTagName() const
{
- return ((ElementImpl *)fImpl)->getTagName();
+ return ((ElementImpl *)fImpl)->getTagName().clone();
};
DOMString DOM_Element::getAttribute(const DOMString &name) const
{
- return ((ElementImpl *)fImpl)->getAttribute(name);
+ return ((ElementImpl *)fImpl)->getAttribute(name).clone();
};
@@ -170,7 +177,7 @@
DOMString DOM_Element::getAttributeNS(const DOMString &namespaceURI,
const DOMString &localName) const
{
- return ((ElementImpl *)fImpl)->getAttributeNS(namespaceURI, localName);
+ return ((ElementImpl *)fImpl)->getAttributeNS(namespaceURI, localName).clone();
}
void DOM_Element::setAttributeNS(const DOMString &namespaceURI,
diff --git a/src/dom/DOM_Entity.cpp b/src/dom/DOM_Entity.cpp
index 40721b6..3b0d699 100644
--- a/src/dom/DOM_Entity.cpp
+++ b/src/dom/DOM_Entity.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:57 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:23 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:57 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:17 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -107,18 +114,18 @@
DOMString DOM_Entity::getPublicId() const
{
- return ((EntityImpl *)fImpl)->getPublicId();
+ return ((EntityImpl *)fImpl)->getPublicId().clone();
};
DOMString DOM_Entity::getSystemId() const
{
- return ((EntityImpl *)fImpl)->getSystemId();
+ return ((EntityImpl *)fImpl)->getSystemId().clone();
};
DOMString DOM_Entity::getNotationName() const
{
- return ((EntityImpl *)fImpl)->getNotationName();
+ return ((EntityImpl *)fImpl)->getNotationName().clone();
};
diff --git a/src/dom/DOM_Node.cpp b/src/dom/DOM_Node.cpp
index a52de27..7a92905 100644
--- a/src/dom/DOM_Node.cpp
+++ b/src/dom/DOM_Node.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:59 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:23 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:59 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:19 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -162,13 +169,13 @@
DOMString DOM_Node::getNodeName() const
{
- return fImpl->getNodeName();
+ return fImpl->getNodeName().clone();
};
DOMString DOM_Node::getNodeValue() const
{
- return fImpl->getNodeValue();
+ return fImpl->getNodeValue().clone();
};
@@ -280,17 +287,17 @@
DOMString DOM_Node::getNamespaceURI() const
{
- return fImpl->getNamespaceURI();
+ return fImpl->getNamespaceURI().clone();
}
DOMString DOM_Node::getPrefix() const
{
- return fImpl->getPrefix();
+ return fImpl->getPrefix().clone();
}
DOMString DOM_Node::getLocalName() const
{
- return fImpl->getLocalName();
+ return fImpl->getLocalName().clone();
}
void DOM_Node::setPrefix(const DOMString &prefix)
diff --git a/src/dom/DOM_ProcessingInstruction.cpp b/src/dom/DOM_ProcessingInstruction.cpp
index 945c0fc..981c360 100644
--- a/src/dom/DOM_ProcessingInstruction.cpp
+++ b/src/dom/DOM_ProcessingInstruction.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:03 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:11:23 andyh
+ * Added DOMString.clone() to node parameters in and out of the DOM,
+ * where they had been missed.
+ *
+ * DOMString::rawBuffer, removed incorrect assumptions about it
+ * being null terminated.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:03 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:21 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -111,19 +118,19 @@
DOMString DOM_ProcessingInstruction::getTarget() const
{
- return ((ProcessingInstructionImpl *)fImpl)->getTarget();
+ return ((ProcessingInstructionImpl *)fImpl)->getTarget().clone();
};
DOMString DOM_ProcessingInstruction::getData() const
{
- return ((ProcessingInstructionImpl *)fImpl)->getData();
+ return ((ProcessingInstructionImpl *)fImpl)->getData().clone();
};
void DOM_ProcessingInstruction::setData(const DOMString &data)
{
- ((ProcessingInstructionImpl *)fImpl)->setData(data);
+ ((ProcessingInstructionImpl *)fImpl)->setData(data.clone());
};
diff --git a/src/dom/DocumentFragmentImpl.cpp b/src/dom/DocumentFragmentImpl.cpp
index 1fb16b2..1b0d1a4 100644
--- a/src/dom/DocumentFragmentImpl.cpp
+++ b/src/dom/DocumentFragmentImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:43 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:43 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:23 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -107,5 +112,5 @@
void DocumentFragmentImpl::setNodeValue(const DOMString &x)
{
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
};
diff --git a/src/dom/DocumentImpl.cpp b/src/dom/DocumentImpl.cpp
index 162a54b..fb36824 100644
--- a/src/dom/DocumentImpl.cpp
+++ b/src/dom/DocumentImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:43 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:43 twl
+ * Initial checkin
*
* Revision 1.5 1999/11/08 20:44:24 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -114,7 +119,7 @@
: NodeImpl(null, namespaceURI, qualifiedName, DOM_Node::DOCUMENT_NODE, false, null)
{
if (doctype != null && doctype->getOwnerDocument() != null)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::WRONG_DOCUMENT_ERR, null);
docType=doctype;
if (doctype != null)
@@ -159,7 +164,7 @@
AttrImpl *DocumentImpl::createAttribute(const DOMString &nam)
{
if(!isXMLName(nam))
- throw new DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
return new AttrImpl(this,nam);
};
@@ -188,7 +193,7 @@
DocumentTypeImpl *DocumentImpl::createDocumentType(const DOMString &nam)
{
if (!isXMLName(nam))
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::INVALID_CHARACTER_ERR, null);
return new DocumentTypeImpl(this, nam);
@@ -199,7 +204,7 @@
ElementImpl *DocumentImpl::createElement(const DOMString &tagName)
{
if(!isXMLName(tagName))
- throw new DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
DOMString pooledTagName = this->namePool->getPooledString(tagName);
return new ElementImpl(this,pooledTagName);
};
@@ -217,7 +222,7 @@
EntityImpl *DocumentImpl::createEntity(const DOMString &nam)
{
if (!isXMLName(nam))
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::INVALID_CHARACTER_ERR, null);
return new EntityImpl(this, nam);
@@ -228,7 +233,7 @@
EntityReferenceImpl *DocumentImpl::createEntityReference(const DOMString &nam)
{
if (!isXMLName(nam))
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::INVALID_CHARACTER_ERR, null);
return new EntityReferenceImpl(this, nam);
@@ -239,7 +244,7 @@
NotationImpl *DocumentImpl::createNotation(const DOMString &nam)
{
if (!isXMLName(nam))
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::INVALID_CHARACTER_ERR, null);
return new NotationImpl(this, nam);
@@ -251,7 +256,7 @@
const DOMString &target, const DOMString &data)
{
if(!isXMLName(target))
- throw new DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
return new ProcessingInstructionImpl(this,target,data);
};
@@ -429,7 +434,7 @@
case DOM_Node::DOCUMENT_NODE : // Document can't be child of Document
default: // Unknown node type
- throw new DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
}
// If deep, replicate and attach the kids.
@@ -452,7 +457,7 @@
||
(newChild->isDocumentTypeImpl() && docType!=null)
)
- throw new DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
NodeImpl::insertBefore(newChild,refChild);
@@ -518,7 +523,7 @@
void DocumentImpl::setNodeValue(const DOMString &x)
{
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
};
@@ -547,7 +552,7 @@
if (namespaceURI == null || namespaceURI.length() == 0)
return createElement(qualifiedName);
if(!isXMLName(qualifiedName))
- throw new DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
//DOMString pooledTagName = this->namePool->getPooledString(qualifiedName);
return new ElementImpl(this, namespaceURI, qualifiedName);
}
@@ -559,7 +564,7 @@
if (namespaceURI == null || namespaceURI.length() == 0)
return createAttribute(qualifiedName);
if(!isXMLName(qualifiedName))
- throw new DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
return new AttrImpl(this, namespaceURI, qualifiedName);
}
diff --git a/src/dom/DocumentTypeImpl.cpp b/src/dom/DocumentTypeImpl.cpp
index 5c47620..611a296 100644
--- a/src/dom/DocumentTypeImpl.cpp
+++ b/src/dom/DocumentTypeImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:44 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:44 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:24 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -178,7 +183,7 @@
void DocumentTypeImpl::setNodeValue(const DOMString &val)
{
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
};
diff --git a/src/dom/ElementImpl.cpp b/src/dom/ElementImpl.cpp
index ea62c17..c913696 100644
--- a/src/dom/ElementImpl.cpp
+++ b/src/dom/ElementImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:08 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:08 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:26 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -212,7 +217,7 @@
void ElementImpl::removeAttribute(const DOMString &nam)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
AttrImpl *att = (AttrImpl *) attributes->getNamedItem(nam);
@@ -231,7 +236,7 @@
AttrImpl *ElementImpl::removeAttributeNode(AttrImpl *oldAttr)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
AttrImpl *found = (AttrImpl *) attributes->getNamedItem(oldAttr->getName());
@@ -246,7 +251,7 @@
return found;
}
else
- throw new DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
return null; // just to keep the compiler happy
};
@@ -255,7 +260,7 @@
void ElementImpl::setAttribute(const DOMString &nam, const DOMString &val)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
AttrImpl *newAttr = (AttrImpl *) ownerDocument->createAttribute(nam);
@@ -275,11 +280,11 @@
AttrImpl * ElementImpl::setAttributeNode(AttrImpl *newAttr)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (!(newAttr->isAttrImpl()))
- throw new DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR, null);
AttrImpl *oldAttr = (AttrImpl *) attributes->getNamedItem(newAttr->getName());
if (oldAttr)
oldAttr->setOwnerElement(null); //DOM Level 2
@@ -302,7 +307,7 @@
void ElementImpl::setNodeValue(const DOMString &x)
{
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
};
@@ -334,7 +339,7 @@
return;
}
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
AttrImpl *newAttr = (AttrImpl *) ownerDocument->createAttributeNS(namespaceURI, qualifiedName);
@@ -358,7 +363,7 @@
return;
}
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
AttrImpl *att = (AttrImpl *) attributes->getNamedItemNS(namespaceURI, localName);
@@ -386,11 +391,11 @@
if (newAttr && newAttr ->getNamespaceURI() == null)
return setAttributeNode(newAttr);
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (newAttr -> getOwnerDocument() != this -> getOwnerDocument())
- throw new DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR, null);
AttrImpl *oldAttr = (AttrImpl *) attributes->getNamedItemNS(
newAttr->getNamespaceURI(), newAttr->getLocalName());
if (oldAttr)
diff --git a/src/dom/EntityImpl.cpp b/src/dom/EntityImpl.cpp
index 4ab0548..cf51a1c 100644
--- a/src/dom/EntityImpl.cpp
+++ b/src/dom/EntityImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:08 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:08 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:26 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -114,7 +119,7 @@
void EntityImpl::setNodeValue(const DOMString &arg)
{
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
};
diff --git a/src/dom/EntityReferenceImpl.cpp b/src/dom/EntityReferenceImpl.cpp
index d6a4691..18d6765 100644
--- a/src/dom/EntityReferenceImpl.cpp
+++ b/src/dom/EntityReferenceImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:09 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:09 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:27 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -274,7 +279,7 @@
*/
void EntityReferenceImpl::setNodeValue(const DOMString &x)
{
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
}
@@ -289,7 +294,7 @@
void EntityReferenceImpl::setReadOnly(bool readOnl,bool deep)
{
if(readOnl==false)
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null);
NodeImpl::setReadOnly(readOnl,deep);
}
diff --git a/src/dom/Makefile.in b/src/dom/Makefile.in
index c1d6460..52e615f 100644
--- a/src/dom/Makefile.in
+++ b/src/dom/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:09:11 twl
-# Initial revision
+# Revision 1.2 1999/11/23 01:59:43 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:09:11 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 20:44:28 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -211,9 +216,6 @@
@for file in $(DOM_CPP_PUBHEADERS); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
- @for file in $(DOM_C_FILES); do \
- rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
- done
@echo "Removing all $(MODULE) object files ..."
@for file in $(DOM_CPP_OBJECTS); do \
rm -f $(ALL_OBJECTS_DIR)/$$file; \
diff --git a/src/dom/NamedNodeMapImpl.cpp b/src/dom/NamedNodeMapImpl.cpp
index d6d5e7b..7d96ef4 100644
--- a/src/dom/NamedNodeMapImpl.cpp
+++ b/src/dom/NamedNodeMapImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:11 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:11 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:29 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -175,7 +180,7 @@
while(first<=last)
{
i=(first+last)/2;
- int test = name.strcmp(nodes->elementAt(i)->getNodeName());
+ int test = name.compareString(nodes->elementAt(i)->getNodeName());
if(test==0)
return i; // Name found
else if(test<0)
@@ -259,7 +264,7 @@
{
nnode = (AttrImpl *) nodes->elementAt(n);
dnode = (AttrImpl *) defaults->nodes->elementAt(d);
- int test = nnode->getNodeName().strcmp( dnode->getNodeName());
+ int test = nnode->getNodeName().compareString( dnode->getNodeName());
// nnode->getNodeName()->compareTo(dnode->getNodeName());
// Same name and a default -- make sure same value
@@ -313,7 +318,7 @@
{
int i=findNamePoint(name);
if(i<0)
- throw new DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
else
{
NodeImpl * n = (NodeImpl *) (nodes->elementAt(i));
@@ -354,7 +359,7 @@
return n;
}
}
- throw new DOMExceptionImpl(DOMException.NOT_FOUND_ERR, null);
+ throw DOMExceptionImpl(DOMException.NOT_FOUND_ERR, null);
**************/
return null; // just to keep the compiler happy
};
@@ -379,10 +384,10 @@
NodeImpl * NamedNodeMapImpl::setNamedItem(NodeImpl * arg)
{
if(arg->getOwnerDocument()!=ownerDoc)
- throw new DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR,null);
if (arg->owned)
- throw new DOM_DOMException(DOM_DOMException::INUSE_ATTRIBUTE_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::INUSE_ATTRIBUTE_ERR,null);
arg->owned = true;
int i=findNamePoint(arg->getNodeName());
@@ -494,13 +499,13 @@
const DOMString &name)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (namespaceURI == null || namespaceURI.length() == 0)
return removeNamedItem(name);
int i = findNamePoint(namespaceURI, name);
if (i < 0)
- throw new DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
NodeImpl * n = nodes -> elementAt(i); //node to be removed or replaced
//find if n has a default value defined in DTD, if so replace n in nodes
//by its corresponding default value node, otherwise remove n from nodes
diff --git a/src/dom/NodeFilterImpl.cpp b/src/dom/NodeFilterImpl.cpp
index 859915c..6bde2b2 100644
--- a/src/dom/NodeFilterImpl.cpp
+++ b/src/dom/NodeFilterImpl.cpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:12 twl
- * Initial revision
+ * Revision 1.2 1999/11/20 00:56:39 rahulj
+ * Source files must end with an un-escaped newline.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:12 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:29 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -92,4 +95,4 @@
void NodeFilterImpl::unreferenced ()
{
delete this;
-}
\ No newline at end of file
+}
diff --git a/src/dom/NodeImpl.cpp b/src/dom/NodeImpl.cpp
index e1ad40d..0cce58c 100644
--- a/src/dom/NodeImpl.cpp
+++ b/src/dom/NodeImpl.cpp
@@ -1,68 +1,80 @@
/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://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/>.
- */
+* The Apache Software License, Version 1.1
+*
+* Copyright (c) 1999 The Apache Software Foundation. All rights
+* reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* 1. Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* 2. Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+*
+* 3. The end-user documentation included with the redistribution,
+* if any, must include the following acknowledgment:
+* "This product includes software developed by the
+* Apache Software Foundation (http://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/>.
+*/
/**
- * $Log$
- * Revision 1.1 1999/11/09 01:09:13 twl
- * Initial revision
- *
- * Revision 1.3 1999/11/08 20:44:29 rahul
- * Swat for adding in Product name and CVS comment log variable.
- *
- */
+* $Log$
+* Revision 1.3 1999/12/03 00:11:23 andyh
+* Added DOMString.clone() to node parameters in and out of the DOM,
+* where they had been missed.
+*
+* DOMString::rawBuffer, removed incorrect assumptions about it
+* being null terminated.
+*
+* Revision 1.2 1999/11/30 21:16:25 roddey
+* Changes to add the transcode() method to DOMString, which returns a transcoded
+* version (to local code page) of the DOM string contents. And I changed all of the
+* exception 'throw by pointer' to 'throw by value' style.
+*
+* Revision 1.1.1.1 1999/11/09 01:09:13 twl
+* Initial checkin
+*
+* Revision 1.3 1999/11/08 20:44:29 rahul
+* Swat for adding in Product name and CVS comment log variable.
+*
+*/
#include "NodeImpl.hpp"
@@ -81,12 +93,12 @@
// Do we want to add isLeafNode to this? How about initial value?
this->ownerDocument=ownerDoc;
this->namespaceURI=null; //DOM Level 2
- this->prefix=null; //DOM Level 2
- this->localName=nam; //DOM Level 2
- this->name=nam;
+ this->prefix=null; //DOM Level 2
+ this->localName=null; //DOM Level 2
+ this->name=nam.clone();
this->nType=nTyp;
this->isLeafNode=isLeafNod;
- this->value=initValue;
+ this->value=initValue.clone();
this->changes = 0;
this->userData = null;
@@ -106,25 +118,42 @@
//Introduced in DOM Level 2
NodeImpl::NodeImpl(DocumentImpl *ownerDoc,
- const DOMString &namespaceURI, const DOMString &qualifiedName, short nTyp,
- bool isLeafNod, const DOMString &initValue)
+ const DOMString &namespaceURI, const DOMString &qualifiedName, short nTyp,
+ bool isLeafNod, const DOMString &initValue)
{
// Do we want to add isLeafNode to this? How about initial value?
this->ownerDocument=ownerDoc;
- this->namespaceURI=namespaceURI;
- int index = XMLString::indexOf(qualifiedName.rawBuffer(), chColon);
- if (index >= 0) {
- this->prefix = qualifiedName.substringData(0, index);
- int len = qualifiedName.length() - index - 1;
- this->localName = qualifiedName.substringData(index+1, len);
- } else {
- this->prefix = null;
- this->localName = qualifiedName;
+ this->name=qualifiedName.clone();
+
+ this->namespaceURI=namespaceURI.clone();
+
+ // Look in the qualified name parameter for a colon.
+ // If found, break out the prefix and local name parts.
+ // (bug: check for well formed names.)
+ XMLCh *qNameP = this->name.rawBuffer();
+ int qNameLen = this->name.length();
+ int index;
+ for (index=0; index<qNameLen; index++)
+ {
+ if (qNameP[index] == chColon)
+ {
+ this->prefix = this->name.substringData(0, index);
+ int len = this->name.length() - index - 1;
+ this->localName = this->name.substringData(index+1, len);
+ break;
+ }
}
- this->name=qualifiedName;
+
+ if (this->prefix == null)
+ {
+ // The search for a colon, above, in the qualified name failed.
+ // the localname is the whole name, and there is no prefix part.
+ this->localName = this->name;
+ }
+
this->nType=nTyp;
this->isLeafNode=isLeafNod;
- this->value=initValue;
+ this->value=initValue.clone();
this->changes = 0;
this->userData = null;
@@ -145,8 +174,8 @@
NodeImpl::NodeImpl(const NodeImpl &other, bool deep) {
this->nType = other.nType;
this->namespaceURI = other.namespaceURI.clone(); //DOM Level 2
- this->prefix = other.prefix.clone(); //DOM Level 2
- this->localName = other.localName.clone(); //DOM Level 2
+ this->prefix = other.prefix.clone(); //DOM Level 2
+ this->localName = other.localName.clone(); //DOM Level 2
this->name = other.name.clone();
this->value = other.value.clone();
this->isLeafNode = other.isLeafNode;
@@ -159,7 +188,7 @@
this->nodeRefCount = 0;
NodeImpl::gLiveNodeImpls++;
NodeImpl::gTotalNodeImpls++;
-
+
// Need to break the association w/ original kids
this->previousSibling = null;
@@ -182,11 +211,11 @@
int NodeImpl::gLiveNodeImpls = 0; // Counters for debug & tuning.
int NodeImpl::gTotalNodeImpls= 0;
-
+
NodeImpl::~NodeImpl() {
- NodeImpl::gLiveNodeImpls--;
+ NodeImpl::gLiveNodeImpls--;
};
@@ -346,7 +375,7 @@
NodeImpl *NodeImpl::insertBefore(NodeImpl *newChild, NodeImpl *refChild) {
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if( !(newChild->getOwnerDocument() == ownerDocument ||
@@ -354,7 +383,7 @@
( this->isDocumentImpl() &&
newChild->getOwnerDocument() == (DocumentImpl *)this )
) )
- throw new DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::WRONG_DOCUMENT_ERR, null);
// Convert to internal type, to avoid repeated casting
// (left over from the original Java. Meaningless in this version.)
@@ -365,11 +394,11 @@
for(NodeImpl *a=this->parentNode;treeSafe && a!=null;a=a->parentNode)
treeSafe=(newInternal!=a);
if(!treeSafe)
- throw new DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
// refChild must in fact be a child of this node (or null)
if(refChild!=null && refChild->parentNode != this)
- throw new DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR,null);
if (newInternal->isDocumentFragmentImpl())
{
@@ -395,14 +424,14 @@
kid=kid->getNextSibling())
{
if(!isKidOK(this,kid))
- throw new DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
}
while(newInternal->hasChildNodes()) // Move
insertBefore(newInternal->getFirstChild(),refChild);
}
else if(!isKidOK(this, newInternal))
- throw new DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
+ throw DOM_DOMException(DOM_DOMException::HIERARCHY_REQUEST_ERR,null);
else
{
@@ -503,17 +532,17 @@
{
RefCountedImpl::addRef(this->ownerDocument);
};
-
-
+
+
NodeImpl *NodeImpl::removeChild(NodeImpl *oldChild)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (oldChild != null && oldChild->parentNode != this)
- throw new DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NOT_FOUND_ERR, null);
// Patch tree past oldChild
NodeImpl *prev = oldChild->previousSibling;
@@ -546,8 +575,8 @@
{
DocumentImpl *doc = this->ownerDocument;
deleteIf(this); // This gets nodes outside of the document -
- // deleteIf() deletes only if the parent
- // node is null.
+ // deleteIf() deletes only if the parent
+ // node is null.
// If this was the last external reference within the document,
// the entire document will be deleted as well.
@@ -565,7 +594,7 @@
this instanceof Document &&
newChild.getOwnerDocument() != (Document) this)
{
- throw new DOMExceptionImpl(DOMException.WRONG_DOCUMENT_ERR, null);
+ throw DOMExceptionImpl(DOMException.WRONG_DOCUMENT_ERR, null);
}
*********************************************************************/
insertBefore(newChild, oldChild);
@@ -579,11 +608,11 @@
void NodeImpl::setNodeValue(const DOMString &val)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
// Default behavior, overridden in some subclasses
- this->value = val;
+ this->value = val.clone();
};
@@ -617,37 +646,37 @@
// return getNodeName();
};
-//Introduced in DOM Level 2
-
-bool NodeImpl::supports(const DOMString &feature, const DOMString &version)
-{
- return false; //must be overriden by each subclass
-}
-
-DOMString NodeImpl::getNamespaceURI()
-{
- return namespaceURI;
-}
-
-DOMString NodeImpl::getPrefix()
-{
- return prefix;
-}
-
-DOMString NodeImpl::getLocalName()
-{
- return localName;
-}
-
-void NodeImpl::setPrefix(const DOMString &prefix)
-{
- if (readOnly)
- throw new DOM_DOMException(
- DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
- if (isAttrImpl() || isElementImpl()) {
- name = this -> prefix = prefix;
- name = name + chColon + localName; //nodeName is changed too
- //what to do if namespaceURI is null?
- }
-
-}
+ //Introduced in DOM Level 2
+
+ bool NodeImpl::supports(const DOMString &feature, const DOMString &version)
+ {
+ return false; //must be overriden by each subclass
+ }
+
+ DOMString NodeImpl::getNamespaceURI()
+ {
+ return namespaceURI;
+ }
+
+ DOMString NodeImpl::getPrefix()
+ {
+ return prefix;
+ }
+
+ DOMString NodeImpl::getLocalName()
+ {
+ return localName;
+ }
+
+ void NodeImpl::setPrefix(const DOMString &prefix)
+ {
+ if (readOnly)
+ throw DOM_DOMException(
+ DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ if (isAttrImpl() || isElementImpl()) {
+ name = this -> prefix = prefix;
+ name = name + chColon + localName; //nodeName is changed too
+ //what to do if namespaceURI is null?
+ }
+
+ }
diff --git a/src/dom/NodeIteratorImpl.cpp b/src/dom/NodeIteratorImpl.cpp
index 9eb64f6..eec324b 100644
--- a/src/dom/NodeIteratorImpl.cpp
+++ b/src/dom/NodeIteratorImpl.cpp
@@ -56,8 +56,19 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:15 twl
- * Initial revision
+ * Revision 1.4 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.3 1999/11/23 01:48:16 rahulj
+ * Changed 0L to 0. CC under HPUX is happy now.
+ *
+ * Revision 1.2 1999/11/20 00:56:39 rahulj
+ * Source files must end with an un-escaped newline.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:15 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:30 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -98,7 +109,7 @@
{
fDetached = false;
fRoot = root;
- fCurrentNode = 0L;
+ fCurrentNode = 0;
fWhatToShow = whatToShow;
fNodeFilter = nodeFilter;
@@ -159,7 +170,7 @@
DOM_Node NodeIteratorImpl::nextNode () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -208,7 +219,7 @@
DOM_Node NodeIteratorImpl::previousNode () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -253,7 +264,7 @@
/** The node is accepted if it passes the whatToShow and the filter. */
bool NodeIteratorImpl::acceptNode (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
if (fNodeFilter == 0) {
return ((fWhatToShow & ((1 << node.getNodeType()) - 1)) != 0);
@@ -285,7 +296,7 @@
DOM_Node NodeIteratorImpl::nextNode (DOM_Node node, bool visitChildren) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
if (node.isNull()) return fRoot;
@@ -328,7 +339,7 @@
DOM_Node NodeIteratorImpl::previousNode (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -361,7 +372,7 @@
void NodeIteratorImpl::removeNode (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
// Implementation note: Fix-up means setting the current node properly
// after a remove.
@@ -416,4 +427,4 @@
}
delete this;
-}
\ No newline at end of file
+}
diff --git a/src/dom/NotationImpl.cpp b/src/dom/NotationImpl.cpp
index 451252e..c971358 100644
--- a/src/dom/NotationImpl.cpp
+++ b/src/dom/NotationImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:17 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:25 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:17 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:31 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -128,14 +133,14 @@
void NotationImpl::setNodeValue(const DOMString &arg)
{
- throw new DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
};
void NotationImpl::setPublicId(const DOMString &arg)
{
if(readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null);
publicId = arg.clone();
@@ -145,7 +150,7 @@
void NotationImpl::setSystemId(const DOMString &arg)
{
if(readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null);
systemId = arg.clone();
diff --git a/src/dom/ProcessingInstructionImpl.cpp b/src/dom/ProcessingInstructionImpl.cpp
index 6e0f6b0..37a5963 100644
--- a/src/dom/ProcessingInstructionImpl.cpp
+++ b/src/dom/ProcessingInstructionImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:18 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:26 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:18 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:32 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -126,7 +131,7 @@
void ProcessingInstructionImpl::setData(const DOMString &arg)
{
if(readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null);
value = arg;
diff --git a/src/dom/TextImpl.cpp b/src/dom/TextImpl.cpp
index a3e67de..169f373 100644
--- a/src/dom/TextImpl.cpp
+++ b/src/dom/TextImpl.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:19 twl
- * Initial revision
+ * Revision 1.2 1999/11/30 21:16:26 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:19 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:33 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -105,10 +110,10 @@
TextImpl *TextImpl::splitText(int offset)
{
if (readOnly)
- throw new DOM_DOMException(
+ throw DOM_DOMException(
DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null);
if (offset < 0 || offset > value.length() - 1)
- throw new DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INDEX_SIZE_ERR, null);
TextImpl *newText =
(TextImpl *) ownerDocument->createTextNode(
diff --git a/src/dom/TreeWalkerImpl.cpp b/src/dom/TreeWalkerImpl.cpp
index 5c36c5a..67b9a93 100644
--- a/src/dom/TreeWalkerImpl.cpp
+++ b/src/dom/TreeWalkerImpl.cpp
@@ -56,8 +56,16 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:09:20 twl
- * Initial revision
+ * Revision 1.3 1999/11/30 21:16:26 roddey
+ * Changes to add the transcode() method to DOMString, which returns a transcoded
+ * version (to local code page) of the DOM string contents. And I changed all of the
+ * exception 'throw by pointer' to 'throw by value' style.
+ *
+ * Revision 1.2 1999/11/23 01:48:17 rahulj
+ * Changed 0L to 0. CC under HPUX is happy now.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:09:20 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:33 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -156,7 +164,7 @@
/** Return the current Node. */
DOM_Node TreeWalkerImpl::getCurrentNode () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
return fCurrentNode;
}
@@ -165,7 +173,7 @@
/** Return the current Node. */
void TreeWalkerImpl::setCurrentNode (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
fCurrentNode = node;
}
@@ -177,14 +185,14 @@
*/
DOM_Node TreeWalkerImpl::parentNode () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
if (fCurrentNode.isNull()) return result;
DOM_Node node = getParentNode(fCurrentNode);
- if (node != 0L) {
+ if (node != 0) {
fCurrentNode = node;
}
return node;
@@ -198,7 +206,7 @@
*/
DOM_Node TreeWalkerImpl::firstChild () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -218,7 +226,7 @@
*/
DOM_Node TreeWalkerImpl::lastChild () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -239,7 +247,7 @@
DOM_Node TreeWalkerImpl::previousSibling () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -260,7 +268,7 @@
DOM_Node TreeWalkerImpl::nextSibling () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -281,7 +289,7 @@
DOM_Node TreeWalkerImpl::previousNode () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -325,7 +333,7 @@
DOM_Node TreeWalkerImpl::nextNode () {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -370,7 +378,7 @@
DOM_Node TreeWalkerImpl::getParentNode (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -400,7 +408,7 @@
DOM_Node TreeWalkerImpl::getNextSibling (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -450,7 +458,7 @@
DOM_Node TreeWalkerImpl::getPreviousSibling (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -499,7 +507,7 @@
DOM_Node TreeWalkerImpl::getFirstChild (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -533,7 +541,7 @@
DOM_Node TreeWalkerImpl::getLastChild (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
DOM_Node result;
@@ -565,9 +573,9 @@
short TreeWalkerImpl::acceptNode (DOM_Node node) {
if (fDetached)
- throw new DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
+ throw DOM_DOMException(DOM_DOMException::INVALID_STATE_ERR, null);
- if (fNodeFilter == 0L) {
+ if (fNodeFilter == 0) {
if ( ( fWhatToShow & (1 << (node.getNodeType() - 1))) != 0)
{
return DOM_NodeFilter::ACCEPT;
diff --git a/src/framework/Makefile.in b/src/framework/Makefile.in
index 76527da..f6e4279 100644
--- a/src/framework/Makefile.in
+++ b/src/framework/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:08:26 twl
-# Initial revision
+# Revision 1.2 1999/11/23 01:59:47 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:08:26 twl
+# Initial checkin
#
# Revision 1.5 1999/11/08 20:44:34 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -141,9 +146,6 @@
@for file in $(FRAMEWORK_CPP_PUBHEADERS); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
- @for file in $(FRAMEWORK_C_FILES); do \
- rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
- done
@echo "Removing all $(MODULE) object files ..."
@for file in $(FRAMEWORK_CPP_OBJECTS); do \
rm -f $(ALL_OBJECTS_DIR)/$$file; \
diff --git a/src/framework/XMLBuffer.cpp b/src/framework/XMLBuffer.cpp
index 1a41200..463ccaf 100644
--- a/src/framework/XMLBuffer.cpp
+++ b/src/framework/XMLBuffer.cpp
@@ -56,8 +56,12 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:29 twl
- * Initial revision
+ * Revision 1.2 1999/11/23 01:04:19 roddey
+ * Updates to some of the internal VC++ project files and some small
+ * fixes to make XMLBuffer correctly character size agnostic.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:29 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:35 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -84,7 +88,7 @@
if (!count)
actualCount = XMLString::stringLen(chars);
insureCapacity(actualCount);
- memcpy(&fBuffer[fIndex], chars, actualCount * 2);
+ memcpy(&fBuffer[fIndex], chars, actualCount * sizeof(XMLCh));
fIndex += actualCount;
}
@@ -95,7 +99,7 @@
actualCount = XMLString::stringLen(chars);
fIndex = 0;
insureCapacity(actualCount);
- memcpy(fBuffer, chars, actualCount * 2);
+ memcpy(fBuffer, chars, actualCount * sizeof(XMLCh));
fIndex = actualCount;
}
@@ -108,10 +112,10 @@
unsigned int newCap = (unsigned int)(fCapacity * 1.5);
// Allocate the new buffer
- XMLCh* newBuf = new XMLCh[newCap+1];
+ XMLCh* newBuf = new XMLCh[newCap + 1];
// Copy over the old stuff
- memcpy(newBuf, fBuffer, fCapacity * 2);
+ memcpy(newBuf, fBuffer, fCapacity * sizeof(XMLCh));
// Clean up old buffer and store new stuff
delete [] fBuffer;
@@ -130,7 +134,7 @@
XMLCh* newBuf = new XMLCh[newCap+1];
// Copy over the old stuff
- memcpy(newBuf, fBuffer, fCapacity * 2);
+ memcpy(newBuf, fBuffer, fCapacity * sizeof(XMLCh));
// Clean up old buffer and store new stuff
delete [] fBuffer;
diff --git a/src/framework/XMLRecognizer.hpp b/src/framework/XMLRecognizer.hpp
index 9683613..909225f 100644
--- a/src/framework/XMLRecognizer.hpp
+++ b/src/framework/XMLRecognizer.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:37 twl
- * Initial revision
+ * Revision 1.2 1999/11/23 01:49:27 rahulj
+ * Cannot use class qualifier in class defn. CC under HPUX is happy.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:37 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:44:40 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -125,13 +128,13 @@
// -----------------------------------------------------------------------
// Encoding recognition methods
// -----------------------------------------------------------------------
- static XMLRecognizer::Encodings basicEncodingProbe
+ static Encodings basicEncodingProbe
(
const XMLByte* const rawBuffer
, const unsigned int rawByteCount
);
- static XMLRecognizer::Encodings encodingForName
+ static Encodings encodingForName
(
const XMLCh* const theEncName
);
diff --git a/src/framework/XMLValidator.cpp b/src/framework/XMLValidator.cpp
index f4fb1ce..2215249 100644
--- a/src/framework/XMLValidator.cpp
+++ b/src/framework/XMLValidator.cpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:37 twl
- * Initial revision
+ * Revision 1.2 1999/12/02 19:02:56 roddey
+ * Get rid of a few statically defined XMLMutex objects, and lazy eval them
+ * using atomic compare and swap. I somehow let it get by me that we don't
+ * want any static/global objects at all.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:37 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:44:40 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -79,16 +84,35 @@
// ---------------------------------------------------------------------------
-// Local static data
+// Local static functions
// ---------------------------------------------------------------------------
-static XMLMutex gValidatorMutex;
-static XMLMsgLoader& getMsgLoader()
+
+//
+// We need to fault in this mutex. But, since its used for synchronization
+// itself, we have to do this the low level way using a compare and swap.
+//
+static XMLMutex& gValidatorMutex()
+{
+ static XMLMutex* validatorMutex = 0;
+ if (!validatorMutex)
+ {
+ XMLMutex* tmpMutex = new XMLMutex;
+ if (XMLPlatformUtils::compareAndSwap((void**)&validatorMutex, tmpMutex, 0))
+ {
+ // Someone beat us to it, so let's clean up ours
+ delete tmpMutex;
+ }
+ }
+ return *validatorMutex;
+}
+
+static XMLMsgLoader& getMsgLoader()
{
static XMLMsgLoader* gMsgLoader = 0;
if (!gMsgLoader)
{
- XMLMutexLock lockInit(&gValidatorMutex);
+ XMLMutexLock lockInit(&gValidatorMutex());
if (!gMsgLoader)
{
gMsgLoader = XMLPlatformUtils::loadMsgSet(XMLUni::fgValidityDomain);
@@ -120,7 +144,7 @@
// Lock the mutex and load the text
{
- XMLMutexLock lockInit(&gValidatorMutex);
+ XMLMutexLock lockInit(&gValidatorMutex());
if (!getMsgLoader().loadMsg(toEmit, errText, msgSize))
{
// <TBD> Probably should load a default msg here
@@ -175,7 +199,7 @@
// Lock the mutex and load the text
{
- XMLMutexLock lockInit(&gValidatorMutex);
+ XMLMutexLock lockInit(&gValidatorMutex());
if (!getMsgLoader().loadMsg(toEmit, errText, maxChars, text1, text2, text3, text4))
{
// <TBD> Should probably load a default message here
@@ -230,7 +254,7 @@
// Lock the mutex and load the text
{
- XMLMutexLock lockInit(&gValidatorMutex);
+ XMLMutexLock lockInit(&gValidatorMutex());
if (!getMsgLoader().loadMsg(toEmit, errText, maxChars, text1, text2, text3, text4))
{
// <TBD> Should probably load a default message here
diff --git a/src/internal/Makefile.in b/src/internal/Makefile.in
index 936be94..5b9d025 100644
--- a/src/internal/Makefile.in
+++ b/src/internal/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:08:09 twl
-# Initial revision
+# Revision 1.2 1999/11/23 01:59:51 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:08:09 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:44:42 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -132,9 +137,6 @@
@for file in $(INTERNAL_CPP_PUBHEADERS); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
- @for file in $(INTERNAL_C_FILES); do \
- rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
- done
@echo "Removing all $(MODULE) object files ..."
@for file in $(INTERNAL_CPP_OBJECTS); do \
rm -f $(ALL_OBJECTS_DIR)/$$file; \
diff --git a/src/internal/XMLScanner.cpp b/src/internal/XMLScanner.cpp
index 5b28b69..4cea273 100644
--- a/src/internal/XMLScanner.cpp
+++ b/src/internal/XMLScanner.cpp
@@ -56,8 +56,17 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:08:22 twl
- * Initial revision
+ * Revision 1.3 1999/12/02 19:02:57 roddey
+ * Get rid of a few statically defined XMLMutex objects, and lazy eval them
+ * using atomic compare and swap. I somehow let it get by me that we don't
+ * want any static/global objects at all.
+ *
+ * Revision 1.2 1999/11/30 20:23:13 roddey
+ * Added changes to handle exceptions thrown from the user's handlers for
+ * emitError().
+ *
+ * Revision 1.1.1.1 1999/11/09 01:08:22 twl
+ * Initial checkin
*
* Revision 1.7 1999/11/08 20:56:54 droddey
* If the main xml entity does not exist, we need to get the error handling for that
@@ -105,11 +114,34 @@
// Local static data
// ---------------------------------------------------------------------------
static XMLUInt32 gScannerId;
-static XMLMutex gScannerMutex;
static XMLMsgLoader* gMsgLoader;
// ---------------------------------------------------------------------------
+// Local, static functions
+// ---------------------------------------------------------------------------
+
+//
+// We need to fault in this mutex. But, since its used for synchronization
+// itself, we have to do this the low level way using a compare and swap.
+//
+static XMLMutex& gScannerMutex()
+{
+ static XMLMutex* scannerMutex = 0;
+ if (!scannerMutex)
+ {
+ XMLMutex* tmpMutex = new XMLMutex;
+ if (XMLPlatformUtils::compareAndSwap((void**)&scannerMutex, tmpMutex, 0))
+ {
+ // Someone beat us to it, so let's clean up ours
+ delete tmpMutex;
+ }
+ }
+ return *scannerMutex;
+}
+
+
+// ---------------------------------------------------------------------------
// XMLScanner: Constructors and Destructor
// ---------------------------------------------------------------------------
XMLScanner::XMLScanner(XMLValidator* const validator) :
@@ -243,23 +275,31 @@
// If we have a document handler, then call the end document
if (fDocHandler)
fDocHandler->endDocument();
+
+ // Reset the reader manager to close all files, sockets, etc...
+ fReaderMgr.reset();
}
+ //
+ // NOTE:
+ //
+ // In all of the error processing below, the emitError() call MUST come
+ // before the flush of the reader mgr, or it will fail because it tries
+ // to find out the position in the XML source of the error.
+ //
catch(const XML4CErrs::Codes)
{
- // This is a 'first fatal error' type exit, so just fall through
+ // This is a 'first fatal error' type exit, so reset and fall through
+ fReaderMgr.reset();
}
- //
- // We have to propogate SAX exceptions. Since they are derived from our
- // XMLException class, we have to filter it out first here so that it
- // does not get caught and eaten below.
- //
catch(const SAXException&)
{
//
- // Make sure we do anything that would normally be done on the way
- // out of this method.
+ // We have to propogate SAX exceptions.
+ //
+ // Make sure that the reader manager gets reset, then rethrow this
+ // exception since it means nothing much to us.
//
fReaderMgr.reset();
throw;
@@ -267,35 +307,38 @@
catch(const XMLException& excToCatch)
{
+ //
+ // Emit the error and catch any user exception thrown from here. Make
+ // sure in all cases we flush the reader manager.
+ //
fInException = true;
- emitError
- (
- XML4CErrs::XMLException
- , excToCatch.getType()
- , excToCatch.getMessage()
- );
+ try
+ {
+ emitError
+ (
+ XML4CErrs::XMLException
+ , excToCatch.getType()
+ , excToCatch.getMessage()
+ );
+ }
- // And fall through
+ catch(...)
+ {
+ // Flush the reader manager and rethrow user's error
+ fReaderMgr.reset();
+ throw;
+ }
+
+ // If it returned, then reset the reader manager and fall through
+ fReaderMgr.reset();
}
catch(...)
{
- //
- // We don't know what happened. So issue an error, flush the reader
- // manager to close down files, sockets, etc... and rethrow.
- //
- // NOTE: The error emit MUST come before the flush of the reader
- // or it will fail because it tries to find out the position in
- // the XML source of the error.
- //
- fInException = true;
- emitError(XML4CErrs::SysException);
+ // Reset and rethrow
fReaderMgr.reset();
throw;
}
-
- // Reset the reader manager to close all files
- fReaderMgr.reset();
}
@@ -332,9 +375,16 @@
scanProlog();
}
- // This is a 'first failure' exception so reset and return a failure
+ //
+ // NOTE:
+ //
+ // In all of the error processing below, the emitError() call MUST come
+ // before the flush of the reader mgr, or it will fail because it tries
+ // to find out the position in the XML source of the error.
+ //
catch(const XML4CErrs::Codes)
{
+ // This is a 'first failure' exception so reset and return a failure
fReaderMgr.reset();
return false;
}
@@ -346,24 +396,38 @@
throw;
}
- // This one is just a failure
catch(const XMLException& excToCatch)
{
+ //
+ // Emit the error and catch any user exception thrown from here. Make
+ // sure in all cases we flush the reader manager.
+ //
fInException = true;
- emitError
- (
- XML4CErrs::XMLException
- , excToCatch.getType()
- , excToCatch.getMessage()
- );
+ try
+ {
+ emitError
+ (
+ XML4CErrs::XMLException
+ , excToCatch.getType()
+ , excToCatch.getMessage()
+ );
+ }
+
+ catch(...)
+ {
+ // Reset and rethrow the user error
+ fReaderMgr.reset();
+ throw;
+ }
+
+ // Reset and return a failure
fReaderMgr.reset();
return false;
}
catch(...)
{
- fInException = true;
- emitError(XML4CErrs::SysException);
+ // Reset and rethrow original error
fReaderMgr.reset();
throw;
}
@@ -451,9 +515,16 @@
}
}
- // This is a 'first failure' exception, so reset and return failure
+ //
+ // NOTE:
+ //
+ // In all of the error processing below, the emitError() call MUST come
+ // before the flush of the reader mgr, or it will fail because it tries
+ // to find out the position in the XML source of the error.
+ //
catch(const XML4CErrs::Codes)
{
+ // This is a 'first failure' exception, so reset and return failure
fReaderMgr.reset();
return false;
}
@@ -461,33 +532,51 @@
// We have to propogate SAX exceptions
catch(const SAXException&)
{
+ // Just reset our reader manager and rethrow SAX exception
fReaderMgr.reset();
throw;
}
- // This one is just a failure
catch(const XMLException& excToCatch)
{
+ //
+ // Emit the error and catch any user exception thrown from here. Make
+ // sure in all cases we flush the reader manager.
+ //
fInException = true;
- emitError
- (
- XML4CErrs::XMLException
- , excToCatch.getType()
- , excToCatch.getMessage()
- );
+ try
+ {
+ emitError
+ (
+ XML4CErrs::XMLException
+ , excToCatch.getType()
+ , excToCatch.getMessage()
+ );
+ }
+ catch(...)
+ {
+ // REset and rethrow user error
+ fReaderMgr.reset();
+ throw;
+ }
+
+ // Reset and return failure
fReaderMgr.reset();
return false;
}
catch(...)
{
- fInException = true;
- emitError(XML4CErrs::SysException);
-
+ // Reset and rethrow original error
fReaderMgr.reset();
throw;
}
+
+ // If we hit the end, then flush the reader manager
+ if (!retVal)
+ fReaderMgr.reset();
+
return retVal;
}
@@ -509,7 +598,7 @@
// use the mutex to protect it.
//
{
- XMLMutexLock lockInit(&gScannerMutex);
+ XMLMutexLock lockInit(&gScannerMutex());
// If we haven't loaded our message yet, then do that
if (!gMsgLoader)
@@ -573,7 +662,7 @@
// Lock the mutex and load the text
{
- XMLMutexLock lockInit(&gScannerMutex);
+ XMLMutexLock lockInit(&gScannerMutex());
if (!gMsgLoader->loadMsg(toEmit, errText, msgSize))
{
// <TBD> Probably should load a default msg here
@@ -624,7 +713,7 @@
// Lock the mutex and load the text
{
- XMLMutexLock lockInit(&gScannerMutex);
+ XMLMutexLock lockInit(&gScannerMutex());
if (!gMsgLoader->loadMsg(toEmit, errText, maxChars, text1, text2, text3, text4))
{
// <TBD> Should probably load a default message here
@@ -675,7 +764,7 @@
// Lock the mutex and load the text
{
- XMLMutexLock lockInit(&gScannerMutex);
+ XMLMutexLock lockInit(&gScannerMutex());
if (!gMsgLoader->loadMsg(toEmit, errText, maxChars, text1, text2, text3, text4))
{
// <TBD> Should probably load a default message here
diff --git a/src/parsers/Makefile.in b/src/parsers/Makefile.in
index 6f84d1b..0c0bb06 100644
--- a/src/parsers/Makefile.in
+++ b/src/parsers/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:07:50 twl
-# Initial revision
+# Revision 1.2 1999/11/23 01:59:56 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:07:50 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:44:53 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -117,9 +122,6 @@
@for file in $(PARSERS_CPP_PUBHEADERS); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
- @for file in $(PARSERS_C_FILES); do \
- rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
- done
@echo "Removing all $(MODULE) object files ..."
@for file in $(PARSERS_CPP_OBJECTS); do \
rm -f $(ALL_OBJECTS_DIR)/$$file; \
diff --git a/src/runConfigure b/src/runConfigure
index 391d8d4..4fffa65 100755
--- a/src/runConfigure
+++ b/src/runConfigure
@@ -58,8 +58,62 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:02:57 twl
-# Initial revision
+# Revision 1.9 1999/12/03 01:19:11 rahulj
+# Split export statements into two. assignment and then export. Solaris is happy now
+#
+# Revision 1.8 1999/12/02 18:10:51 dirkx
+# Changed exit codes from -1 to '1'. Added indirection.
+#
+# Date: Thu, 2 Dec 1999 17:47:39 +0000
+# From: Jonathan McDowell <noodles@earth.li>
+# Reply-To: xerces-dev@xml.apache.org
+# To: xerces-dev@xml.apache.org, rahulj@apache.org
+# Subject: Re: runConfigure script & bash
+#
+#
+# On Mon, Nov 29, 1999 at 10:29:13AM -0800, Rahul Jain wrote:
+#
+# > > I'm quite happy to produce a patch that makes it work under both
+# > > FreeBSD's sh and bash - I would assume this would work under most sh
+# > > like shells.
+# > Please post the changes for FreeBSD and I will test the changes on
+# > other unix's and do the integration.
+#
+# I sat down to do this today and found that it can be trivially fixed by
+# changing all the "exit -1" instances to "exit 1" - it seems the /bin/sh
+# with FreeBSD doesn't like negative result codes. It seems a bit
+# pointless to submit a patch for this, so can someone with CVS access
+# change this please?
+#
+# J.
+#
+# --
+#
+# PR:
+# Obtained from:
+# Submitted by:
+# Reviewed by:
+#
+# Revision 1.7 1999/12/01 17:16:16 rahulj
+# Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+#
+# Revision 1.6 1999/11/24 23:21:42 rahulj
+# Now works under HPUX 10.20 with CC and aCC, with ICU and native
+distclean target now remove and remaining Makefile(s)
+clean target now removes the template repository directory
+#
+# Revision 1.5 1999/11/23 01:59:33 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.4 1999/11/17 22:36:33 rahulj
+# Code works with ICU transcoding service
+#
+# Revision 1.3 1999/11/12 20:38:50 rahulj
+# Replaced XML4CROOT with XERCESCROOT.
+#
+# Revision 1.1.1.1 1999/11/09 01:02:57 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 20:44:09 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -67,20 +121,30 @@
#
#
-# runConfigure : This script will run the "configure" script for the appropriate platform
-# Only supported platforms are recognized
+# 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
+# TRANSCODER
+#
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')"
- echo " -c <C compiler name> (e.g. gcc or xlc)"
- echo " -x <C++ compiler name> (e.g. g++ or xlC)"
+ echo " -p <platform> (accepts 'aix', 'linux', 'solaris', 'hp-10', 'hp-11', 'irix')"
+ 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 " -m <message loader> can be 'inmem', 'icu' or 'iconv'"
- echo " -n <net accessor> can be 'fileonly' or 'libwww'"
+ echo " -m <message loader> can be 'inmem', 'icu', 'iconv'"
+ echo " -n <net accessor> can be 'fileonly', 'libwww'"
echo " -t <transcoder> can be 'icu' or 'native'"
echo " -r <thread option> can be 'pthread' or 'dce' (only used on HP-11)"
echo " -l <extra linker options>"
@@ -88,24 +152,26 @@
echo " -h (to get help on the above commands)"
}
+ERROR_EXIT_CODE=1
+
if test ${1}o = "o"; then
usage
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
-if test ${XML4CROOT}o = "o"; then
- echo ERROR : You have not set your XML4CROOT environment variable
+if test ${XERCESCROOT}o = "o"; then
+ echo ERROR : You have not set your XERCESCROOT 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 XML4CROOT to indicate where you installed
- echo the XML4C files, and run this command again to proceed. See the documentation
+ echo set an environment variable called XERCESCROOT to indicate where you installed
+ echo the XERCES-C files, and run this command again to proceed. See the documentation
echo for an example if you are still confused.
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
if test $1 = "-h"; then
usage
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
# Get the command line parameters
@@ -113,13 +179,13 @@
if [ $? != 0 ]
then
usage
- exit -1
+ exit ${ERROR_EXIT_CODE}
fi
# Set up the default values for each parameter
debug=off # by default debug is off
transcoder=native # by default use native transcoder
-msgloader=iconv # by default use native transcoder
+msgloader=inmem # by default use native transcoder
netaccessor=fileonly # by default use fileonly
for i in $*
@@ -157,7 +223,7 @@
-h)
usage
- exit -1;;
+ exit ${ERROR_EXIT_CODE};;
--)
shift; break;;
@@ -170,149 +236,195 @@
echo "C++ Compiler: $cppcompiler"
echo "Extra compile options: $compileroption"
echo "Extra link options: $linkeroption"
-if test $debug = "off"; then
- echo "Debug is OFF"
- debugflag="-w -O";
-else
- echo "Debug is ON"
- debugflag="-g";
-fi
echo "Message Loader: $msgloader"
echo "Net Accessor: $netaccessor"
echo "Transcoder: $transcoder"
echo "Thread option: $thread"
+
+#
# Now check if the options are correct or not, bail out if incorrect
+#
+
case $platform in
- aix | linux | solaris | hp-10 | hp-11)
+ aix | linux | solaris | hp-10 | hp-11 | irix)
# platform has been recognized
;;
*)
echo "I do not recognize the platform '$platform'. Please type '${0} -h' for help."
- exit -1;;
+ exit ${ERROR_EXIT_CODE};;
esac
-# Now check for the transcoder
-transcoderoption="-DXML_USE_NATIVE_TRANSCODER"
+
+#
+# Enable debugging or not...
+#
+
+if test $debug = "off"; then
+ echo "Debug is OFF"
+ debugflag="-O";
+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
+
+
+#
+# Now check for what kind of transcoding service is desired.
+#
+
+transcodingDefines="-DXML_USE_NATIVE_TRANSCODER"
TRANSCODER=NATIVE
if test $transcoder; then
case $transcoder in
icu)
- transcoderoption="-DXML_USE_ICU_TRANSCODER" ;
- TRANSCODER=ICU ;;
+ if test -z $ICUROOT; then
+ echo '***Error*** ICUROOT environment variable not defined. Exiting...';
+ exit ${ERROR_EXIT_CODE};
+ fi
+ transcodingDefines="-DXML_USE_ICU_TRANSCODER -I${ICUROOT}/include";
+ transcodingLibs="-L${ICUROOT}/lib -licu-uc";
+ TRANSCODER=ICU;;
native)
- transcoderoption="-DXML_USE_NATIVE_TRANSCODER" ;
- TRANSCODER=NATIVE ;;
+ ;;
*)
echo "I do not recognize the transcoder option '$transcoder'. Please type '${0} -h' for help."
- exit -1;;
+ exit ${ERROR_EXIT_CODE};;
esac
fi
export TRANSCODER
+
+#
# Now check for the message loader
-MESSAGELOADER=INMEM; # By default use in-memory
-msgloaderoption="-DXML_USE_INMEM_MESSAGELOADER"
+#
+
+MESSAGELOADER=INMEM # By default use in-memory
+msgloaderDefines="-DXML_USE_INMEM_MESSAGELOADER"
if test $msgloader ; then
case $msgloader in
icu)
+ if test -z $ICUROOT ; then
+ echo '***Error*** ICUROOT environment variable not defined. Exiting...';
+ exit ${ERROR_EXIT_CODE};
+ fi
MESSAGELOADER=ICU;
- msgloaderoption="-DXML_USE_ICU_MESSAGELOADER" ;;
+ msgloaderDefines="-DXML_USE_ICU_MESSAGELOADER" ;;
inmem)
- MESSAGELOADER=INMEM;
- msgloaderoption="-DXML_USE_INMEM_MESSAGELOADER" ;;
+ ;;
iconv)
MESSAGELOADER=ICONV;
- msgloaderoption="-DXML_USE_ICONV_MESSAGELOADER" ;;
+ msgloaderDefines="-DXML_USE_ICONV_MESSAGELOADER" ;;
*)
- echo "I do not recognize the message loader option '$msgloader'. Please type '${0} -h' for help."
- exit -1;;
+ echo "I do not recognize the message loader option '$msgloader'. Please type '${0} -h' for help.";
+ exit ${ERROR_EXIT_CODE};;
esac
fi
export MESSAGELOADER
-# Check for the threading option only for hp-11
-if test $platform = "hp-11"; then
- if test $thread; then
- case $thread in
- pthread)
- threadingoption="-DXML_USE_PTHREAD" ;;
-
- dce)
- threadingoption="-DXML_USE_DCE" ;;
-
- *)
- echo "I do not recognize the thread option '$thread'. Please type '${0} -h' for help."
- exit -1;;
- esac
- else
- echo "You must provide a thread option for HPUX-11". Cannot proceed any further.
- exit -1;
- fi
+
+
+
+#
+# Check for the type of net accessor
+#
+
+USELIBWWW=0; # By default use file-only
+if test $netaccessor ; then
+case $netaccessor in
+ fileonly)
+ netaccessorDefines="" ;;
+
+ libwww)
+ if test -z ${LIBWWWROOT} ; then
+ echo "You have not defined your LIBWWWROOT environment variable. Cannot proceed further ..."
+ exit ${ERROR_EXIT_CODE};
+ fi
+ netaccessorDefines="-DXML_USE_NETACCESSOR_LIBWWW -I${LIBWWWROOT}/include" ;
+ netaccessorLibs="-L${LIBWWWROOT}/lib -lwww";
+ USELIBWWW=1;;
+
+ *)
+ echo "I do not recognize the netaccessor option '$netaccessor'. Please type '${0} -h' for help."
+ exit ${ERROR_EXIT_CODE};;
+esac
fi
+export USELIBWWW
+
+
+
+#
# Set the C compiler and C++ compiler environment variables
-CC=$ccompiler; export CC
-CXX=$cppcompiler; export CXX
+#
case $cppcompiler in
- xlC | xlc | xlC_r | xlc_r)
- LDFLAGS="-lC"; export LDFLAGS
- LIBS="-L/usr/lpp/xlC/lib"; export LIBS ;;
-
- g++ | c++)
- LDFLAGS="-lc"; export LDFLAGS
- LIBS="-L/usr/local/lib"; export LIBS ;;
-
- cc | CC)
- LDFLAGS="-lC"; export LDFLAGS
- LIBS="-L/usr/lib -L/usr/ccs/lib"; export LIBS ;;
-
- acc | aCC)
- LDFLAGS="-lC"; export LDFLAGS
- LIBS="-L/usr/lib -L/opt/aCC/lib"; export LIBS ;;
+ xlC | xlc | xlC_r | xlc_r | g++ | c++ | cc | CC | aCC)
+ ;;
*)
echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..."
;;
esac
-USELIBWWW=0; # By default use file-only
-# Check for the type of net accessor
-if test $netaccessor ; then
-case $netaccessor in
- fileonly)
- netaccessoroption="" ;;
+CC="$ccompiler"
+export CC
- libwww)
- if test -z ${LIBWWWROOT} ; then
- echo "You have not defined your LIBWWWROOT environment variable. Cannot proceed further ..."
- exit -1;
- fi
- netaccessoroption="-DXML_USE_NETACCESSOR_LIBWWW -I${LIBWWWROOT}/include" ;
- LIBS="$LIBS -L${LIBWWWROOT}/lib -lwww";
- USELIBWWW=1;;
+CXX="$cppcompiler"
+export CXX
- *)
- echo "I do not recognize the netaccessor option '$netaccessor'. Please type '${0} -h' for help."
- exit -1;;
-esac
-fi
-export USELIBWWW;
-
+#
# Set the extra C and C++ compiler flags
-CXXFLAGS="$debugflag $compileroption $transcoderoption $msgloaderoption $threadingoption $netaccessoroption"; export CXXFLAGS
-CFLAGS="$debugflag $compileroption $transcoderoption $msgloaderoption $threadingoption $netaccessoroption"; export CFLAGS
+#
+
+CXXFLAGS="$debugflag $transcodingDefines $msgloaderDefines $threadingDefines $netaccessorDefines"
+export CXXFLAGS
+
+CFLAGS="$debugflag $transcodingDefines $msgloaderDefines $threadingDefines $netaccessorDefines"
+export CFLAGS
+
+LIBS="$transcodingLibs $threadingLibs $netaccessorLibs"
+export LIBS
+
echo
rm -f config.cache
@@ -322,7 +434,7 @@
echo
echo If the result of the above commands look OK to you, go to the directory
-echo ${XML4CROOT}/src and type \"make\" to make the XML4C system.
+echo ${XERECSCROOT}/src and type \"make\" to make the XERECS-C system.
-exit 0;
+exit 0;
diff --git a/src/sax/Makefile.in b/src/sax/Makefile.in
index a1ea3ab..458b8dc 100644
--- a/src/sax/Makefile.in
+++ b/src/sax/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:07:46 twl
-# Initial revision
+# Revision 1.2 1999/11/23 01:59:59 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:07:46 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:01 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -127,9 +132,6 @@
@for file in $(SAX_CPP_PUBHEADERS); do \
rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
done
- @for file in $(SAX_C_FILES); do \
- rm -f $(XML_INC_DIR)/$(MODULE)/$$file; \
- done
@echo "Removing all $(MODULE) object files ..."
@for file in $(SAX_CPP_OBJECTS); do \
rm -f $(ALL_OBJECTS_DIR)/$$file; \
diff --git a/src/util/AutoSense.hpp b/src/util/AutoSense.hpp
index 3295062..5b087d6 100644
--- a/src/util/AutoSense.hpp
+++ b/src/util/AutoSense.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:03:55 twl
- * Initial revision
+ * Revision 1.2 1999/12/01 17:16:16 rahulj
+ * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+ *
+ * Revision 1.1.1.1 1999/11/09 01:03:55 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:03 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -69,7 +72,7 @@
// ---------------------------------------------------------------------------
// This section attempts to auto detect the operating system. It will set
-// up XML4C specific defines that are used by the rest of the code.
+// up XercesC specific defines that are used by the rest of the code.
// ---------------------------------------------------------------------------
#if defined(_AIX)
#define XML_AIX
@@ -85,6 +88,9 @@
#elif defined(__linux__)
#define XML_LINUX
#define XML_UNIX
+#elif defined(IRIX)
+ #define XML_IRIX
+ #define XML_UNIX
#elif defined(__MVS__)
#define XML_OE390
#define XML_UNIX
@@ -149,6 +155,8 @@
#elif (__cplusplus == 199707 || __cplusplus == 199711)
#define XML_HPUX_aCC
#endif
+#elif defined(XML_IRIX)
+ #define XML_MIPSPRO_CC
#elif defined(XML_TANDEM)
#define XML_TANDEMCC
#elif defined(__linux__)
diff --git a/src/util/Compilers/BorlandCDefs.hpp b/src/util/Compilers/BorlandCDefs.hpp
index 7c60829..2314a66 100644
--- a/src/util/Compilers/BorlandCDefs.hpp
+++ b/src/util/Compilers/BorlandCDefs.hpp
@@ -56,8 +56,13 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:28 twl
- * Initial revision
+ * Revision 1.2 1999/12/02 19:02:57 roddey
+ * Get rid of a few statically defined XMLMutex objects, and lazy eval them
+ * using atomic compare and swap. I somehow let it get by me that we don't
+ * want any static/global objects at all.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:28 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:22 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -95,3 +100,10 @@
#ifdef _DEBUG
#define XML4C_DEBUG
#endif
+
+
+// ---------------------------------------------------------------------------
+// The name of the DLL as built by the Borland projects. At this time, it
+// does not use the versioning stuff.
+// ---------------------------------------------------------------------------
+const char* const XML4C_DLLName = "XercesLib;
diff --git a/src/util/Compilers/CSetDefs.hpp b/src/util/Compilers/CSetDefs.hpp
index ffdb3f2..a14ff72 100644
--- a/src/util/Compilers/CSetDefs.hpp
+++ b/src/util/Compilers/CSetDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:31 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:36:51 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:31 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:45:22 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -123,4 +126,4 @@
// ---------------------------------------------------------------------------
// The name of the DLL that is built by the CSet C++ version of the system.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "libIXXML4C";
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/CodeWarriorDefs.hpp b/src/util/Compilers/CodeWarriorDefs.hpp
index c2bbcc3..aafea12 100644
--- a/src/util/Compilers/CodeWarriorDefs.hpp
+++ b/src/util/Compilers/CodeWarriorDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:29 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:36:53 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:29 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:22 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -112,4 +115,4 @@
// versioning string. This is defined in XML4CDefs.hpp which is what this
// file is included into.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "IXXML4C" XML4C_DLLVersionStr;
+const char* const XML4C_DLLName = "xerces-c" XML4C_DLLVersionStr;
diff --git a/src/util/Compilers/GCCDefs.hpp b/src/util/Compilers/GCCDefs.hpp
index 73c0c38..3e20f27 100644
--- a/src/util/Compilers/GCCDefs.hpp
+++ b/src/util/Compilers/GCCDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:32 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:36:54 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:32 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:23 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -117,4 +120,4 @@
// ---------------------------------------------------------------------------
// The name of the DLL that is built by the GCC version of the system.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "libIXXML4C";
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/GNUGDefs.hpp b/src/util/Compilers/GNUGDefs.hpp
index 227bcb2..ac71592 100644
--- a/src/util/Compilers/GNUGDefs.hpp
+++ b/src/util/Compilers/GNUGDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:33 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:36:55 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:33 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:45:23 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -106,4 +109,4 @@
// ---------------------------------------------------------------------------
// The name of the DLL that is built by the GNUG version of the system.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "libIXXML4C";
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/HPCCDefs.hpp b/src/util/Compilers/HPCCDefs.hpp
index 42f7a55..a47b9a0 100644
--- a/src/util/Compilers/HPCCDefs.hpp
+++ b/src/util/Compilers/HPCCDefs.hpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:34 twl
- * Initial revision
+ * Revision 1.4 1999/11/23 02:00:12 rahulj
+ * Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+ *
+ * Revision 1.3 1999/11/12 20:36:57 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:34 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:23 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -84,6 +91,14 @@
// Define our version of the XML character
// ---------------------------------------------------------------------------
typedef unsigned short XMLCh;
+typedef unsigned short UTF16Ch;
+
+
+// ---------------------------------------------------------------------------
+// Define unsigned 16 and 32 bits integers
+// ---------------------------------------------------------------------------
+typedef unsigned short XMLUInt16;
+typedef unsigned int XMLUInt32;
// ---------------------------------------------------------------------------
@@ -95,14 +110,6 @@
// ---------------------------------------------------------------------------
-// Force on the XML4C debug token if it was on in the build environment
-// ---------------------------------------------------------------------------
-#if 0
-#define XML4C_DEBUG
-#endif
-
-
-// ---------------------------------------------------------------------------
// The name of the DLL that is built by the HP CC version of the system.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "libIXXML4C";
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/IBMVAOS2Defs.hpp b/src/util/Compilers/IBMVAOS2Defs.hpp
index ae6a308..414ef10 100644
--- a/src/util/Compilers/IBMVAOS2Defs.hpp
+++ b/src/util/Compilers/IBMVAOS2Defs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:35 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:36:58 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:35 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:24 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -102,7 +105,7 @@
// versioning string. This is defined in XML4CDefs.hpp which is what this
// file is included into.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "VAOXML4C" XML4C_DLLVersionStr;
+const char* const XML4C_DLLName = "VAOXERCESC" XML4C_DLLVersionStr;
// ---------------------------------------------------------------------------
diff --git a/src/util/Compilers/IBMVAW32Defs.hpp b/src/util/Compilers/IBMVAW32Defs.hpp
index 5d1f4fe..dddbed9 100644
--- a/src/util/Compilers/IBMVAW32Defs.hpp
+++ b/src/util/Compilers/IBMVAW32Defs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:36 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:36:59 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:36 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:24 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -103,4 +106,4 @@
// versioning string. This is defined in XML4CDefs.hpp which is what this
// file is included into.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "VAWXML4C" XML4C_DLLVersionStr;
+const char* const XML4C_DLLName = "VAWXERCESC" XML4C_DLLVersionStr;
diff --git a/src/util/Compilers/MIPSproDefs.cpp b/src/util/Compilers/MIPSproDefs.cpp
new file mode 100644
index 0000000..1f5373e
--- /dev/null
+++ b/src/util/Compilers/MIPSproDefs.cpp
@@ -0,0 +1,83 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://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/>.
+ */
+
+/**
+ * $Log$
+ * Revision 1.1 1999/12/01 17:16:17 rahulj
+ * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+ *
+ */
+
+
+// ---------------------------------------------------------------------------
+// Includes
+// ---------------------------------------------------------------------------
+#include <util/Compilers/MIPSproDefs.hpp>
+#include <strings.h>
+
+
+int stricmp(const char* const str1, const char* const str2)
+{
+ return strcasecmp(str1, str2);
+}
+
+int strnicmp(const char* const str1, const char* const str2, const unsigned int count)
+{
+ if (count == 0)
+ return 0;
+
+ return strncasecmp( str1, str2, (size_t)count);
+}
diff --git a/src/util/Compilers/MIPSproDefs.hpp b/src/util/Compilers/MIPSproDefs.hpp
new file mode 100644
index 0000000..243c953
--- /dev/null
+++ b/src/util/Compilers/MIPSproDefs.hpp
@@ -0,0 +1,99 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://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/>.
+ */
+
+/**
+ * $Log$
+ * Revision 1.1 1999/12/01 17:16:17 rahulj
+ * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+ *
+ */
+
+
+// ---------------------------------------------------------------------------
+// Define these away for this platform
+// ---------------------------------------------------------------------------
+#define PLATFORM_EXPORT
+#define PLATFORM_IMPORT
+
+
+// ---------------------------------------------------------------------------
+// Define our version of the XML character
+// ---------------------------------------------------------------------------
+typedef unsigned short XMLCh;
+typedef unsigned short UTF16Ch;
+
+
+// ---------------------------------------------------------------------------
+// Define unsigned 16 and 32 bits integers
+// ---------------------------------------------------------------------------
+typedef unsigned short XMLUInt16;
+typedef unsigned int XMLUInt32;
+
+
+// ---------------------------------------------------------------------------
+// Provide prototypes for some string methods that are not always available
+// on all platforms.
+// ---------------------------------------------------------------------------
+int stricmp(const char* const str1, const char* const str2);
+int strnicmp(const char* const str1, const char* const str2, const unsigned int count);
+
+// ---------------------------------------------------------------------------
+// The name of the DSO that is built by the MIPSpro C++ version of the
+// system. We append a previously defined token which holds the DSO
+// versioning string. This is defined in XML4CDefs.hpp which is what this
+// file is included into.
+// ---------------------------------------------------------------------------
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/Makefile.in b/src/util/Compilers/Makefile.in
index fd503c9..77ac568 100644
--- a/src/util/Compilers/Makefile.in
+++ b/src/util/Compilers/Makefile.in
@@ -55,8 +55,15 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:07:36 twl
-# Initial revision
+# Revision 1.3 1999/12/01 17:16:17 rahulj
+# Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+#
+# Revision 1.2 1999/11/23 02:00:13 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:07:36 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:24 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +71,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -91,28 +99,32 @@
IBMVAW32Defs.hpp \
SunCCDefs.hpp \
SunKaiDefs.hpp \
+ MIPSproDefs.hpp \
TandemCCDefs.hpp \
VCPPDefs.hpp
-ifeq (${COMPILER},CC)
+ifeq (${CXX},CC)
ifeq (${PLATFORM},SOLARIS)
CPP_OBJECTS = SunCCDefs.o
endif
ifeq (${PLATFORM},HPUX)
CPP_OBJECTS = HPCCDefs.o
endif
+ ifeq (${PLATFORM},IRIX)
+ CPP_OBJECTS = MIPSproDefs.o
+ endif
endif
-ifeq (${COMPILER},xlC_r)
+ifeq (${CXX},xlC_r)
CPP_OBJECTS = CSetDefs.o
endif
-ifeq (${COMPILER},g++)
+ifeq (${CXX},g++)
CPP_OBJECTS = GCCDefs.o
endif
-ifeq (${COMPILER},aCC)
+ifeq (${CXX},aCC)
CPP_OBJECTS = HPCCDefs.o
endif
-ifeq (${COMPILER},c++)
+ifeq (${CXX},c++)
ifeq (${PLATFORM},OS390)
CPP_OBJECTS = MVSCPPDefs.o
endif
diff --git a/src/util/Compilers/SunCCDefs.hpp b/src/util/Compilers/SunCCDefs.hpp
index 570be6b..8a179e9 100644
--- a/src/util/Compilers/SunCCDefs.hpp
+++ b/src/util/Compilers/SunCCDefs.hpp
@@ -56,8 +56,18 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:39 twl
- * Initial revision
+ * Revision 1.4 1999/11/17 21:49:42 abagchi
+ * Added the definitions of XMLUInt16 and XMLUInt32
+ * PR:
+ * Obtained from:
+ * Submitted by:
+ * Reviewed by:
+ *
+ * Revision 1.3 1999/11/12 20:37:00 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:39 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:25 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -83,6 +93,11 @@
// ---------------------------------------------------------------------------
typedef unsigned short XMLCh;
+// ---------------------------------------------------------------------------
+// Define unsigned 16 and 32 bits integers
+// ---------------------------------------------------------------------------
+typedef unsigned short XMLUInt16;
+typedef unsigned int XMLUInt32;
// ---------------------------------------------------------------------------
// Force on the XML4C debug token if it was on in the build environment
@@ -116,4 +131,4 @@
// ---------------------------------------------------------------------------
// The name of the DLL that is built by the CC version of the system.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "libIXXML4C";
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/SunKaiDefs.hpp b/src/util/Compilers/SunKaiDefs.hpp
index 158d181..eada6e2 100644
--- a/src/util/Compilers/SunKaiDefs.hpp
+++ b/src/util/Compilers/SunKaiDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:40 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:37:01 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:40 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:25 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -112,7 +115,7 @@
// versioning string. This is defined in XML4CDefs.hpp which is what this
// file is included into.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "KAIXML4C" XML4C_DLLVersionStr;
+const char* const XML4C_DLLName = "KAIXERCESC" XML4C_DLLVersionStr;
// ---------------------------------------------------------------------------
diff --git a/src/util/Compilers/TandemCCDefs.hpp b/src/util/Compilers/TandemCCDefs.hpp
index 9fbf33e..2fb17bb 100644
--- a/src/util/Compilers/TandemCCDefs.hpp
+++ b/src/util/Compilers/TandemCCDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:40 twl
- * Initial revision
+ * Revision 1.3 1999/11/12 20:37:03 rahulj
+ * Changed library name to xerces-c.lib.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:40 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:25 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -117,4 +120,4 @@
// ---------------------------------------------------------------------------
// The name of the library that is built by the Tandem version of the system.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "libIXXML4C";
+const char* const XML4C_DLLName = "libxerces-c";
diff --git a/src/util/Compilers/VCPPDefs.hpp b/src/util/Compilers/VCPPDefs.hpp
index a0411c6..b9dd50e 100644
--- a/src/util/Compilers/VCPPDefs.hpp
+++ b/src/util/Compilers/VCPPDefs.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:41 twl
- * Initial revision
+ * Revision 1.2 1999/11/10 21:26:14 abagchi
+ * Changed the DLL name
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:41 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:45:25 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -113,4 +116,4 @@
// versioning string. This is defined in XML4CDefs.hpp which is what this
// file is included into.
// ---------------------------------------------------------------------------
-const char* const XML4C_DLLName = "IXXML4C" XML4C_DLLVersionStr;
+const char* const XML4C_DLLName = "xerces-c_" XML4C_DLLVersionStr;
diff --git a/src/util/Makefile.in b/src/util/Makefile.in
index 424c60a..e1186b4 100644
--- a/src/util/Makefile.in
+++ b/src/util/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:04:40 twl
-# Initial revision
+# Revision 1.2 1999/11/23 02:00:05 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:04:40 twl
+# Initial checkin
#
# Revision 1.4 1999/11/08 20:45:09 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
diff --git a/src/util/MsgLoaders/ICU/ICUMsgLoader.cpp b/src/util/MsgLoaders/ICU/ICUMsgLoader.cpp
index 066df4a..a54ca6e 100644
--- a/src/util/MsgLoaders/ICU/ICUMsgLoader.cpp
+++ b/src/util/MsgLoaders/ICU/ICUMsgLoader.cpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:23 twl
- * Initial revision
+ * Revision 1.2 1999/11/19 21:24:03 aruna1
+ * incorporated ICU 1.3.1 related changes int he file
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:23 twl
+ * Initial checkin
*
* Revision 1.4 1999/11/08 20:45:26 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -117,9 +120,9 @@
}
// Ok, lets try to create the bundle now
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
fBundle = new ResourceBundle(tmpPath, err);
- if (!SUCCESS(err))
+ if (!U_SUCCESS(err))
{
// <TBD> Need to panic again here?
}
diff --git a/src/util/MsgLoaders/ICU/Makefile.in b/src/util/MsgLoaders/ICU/Makefile.in
index 49a6a77..3975dfc 100644
--- a/src/util/MsgLoaders/ICU/Makefile.in
+++ b/src/util/MsgLoaders/ICU/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:07:25 twl
-# Initial revision
+# Revision 1.2 1999/11/23 02:00:18 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:07:25 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:26 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
diff --git a/src/util/MsgLoaders/InMemory/InMemMsgLoader.cpp b/src/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
index 4ea8e7b..77cd90b 100644
--- a/src/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
+++ b/src/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:19 twl
- * Initial revision
+ * Revision 1.2 1999/12/03 00:48:47 rahulj
+ * Removed byteswapping logic as its not needed for InMemory message loading.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:19 twl
+ * Initial checkin
*
* Revision 1.4 1999/11/08 20:45:26 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -123,11 +126,7 @@
const XMLCh* srcPtr = gXMLErrArray[msgToLoad - 1];
while (*srcPtr && (outPtr < endPtr))
{
- #if defined(ENDIANMODE_LITTLE)
*outPtr++ = *srcPtr++;
- #else
- *outPtr++ = BitOps::swapBytes(*srcPtr++);
- #endif
}
*outPtr = 0;
}
@@ -136,11 +135,7 @@
const XMLCh* srcPtr = gXMLExceptArray[msgToLoad - 1];
while (*srcPtr && (outPtr < endPtr))
{
- #if defined(ENDIANMODE_LITTLE)
*outPtr++ = *srcPtr++;
- #else
- *outPtr++ = BitOps::swapBytes(*srcPtr++);
- #endif
}
*outPtr = 0;
}
@@ -149,11 +144,7 @@
const XMLCh* srcPtr = gXMLValidityArray[msgToLoad - 1];
while (*srcPtr && (outPtr < endPtr))
{
- #if defined(ENDIANMODE_LITTLE)
*outPtr++ = *srcPtr++;
- #else
- *outPtr++ = BitOps::swapBytes(*srcPtr++);
- #endif
}
*outPtr = 0;
}
diff --git a/src/util/MsgLoaders/InMemory/Makefile.in b/src/util/MsgLoaders/InMemory/Makefile.in
index e74f099..bdc1a8c 100644
--- a/src/util/MsgLoaders/InMemory/Makefile.in
+++ b/src/util/MsgLoaders/InMemory/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:07:20 twl
-# Initial revision
+# Revision 1.2 1999/11/23 02:00:22 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:07:20 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:27 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
diff --git a/src/util/MsgLoaders/MsgCatalog/Makefile.in b/src/util/MsgLoaders/MsgCatalog/Makefile.in
index 74aabbe..35aa461 100644
--- a/src/util/MsgLoaders/MsgCatalog/Makefile.in
+++ b/src/util/MsgLoaders/MsgCatalog/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:07:16 twl
-# Initial revision
+# Revision 1.2 1999/11/23 02:00:25 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:07:16 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:27 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
diff --git a/src/util/Mutexes.cpp b/src/util/Mutexes.cpp
index 55d9732..4142de7 100644
--- a/src/util/Mutexes.cpp
+++ b/src/util/Mutexes.cpp
@@ -56,8 +56,12 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:04:45 twl
- * Initial revision
+ * Revision 1.2 1999/12/02 19:42:35 roddey
+ * Got rid of attempts to fancy/schmanzy lazy eval mutex implementation and just
+ * force anyone who needs a global/static mutex to lazy eval that themselves.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:04:45 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:09 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -82,6 +86,8 @@
fHandle(0)
{
+ // Ask the per-platform driver to make us a mutex
+ fHandle = XMLPlatformUtils::makeMutex();
}
@@ -100,12 +106,6 @@
// ---------------------------------------------------------------------------
void XMLMutex::lock()
{
- if (!fHandle)
- {
- void* tmpHandle = XMLPlatformUtils::makeMutex();
- if (XMLPlatformUtils::compareAndSwap(&fHandle, tmpHandle, 0) != 0)
- XMLPlatformUtils::closeMutex(tmpHandle);
- }
XMLPlatformUtils::lockMutex(fHandle);
}
diff --git a/src/util/Platforms/AIX/AIXPlatformUtils.cpp b/src/util/Platforms/AIX/AIXPlatformUtils.cpp
index 8f408ab..e0b7d61 100644
--- a/src/util/Platforms/AIX/AIXPlatformUtils.cpp
+++ b/src/util/Platforms/AIX/AIXPlatformUtils.cpp
@@ -56,8 +56,17 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:11 twl
- * Initial revision
+ * Revision 1.4 1999/12/03 02:35:22 aruna1
+ * mutex recursive attribute introduced in makeMutex
+ *
+ * Revision 1.3 1999/12/01 02:55:42 aruna1
+ * Added panic calls and modified makeTransService for AIX
+ *
+ * Revision 1.2 1999/11/23 02:00:34 rahulj
+ * Code now works under HPUX 11. Tested inmemory message loader.Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:11 twl
+ * Initial checkin
*
* Revision 1.6 1999/11/08 20:45:29 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -73,10 +82,6 @@
#include <sys/atomic_op.h>
#endif
-#include <util/PlatformUtils.hpp>
-#include <util/RuntimeException.hpp>
-#include <util/Janitor.hpp>
-#include <util/XMLString.hpp>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
@@ -86,6 +91,11 @@
#include <unistd.h>
#include <sys/ldr.h>
+#include <util/PlatformUtils.hpp>
+#include <util/RuntimeException.hpp>
+#include <util/Janitor.hpp>
+#include <util/XMLString.hpp>
+
#if defined (XML_USE_ICU_TRANSCODER)
#include <util/Transcoders/ICU/ICUTransService.hpp>
#else // use native transcoder
@@ -145,7 +155,7 @@
// Here you would also set the fgLibLocation global variable
// XMLPlatformUtils::fgLibLocation is the variable to be set
- static const char * libraryPath = 0;
+ char * libraryPath = 0;
char libName[256];
strcpy(libName, XML4C_DLLName);
@@ -156,16 +166,12 @@
char buf[bufLen]; // it's in the stack anyway
if (load(libName, L_LIBPATH_EXEC, ".") == NULL) {
- char errorBuffer[1024];
- sprintf(errorBuffer, "Could not load library '%s'", libName);
- perror (errorBuffer);
- exit(-1);
+ panic( XMLPlatformUtils::Panic_CantFindLib );
}
int retval = loadquery(L_GETINFO, buf, bufLen);
if (retval == -1) {
- fprintf(stderr, "Unable to load library '%s'.\n", libName);
- exit(-1);
+ panic( XMLPlatformUtils::Panic_CantFindLib );
}
struct ld_info* oneBufPtr = (struct ld_info*)buf;
@@ -198,7 +204,7 @@
if (XMLPlatformUtils::fgLibLocation == NULL)
{
- panic( XMLPlatformUtils::Panic_NoTransService );
+ panic( XMLPlatformUtils::Panic_CantFindLib );
}
}
@@ -217,9 +223,8 @@
// in the .\Intl subdirectory under this DLL.
//
- static const char * xml4cIntlDirEnvVar = "ICU_DATA";
- static const char * sharedLibEnvVar = "LIBPATH";
- static char * intlPath = 0;
+ static const char * xml4cIntlDirEnvVar = "ICU_DATA";
+ char * intlPath = 0;
char* envVal = getenv(xml4cIntlDirEnvVar);
//check if environment variable is set
@@ -235,88 +240,27 @@
strcat((char *) intlPath, "/");
}
ICUTransService::setICUPath(intlPath);
- if (intlPath != NULL) delete intlPath;
+ delete intlPath;
return new ICUTransService;
}
- //
- // If we did not find the environment var, so lets try to go the auto
- // search route.
+ //
+ // If the environment variable ICU_DATA is not set, assume that the
+ // converter files are stored relative to the Xerces-C library.
//
- char libName[256];
- strcpy(libName, XML4C_DLLName);
- strcat(libName, gXML4CVersionStr);
- strcat(libName, ".a");
+ unsigned int lent = strlen(XMLPlatformUtils::fgLibLocation) +
+ strlen("/icu/data/") + 1;
+ intlPath = new char[lent];
+ strcpy(intlPath, XMLPlatformUtils::fgLibLocation);
+ strcat(intlPath, "/icu/data/");
- char* libEnvVar = getenv(sharedLibEnvVar);
- char* libPath = NULL;
-
- if (libEnvVar == NULL)
- {
- fprintf(stderr,
- "Error: Could not locate i18n converter files.\n");
- fprintf(stderr,
- "Environment variable '%s' is not defined.\n", sharedLibEnvVar);
- fprintf(stderr,
- "Environment variable 'ICU_DATA' is also not defined.\n");
- exit(-1);
- }
-
- //
- // Its necessary to create a copy because strtok() modifies the
- // string as it returns tokens. We don't want to modify the string
- // returned to by getenv().
- //
-
- libPath = new char[strlen(libEnvVar) + 1];
- strcpy(libPath, libEnvVar);
-
- //First do the searching process for the first directory listing
- //
- char* allPaths = libPath;
- char* libPathName;
-
- while ((libPathName = strtok(allPaths, ":")) != NULL)
- {
- FILE* dummyFptr = 0;
- allPaths = 0;
-
- char* libfile = new char[strlen(libPathName) + strlen(libName) + 2];
- strcpy(libfile, libPathName);
- strcat(libfile, "/");
- strcat(libfile, libName);
-
- dummyFptr = (FILE *) fopen(libfile, "rb");
- delete [] libfile;
- if (dummyFptr != NULL)
- {
- fclose(dummyFptr);
- intlPath =
- new char[strlen(libPathName)+ strlen("/icu/data/")+1];
- strcpy((char *) intlPath, libPathName);
- strcat((char *) intlPath, "/icu/data/");
- break;
- }
-
- } // while
-
- delete libPath;
ICUTransService::setICUPath(intlPath);
-
- if (intlPath == NULL)
- {
- panic( XMLPlatformUtils::Panic_NoTransService );
- }
- if (intlPath != NULL) delete intlPath;
+ delete intlPath;
return new ICUTransService;
}
-#elif defined (XML_USE_ICONV_TRANSCODER)
-{
- return new IconvTransService;
-}
#else
{
return new IconvTransService;
@@ -344,7 +288,7 @@
catch(...)
{
- panic( XMLPlatformUtils::Panic_NoDefTranscoder );
+ panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
}
return retVal;
}
@@ -354,17 +298,26 @@
// ---------------------------------------------------------------------------
void XMLPlatformUtils::panic(const PanicReasons reason)
{
- //
+//
// We just print a message and exit
//
- printf("The XML4C system could not be initialized.\n");
- printf("The most likely reason for this failure is the inability to find\n");
- printf("the international encoding files. By default, the encoding files\n");
- printf("have the extension .cnv and exist in a directory icu/data relative\n");
- printf("to the XML4C shared library. If you have kept the converter files\n");
- printf("in a different location, you need to set up an environment variable\n");
- printf("called ICU_DATA which directly points to the directory where the\n");
- printf("encoding files are kept.\n");
+
+ fprintf(stderr,
+ "The Xerces-C system could not be initialized.\n");
+ fprintf(stderr,
+ "If you are using ICU, then the most likely reason for this failure\n");
+ fprintf(stderr,
+ "is the inability to find the ICU coverter files. The converter files\n");
+ fprintf(stderr,
+ "have the extension .cnv and exist in a directory 'icu/data' relative\n");
+ fprintf(stderr,
+ "to the Xerces-C shared library. If you have installed the converter files\n");
+ fprintf(stderr,
+ "in a different location, you need to set up the environment variable\n");
+ fprintf(stderr,
+ "'ICU_DATA' to point directly to the directory containing the\n");
+ fprintf(stderr,
+ "converter files.\n");
exit(-1);
}
@@ -556,16 +509,21 @@
void* XMLPlatformUtils::makeMutex()
{
pthread_mutex_t* mutex = new pthread_mutex_t;
- if (mutex == NULL)
+ if (mutex == NULL)
{
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::Mutex_CouldNotCreate);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotCreate);
}
-
- if (pthread_mutex_init(mutex, NULL))
+ pthread_mutexattr_t* attr = new pthread_mutexattr_t;
+ pthread_mutexattr_init(attr);
+ pthread_mutexattr_setkind_np(attr, MUTEX_RECURSIVE_NP);
+ if (pthread_mutex_init(mutex, attr))
{
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::Mutex_CouldNotCreate);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotCreate);
}
-
+ pthread_mutexattr_destroy(attr);
+ delete attr;
return (void*)(mutex);
}
void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
diff --git a/src/util/Platforms/HPUX/HPPlatformUtils.cpp b/src/util/Platforms/HPUX/HPPlatformUtils.cpp
index 8236d9a..2de293e 100644
--- a/src/util/Platforms/HPUX/HPPlatformUtils.cpp
+++ b/src/util/Platforms/HPUX/HPPlatformUtils.cpp
@@ -56,8 +56,12 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:05 twl
- * Initial revision
+ * Revision 1.2 1999/11/23 02:00:44 rahulj
+ * Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:05 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:45:29 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -84,25 +88,28 @@
#include <libgen.h>
#include <string.h>
#include <unistd.h>
-
#include <util/XMLString.hpp>
#include <util/XMLUni.hpp>
-#if defined (XML_USE_ICU_TRANSCODER)
+
+#if defined(XML_USE_ICU_TRANSCODER)
#include <util/Transcoders/ICU/ICUTransService.hpp>
-#else // use native transcoder
+#else
+ // Use native transcoder. Same as -DXML_USE_NATIVE_TRANSCODER
#include <util/Transcoders/Iconv/IconvTransService.hpp>
#endif
-#if defined (XML_USE_ICU_MESSAGELOADER)
+
+#if defined(XML_USE_ICU_MESSAGELOADER)
#include <util/MsgLoaders/ICU/ICUMsgLoader.hpp>
-#elif defined (XML_USE_ICONV_MESSAGELOADER)
- #include <util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp>
-#else // use In-memory message loader
+
+#else
+ // Same as -DXML_USE_INMEM_MESSAGELOADER
#include <util/MsgLoaders/InMemory/InMemMsgLoader.hpp>
#endif
+
#if !defined(XML_HPUX_KAICC)
#include <sys/timeb.h> // does not work with KAI compiler
#endif
@@ -191,6 +198,44 @@
// circular dependency between compareAndExchange() and
// mutex creation that must be broken.
atomicOpsMutex.fHandle = XMLPlatformUtils::makeMutex();
+
+
+ // Here you would also set the fgLibLocation global variable
+ // XMLPlatformUtils::fgLibLocation is the variable to be set
+
+ char* libraryPath = 0;
+ char libName[256];
+ shl_descriptor* desc = NULL;
+ int ret = 0;
+ int index = 1;
+
+ strcpy(libName, XML4C_DLLName);
+ strcat(libName, gXML4CVersionStr);
+ strcat(libName, ".sl");
+
+ ret = shl_get(index, &desc);
+ while (ret != -1)
+ {
+ char* fileName = desc->filename;
+ if (strstr(fileName, libName) != NULL)
+ {
+ char* lastSlash = strrchr(fileName, '/');
+ size_t chars_to_extract = lastSlash - fileName;
+ libraryPath = new char[chars_to_extract + 1];
+ strncpy(libraryPath, fileName, chars_to_extract);
+ libraryPath[chars_to_extract] = 0;
+ break;
+ }
+ index++;
+ ret = shl_get(index, &desc);
+ }
+
+ XMLPlatformUtils::fgLibLocation = libraryPath;
+
+ if (XMLPlatformUtils::fgLibLocation == NULL)
+ {
+ panic(XMLPlatformUtils::Panic_CantFindLib);
+ }
}
@@ -211,15 +256,14 @@
{
#if defined (XML_USE_ICU_MESSAGELOADER)
retVal = new ICUMsgLoader(msgDomain);
-#elif defined (XML_USE_ICONV_MESSAGELOADER)
- retVal = new MsgCatalogLoader(msgDomain);
#else
+ // same as -DXML_USE_INMEM_MESSAGELOADER
retVal = new InMemMsgLoader(msgDomain);
#endif
}
catch(...)
{
- panic(XMLPlatformUtils::Panic_NoDefTranscoder);
+ panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
}
return retVal;
}
@@ -240,6 +284,7 @@
//
static const char * xml4cIntlDirEnvVar = "ICU_DATA";
+ char * intlPath = 0;
//
// Check if environment variable 'ICU_DATA' is set.
@@ -250,7 +295,7 @@
if (envVal != NULL)
{
unsigned int pathLen = strlen(envVal);
- char* intlPath = new char[pathLen + 2];
+ intlPath = new char[pathLen + 2];
strcpy((char *) intlPath, envVal);
if (envVal[pathLen - 1] != '/')
@@ -265,63 +310,31 @@
}
//
- // If we did not find the environment var, so lets try to go the auto
- // search route.
+ // If the environment variable ICU_DATA is not set, assume that the
+ // converter files are stored relative to the Xerces-C library.
//
- char libName[256];
- strcpy(libName, XML4C_DLLName);
- strcat(libName, gXML4CVersionStr);
- strcat(libName, ".sl");
+ unsigned int lent = strlen(XMLPlatformUtils::fgLibLocation) +
+ strlen("/icu/data/") + 1;
+ intlPath = new char[lent];
+ strcpy(intlPath, XMLPlatformUtils::fgLibLocation);
+ strcat(intlPath, "/icu/data/");
- shl_descriptor* desc = NULL;
- int ret = 0;
- int index = 1;
+ ICUTransService::setICUPath(intlPath);
+ delete intlPath;
- ret = shl_get(index, &desc);
- while (ret != -1)
- {
- char* fileName = desc->filename;
- if (strstr(fileName, libName) != NULL)
- {
- char* lastSlash = strrchr(fileName, '/');
- size_t chars_to_extract = lastSlash - fileName;
- char *libPathName = new char[chars_to_extract + 1];
- strncpy(libPathName, fileName, chars_to_extract);
- libPathName[chars_to_extract] = 0;
- fgIntlPath = new char[strlen(libPathName)+ strlen("/icu/data/")+1];
- strcpy((char *) fgIntlPath, libPathName);
- strcat((char *) fgIntlPath, "/icu/data/");
- delete libPathName;
- break;
- }
- index++;
- ret = shl_get(index, &desc);
- }
-
- if (fgIntlPath == NULL)
- {
- fprintf(stderr,
- "Fatal error: Could not find /icu/data relative to %s \n",
- libName);
- fprintf(stderr,
- " while trying to auto detect the location ");
- fprintf(stderr, "of the converter files.\n");
- fprintf(stderr,
- " And the environment variable 'ICU_DATA' is ");
- fprintf(stderr, "not defined.\n");
- panic(XMLPlatformUtils::Panic_NoTransService);
- }
-
- ICUTransService::setICUPath(fgIntlPath);
return new ICUTransService;
-#else // Use Native transcoding service
+#else
+ // Use native transcoding services.
+ // same as -DXML_USE_INMEM_MESSAGELOADER
return new IconvTransService;
#endif
-}
+
+} // XMLPlatformUtils::makeTransService
+
// ---------------------------------------------------------------------------
@@ -332,22 +345,23 @@
//
// We just print a message and exit
//
+
fprintf(stderr,
- "The XML4C system could not be initialized.\n");
+ "The Xerces-C system could not be initialized.\n");
fprintf(stderr,
- "The most likely reason for this failure is the inability to find\n");
+ "If you are using ICU, then the most likely reason for this failure\n");
fprintf(stderr,
- "the ICU coverter files, if you are using ICU. The converter files\n");
+ "is the inability to find the ICU coverter files. The converter files\n");
fprintf(stderr,
- "have the extension .cnv and exist in a directory 'icu/data' relative\n");
+ "have the extension .cnv and exist in a directory 'icu/data' relative\n");
fprintf(stderr,
- "to the XML4C shared library. If you have installed the converter files\n");
+ "to the Xerces-C shared library. If you have installed the converter files\n");
fprintf(stderr,
- "in a different location, you need to set up the environment variable\n");
+ "in a different location, you need to set up the environment variable\n");
fprintf(stderr,
- "'ICU_DATA' to point directly to the directory containing the\n");
+ "'ICU_DATA' to point directly to the directory containing the\n");
fprintf(stderr,
- "converter files.\n");
+ "converter files.\n");
exit(-1);
}
@@ -477,12 +491,12 @@
// as Unicode always
//
char* newSrc = XMLString::transcode(srcPath);
+ ArrayJanitor<char> janText(newSrc);
// Use a local buffer that is big enough for the largest legal path.
// Note #1186: dirName() is not thread safe.
char* tmpPath = dirname(newSrc); // dirname() never returns NULL.
- delete [] newSrc;
char* newXMLString = new char[strlen(tmpPath) + 2];
ArrayJanitor<char> newJanitor(newXMLString);
@@ -516,8 +530,36 @@
// Mutex methods
// -----------------------------------------------------------------------
-#if !defined (APP_NO_THREADS)
+#if !defined(APP_NO_THREADS)
+void* XMLPlatformUtils::makeMutex()
+{
+ pthread_mutex_t* mutex = new pthread_mutex_t;
+ pthread_mutexattr_t* attr = new pthread_mutexattr_t;
+
+#if defined(XML_USE_DCE)
+ pthread_mutexattr_create(attr);
+ pthread_mutexattr_setkind_np(attr, MUTEX_RECURSIVE_NP);
+ if (pthread_mutex_init(mutex, *attr))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotCreate);
+ }
+ pthread_mutexattr_delete(attr);
+#else
+ pthread_mutexattr_init(attr);
+ pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE);
+ if (pthread_mutex_init(mutex, attr))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotCreate);
+ }
+ pthread_mutexattr_destroy(attr);
+#endif
+ delete attr;
+
+ return (void*) mutex;
+}
void XMLPlatformUtils::closeMutex(void* const mtxHandle)
{
@@ -543,18 +585,6 @@
}
}
-void* XMLPlatformUtils::makeMutex()
-{
- pthread_mutex_t* mutex = new pthread_mutex_t;
-
- if (pthread_mutex_init(mutex, pthread_mutexattr_default))
- {
- ThrowXML(XMLPlatformUtilsException,
- XML4CExcepts::Mutex_CouldNotCreate);
- }
- return (void*) mutex;
-}
-
void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
{
if (mtxHandle != NULL)
diff --git a/src/util/Platforms/IRIX/IRIXDefs.hpp b/src/util/Platforms/IRIX/IRIXDefs.hpp
new file mode 100644
index 0000000..b890b39
--- /dev/null
+++ b/src/util/Platforms/IRIX/IRIXDefs.hpp
@@ -0,0 +1,71 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://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/>.
+ */
+
+/**
+ * $Log$
+ * Revision 1.1 1999/12/01 17:16:17 rahulj
+ * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+ *
+ */
+
+
+// ---------------------------------------------------------------------------
+// IRIX runs in big endian mode
+// ---------------------------------------------------------------------------
+
+#define ENDIANMODE_BIG
+typedef void* FileHandle;
+
diff --git a/src/util/Platforms/IRIX/IRIXPlatformUtils.cpp b/src/util/Platforms/IRIX/IRIXPlatformUtils.cpp
new file mode 100644
index 0000000..b7ea443
--- /dev/null
+++ b/src/util/Platforms/IRIX/IRIXPlatformUtils.cpp
@@ -0,0 +1,672 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://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/>.
+ */
+
+/**
+ * $Log$
+ * Revision 1.1 1999/12/01 17:16:18 rahulj
+ * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+ *
+ */
+
+
+// ---------------------------------------------------------------------------
+// Includes
+// ---------------------------------------------------------------------------
+
+#ifndef APP_NO_THREADS
+#include <pthread.h>
+#endif
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <libgen.h>
+#include <sys/timeb.h>
+#include <string.h>
+#include <util/PlatformUtils.hpp>
+#include <util/RuntimeException.hpp>
+#include <util/Janitor.hpp>
+#include <util/Mutexes.hpp>
+#include <util/XMLString.hpp>
+#include <util/XMLUni.hpp>
+
+
+#if defined(XML_USE_ICU_TRANSCODER)
+ #include <util/Transcoders/ICU/ICUTransService.hpp>
+#else
+ // Use native transcoder. Same as -DXML_USE_NATIVE_TRANSCODER
+ #include <util/Transcoders/Iconv/IconvTransService.hpp>
+#endif
+
+
+#if defined(XML_USE_ICU_MESSAGELOADER)
+ #include <util/MsgLoaders/ICU/ICUMsgLoader.hpp>
+
+#else
+ // Same as -DXML_USE_INMEM_MESSAGELOADER
+ #include <util/MsgLoaders/InMemory/InMemMsgLoader.hpp>
+#endif
+
+
+
+// ---------------------------------------------------------------------------
+// Local Methods
+// ---------------------------------------------------------------------------
+
+static void WriteCharStr( FILE* stream, const char* const toWrite)
+{
+ if (fputs(toWrite, stream) == EOF)
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Strm_StdErrWriteFailure);
+ }
+}
+
+static void WriteUStrStdErr( const XMLCh* const toWrite)
+{
+ char* tmpVal = XMLString::transcode(toWrite);
+ ArrayJanitor<char> janText(tmpVal);
+ if (fputs(tmpVal, stderr) == EOF)
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Strm_StdErrWriteFailure);
+ }
+}
+
+static void WriteUStrStdOut( const XMLCh* const toWrite)
+ {
+ char* tmpVal = XMLString::transcode(toWrite);
+ ArrayJanitor<char> janText(tmpVal);
+ if (fputs(tmpVal, stdout) == EOF)
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Strm_StdOutWriteFailure);
+ }
+}
+
+XMLNetAccessor* XMLPlatformUtils::makeNetAccessor()
+{
+ return 0;
+}
+
+
+// -----------------------------------------------------------------------
+// Standard out/error support
+// -----------------------------------------------------------------------
+
+void XMLPlatformUtils::writeToStdErr(const char* const toWrite)
+{
+ WriteCharStr(stderr, toWrite);
+}
+void XMLPlatformUtils::writeToStdErr(const XMLCh* const toWrite)
+{
+ WriteUStrStdErr(toWrite);
+}
+void XMLPlatformUtils::writeToStdOut(const XMLCh* const toWrite)
+{
+ WriteUStrStdOut(toWrite);
+}
+void XMLPlatformUtils::writeToStdOut(const char* const toWrite)
+{
+ WriteCharStr(stdout, toWrite);
+}
+
+
+// ---------------------------------------------------------------------------
+// XMLPlatformUtils: Platform init method
+// ---------------------------------------------------------------------------
+
+static XMLMutex atomicOpsMutex;
+
+
+
+void XMLPlatformUtils::platformInit()
+{
+ //
+ // The atomicOps mutex needs to be created early.
+ // Normally, mutexes are created on first use, but there is a
+ // circular dependency between compareAndExchange() and
+ // mutex creation that must be broken.
+ atomicOpsMutex.fHandle = XMLPlatformUtils::makeMutex();
+
+ // Here you would also set the fgLibLocation global variable
+ // XMLPlatformUtils::fgLibLocation is the variable to be set
+
+ static const char* libEnvVar = "LD_LIBRARY_PATH";
+ char* libraryPath = 0;
+ char libName[256];
+
+ // Construct the library name from the global variables
+
+ strcpy(libName, XML4C_DLLName);
+ strcat(libName, gXML4CVersionStr);
+ strcat(libName, ".so");
+
+ char* libEnvVar = getenv(sharedLibEnvVar);
+ char* libPath = NULL;
+
+ if (libEnvVar == NULL)
+ {
+ panic(XMLPlatformUtils::Panic_CantFindLib);
+ }
+
+ //
+ // Its necessary to create a copy because strtok() modifies the
+ // string as it returns tokens. We don't want to modify the string
+ // returned to by getenv().
+ //
+
+ libPath = new char[strlen(libEnvVar) + 1];
+ strcpy(libPath, libEnvVar);
+
+
+ // First do the searching process for the first directory listing
+
+ char* allPaths = libPath;
+ char* libPathName;
+
+ while ((libPathName = strtok(allPaths, ":")) != NULL)
+ {
+ FILE* dummyFptr = 0;
+ allPaths = 0;
+
+ char* libfile = new char[strlen(libPathName) + strlen(libName) + 2];
+ strcpy(libfile, libPathName);
+ strcat(libfile, "/");
+ strcat(libfile, libName);
+
+ dummyFptr = (FILE *) fopen(libfile, "rb");
+ delete [] libfile;
+ if (dummyFptr != NULL)
+ {
+ fclose(dummyFptr);
+ libraryPath = new char[strlen(libPathName)+1];
+ strcpy((char *) libraryPath, libPathName);
+ break;
+ }
+
+ } // while
+
+ delete libPath;
+
+ XMLPlatformUtils::fgLibLocation = libraryPath;
+
+ if (XMLPlatformUtils::fgLibLocation == NULL)
+ {
+ panic(XMLPlatformUtils::Panic_CantFindLib);
+ }
+
+}
+
+
+// ---------------------------------------------------------------------------
+// XMLPlatformUtils: Private Static Methods
+// ---------------------------------------------------------------------------
+
+//
+// This method is called by the platform independent part of this class
+// when client code asks to have one of the supported message sets loaded.
+//
+
+XMLMsgLoader* XMLPlatformUtils::loadAMsgSet(const XMLCh* const msgDomain)
+{
+ XMLMsgLoader* retVal;
+ try
+ {
+#if defined (XML_USE_ICU_MESSAGELOADER)
+ retVal = new ICUMsgLoader(msgDomain);
+#else
+ // same as -DXML_USE_INMEM_MESSAGELOADER
+ retVal = new InMemMsgLoader(msgDomain);
+#endif
+ }
+
+ catch(...)
+ {
+ panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
+ }
+ return retVal;
+}
+
+
+//
+// This method is called very early in the bootstrapping process. This guy
+// must create a transcoding service and return it. It cannot use any string
+// methods, any transcoding services, throw any exceptions, etc... It just
+// makes a transcoding service and returns it, or returns zero on failure.
+//
+
+XMLTransService* XMLPlatformUtils::makeTransService()
+{
+#if defined (XML_USE_ICU_TRANSCODER)
+ //
+ // We need to figure out the path to the Intl converter files.
+ //
+
+ static const char * icuDataEnvVar = "ICU_DATA";
+ char * intlPath = 0;
+
+ char* envVal = getenv(icuDataEnvVar);
+
+ // Check if environment variable is set...
+ if (envVal != NULL)
+ {
+ unsigned int pathLen = strlen(envVal);
+ intlPath = new char[pathLen + 2];
+
+ strcpy((char *) intlPath, envVal);
+ if (envVal[pathLen - 1] != '/')
+ {
+ strcat((char *) intlPath, "/");
+ }
+
+ ICUTransService::setICUPath(intlPath);
+ delete intlPath;
+
+ return new ICUTransService;
+ }
+
+ //
+ // If the environment variable ICU_DATA is not set, assume that the
+ // converter files are stored relative to the Xerces-C library.
+ //
+
+ unsigned int lent = strlen(XMLPlatformUtils::fgLibLocation) +
+ strlen("/icu/data/") + 1;
+ intlPath = new char[lent];
+ strcpy(intlPath, XMLPlatformUtils::fgLibLocation);
+ strcat(intlPath, "/icu/data/");
+
+ ICUTransService::setICUPath(intlPath);
+ delete intlPath;
+
+ return new ICUTransService;
+
+
+#else
+
+ // Use native transcoding services.
+ // same as -DXML_USE_INMEM_MESSAGELOADER
+ return new IconvTransService;
+
+#endif
+
+} // XMLPlatformUtils::makeTransService
+
+
+
+// ---------------------------------------------------------------------------
+// XMLPlatformUtils: The panic method
+// ---------------------------------------------------------------------------
+void XMLPlatformUtils::panic(const PanicReasons reason)
+{
+ //
+ // We just print a message and exit
+ //
+
+ fprintf(stderr,
+ "The Xerces-C system could not be initialized.\n");
+ fprintf(stderr,
+ "If you are using ICU, then the most likely reason for this failure\n");
+ fprintf(stderr,
+ "is the inability to find the ICU coverter files. The converter files\n");
+ fprintf(stderr,
+ "have the extension .cnv and exist in a directory 'icu/data' relative\n");
+ fprintf(stderr,
+ "to the Xerces-C shared library. If you have installed the converter files\n");
+ fprintf(stderr,
+ "in a different location, you need to set up the environment variable\n");
+ fprintf(stderr,
+ "'ICU_DATA' to point directly to the directory containing the\n");
+ fprintf(stderr,
+ "converter files.\n");
+
+ exit(-1);
+}
+
+
+// ---------------------------------------------------------------------------
+// XMLPlatformUtils: File Methods
+// ---------------------------------------------------------------------------
+unsigned int XMLPlatformUtils::curFilePos(FileHandle theFile)
+{
+ int curPos = ftell( (FILE*)theFile);
+ if (curPos == -1)
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotGetSize);
+
+ return (unsigned int)curPos;
+}
+
+void XMLPlatformUtils::closeFile(FileHandle theFile)
+{
+ if (fclose((FILE*)theFile))
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotCloseFile);
+}
+
+unsigned int XMLPlatformUtils::fileSize(FileHandle theFile)
+{
+ // Get the current position
+ long int curPos = ftell((FILE*) theFile);
+ if (curPos == -1)
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotGetCurPos);
+
+ // Seek to the end and save that value for return
+ if (fseek((FILE*) theFile, 0, SEEK_END))
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotSeekToEnd);
+
+ long int retVal = ftell((FILE*)theFile);
+ if (retVal == -1)
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotSeekToEnd);
+
+ // And put the pointer back
+
+ if (fseek( (FILE*)theFile, curPos, SEEK_SET) )
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotSeekToPos);
+
+ return (unsigned int)retVal;
+}
+
+FileHandle XMLPlatformUtils::openFile(const unsigned short* const fileName)
+{
+ const char* tmpFileName = XMLString::transcode(fileName);
+ ArrayJanitor<char> janText((char*)tmpFileName);
+ FileHandle retVal = (FILE*)fopen( tmpFileName , "rb" );
+
+ if (retVal == NULL)
+ return 0;
+ return retVal;
+}
+
+
+
+FileHandle XMLPlatformUtils::openStdInHandle()
+{
+ return (FileHandle) fdopen(dup(0), "rb");
+}
+
+
+unsigned int
+XMLPlatformUtils::readFileBuffer( FileHandle theFile
+ , const unsigned int toRead
+ , XMLByte* const toFill)
+{
+ size_t noOfItemsRead = fread((void*) toFill, 1, toRead, (FILE*)theFile);
+
+ if(ferror((FILE*)theFile))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotReadFromFile);
+ }
+
+ return (unsigned int)noOfItemsRead;
+}
+
+
+void XMLPlatformUtils::resetFile(FileHandle theFile)
+{
+ // Seek to the start of the file
+ if (fseek((FILE*)theFile, 0, SEEK_SET))
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotResetFile);
+}
+
+
+// ---------------------------------------------------------------------------
+// XMLPlatformUtils: Timing Methods
+// ---------------------------------------------------------------------------
+
+unsigned long XMLPlatformUtils::getCurrentMillis()
+{
+ timeb aTime;
+ ftime(&aTime);
+ return (unsigned long)(aTime.time*1000 + aTime.millitm);
+
+}
+
+
+XMLCh* XMLPlatformUtils::getBasePath(const XMLCh* const srcPath)
+{
+
+ //
+ // NOTE: THe path provided has always already been opened successfully,
+ // so we know that its not some pathological freaky path. It comes in
+ // in native format, and goes out as Unicode always
+ //
+ char* newSrc = XMLString::transcode(srcPath);
+ ArrayJanitor<char> janText(newSrc);
+
+ // Use a local buffer that is big enough for the largest legal path
+ // Note #1186: dirName() is not thread safe.
+ char* tmpPath = dirname(newSrc);
+ if (!tmpPath)
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotGetBasePathName);
+ }
+
+ char* newXMLString = new char [strlen(tmpPath) +2];
+ ArrayJanitor<char> newJanitor(newXMLString);
+ strcpy(newXMLString, tmpPath);
+ strcat(newXMLString , "/");
+
+ // Return a copy of the path, in Unicode format
+ return XMLString::transcode(newXMLString);
+}
+
+
+bool XMLPlatformUtils::isRelative(const XMLCh* const toCheck)
+{
+ // Check for pathological case of empty path
+ if (!toCheck[0])
+ return false;
+
+ //
+ // If it starts with a slash, then it cannot be relative. This covers
+ // both something like "\Test\File.xml" and an NT Lan type remote path
+ // that starts with a node like "\\MyNode\Test\File.xml".
+ //
+ if (toCheck[0] == XMLCh('/'))
+ return false;
+
+ // Else assume its a relative path
+ return true;
+}
+
+
+// -----------------------------------------------------------------------
+// Mutex methods
+// -----------------------------------------------------------------------
+
+#if !defined(APP_NO_THREADS)
+
+void* XMLPlatformUtils::makeMutex()
+{
+ pthread_mutex_t* mutex = new pthread_mutex_t;
+ pthread_mutexattr_t* attr = new pthread_mutexattr_t;
+ pthread_mutexattr_init(attr);
+ pthread_mutexattr_setkind_np(attr, PTHREAD_MUTEX_RECURSIVE_NP);
+ if (pthread_mutex_init(mutex, attr))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotCreate);
+ }
+ pthread_mutexattr_destroy(attr);
+ delete attr;
+ return (void*)(mutex);
+
+}
+
+
+void XMLPlatformUtils::closeMutex(void* const mtxHandle)
+{
+ if (mtxHandle != NULL)
+ {
+ if (pthread_mutex_destroy((pthread_mutex_t*) mtxHandle))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotDestroy);
+ }
+ delete mtxHandle;
+ }
+}
+
+
+void XMLPlatformUtils::lockMutex(void* const mtxHandle)
+{
+ if (mtxHandle != NULL)
+ {
+ if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotLock);
+ }
+ }
+}
+
+
+void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
+{
+ if (mtxHandle != NULL)
+ {
+ if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotUnlock);
+ }
+ }
+}
+
+
+// -----------------------------------------------------------------------
+// Miscellaneous synchronization methods
+// -----------------------------------------------------------------------
+
+void* XMLPlatformUtils::compareAndSwap(void** toFill
+ , const void* const newValue
+ , const void* const toCompare)
+{
+ XMLMutexLock lockMutex(&atomicOpsMutex);
+
+ void *retVal = *toFill;
+ if (*toFill == toCompare)
+ *toFill = (void *)newValue;
+
+ return retVal;
+}
+
+int XMLPlatformUtils::atomicIncrement(int &location)
+{
+ XMLMutexLock localLock(&atomicOpsMutex);
+
+ return ++location;
+}
+
+int XMLPlatformUtils::atomicDecrement(int &location)
+{
+ XMLMutexLock localLock(&atomicOpsMutex);
+
+ return --location;
+}
+
+#else // #if !defined (APP_NO_THREADS)
+
+void* XMLPlatformUtils::makeMutex()
+{
+ return 0;
+}
+
+void XMLPlatformUtils::closeMutex(void* const mtxHandle)
+{
+}
+
+void XMLPlatformUtils::lockMutex(void* const mtxHandle)
+{
+}
+
+void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
+{
+}
+
+void* XMLPlatformUtils::compareAndSwap (void** toFill,
+ const void* const newValue,
+ const void* const toCompare)
+{
+ void *retVal = *toFill;
+ if (*toFill == toCompare)
+ *toFill = (void *)newValue;
+ return retVal;
+}
+
+int XMLPlatformUtils::atomicIncrement(int &location)
+{
+ return ++location;
+}
+
+int XMLPlatformUtils::atomicDecrement(int &location)
+{
+ return --location;
+}
+
+#endif // APP_NO_THREADS
+
+
diff --git a/src/util/Platforms/Linux/LinuxPlatformUtils.cpp b/src/util/Platforms/Linux/LinuxPlatformUtils.cpp
index 7cc6364..83d9086 100644
--- a/src/util/Platforms/Linux/LinuxPlatformUtils.cpp
+++ b/src/util/Platforms/Linux/LinuxPlatformUtils.cpp
@@ -56,8 +56,15 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:07:01 twl
- * Initial revision
+ * Revision 1.3 1999/11/23 02:00:48 rahulj
+ * Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+ *
+ * Revision 1.2 1999/11/17 22:35:33 rahulj
+ * Replaced default attr mutexes with recursive mutexes. Also code works with ICU transcoding service
+ *
+ * Revision 1.1.1.1 1999/11/09 01:07:01 twl
+ * Initial checkin
*
* Revision 1.6 1999/11/08 20:45:30 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -69,7 +76,7 @@
// Includes
// ---------------------------------------------------------------------------
-#ifndef APP_NO_THREADS
+#if !defined(APP_NO_THREADS)
#include <pthread.h>
#endif
@@ -87,20 +94,25 @@
#include <util/XMLString.hpp>
#include <util/XMLUni.hpp>
-#if defined (XML_USE_ICU_TRANSCODER)
+
+#if defined(XML_USE_ICU_TRANSCODER)
#include <util/Transcoders/ICU/ICUTransService.hpp>
-#else // use native transcoder
+#else
+ // Use native transcoder. Same as -DXML_USE_NATIVE_TRANSCODER
#include <util/Transcoders/Iconv/IconvTransService.hpp>
#endif
-#if defined (XML_USE_ICU_MESSAGELOADER)
+
+#if defined(XML_USE_ICU_MESSAGELOADER)
#include <util/MsgLoaders/ICU/ICUMsgLoader.hpp>
-#elif defined (XML_USE_ICONV_MESSAGELOADER)
- #include <util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp>
-#else // use In-memory message loader
- #include <util/MsgLoaders/InMemory/InMemMsgLoader.hpp> //hint for the user to include this file.
+
+#else
+ // Same as -DXML_USE_INMEM_MESSAGELOADER
+ #include <util/MsgLoaders/InMemory/InMemMsgLoader.hpp>
#endif
+
+
// ---------------------------------------------------------------------------
// Local Methods
// ---------------------------------------------------------------------------
@@ -110,7 +122,7 @@
if (fputs(toWrite, stream) == EOF)
{
ThrowXML(XMLPlatformUtilsException,
- XML4CExcepts::Strm_StdErrWriteFailure);
+ XML4CExcepts::Strm_StdErrWriteFailure);
}
}
@@ -121,7 +133,7 @@
if (fputs(tmpVal, stderr) == EOF)
{
ThrowXML(XMLPlatformUtilsException,
- XML4CExcepts::Strm_StdErrWriteFailure);
+ XML4CExcepts::Strm_StdErrWriteFailure);
}
}
@@ -132,7 +144,7 @@
if (fputs(tmpVal, stdout) == EOF)
{
ThrowXML(XMLPlatformUtilsException,
- XML4CExcepts::Strm_StdOutWriteFailure);
+ XML4CExcepts::Strm_StdOutWriteFailure);
}
}
@@ -141,12 +153,37 @@
return 0;
}
+
+// -----------------------------------------------------------------------
+// Standard out/error support
+// -----------------------------------------------------------------------
+
+void XMLPlatformUtils::writeToStdErr(const char* const toWrite)
+{
+ WriteCharStr(stderr, toWrite);
+}
+void XMLPlatformUtils::writeToStdErr(const XMLCh* const toWrite)
+{
+ WriteUStrStdErr(toWrite);
+}
+void XMLPlatformUtils::writeToStdOut(const XMLCh* const toWrite)
+{
+ WriteUStrStdOut(toWrite);
+}
+void XMLPlatformUtils::writeToStdOut(const char* const toWrite)
+{
+ WriteCharStr(stdout, toWrite);
+}
+
+
// ---------------------------------------------------------------------------
// XMLPlatformUtils: Platform init method
// ---------------------------------------------------------------------------
+
static XMLMutex atomicOpsMutex;
+
void XMLPlatformUtils::platformInit()
{
//
@@ -154,17 +191,18 @@
// Normally, mutexes are created on first use, but there is a
// circular dependency between compareAndExchange() and
// mutex creation that must be broken.
+
atomicOpsMutex.fHandle = XMLPlatformUtils::makeMutex();
// Here you would also set the fgLibLocation global variable
// XMLPlatformUtils::fgLibLocation is the variable to be set
- static const char *sharedLibEnvVar = "LD_LIBRARY_PATH";
- static const char * libraryPath = 0;
-
- char libName[256];
+ static const char* sharedLibEnvVar = "LD_LIBRARY_PATH";
+ char* libraryPath = 0;
+ char libName[256];
// Construct the library name from the global variables
+
strcpy(libName, XML4C_DLLName);
strcat(libName, gXML4CVersionStr);
strcat(libName, ".so");
@@ -174,18 +212,21 @@
if (libEnvVar == NULL)
{
- panic( XMLPlatformUtils::Panic_NoTransService );
+ panic(XMLPlatformUtils::Panic_CantFindLib);
}
//
// Its necessary to create a copy because strtok() modifies the
// string as it returns tokens. We don't want to modify the string
// returned to by getenv().
+ //
libPath = new char[strlen(libEnvVar) + 1];
strcpy(libPath, libEnvVar);
+
// First do the searching process for the first directory listing
+
char* allPaths = libPath;
char* libPathName;
@@ -209,7 +250,7 @@
break;
}
- }
+ } // while
delete libPath;
@@ -217,7 +258,7 @@
if (XMLPlatformUtils::fgLibLocation == NULL)
{
- panic( XMLPlatformUtils::Panic_NoTransService );
+ panic(XMLPlatformUtils::Panic_CantFindLib);
}
}
@@ -229,8 +270,8 @@
//
// This method is called by the platform independent part of this class
// when client code asks to have one of the supported message sets loaded.
-// In our case, we use the ICU based message loader mechanism.
//
+
XMLMsgLoader* XMLPlatformUtils::loadAMsgSet(const XMLCh* const msgDomain)
{
XMLMsgLoader* retVal;
@@ -238,43 +279,42 @@
{
#if defined (XML_USE_ICU_MESSAGELOADER)
retVal = new ICUMsgLoader(msgDomain);
-#elif defined (XML_USE_ICONV_MESSAGELOADER)
- retVal = new MsgCatalogLoader(msgDomain);
#else
+ // same as -DXML_USE_INMEM_MESSAGELOADER
retVal = new InMemMsgLoader(msgDomain);
#endif
}
catch(...)
{
- panic( XMLPlatformUtils::Panic_NoDefTranscoder );
+ panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
}
return retVal;
}
+
//
// This method is called very early in the bootstrapping process. This guy
// must create a transcoding service and return it. It cannot use any string
// methods, any transcoding services, throw any exceptions, etc... It just
// makes a transcoding service and returns it, or returns zero on failure.
//
-XMLTransService* XMLPlatformUtils::makeTransService()
-#if defined (XML_USE_ICU_TRANSCODER)
+XMLTransService* XMLPlatformUtils::makeTransService()
{
+#if defined (XML_USE_ICU_TRANSCODER)
//
// We need to figure out the path to the Intl converter files.
//
- static const char * xml4cIntlDirEnvVar = "ICU_DATA";
- static const char * sharedLibEnvVar = "LD_LIBRARY_PATH";
- static const char * intlPath = 0;
+ static const char * icuDataEnvVar = "ICU_DATA";
+ char * intlPath = 0;
- char* envVal = getenv(xml4cIntlDirEnvVar);
- //check if environment variable is set
- if (envVal != NULL) // We have found an environment variable
+ char* envVal = getenv(icuDataEnvVar);
+
+ // Check if environment variable is set...
+ if (envVal != NULL)
{
- // Store this string in the static member
unsigned int pathLen = strlen(envVal);
intlPath = new char[pathLen + 2];
@@ -285,86 +325,39 @@
}
ICUTransService::setICUPath(intlPath);
- if (intlPath != NULL) delete intlPath;
+ delete intlPath;
return new ICUTransService;
}
//
- // If we did not find the environment var, so lets try to go the auto
- // search route.
- //
- char libName[256];
- strcpy(libName, XML4C_DLLName);
- strcat(libName, gXML4CVersionStr);
- strcat(libName, ".so");
-
- char* libEnvVar = getenv(sharedLibEnvVar);
- char* libPath = NULL;
-
- if (libEnvVar == NULL)
- {
- panic( XMLPlatformUtils::Panic_NoTransService );
- }
-
- //
- // Its necessary to create a copy because strtok() modifies the
- // string as it returns tokens. We don't want to modify the string
- // returned to by getenv().
+ // If the environment variable ICU_DATA is not set, assume that the
+ // converter files are stored relative to the Xerces-C library.
//
- libPath = new char[strlen(libEnvVar) + 1];
- strcpy(libPath, libEnvVar);
-
- // First do the searching process for the first directory listing
- char* allPaths = libPath;
- char* libPathName;
-
- while ((libPathName = strtok(allPaths, ":")) != NULL)
- {
- FILE* dummyFptr = 0;
- allPaths = 0;
-
- char* libfile = new char[strlen(libPathName) + strlen(libName) + 2];
- strcpy(libfile, libPathName);
- strcat(libfile, "/");
- strcat(libfile, libName);
-
- dummyFptr = (FILE *) fopen(libfile, "rb");
- delete [] libfile;
- if (dummyFptr != NULL)
- {
- fclose(dummyFptr);
- intlPath = new char[strlen(libPathName)+ strlen("/icu/data/")+1];
- strcpy((char *) intlPath, libPathName);
- strcat((char *) intlPath, "/icu/data/");
- break;
- }
-
- } // while
-
- delete libPath;
+ unsigned int lent = strlen(XMLPlatformUtils::fgLibLocation) +
+ strlen("/icu/data/") + 1;
+ intlPath = new char[lent];
+ strcpy(intlPath, XMLPlatformUtils::fgLibLocation);
+ strcat(intlPath, "/icu/data/");
ICUTransService::setICUPath(intlPath);
-
- if (intlPath == NULL)
- {
- panic( XMLPlatformUtils::Panic_NoTransService );
- }
- if (intlPath != NULL) delete intlPath;
+ delete intlPath;
return new ICUTransService;
-}
-#elif defined (XML_USE_ICONV_TRANSCODER)
-{
- return new IconvTransService;
-}
+
+
#else
-{
+
+ // Use native transcoding services.
+ // same as -DXML_USE_INMEM_MESSAGELOADER
return new IconvTransService;
-}
+
#endif
+} // XMLPlatformUtils::makeTransService
+
+
// ---------------------------------------------------------------------------
// XMLPlatformUtils: The panic method
@@ -374,27 +367,38 @@
//
// We just print a message and exit
//
- printf("The XML4C system could not be initialized.\n");
- printf("The most likely reason for this failure is the inability to find\n");
- printf("the international encoding files. By default, the encoding files\n");
- printf("have the extension .cnv and exist in a directory icu/data relative\n");
- printf("to the XML4C shared library. If you have kept the converter files\n");
- printf("in a different location, you need to set up an environment variable\n");
- printf("called ICU_DATA which directly points to the directory where the\n");
- printf("encoding files are kept.\n");
-
+
+ fprintf(stderr,
+ "The Xerces-C system could not be initialized.\n");
+ fprintf(stderr,
+ "If you are using ICU, then the most likely reason for this failure\n");
+ fprintf(stderr,
+ "is the inability to find the ICU coverter files. The converter files\n");
+ fprintf(stderr,
+ "have the extension .cnv and exist in a directory 'icu/data' relative\n");
+ fprintf(stderr,
+ "to the Xerces-C shared library. If you have installed the converter files\n");
+ fprintf(stderr,
+ "in a different location, you need to set up the environment variable\n");
+ fprintf(stderr,
+ "'ICU_DATA' to point directly to the directory containing the\n");
+ fprintf(stderr,
+ "converter files.\n");
+
exit(-1);
}
+
// ---------------------------------------------------------------------------
// XMLPlatformUtils: File Methods
// ---------------------------------------------------------------------------
+
unsigned int XMLPlatformUtils::curFilePos(FileHandle theFile)
{
- // Get the current position
int curPos = ftell( (FILE*)theFile);
if (curPos == -1)
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotGetSize);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotGetSize);
return (unsigned int)curPos;
}
@@ -402,27 +406,33 @@
void XMLPlatformUtils::closeFile(FileHandle theFile)
{
if (fclose((FILE*)theFile))
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotCloseFile);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotCloseFile);
}
unsigned int XMLPlatformUtils::fileSize(FileHandle theFile)
{
// Get the current position
- long int curPos = ftell((FILE*)theFile);
+ long int curPos = ftell((FILE*) theFile);
if (curPos == -1)
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotGetCurPos);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotGetCurPos);
// Seek to the end and save that value for return
- if (fseek( (FILE*)theFile, 0, SEEK_END) )
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotSeekToEnd);
+ if (fseek((FILE*) theFile, 0, SEEK_END))
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotSeekToEnd);
- long int retVal = ftell( (FILE*)theFile);
+ long int retVal = ftell((FILE*)theFile);
if (retVal == -1)
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotSeekToEnd);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotSeekToEnd);
// And put the pointer back
+
if (fseek( (FILE*)theFile, curPos, SEEK_SET) )
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotSeekToPos);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotSeekToPos);
return (unsigned int)retVal;
}
@@ -438,16 +448,26 @@
return retVal;
}
-unsigned int
-XMLPlatformUtils::readFileBuffer( FileHandle theFile
- , const unsigned int toRead
- , XMLByte* const toFill)
+
+
+FileHandle XMLPlatformUtils::openStdInHandle()
{
- size_t noOfItemsRead = fread( (void*) toFill, 1, toRead, (FILE*)theFile);
+ return (FileHandle)fdopen(dup(0), "rb");
+}
+
+
+
+unsigned int
+XMLPlatformUtils::readFileBuffer( FileHandle theFile
+ , const unsigned int toRead
+ , XMLByte* const toFill)
+{
+ size_t noOfItemsRead = fread((void*) toFill, 1, toRead, (FILE*)theFile);
if(ferror((FILE*)theFile))
{
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotReadFromFile);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotReadFromFile);
}
return (unsigned int)noOfItemsRead;
@@ -457,10 +477,12 @@
void XMLPlatformUtils::resetFile(FileHandle theFile)
{
// Seek to the start of the file
- if (fseek((FILE*)theFile, 0, SEEK_SET) )
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotResetFile);
+ if (fseek((FILE*)theFile, 0, SEEK_SET))
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotResetFile);
}
+
// ---------------------------------------------------------------------------
// XMLPlatformUtils: Timing Methods
// ---------------------------------------------------------------------------
@@ -485,20 +507,24 @@
ArrayJanitor<char> janText(newSrc);
// Use a local buffer that is big enough for the largest legal path
- char* tmpPath = dirname((char*)newSrc);
+ // Note #1186: dirName() is not thread safe.
+ char* tmpPath = dirname(newSrc);
if (!tmpPath)
{
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::File_CouldNotGetBasePathName);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::File_CouldNotGetBasePathName);
}
char* newXMLString = new char [strlen(tmpPath) +2];
ArrayJanitor<char> newJanitor(newXMLString);
strcpy(newXMLString, tmpPath);
- strcat(newXMLString , "/");
+ strcat(newXMLString , "/");
+
// Return a copy of the path, in Unicode format
return XMLString::transcode(newXMLString);
}
+
bool XMLPlatformUtils::isRelative(const XMLCh* const toCheck)
{
// Check for pathological case of empty path
@@ -517,125 +543,90 @@
return true;
}
-// -----------------------------------------------------------------------
-// Standard out/error support
-// -----------------------------------------------------------------------
-
-void XMLPlatformUtils::writeToStdErr(const char* const toWrite)
-{
- WriteCharStr(stderr, toWrite);
-}
-void XMLPlatformUtils::writeToStdErr(const XMLCh* const toWrite)
-{
- WriteUStrStdErr(toWrite);
-}
-void XMLPlatformUtils::writeToStdOut(const XMLCh* const toWrite)
-{
- WriteUStrStdOut(toWrite);
-}
-void XMLPlatformUtils::writeToStdOut(const char* const toWrite)
-{
- WriteCharStr(stdout, toWrite);
-}
// -----------------------------------------------------------------------
// Mutex methods
// -----------------------------------------------------------------------
-#ifndef APP_NO_THREADS
-void XMLPlatformUtils::closeMutex(void* const mtxHandle)
-{
- if (mtxHandle == NULL)
- return;
- if (pthread_mutex_destroy( (pthread_mutex_t*)mtxHandle))
- {
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::Mutex_CouldNotDestroy);
- }
- if ((pthread_mutex_t*)mtxHandle)
- delete mtxHandle;
-}
-
-void XMLPlatformUtils::lockMutex(void* const mtxHandle)
-{
- if (mtxHandle == NULL)
- return;
- if (pthread_mutex_lock( (pthread_mutex_t*)mtxHandle))
- {
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::Mutex_CouldNotLock);
- }
-}
+#if !defined(APP_NO_THREADS)
void* XMLPlatformUtils::makeMutex()
{
pthread_mutex_t* mutex = new pthread_mutex_t;
-
- if (pthread_mutex_init(mutex, NULL))
+ pthread_mutexattr_t* attr = new pthread_mutexattr_t;
+ pthread_mutexattr_init(attr);
+ pthread_mutexattr_setkind_np(attr, PTHREAD_MUTEX_RECURSIVE_NP);
+ if (pthread_mutex_init(mutex, attr))
{
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::Mutex_CouldNotCreate);
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotCreate);
}
+ pthread_mutexattr_destroy(attr);
+ delete attr;
return (void*)(mutex);
+
}
-void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
-{
- if (mtxHandle == NULL)
- return;
- if (pthread_mutex_unlock( (pthread_mutex_t*)mtxHandle))
- {
- ThrowXML(XMLPlatformUtilsException, XML4CExcepts::Mutex_CouldNotUnlock);
- }
-}
-
-#else // #ifndef APP_NO_THREADS
void XMLPlatformUtils::closeMutex(void* const mtxHandle)
{
+ if (mtxHandle != NULL)
+ {
+ if (pthread_mutex_destroy((pthread_mutex_t*) mtxHandle))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotDestroy);
+ }
+ delete mtxHandle;
+ }
}
+
void XMLPlatformUtils::lockMutex(void* const mtxHandle)
{
+ if (mtxHandle != NULL)
+ {
+ if (pthread_mutex_lock((pthread_mutex_t*) mtxHandle))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotLock);
+ }
+ }
}
-void* XMLPlatformUtils::makeMutex()
-{
- return 0;
-}
void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
{
+ if (mtxHandle != NULL)
+ {
+ if (pthread_mutex_unlock((pthread_mutex_t*) mtxHandle))
+ {
+ ThrowXML(XMLPlatformUtilsException,
+ XML4CExcepts::Mutex_CouldNotUnlock);
+ }
+ }
}
-#endif // APP_NO_THREADS
// -----------------------------------------------------------------------
// Miscellaneous synchronization methods
// -----------------------------------------------------------------------
-//atomic system calls in Solaris is only restricted to kernel libraries
-//So, to make operations thread safe we implement static mutex and lock
-//the atomic operations. It makes the process slow but what's the alternative!
-void* XMLPlatformUtils::compareAndSwap ( void** toFill ,
- const void* const newValue ,
- const void* const toCompare)
+void* XMLPlatformUtils::compareAndSwap(void** toFill
+ , const void* const newValue
+ , const void* const toCompare)
{
- //return ((void*)cas32( (uint32_t*)toFill, (uint32_t)toCompare, (uint32_t)newValue) );
- // the below calls are temporarily made till the above functions are part of user library
- // Currently its supported only in the kernel mode
-
- lockMutex(&atomicOpsMutex);
+ XMLMutexLock lockMutex(&atomicOpsMutex);
void *retVal = *toFill;
if (*toFill == toCompare)
- *toFill = (void *)newValue;
-
- unlockMutex(&atomicOpsMutex);
+ *toFill = (void *)newValue;
return retVal;
}
int XMLPlatformUtils::atomicIncrement(int &location)
{
- //return (int)atomic_add_32_nv( (uint32_t*)&location, 1);
XMLMutexLock localLock(&atomicOpsMutex);
return ++location;
@@ -643,14 +634,49 @@
int XMLPlatformUtils::atomicDecrement(int &location)
{
- //return (int)atomic_add_32_nv( (uint32_t*)&location, -1);
XMLMutexLock localLock(&atomicOpsMutex);
return --location;
}
-FileHandle XMLPlatformUtils::openStdInHandle()
+#else // #if !defined (APP_NO_THREADS)
+
+void* XMLPlatformUtils::makeMutex()
{
- return (FileHandle)fdopen(dup(0), "rb");
+ return 0;
}
+void XMLPlatformUtils::closeMutex(void* const mtxHandle)
+{
+}
+
+void XMLPlatformUtils::lockMutex(void* const mtxHandle)
+{
+}
+
+void XMLPlatformUtils::unlockMutex(void* const mtxHandle)
+{
+}
+
+void* XMLPlatformUtils::compareAndSwap (void** toFill,
+ const void* const newValue,
+ const void* const toCompare)
+{
+ void *retVal = *toFill;
+ if (*toFill == toCompare)
+ *toFill = (void *)newValue;
+ return retVal;
+}
+
+int XMLPlatformUtils::atomicIncrement(int &location)
+{
+ return ++location;
+}
+
+int XMLPlatformUtils::atomicDecrement(int &location)
+{
+ return --location;
+}
+
+#endif // APP_NO_THREADS
+
diff --git a/src/util/Platforms/Makefile.in b/src/util/Platforms/Makefile.in
index d424ad9..224692e 100644
--- a/src/util/Platforms/Makefile.in
+++ b/src/util/Platforms/Makefile.in
@@ -55,8 +55,18 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:06:14 twl
-# Initial revision
+# Revision 1.4 1999/12/01 17:16:17 rahulj
+# Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
+#
+# Revision 1.3 1999/11/23 02:00:28 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.2 1999/11/17 22:36:37 rahulj
+# Code works with ICU transcoding service
+#
+# Revision 1.1.1.1 1999/11/09 01:06:14 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:28 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +74,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
@@ -91,6 +102,7 @@
endif
ifeq (${PLATFORM}, LINUX)
SUBMODULE = Platforms/Linux
+ CXXFLAGS += -D__USE_UNIX98 -D__USE_GNU
CPP_PUBHEADERS = Linux/LinuxDefs.hpp
CPP_OBJECTS = Linux/LinuxPlatformUtils.o
endif
@@ -104,6 +116,11 @@
CPP_PUBHEADERS = OS390/OS390Defs.hpp
CPP_OBJECTS = OS390/OS390PlatformUtils.o
endif
+ifeq (${PLATFORM}, IRIX)
+ SUBMODULE = Platforms/IRIX
+ CPP_PUBHEADERS = IRIX/IRIXDefs.hpp
+ CPP_OBJECTS = IRIX/IRIXPlatformUtils.o
+endif
include ../Makefile.util.submodule
diff --git a/src/util/Platforms/Solaris/SolarisPlatformUtils.cpp b/src/util/Platforms/Solaris/SolarisPlatformUtils.cpp
index 851e85d..de70fa3 100644
--- a/src/util/Platforms/Solaris/SolarisPlatformUtils.cpp
+++ b/src/util/Platforms/Solaris/SolarisPlatformUtils.cpp
@@ -56,8 +56,18 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:06:31 twl
- * Initial revision
+ * Revision 1.3 1999/12/02 23:07:13 aruna1
+ * Solaris Atomic Mutex initailization changed to native calls
+ *
+ * Revision 1.2 1999/11/19 23:50:56 aruna1
+ * added changes for platformInit and makeTransService functions
+ * PR:
+ * Obtained from:
+ * Submitted by:
+ * Reviewed by:
+ *
+ * Revision 1.1.1.1 1999/11/09 01:06:31 twl
+ * Initial checkin
*
* Revision 1.4 1999/11/08 20:45:32 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -147,7 +157,8 @@
// ---------------------------------------------------------------------------
// XMLPlatformUtils: Platform init method
// ---------------------------------------------------------------------------
-static XMLMutex atomicOpsMutex;
+
+static mutex_t* gAtomicOpMutex =0 ;
void XMLPlatformUtils::platformInit()
{
@@ -156,7 +167,78 @@
// Normally, mutexes are created on first use, but there is a
// circular dependency between compareAndExchange() and
// mutex creation that must be broken.
- atomicOpsMutex.fHandle = XMLPlatformUtils::makeMutex();
+ gAtomicOpMutex = new mutex_t;
+ if (mutex_init(gAtomicOpMutex, NULL, NULL))
+ {
+ printf("atomicOpMutex not created \n");
+ exit(1);
+ //panic( XMLPlatformUtils::Panic_MutexInit ); //to be changed later
+ }
+
+ // Here you would also set the fgLibLocation global variable
+ // XMLPlatformUtils::fgLibLocation is the variable to be set
+
+ static const char *sharedLibEnvVar = "LD_LIBRARY_PATH";
+ static const char * libraryPath = 0;
+
+ char libName[256];
+
+ // Construct the library name from the global variables
+ strcpy(libName, XML4C_DLLName);
+ strcat(libName, gXML4CVersionStr);
+ strcat(libName, ".so");
+
+ char* libEnvVar = getenv(sharedLibEnvVar);
+ char* libPath = NULL;
+
+ if (libEnvVar == NULL)
+ {
+ panic( XMLPlatformUtils::Panic_NoTransService );
+ }
+
+ //
+ // Its necessary to create a copy because strtok() modifies the
+ // string as it returns tokens. We don't want to modify the string
+ // returned to by getenv().
+
+ libPath = new char[strlen(libEnvVar) + 1];
+ strcpy(libPath, libEnvVar);
+
+ // First do the searching process for the first directory listing
+ char* allPaths = libPath;
+ char* libPathName;
+
+ while ((libPathName = strtok(allPaths, ":")) != NULL)
+ {
+ FILE* dummyFptr = 0;
+ allPaths = 0;
+
+ char* libfile = new char[strlen(libPathName) + strlen(libName) + 2];
+ strcpy(libfile, libPathName);
+ strcat(libfile, "/");
+ strcat(libfile, libName);
+
+ dummyFptr = (FILE *) fopen(libfile, "rb");
+ delete [] libfile;
+ if (dummyFptr != NULL)
+ {
+ fclose(dummyFptr);
+ libraryPath = new char[strlen(libPathName)+1];
+ strcpy((char *) libraryPath, libPathName);
+ break;
+ }
+
+ }
+
+ delete libPath;
+
+ XMLPlatformUtils::fgLibLocation = libraryPath;
+
+ if (XMLPlatformUtils::fgLibLocation == NULL)
+ {
+ panic( XMLPlatformUtils::Panic_NoTransService );
+ }
+
}
@@ -197,23 +279,22 @@
//
XMLTransService* XMLPlatformUtils::makeTransService()
-{
#if defined (XML_USE_ICU_TRANSCODER)
+{
//
- // We need to figure out the path to the Intl classes. They will be
- // in the ./Intl subdirectory under this DLL.
+ // We need to figure out the path to the Intl converter files.
//
static const char * xml4cIntlDirEnvVar = "ICU_DATA";
- char * intlPath = 0;
+ static const char * sharedLibEnvVar = "LD_LIBRARY_PATH";
+ static const char * intlPath = 0;
char* envVal = getenv(xml4cIntlDirEnvVar);
- //
- // Check if environment variable is set
- //
- if (envVal != NULL) // We have found an environment variable
+ //check if environment variable is set
+ if (envVal != NULL) // We have found an environment variable
{
+ // Store this string in the static member
unsigned int pathLen = strlen(envVal);
intlPath = new char[pathLen + 2];
@@ -224,81 +305,86 @@
}
ICUTransService::setICUPath(intlPath);
- if (intlPath != NULL) delete intlPath;
+ if (intlPath != NULL) delete (char*)intlPath;
return new ICUTransService;
}
- //
+
// If we did not find the environment var, so lets try to go the auto
// search route.
//
-
char libName[256];
strcpy(libName, XML4C_DLLName);
strcat(libName, gXML4CVersionStr);
strcat(libName, ".so");
- void* handle = NULL;
- handle = dlopen(libName, RTLD_LAZY);
- if (!handle)
+ char* libEnvVar = getenv(sharedLibEnvVar);
+ char* libPath = NULL;
+
+ if (libEnvVar == NULL)
{
- char errorBuffer[1024];
- sprintf(errorBuffer,
- "Fatal error: Could not open library '%s'", libName);
- perror (errorBuffer);
- panic(XMLPlatformUtils::Panic_NoTransService);
+ panic( XMLPlatformUtils::Panic_NoTransService );
}
- int ret = 0;
- Link_map *firstLib = NULL;
+ //
+ // Its necessary to create a copy because strtok() modifies the
+ // string as it returns tokens. We don't want to modify the string
+ // returned to by getenv().
+ //
- ret = dlinfo(handle, RTLD_DI_LINKMAP, (void*) &firstLib);
- Link_map* nextLib = NULL;
- nextLib = firstLib;
+ libPath = new char[strlen(libEnvVar) + 1];
+ strcpy(libPath, libEnvVar);
- while (nextLib)
+ // First do the searching process for the first directory listing
+ char* allPaths = libPath;
+ char* libPathName;
+
+ while ((libPathName = strtok(allPaths, ":")) != NULL)
{
- char* fileName = nextLib->l_name;
- if (strstr(fileName, libName) != NULL)
+ FILE* dummyFptr = 0;
+ allPaths = 0;
+
+ char* libfile = new char[strlen(libPathName) + strlen(libName) + 2];
+ strcpy(libfile, libPathName);
+ strcat(libfile, "/");
+ strcat(libfile, libName);
+
+ dummyFptr = (FILE *) fopen(libfile, "rb");
+ delete [] libfile;
+ if (dummyFptr != NULL)
{
- char* copyTo = strrchr(fileName, '/');
- size_t chars_to_extract = copyTo - fileName;
- char *libPathName = new char[chars_to_extract + 1];
- strncpy(libPathName, fileName, chars_to_extract);
- libPathName[chars_to_extract] = 0;
- fgIntlPath = new char[strlen(libPathName)+ strlen("/icu/data/")+1];
- strcpy((char *) fgIntlPath, libPathName);
- strcat((char *) fgIntlPath, "/icu/data/");
- delete libPathName;
+ fclose(dummyFptr);
+ intlPath = new char[strlen(libPathName)+ strlen("/icu/data/")+1];
+ strcpy((char *) intlPath, libPathName);
+ strcat((char *) intlPath, "/icu/data/");
break;
}
- nextLib = nextLib->l_next;
- }
- if (fgIntlPath == NULL)
+ } // while
+
+ delete libPath;
+
+ ICUTransService::setICUPath(intlPath);
+
+ if (intlPath == NULL)
{
- fprintf(stderr,
- "Fatal error: Could not find /icu/data relative to %s \n",
- libName);
- fprintf(stderr,
- " while trying to auto detect the location ");
- fprintf(stderr, "of the converter files.\n");
- fprintf(stderr,
- " And the environment variable 'ICU_DATA' is ");
- fprintf(stderr, "not defined.\n");
- panic(XMLPlatformUtils::Panic_NoTransService);
+ panic( XMLPlatformUtils::Panic_NoTransService );
}
+ if (intlPath != NULL) delete (char*)intlPath;
- ICUTransService::setICUPath(fgIntlPath);
return new ICUTransService;
-
+}
+#elif defined (XML_USE_ICONV_TRANSCODER)
+{
+ return new IconvTransService;
+}
#else // Use Native transcoding service
-
+{
return new IconvTransService;
-#endif
}
+#endif
// ---------------------------------------------------------------------------
@@ -564,13 +650,23 @@
// the below calls are temporarily made till the above functions are part of user library
// Currently its supported only in the kernel mode
- lockMutex(&atomicOpsMutex);
+ if (mutex_lock( gAtomicOpMutex))
+ {
+ printf("could not lock atomicOpMutex\n");
+ exit(1);
+ //call panic instead
+ }
void *retVal = *toFill;
if (*toFill == toCompare)
*toFill = (void *)newValue;
- unlockMutex(&atomicOpsMutex);
+ if (mutex_unlock( gAtomicOpMutex))
+ {
+ printf("could not unlock atomicOpMutex\n");
+ exit(1);
+ //call panic instead
+ }
return retVal;
}
@@ -578,16 +674,41 @@
int XMLPlatformUtils::atomicIncrement(int &location)
{
//return (int)atomic_add_32_nv( (uint32_t*)&location, 1);
- XMLMutexLock localLock(&atomicOpsMutex);
- return ++location;
+ if (mutex_lock( gAtomicOpMutex))
+ {
+ printf("could not lock atomicOpMutex\n");
+ exit(1);
+ //call panic instead
+ }
+ int tmp = ++location;
+ if (mutex_unlock( gAtomicOpMutex))
+ {
+ printf("could not unlock atomicOpMutex\n");
+ exit(1);
+ //call panic instead
+ }
+ return tmp;
}
int XMLPlatformUtils::atomicDecrement(int &location)
{
//return (int)atomic_add_32_nv( (uint32_t*)&location, -1);
- XMLMutexLock localLock(&atomicOpsMutex);
- return --location;
+ if (mutex_lock( gAtomicOpMutex))
+ {
+ printf("could not lock atomicOpMutex\n");
+ exit(1);
+ //call panic instead
+ }
+
+ int tmp = --location;
+ if (mutex_unlock( gAtomicOpMutex))
+ {
+ printf("could not unlock atomicOpMutex\n");
+ exit(1);
+ //call panic instead
+ }
+ return tmp;
}
#else // #if !defined (APP_NO_THREADS)
diff --git a/src/util/Platforms/Win32/Version.rc b/src/util/Platforms/Win32/Version.rc
index 6959ea1..98a4f5d 100644
--- a/src/util/Platforms/Win32/Version.rc
+++ b/src/util/Platforms/Win32/Version.rc
@@ -29,8 +29,8 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,0,0,0
- PRODUCTVERSION 3,0,0,0
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,17 +45,17 @@
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "Comments", "Dynamic linked library for XML4C2\0"
- VALUE "CompanyName", "International Business Machines Corp.\0"
- VALUE "FileDescription", "Shared Library for XML4C Version 3.0.0\0"
- VALUE "FileVersion", "3, 0, 0, 0\0"
- VALUE "InternalName", "IXXML4C3_0_0\0"
- VALUE "LegalCopyright", "Copyright © IBM Corp. 1999 subject to licensing terms\0"
+ VALUE "Comments", "Dynamic linked library for Xerces-C\0"
+ VALUE "CompanyName", "Apache Software Foundation\0"
+ VALUE "FileDescription", "Shared Library for Xerces-C Version 1.0.0\0"
+ VALUE "FileVersion", "1, 0, 0, 0\0"
+ VALUE "InternalName", "xerces-c_1_0_0.dll\0"
+ VALUE "LegalCopyright", "Copyright © Apache Software Foundation 1999 subject to licensing terms\0"
VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "IXXML4C3_0.dll\0"
+ VALUE "OriginalFilename", "xerces-c_1_0.dll\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "XML4C Version 3.0.0\0"
- VALUE "ProductVersion", "3, 0, 0, 0\0"
+ VALUE "ProductName", "Xerces-C Version 1.0.0\0"
+ VALUE "ProductVersion", "1, 0, 0, 0\0"
VALUE "SpecialBuild", "\0"
END
END
@@ -99,249 +99,320 @@
//
// String Table
//
-STRINGTABLE DISCARDABLE
+
+STRINGTABLE DISCARDABLE
BEGIN
- 2 L"\x004E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 3 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 4 L"\x0045\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0028\x007B\x0030\x007D\x002C\x0020\x0066\x0072\x006F\x006D\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x006F\x0072\x0020\x006D\x0061\x006E\x0075\x0061\x006C\x006C\x0079\x0020\x0073\x0065\x0074\x0029\x0020\x0063\x006F\x006E\x0074\x0072\x0061\x0064\x0069\x0063\x0074\x0073\x0020\x0074\x0068\x0065\x0020\x0061\x0075\x0074\x006F\x002D\x0073\x0065\x006E\x0073\x0065\x0064\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x002C\x0020\x0069\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x0020\x0069\x0074\x00"
- 5 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 6 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x006C\x0069\x0073\x0074\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 9 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0043\x0044\x0041\x0054\x0041\x00"
- 10 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006E\x0061\x006D\x0065\x00"
- 11 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x0061\x006D\x0065\x00"
- 12 L"\x0052\x0065\x0070\x0065\x0074\x0069\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x0069\x006E\x0064\x0069\x0076\x0069\x0064\x0075\x0061\x006C\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0066\x006F\x0072\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0073\x00"
- 13 L"\x0042\x0061\x0064\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 14 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0061\x0073\x0073\x0075\x006D\x0069\x006E\x0067\x0020\x0023\x0049\x004D\x0050\x004C\x0049\x0045\x0044\x0020\x0020\x00"
- 15 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006C\x0069\x0073\x0074\x0020\x0073\x0079\x006E\x0074\x0061\x0078\x0020\x0065\x0072\x0072\x006F\x0072\x00"
- 16 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x0071\x0075\x0061\x006C\x0020\x0073\x0069\x0067\x006E\x00"
- 17 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006E\x0061\x006D\x0065\x00"
- 18 L"\x0042\x0061\x0064\x0020\x0049\x0044\x0020\x0066\x006F\x0072\x0020\x0078\x006D\x006C\x003A\x006C\x0061\x006E\x0067\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00"
- 19 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x00"
- 20 L"\x004D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x00"
- 21 L"\x0043\x006F\x006D\x006D\x0065\x006E\x0074\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x003C\x0021\x002D\x002D\x00"
- 22 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0073\x0074\x0072\x0075\x0063\x0074\x0075\x0072\x0065\x00"
- 23 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0027\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x003D\x0027\x002C\x0020\x0027\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x003D\x0027\x002C\x0020\x006F\x0072\x0020\x0027\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x003D\x0027\x00"
- 24 L"\x0042\x0061\x0064\x0020\x0058\x004D\x004C\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00"
- 25 L"\x0055\x006E\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0058\x004D\x004C\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x00"
- 26 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0058\x004D\x004C\x0020\x0064\x0065\x0063\x006C\x00"
- 27 L"\x0042\x0061\x0064\x0020\x0058\x004D\x004C\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 28 L"\x0042\x0061\x0064\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 29 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00"
- 30 L"\x0050\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x0020\x006E\x0061\x006D\x0065\x0020\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x00"
- 31 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x00"
- 32 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 33 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0065\x0078\x0074\x0020\x0062\x0065\x0066\x006F\x0072\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00"
- 34 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0074\x0061\x0067\x00"
- 35 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 36 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x00"
- 37 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0028\x0043\x0044\x0041\x0054\x0041\x002C\x0020\x0049\x0044\x002C\x0020\x004E\x004D\x0054\x004F\x004B\x0045\x004E\x002C\x0020\x002E\x002E\x0029\x002C\x00"
- 38 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0074\x0061\x0067\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 39 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0061\x0067\x0020\x006E\x0061\x006D\x0065\x002C\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x002C\x0020\x0050\x0049\x002C\x0020\x006F\x0072\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x00"
- 40 L"\x004E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0061\x0066\x0074\x0065\x0072\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x00"
- 41 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00"
- 42 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x00"
- 43 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0077\x0068\x0069\x0074\x0065\x0073\x0070\x0061\x0063\x0065\x00"
- 44 L"\x004E\x006F\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x00"
- 45 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0071\x0075\x006F\x0074\x0065\x0064\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00"
- 46 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00"
- 47 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00"
- 48 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 49 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00"
- 50 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00"
- 51 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0069\x006E\x0069\x0074\x0069\x0061\x006C\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 52 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 53 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0077\x0068\x0069\x0074\x0065\x0073\x0070\x0061\x0063\x0065\x00"
- 54 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 55 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 56 L"\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0068\x0065\x0072\x0065\x00"
- 57 L"\x0043\x006F\x006E\x0064\x0069\x0074\x0069\x006F\x006E\x0061\x006C\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00"
- 58 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006E\x0061\x006D\x0065\x00"
- 59 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 60 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00"
- 61 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00"
- 62 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006E\x0061\x006D\x0065\x0020\x0066\x006F\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00"
- 63 L"\x0045\x006E\x0074\x0069\x0074\x0079\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00"
- 64 L"\x0055\x006E\x0070\x0061\x0072\x0073\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0074\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0068\x0065\x0072\x0065\x00"
- 65 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00"
- 66 L"\x0052\x0065\x0063\x0075\x0072\x0073\x0069\x0076\x0065\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0065\x0078\x0070\x0061\x006E\x0073\x0069\x006F\x006E\x00"
- 67 L"\x0050\x0061\x0072\x0074\x0069\x0061\x006C\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 68 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 69 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x00"
- 70 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0073\x0074\x0065\x0072\x0069\x0073\x006B\x00"
- 71 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x00"
- 72 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x0069\x0064\x00"
- 73 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x006F\x0072\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00"
- 74 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00"
- 75 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x002C\x0027\x002C\x0020\x0027\x007C\x0027\x002C\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x00"
- 76 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x007C\x0027\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x00"
- 77 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x002C\x0027\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x0020\x006F\x0072\x0020\x0063\x006C\x006F\x0073\x0065\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0068\x0065\x0073\x0069\x0073\x00"
- 78 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 79 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x007C\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0073\x0065\x0070\x0061\x0072\x0061\x0074\x006F\x0072\x002C\x0020\x006F\x0072\x0020\x0063\x006C\x006F\x0073\x0069\x006E\x0067\x0020\x0070\x0061\x0072\x0065\x006E\x00"
- 80 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006C\x0069\x0074\x0065\x0072\x0061\x006C\x00"
- 81 L"\x0054\x0068\x0065\x0072\x0065\x0020\x0061\x0072\x0065\x0020\x006D\x006F\x0072\x0065\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0074\x0068\x0061\x006E\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0074\x0061\x0067\x0073\x00"
- 82 L"\x0052\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0065\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x002E\x0020\x0045\x006E\x0074\x0069\x0074\x0079\x003D\x007B\x0030\x007D\x00"
- 83 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x006F\x0070\x0065\x006E\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0068\x0065\x0073\x0069\x0073\x00"
- 84 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0031\x007D\x0027\x00"
- 85 L"\x0041\x0020\x0027\x003C\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x002C\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0020\x0074\x0068\x0072\x006F\x0075\x0067\x0068\x0020\x003C\x00"
- 86 L"\x0041\x0020\x006C\x0065\x0061\x0064\x0069\x006E\x0067\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0061\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0073\x0065\x0063\x006F\x006E\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 87 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x005D\x005D\x003E\x0027\x0020\x0074\x006F\x0020\x0065\x006E\x0064\x0020\x0061\x0020\x0063\x006F\x006E\x0064\x0069\x0074\x0069\x006F\x006E\x0061\x006C\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00"
- 88 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0049\x004E\x0043\x004C\x0055\x0044\x0045\x0020\x006F\x0072\x0020\x0049\x0047\x004E\x004F\x0052\x0045\x0020\x0068\x0065\x0072\x0065\x00"
- 89 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x005B\x0020\x0074\x006F\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0020\x0049\x004E\x0043\x004C\x0055\x0044\x0045\x0020\x006F\x0072\x0020\x0049\x0047\x004E\x004F\x0052\x0045\x00"
- 90 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0054\x0065\x0078\x0074\x0044\x0065\x0063\x006C\x0020\x0068\x0065\x0072\x0065\x003A\x0020\x003C\x003F\x0078\x006D\x006C\x0020\x002E\x002E\x002E\x002E\x00"
- 91 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x0068\x0065\x0072\x0065\x003A\x0020\x003C\x003F\x0078\x006D\x006C\x0020\x002E\x002E\x002E\x002E\x00"
- 92 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x007B\x0030\x007D\x00"
- 93 L"\x0041\x0020\x0050\x0045\x0020\x0070\x0072\x006F\x0070\x006F\x0067\x0061\x0074\x0065\x0064\x0020\x006F\x0075\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0074\x002F\x0065\x0078\x0074\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x002C\x0020\x0064\x0069\x0073\x0063\x0061\x0072\x0064\x0069\x006E\x0067\x0020\x0065\x0078\x0074\x0072\x0061\x0020\x0074\x0065\x0078\x0074\x00"
- 94 L"\x0041\x006E\x0020\x0065\x0078\x0074\x0072\x0061\x0020\x005D\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0061\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00"
- 95 L"\x0050\x0045\x0020\x0072\x0065\x0066\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0073\x0069\x0064\x0065\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00"
- 96 L"\x0041\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0070\x0072\x006F\x0070\x006F\x0067\x0061\x0074\x0065\x0064\x0020\x006F\x0075\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0074\x006F\x0020\x004D\x0069\x0073\x0063\x0065\x006C\x006C\x0061\x006E\x0065\x006F\x0075\x0073\x00"
- 97 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0026\x0023\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0061\x0020\x006E\x0075\x006D\x0065\x0072\x0069\x0063\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 98 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x006F\x0070\x0065\x006E\x0020\x0062\x0072\x0061\x0063\x006B\x0065\x0074\x0020\x0028\x0027\x005B\x0027\x0029\x0020\x0068\x0065\x0072\x0065\x00"
- 99 L"\x0054\x0068\x0065\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0020\x0027\x005D\x005D\x003E\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0064\x0061\x0074\x0061\x00"
- 100 L"\x0049\x006C\x006C\x0065\x0067\x0061\x006C\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0020\x0027\x002D\x002D\x0027\x0020\x0069\x006E\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00"
- 101 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00"
- 102 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x004E\x0044\x0041\x0054\x0041\x00"
- 103 L"\x004E\x0044\x0041\x0054\x0041\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0066\x006F\x0072\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x00"
- 104 L"\x0048\x0065\x0078\x0020\x0072\x0061\x0064\x0069\x0078\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0075\x0073\x0065\x0020\x0027\x0078\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0027\x0058\x0027\x00"
- 105 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0073\x0065\x0074\x002E\x0020\x0049\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x0020\x0072\x0065\x0064\x0075\x006E\x0064\x0061\x006E\x0074\x0020\x0073\x0065\x0074\x0074\x0069\x006E\x0067\x00"
- 106 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006F\x0072\x0064\x0065\x0072\x003A\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x002C\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x002C\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x00"
- 107 L"\x0045\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0072\x0065\x0066\x0065\x0072\x0072\x0065\x0064\x0020\x0074\x006F\x0020\x0066\x0072\x006F\x006D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x00"
- 108 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0020\x006F\x0072\x0020\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x003C\x003F\x0078\x006D\x006C\x0020\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0027\x003C\x003F\x0058\x004D\x004C\x0020\x0027\x00"
- 109 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006C\x0069\x0074\x0065\x0072\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0072\x0020\x0050\x0055\x0042\x004C\x0049\x0043\x002F\x0053\x0059\x0053\x0054\x0045\x004D\x0020\x0069\x0064\x00"
- 110 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0064\x0069\x0067\x0069\x0074\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0064\x0069\x0063\x0061\x0074\x0065\x0064\x0020\x0072\x0061\x0064\x0069\x0078\x00"
- 111 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0070\x0075\x0074\x0020\x0065\x006E\x0064\x0065\x0064\x0020\x0062\x0065\x0066\x006F\x0072\x0065\x0020\x0061\x006C\x006C\x0020\x0073\x0074\x0061\x0072\x0074\x0065\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0077\x0065\x0072\x0065\x0020\x0065\x006E\x0064\x0065\x0064\x002E\x0020\x004C\x0061\x0073\x0074\x0020\x0074\x0061\x0067\x0020\x0073\x0074\x0061\x0072\x0074\x0065\x0064\x0020\x0077\x0061\x0073\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 112 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x006D\x0062\x0069\x0067\x0075\x006F\x0075\x0073\x00"
- 113 L"\x004E\x0065\x0073\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x00"
- 114 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0065\x006E\x0020\x006D\x0061\x0070\x0070\x0065\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0055\x0052\x0049\x00"
- 115 L"\x0054\x0068\x0065\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0061\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0020\x0077\x0065\x0072\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x00"
- 116 L"\x0054\x0068\x0065\x0020\x006D\x0061\x0069\x006E\x0020\x0058\x004D\x004C\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0079\x00"
- 117 L"\x0043\x0044\x0041\x0054\x0041\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x0075\x0074\x0073\x0069\x0064\x0065\x0020\x0074\x0068\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00"
- 118 L"\x004F\x006E\x006C\x0079\x0020\x006E\x0075\x006D\x0065\x0072\x0069\x0063\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x006F\x0072\x0020\x0073\x0070\x0065\x0063\x0069\x0061\x006C\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0068\x0065\x0072\x0065\x00"
- 119 L"\x0047\x006F\x0074\x0020\x0061\x006E\x0020\x0075\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0072\x0061\x0069\x006C\x0069\x006E\x0067\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 120 L"\x004E\x006F\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x0020\x0073\x0074\x0061\x0072\x0074\x0073\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x0078\x006D\x006C\x0027\x00"
- 121 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0020\x006F\x0072\x0020\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0061\x0074\x0020\x006C\x0069\x006E\x0065\x002F\x0063\x006F\x006C\x0075\x006D\x006E\x0020\x0031\x002F\x0031\x00"
- 122 L"\x0054\x0068\x0065\x0020\x0027\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x0072\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x00"
- 123 L"\x0054\x0068\x0065\x0020\x0027\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006D\x0061\x0069\x006E\x0020\x0058\x004D\x004C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x00"
- 124 L"\x0057\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x002C\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0061\x006E\x0020\x0068\x0061\x0076\x0065\x0020\x006F\x006E\x006C\x0079\x0020\x006F\x006E\x0065\x0020\x0063\x006F\x006C\x006F\x006E\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 125 L"\x0057\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x002C\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006C\x006F\x006E\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x0072\x0073\x0074\x0020\x006F\x0072\x0020\x006C\x0061\x0073\x0074\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00"
- 126 L"\x0043\x006F\x006C\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0069\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0077\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x00"
- 127 L"\x0041\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0065\x0064\x0020\x0064\x0075\x0072\x0069\x006E\x0067\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x00"
- 128 L"\x0041\x006E\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0065\x0064\x0021\x0020\x0054\x0079\x0070\x0065\x003A\x007B\x0030\x007D\x002C\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x007B\x0031\x007D\x00"
- 129 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0066\x0069\x006C\x0065\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x002E\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x0020\x007B\x0030\x007D\x00"
-END
-STRINGTABLE DISCARDABLE
-BEGIN
- 16386 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 16387 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x00"
- 16388 L"\x004E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 16389 L"\x0052\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0066\x0072\x006F\x006D\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x00"
- 16390 L"\x0052\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0070\x0072\x006F\x0076\x0069\x0064\x0065\x0064\x00"
- 16391 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x006F\x0072\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x003A\x0020\x0027\x007B\x0031\x007D\x0027\x00"
- 16392 L"\x0049\x0044\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0049\x004D\x0050\x004C\x0049\x0045\x0044\x0020\x006F\x0072\x0020\x0023\x0052\x0045\x0051\x0055\x0049\x0052\x0045\x0044\x00"
- 16393 L"\x0054\x0068\x0069\x0073\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x006E\x0020\x0065\x006D\x0070\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 16394 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 16395 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0049\x0044\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00"
- 16396 L"\x0049\x0044\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0075\x0073\x0065\x0064\x00"
- 16397 L"\x0049\x0044\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 16398 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0072\x0065\x0066\x0065\x0072\x0073\x0020\x0074\x006F\x0020\x0061\x006E\x0020\x0075\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0031\x007D\x0027\x00"
- 16399 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00"
- 16400 L"\x0045\x006D\x0070\x0074\x0079\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x006F\x0072\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 16401 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x007B\x0030\x007D\x007D\x007B\x0031\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0032\x007D\x0027\x00"
- 16402 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0073\x0020\x006F\x0066\x0020\x0074\x0079\x0070\x0065\x0020\x0045\x004E\x0054\x0049\x0054\x0059\x002F\x0045\x004E\x0054\x0049\x0054\x0049\x0045\x0053\x0020\x006D\x0075\x0073\x0074\x0020\x0072\x0065\x0066\x0065\x0072\x0020\x0074\x006F\x0020\x0061\x006E\x0020\x0065\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x002C\x0020\x0075\x006E\x0070\x0061\x0072\x0073\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x00"
- 16403 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0072\x0065\x0066\x0065\x0072\x0073\x0020\x0074\x006F\x0020\x0061\x006E\x0020\x0075\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0027\x007B\x0031\x007D\x0027\x00"
- 16404 L"\x004E\x006F\x0074\x0020\x0065\x006E\x006F\x0075\x0067\x0068\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0074\x006F\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 16405 L"\x004E\x006F\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0064\x0061\x0074\x0061\x0020\x0069\x0073\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x00"
- 16406 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0069\x0074\x0073\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006F\x0072\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x006C\x0069\x0073\x0074\x00"
- 16407 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0020\x006F\x0072\x0020\x006E\x0061\x006D\x0065\x0020\x0074\x006F\x006B\x0065\x006E\x0073\x00"
- 16408 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0020\x006D\x0075\x006C\x0074\x0069\x0070\x006C\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x00"
- 16409 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0074\x0068\x0061\x0074\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0069\x0074\x0073\x0020\x0023\x0046\x0049\x0058\x0045\x0044\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 16410 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0073\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0064\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0065\x0064\x0020\x0069\x006E\x0020\x004D\x0069\x0078\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0073\x00"
-END
-STRINGTABLE DISCARDABLE
-BEGIN
- 8194 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0069\x0073\x0020\x0062\x0065\x0079\x006F\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x0061\x0072\x0072\x0061\x0079\x0020\x0062\x006F\x0075\x006E\x0064\x0073\x0020\x0020\x00"
- 8195 L"\x0054\x0068\x0065\x0020\x006E\x0065\x0077\x0020\x0073\x0069\x007A\x0065\x0020\x0069\x0073\x0020\x006C\x0065\x0073\x0073\x0020\x0074\x0068\x0061\x006E\x0020\x0074\x0068\x0065\x0020\x006F\x006C\x0064\x0020\x006F\x006E\x0065\x00"
- 8196 L"\x0054\x0068\x0065\x0020\x0062\x0069\x0074\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0077\x0061\x0073\x0020\x0062\x0065\x0079\x006F\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x0073\x0065\x0074\x0020\x0073\x0069\x007A\x0065\x00"
- 8197 L"\x0054\x0068\x0065\x0020\x0070\x006F\x0069\x006E\x0074\x0065\x0072\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0065\x006E\x0020\x0073\x0065\x0074\x00"
- 8198 L"\x0054\x0068\x0065\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x006F\x0072\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x006E\x006F\x0020\x006D\x006F\x0072\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x00"
- 8199 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x006F\x0070\x0065\x006E\x0020\x0066\x0069\x006C\x0065\x003A\x0020\x007B\x0030\x007D\x00"
- 8200 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0071\x0075\x0065\x0072\x0079\x0020\x0074\x0068\x0065\x0020\x0063\x0075\x0072\x0072\x0065\x006E\x0074\x0020\x0066\x0069\x006C\x0065\x0020\x0070\x006F\x0073\x0069\x0074\x0069\x006F\x006E\x00"
- 8201 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0063\x006C\x006F\x0073\x0065\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x006C\x0065\x00"
- 8202 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0073\x0065\x0065\x006B\x0020\x0074\x006F\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0066\x0069\x006C\x0065\x00"
- 8203 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0073\x0065\x0065\x006B\x0020\x0074\x006F\x0020\x0072\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0070\x006F\x0073\x0069\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0066\x0069\x006C\x0065\x00"
- 8204 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0064\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0065\x0020\x0074\x0068\x0065\x0020\x0068\x0061\x006E\x0064\x006C\x0065\x00"
- 8205 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0072\x0065\x0061\x0064\x0020\x0064\x0061\x0074\x0061\x0020\x0066\x0072\x006F\x006D\x0020\x0066\x0069\x006C\x0065\x00"
- 8206 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0072\x0065\x0073\x0065\x0074\x0020\x0066\x0069\x006C\x0065\x0020\x0074\x006F\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x00"
- 8207 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0061\x0063\x0065\x0072\x0074\x0061\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x006C\x0065\x0020\x0073\x0069\x007A\x0065\x00"
- 8208 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0074\x0065\x0072\x006D\x0069\x006E\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0070\x0061\x0074\x0068\x006E\x0061\x006D\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x006C\x0065\x00"
- 8209 L"\x0054\x0068\x0065\x0020\x0068\x0061\x0073\x0068\x0020\x006D\x006F\x0064\x0075\x006C\x0075\x0073\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x007A\x0065\x0072\x006F\x00"
- 8210 L"\x0048\x0061\x0073\x0068\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x006B\x0065\x0079\x0020\x0072\x0065\x0074\x0075\x0072\x006E\x0065\x0064\x0020\x0061\x006E\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0062\x0061\x0064\x0020\x0068\x0061\x0073\x0068\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 8211 L"\x0054\x0068\x0065\x0020\x006B\x0065\x0079\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0068\x0061\x0073\x0068\x0020\x0074\x0061\x0062\x006C\x0065\x00"
- 8212 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0063\x0072\x0065\x0061\x0074\x0065\x0020\x006D\x0075\x0074\x0065\x0078\x00"
- 8213 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0063\x006C\x006F\x0073\x0065\x0020\x006D\x0075\x0074\x0065\x0078\x00"
- 8214 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x006C\x006F\x0063\x006B\x0020\x006D\x0075\x0074\x0065\x0078\x00"
- 8215 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0075\x006E\x006C\x006F\x0063\x006B\x0020\x006D\x0075\x0074\x0065\x0078\x00"
- 8216 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0073\x0074\x0072\x006F\x0079\x0020\x006D\x0075\x0074\x0065\x0078\x00"
- 8217 L"\x0054\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0065\x0078\x0069\x0073\x0074\x0073\x00"
- 8218 L"\x0048\x0061\x0073\x0068\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x006B\x0065\x0079\x0020\x0072\x0065\x0074\x0075\x0072\x006E\x0065\x0064\x0020\x0061\x006E\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0062\x0061\x0064\x0020\x0068\x0061\x0073\x0068\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 8219 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0073\x0073\x0065\x0064\x0020\x0069\x0064\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0069\x0073\x0020\x0070\x006F\x006F\x006C\x00"
- 8220 L"\x0054\x0068\x0065\x0020\x006D\x006F\x0064\x0075\x006C\x0075\x0073\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x007A\x0065\x0072\x006F\x00"
- 8221 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0069\x0073\x0020\x0070\x0061\x0073\x0074\x0020\x0074\x0068\x0065\x0020\x0074\x006F\x0070\x0020\x006F\x0066\x0020\x0073\x0074\x0061\x0063\x006B\x00"
- 8222 L"\x0054\x0068\x0065\x0020\x0073\x0074\x0061\x0063\x006B\x0020\x0069\x0073\x0020\x0065\x006D\x0070\x0074\x0079\x002C\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0063\x0063\x0065\x0073\x0073\x0020\x006D\x0065\x006D\x0062\x0065\x0072\x0073\x00"
- 8223 L"\x0054\x0068\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x0062\x0075\x0066\x0066\x0065\x0072\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006D\x0061\x0078\x0020\x0073\x0069\x007A\x0065\x0020\x006F\x0066\x0020\x007A\x0065\x0072\x006F\x00"
- 8224 L"\x0054\x0068\x0065\x0020\x0067\x0069\x0076\x0065\x006E\x0020\x0072\x0061\x0064\x0069\x0078\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x002E\x0020\x0055\x0073\x0065\x0020\x0032\x002C\x0020\x0038\x002C\x0020\x0031\x0030\x002C\x0020\x006F\x0072\x0020\x0031\x0036\x00"
- 8225 L"\x0054\x0068\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x0062\x0075\x0066\x0066\x0065\x0072\x0020\x0069\x0073\x0020\x0074\x006F\x006F\x0020\x0073\x006D\x0061\x006C\x006C\x0020\x0074\x006F\x0020\x0061\x0063\x0063\x0065\x0070\x0074\x0020\x0074\x0068\x0065\x0020\x0072\x0065\x0073\x0075\x006C\x0074\x0073\x00"
- 8226 L"\x0054\x0068\x0065\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0069\x0073\x0020\x0070\x0061\x0073\x0074\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00"
- 8227 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0077\x0072\x0069\x0074\x0065\x0020\x0074\x006F\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x0072\x0064\x0020\x0065\x0072\x0072\x00"
- 8228 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0077\x0072\x0069\x0074\x0065\x0020\x0074\x006F\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x0072\x0064\x0020\x006F\x0075\x0074\x00"
- 8229 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0077\x0072\x0069\x0074\x0065\x0020\x0074\x006F\x0020\x0063\x006F\x006E\x0073\x006F\x006C\x0065\x00"
- 8230 L"\x0053\x0074\x0072\x0069\x006E\x0067\x0020\x0070\x006F\x006F\x006C\x0020\x0069\x0064\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x00"
- 8231 L"\x0054\x0068\x0065\x0020\x0055\x0052\x004C\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0063\x006F\x0072\x0072\x0065\x0063\x0074\x006C\x0079\x0020\x0066\x006F\x0072\x006D\x0065\x0064\x00"
- 8232 L"\x0054\x0068\x0065\x0020\x0055\x0052\x004C\x0020\x0075\x0073\x0065\x0064\x0020\x0061\x006E\x0020\x0075\x006E\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0070\x0072\x006F\x0074\x006F\x0063\x006F\x006C\x00"
- 8233 L"\x0055\x006E\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0055\x0052\x004C\x0020\x0070\x0072\x006F\x0074\x006F\x0063\x006F\x006C\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 8234 L"\x004F\x006E\x006C\x0079\x0020\x006C\x006F\x0063\x0061\x006C\x0068\x006F\x0073\x0074\x0020\x0069\x0073\x0020\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0061\x0074\x0020\x0074\x0068\x0069\x0073\x0020\x0074\x0069\x006D\x0065\x00"
- 8235 L"\x004E\x006F\x0020\x0070\x0072\x006F\x0074\x006F\x0063\x006F\x006C\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x00"
- 8236 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x002F\x002F\x0020\x0061\x0066\x0074\x0065\x0072\x0020\x0070\x0072\x006F\x0074\x006F\x0063\x006F\x006C\x00"
- 8237 L"\x0025\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0074\x0077\x006F\x0020\x0068\x0065\x0078\x0020\x0064\x0069\x0067\x0069\x0074\x0073\x00"
- 8238 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0068\x006F\x0073\x0074\x0020\x0063\x006F\x006D\x0070\x006F\x006E\x0065\x006E\x0074\x00"
- 8239 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0073\x0073\x0065\x0064\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0069\x0073\x0020\x0070\x0061\x0073\x0074\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0076\x0065\x0063\x0074\x006F\x0072\x00"
- 8240 L"\x0050\x0061\x0072\x0073\x0065\x0020\x006D\x0061\x0079\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0063\x0061\x006C\x006C\x0065\x0064\x0020\x0077\x0068\x0069\x006C\x0065\x0020\x0070\x0061\x0072\x0073\x0069\x006E\x0067\x00"
- 8241 L"\x0041\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0077\x0061\x0073\x0020\x0073\x0065\x0065\x006E\x0020\x0062\x0075\x0074\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0073\x0074\x0061\x006C\x006C\x0065\x0064\x0020\x0076\x0061\x006C\x0069\x0064\x0061\x0074\x006F\x0072\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0075\x006E\x0064\x0065\x0072\x0073\x0074\x0061\x006E\x0064\x0020\x0044\x0054\x0044\x0073\x00"
- 8242 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x006F\x0070\x0065\x006E\x0020\x0044\x0054\x0044\x0020\x0066\x0069\x006C\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 8243 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x006F\x0070\x0065\x006E\x0020\x0065\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0027\x007B\x0030\x007D\x0027\x00"
- 8244 L"\x0054\x0068\x0065\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0069\x006E\x0070\x0075\x0074\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x00"
- 8245 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0067\x0069\x0076\x0065\x006E\x0020\x0077\x0061\x0073\x0020\x0062\x0065\x0079\x006F\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x006D\x0061\x0078\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0064\x0065\x0078\x00"
- 8246 L"\x0054\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0073\x0074\x0061\x0063\x006B\x0020\x0069\x0073\x0020\x0065\x006D\x0070\x0074\x0079\x00"
- 8247 L"\x0054\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0073\x0074\x0061\x0063\x006B\x0020\x0069\x006E\x0064\x0065\x0078\x0020\x0067\x0069\x0076\x0065\x006E\x0020\x0077\x0061\x0073\x0020\x0062\x0065\x0079\x006F\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x0073\x0074\x0061\x0063\x006B\x0020\x0074\x006F\x0070\x00"
- 8248 L"\x0054\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0073\x0074\x0061\x0063\x006B\x0020\x0077\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0065\x006D\x0070\x0074\x0079\x0020\x0077\x0068\x0065\x006E\x0020\x0061\x0020\x0070\x006F\x0070\x0020\x0072\x0065\x0071\x0075\x0065\x0073\x0074\x0020\x006F\x0063\x0063\x0075\x0072\x0065\x0064\x00"
- 8249 L"\x0041\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0020\x006F\x0070\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0071\x0075\x0065\x0073\x0074\x0065\x0064\x002C\x0020\x0062\x0075\x0074\x0020\x006F\x006E\x006C\x0079\x0020\x006F\x006E\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x006F\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0074\x0061\x0063\x006B\x00"
- 8250 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0064\x0069\x0063\x0061\x0074\x0065\x0064\x0020\x0072\x0065\x0061\x0064\x0065\x0072\x0020\x0069\x0064\x0020\x0077\x0061\x0073\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0066\x006F\x0075\x006E\x0064\x00"
- 8251 L"\x0054\x0068\x0065\x0020\x0061\x0075\x0074\x006F\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0065\x006E\x0075\x006D\x0020\x0068\x0061\x0073\x0020\x0061\x006E\x0020\x0075\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0076\x0061\x006C\x0075\x0065\x00"
- 8252 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0063\x0072\x0065\x0061\x0074\x0065\x0020\x0061\x0020\x0063\x006F\x006E\x0076\x0065\x0072\x0074\x0065\x0072\x0020\x0066\x006F\x0072\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x003A\x0020\x007B\x0030\x007D\x00"
- 8253 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0063\x006F\x0064\x0065\x0020\x0066\x0069\x0072\x0073\x0074\x0020\x006C\x0069\x006E\x0065\x0020\x006F\x0066\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x003A\x0020\x007B\x0030\x007D\x00"
- 8254 L"\x0045\x006E\x0064\x0020\x006F\x0066\x0020\x0069\x006E\x0070\x0075\x0074\x0020\x0077\x0061\x0073\x0020\x0068\x0069\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006D\x0069\x0064\x0064\x006C\x0065\x0020\x006F\x0066\x0020\x0061\x0020\x006D\x0075\x006C\x0074\x0069\x0062\x0079\x0074\x0065\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x00"
- 8255 L"\x0054\x0068\x0069\x0073\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0028\x007B\x0030\x007D\x0029\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x0068\x0061\x0076\x0065\x0020\x0068\x0061\x0064\x0020\x0061\x0020\x0074\x0072\x0061\x006E\x0073\x0063\x006F\x0064\x0065\x0072\x00"
- 8256 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0073\x0065\x0063\x006F\x006E\x0064\x0020\x0062\x0079\x0074\x0065\x0020\x006F\x0066\x0020\x0061\x0020\x0055\x0054\x0046\x002D\x0038\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x00"
- 8257 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0055\x0054\x0046\x002D\x0038\x0020\x0064\x0061\x0074\x0061\x00"
- 8258 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0069\x006D\x0061\x0072\x0079\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0063\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x006F\x0070\x0065\x006E\x0065\x0064\x002E\x0020\x0049\x0064\x003D\x007B\x0030\x007D\x00"
- 8259 L"\x0055\x006E\x0062\x0061\x006C\x0061\x006E\x0063\x0065\x0064\x0020\x0073\x0074\x0061\x0072\x0074\x002F\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x002C\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0069\x006E\x0075\x0065\x00"
- 8260 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0073\x0073\x0065\x0064\x0020\x0041\x0074\x0074\x0054\x0079\x0070\x0065\x0073\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006B\x006E\x006F\x0077\x006E\x00"
- 8261 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0073\x0073\x0065\x0064\x0020\x0044\x0065\x0066\x0041\x0074\x0074\x0054\x0079\x0070\x0065\x0073\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006B\x006E\x006F\x0077\x006E\x00"
- 8262 L"\x0054\x0068\x0065\x0020\x0062\x0075\x0066\x0066\x0065\x0072\x0020\x006D\x0061\x006E\x0061\x0067\x0065\x0072\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0070\x0072\x006F\x0076\x0069\x0064\x0065\x0020\x0061\x006E\x0079\x0020\x006D\x006F\x0072\x0065\x0020\x0062\x0075\x0066\x0066\x0065\x0072\x0073\x00"
- 8263 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0073\x0073\x0065\x0064\x0020\x0062\x0075\x0066\x0066\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0069\x0073\x0020\x006D\x0061\x006E\x0061\x0067\x0065\x0072\x0027\x0073\x0020\x0070\x006F\x006F\x006C\x00"
- 8264 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0073\x0073\x0065\x0064\x0020\x0072\x0065\x0063\x006F\x0067\x006E\x0069\x007A\x0065\x0072\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x006B\x006E\x006F\x0077\x006E\x00"
- 8265 L"\x0054\x0068\x0065\x0020\x0062\x006C\x006F\x0063\x006B\x0020\x006F\x0066\x0020\x0058\x004D\x004C\x0020\x0064\x0061\x0074\x0061\x0020\x0063\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0074\x0072\x0061\x006E\x0073\x0063\x006F\x0064\x0065\x0064\x00"
- 8266 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0063\x0072\x0065\x0061\x0074\x0065\x0020\x0061\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0074\x0072\x0061\x006E\x0073\x0063\x006F\x0064\x0065\x0072\x00"
- 8267 L"\x0054\x0068\x0065\x0020\x0062\x0069\x006E\x0061\x0072\x0079\x0020\x006F\x0070\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x006F\x0064\x0065\x0020\x0068\x0061\x0064\x0020\x0061\x0020\x0075\x006E\x0061\x0072\x0079\x0020\x006E\x006F\x0064\x0065\x0020\x0074\x0079\x0070\x0065\x00"
- 8268 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0063\x0068\x0069\x006C\x0064\x0072\x0065\x006E\x00"
- 8269 L"\x0050\x0043\x0044\x0041\x0054\x0041\x0020\x006E\x006F\x0064\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0068\x0065\x0072\x0065\x00"
- 8270 L"\x0054\x0068\x0065\x0020\x007B\x0030\x007D\x0020\x006F\x0070\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0070\x0065\x0063\x0020\x0074\x0079\x0070\x0065\x00"
- 8271 L"\x0054\x0068\x0065\x0020\x0075\x006E\x0061\x0072\x0079\x0020\x006F\x0070\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x006F\x0064\x0065\x0020\x0068\x0061\x0064\x0020\x0061\x0020\x0062\x0069\x006E\x0061\x0072\x0079\x0020\x006E\x006F\x0064\x0065\x0020\x0074\x0079\x0070\x0065\x00"
- 8272 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0074\x0079\x0070\x0065\x00"
- 8273 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0070\x0065\x0063\x0020\x0074\x0079\x0070\x0065\x00"
- 8274 L"\x0054\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0064\x0020\x0077\x0061\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00"
- 8275 L"\x0054\x0068\x0065\x0020\x0063\x0061\x006C\x006C\x0020\x0074\x006F\x0020\x0073\x0063\x0061\x006E\x004E\x0065\x0078\x0074\x0028\x0029\x0020\x0069\x0073\x0020\x0069\x006C\x006C\x0065\x0067\x0061\x006C\x0020\x0061\x0074\x0020\x0074\x0068\x0069\x0073\x0020\x0074\x0069\x006D\x0065\x00"
+ 2 "Notation '{0}' has already been declared"
+ 3 "Attribute '{0}' has already been declared"
+ 4 "Encoding ({0}, from XMLDecl or manually set) contradicts the auto-sensed encoding, ignoring it"
+ 5 "Element '{0}' was referenced in a content model but never declared"
+ 6 "Element '{0}' was referenced in an attlist but never declared"
+ 9 "Expected comment or CDATA"
+ 10 "Expected an attribute name"
+ 11 "Expected a notation name"
+ 12 "Repetition of individual elements is not legal for mixed content models"
+ 13 "Bad default attribute declaration"
+ 14 "Expected default attribute declaration, assuming #IMPLIED "
+ 15 "Attribute list syntax error"
END
+STRINGTABLE DISCARDABLE
+BEGIN
+ 16 "Expected equal sign"
+ 17 "Duplication attribute name"
+ 18 "Bad ID for xml:lang attribute"
+ 19 "Expected an element name"
+ 20 "Must start with an XMLDecl"
+ 21 "Comments must start with <!--"
+ 22 "Invalid document structure"
+ 23 "Expected a 'version=', 'encoding=', or 'standalone='"
+ 24 "Bad XML version string"
+ 25 "Unsupported XML version"
+ 26 "Unterminated XML decl"
+ 27 "Bad XML encoding declaration"
+ 28 "Bad standalone declaration"
+ 29 "Unterminated comment"
+ 30 "Processing instruction name expected"
+ 31 "Unterminated processing instruction"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 32 "Invalid character"
+ 33 "Unexpected text before root element"
+ 34 "Unterminated start tag"
+ 35 "Expected an attribute value"
+ 36 "Unterminated end tag"
+ 37 "Expected attribute type (CDATA, ID, NMTOKEN, ..),"
+ 38 "Expected end of tag '{0}'"
+ 39 "Expected tag name, comment, PI, or other markup"
+ 40 "Not valid after content"
+ 41 "Expected comment"
+ 42 "Expected comment or processing instruction"
+ 43 "Expected whitespace"
+ 44 "No root element in DOCTYPE"
+ 45 "Expected quoted string"
+ 46 "Expected public id"
+ 47 "Invalid character in public id"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 48 "Unterminated DOCTYPE declaration"
+ 49 "Invalid character in internal subset"
+ 50 "Expected CDATA section"
+ 51 "Invalid initial name character"
+ 52 "Invalid name character"
+ 53 "Unexpected whitespace"
+ 54 "Invalid character in attribute value"
+ 55 "Expected a markup declaration"
+ 56 "Text declaration not legal here"
+ 57 "Conditional section in internal subset"
+ 58 "Expected parameter entity name"
+ 59 "Unterminated entity declaration"
+ 60 "Invalid character reference"
+ 61 "Unterminated character reference"
+ 62 "Expected entity name for reference"
+ 63 "Entity '{0}' was not found"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 64 "Unparsed entitty references not valid here"
+ 65 "Unterminated entity reference"
+ 66 "Recursive entity expansion"
+ 67 "Partial markup in entity value"
+ 68 "Unterminated element declaration"
+ 69 "Expected content specification expression"
+ 70 "Expected asterisk"
+ 71 "Unterminated Content model"
+ 72 "Expected system id"
+ 73 "Expected system or public id"
+ 74 "Unterminated notation declaration"
+ 75 "Expected ',', '|', or ')' characters"
+ 76 "Expected '|' or ')' characters"
+ 77 "Expected ',' or ')' characters or close parenthesis"
+ 78 "Expected enumeration value"
+ 79 "Expected | enumeration separator, or closing paren"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 80 "Unterminated entity literal"
+ 81 "There are more end tags than start tags"
+ 82 "Reference to external declaration in standalone document. Entity={0}"
+ 83 "Expected an open parenthesis"
+ 84 "The attribute '{0}' is already used in element '{1}'"
+ 85 "A '<' character cannot be used in an attribute value, except through <"
+ 86 "A leading surrogate character was not followed by a legal second character"
+ 87 "Expected ']]>' to end a conditional section"
+ 88 "Expected INCLUDE or IGNORE here"
+ 89 "Expected [ to follow INCLUDE or IGNORE"
+ 90 "Expected a TextDecl here: <?xml ...."
+ 91 "Expected a XMLDecl here: <?xml ...."
+ 92 "Unexpected end of entity {0}"
+ 93 "A PE propogated out of the int/ext subset, discarding extra text"
+ 94 "An extra ] character was found an ignored"
+ 95 "PE refs are not allowed inside markup in the internal subset"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 96 "An entity propogated out of the content section into Miscellaneous"
+ 97 "Expected &# to be followed by a numeric character value"
+ 98 "Expected an open bracket ('[') here"
+ 99 "The sequence ']]>' is not allowed in character data"
+ 100 "Illegal sequence '--' in comment"
+ 101 "Unterminated CDATA section"
+ 102 "Expected NDATA"
+ 103 "NDATA is not legal for parameter entities"
+ 104 "Hex radix character refs must use 'x', not 'X'"
+ 105 "'{0}' has already been set. Ignoring redundant setting"
+ 106 "The XMLDecl strings must be in the order: version, encoding, standalone"
+ 107 "External entities cannot be referred to from attribute values"
+ 108 "The XML or Text decl must start with '<?xml ', not '<?XML '"
+ 109 "Expected a literal entity value or PUBLIC/SYSTEM id"
+ 110 "'{0}' is not a valid digit for the indicated radix"
+ 111 "The input ended before all started tags were ended. Last tag started was '{0}'"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 112 "The content model for element '{0}' is ambiguous"
+ 113 "Nested CDATA sections are not allowed"
+ 114 "The prefix '{0}' has not been mapped to any URI"
+ 115 "The start and the end tag were in the different entities"
+ 116 "The main XML document cannot be empty"
+ 117 "CDATA is not allowed outside the root element"
+ 118 "Only numeric character entities or special character entities are legal here"
+ 119 "Got an unexpected trailing surrogate character"
+ 120 "No processing instruction starts with 'xml'"
+ 121 "The XML or Text declaration must start at line/column 1/1"
+ 122 "The 'version=' string is required in an XMLDecl"
+ 123 "The 'standalone=' string is only allowed in the main XML entity"
+ 124 "When namespaces are enabled, a name can have only one colon character"
+ 125 "When namespaces are enabled, the colon cannot be the first or last character"
+ 126 "Colons are not allowed in this name when namespaces are enabled"
+ 127 "A system exception occured during processing"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 128 "An exception occured! Type:{0}, Message:{1}"
+ 129 "Unexpected end of file exception. Message: {0}"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 16386 "Unknown element '{0}'"
+ 16387 "Attribute '{0}' not defined"
+ 16388 "Notation '{0}' was referenced but never declared"
+ 16389 "Root element different from DOCTYPE"
+ 16390 "Required attribute '{0}' was not provided"
+ 16391 "Element '{0}' is not valid for content model: '{1}'"
+ 16392 "ID attributes must be #IMPLIED or #REQUIRED"
+ 16393 "This type of attribute cannot have an empty value"
+ 16394 "Element '{0}' has already been declared"
+ 16395 "Element '{0}' has more than one ID attribute"
+ 16396 "ID '{0}' has already been used"
+ 16397 "ID attribute '{0}' was referenced but never declared"
+ 16398 "Attribute '{0}' refers to an unknown notation '{1}'"
+ 16399 "Element '{0}' was used in the DOCTYPE but never declared"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 16400 "Empty content not valid for content model: '{0}'"
+ 16401 "Attribute '{{0}}{1}' is not declared for element '{2}'"
+ 16402 "Attributes of type ENTITY/ENTITIES must refer to an external, unparsed entity"
+ 16403 "Attribute '{0}' refers to an unknown entity '{1}'"
+ 16404 "Not enough elements to match content model : '{0}'"
+ 16405 "No character data is allowed by content model"
+ 16406 "Attribute '{0}' does not match its defined enumeration or notation list"
+ 16407 "The values for attribute '{0}' must be names or name tokens"
+ 16408 "Attribute '{0}' does not support multiple values"
+ 16409 "Attribute '{0}' has a value that does not match its #FIXED value"
+ 16410 "Element types cannot be duplicated in Mixed content models"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 8194 "The index is beyond the array bounds "
+ 8195 "The new size is less than the old one"
+ 8196 "The bit index was beyond the set size"
+ 8197 "The pointer has not been set"
+ 8198 "The enumerator contains no more elements"
+ 8199 "Could not open file: {0}"
+ 8200 "Could not query the current file position"
+ 8201 "Could not close the file"
+ 8202 "Could not seek to end of file"
+ 8203 "Could not seek to required position in file"
+ 8204 "Could not duplicate the handle"
+ 8205 "Could not read data from file"
+ 8206 "Could not reset file to beginning"
+ 8207 "Could not acertain the file size"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 8208 "Could not determine base pathname of the file"
+ 8209 "The hash modulus cannot be zero"
+ 8210 "Hashing the key returned an invalid bad hash value"
+ 8211 "The key '{0}' could not be found in the hash table"
+ 8212 "Could not create mutex"
+ 8213 "Could not close mutex"
+ 8214 "Could not lock mutex"
+ 8215 "Could not unlock mutex"
+ 8216 "Could not destroy mutex"
+ 8217 "The element {0} already exists"
+ 8218 "Hashing the key returned an invalid bad hash value"
+ 8219 "The passed id is not valid for this pool"
+ 8220 "The modulus value cannot be zero"
+ 8221 "The index is past the top of stack"
+ 8222 "The stack is empty, cannot access members"
+ 8223 "The target buffer cannot have a max size of zero"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 8224 "The given radix is not supported. Use 2, 8, 10, or 16"
+ 8225 "The target buffer is too small to accept the results"
+ 8226 "The start index is past the end of the string"
+ 8227 "Could not write to standard err"
+ 8228 "Could not write to standard out"
+ 8229 "Could not write to console"
+ 8230 "String pool id was not legal"
+ 8231 "The URL was not correctly formed"
+ 8232 "The URL used an unsupported protocol"
+ 8233 "Unsupported URL protocol: '{0}'"
+ 8234 "Only localhost is supported at this time"
+ 8235 "No protocol prefix present"
+ 8236 "Expected // after protocol"
+ 8237 "% must be followed by two hex digits"
+ 8238 "Unterminated host component"
+ 8239 "The passed index is past the end of the vector"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 8240 "Parse may not be called while parsing"
+ 8241 "A DOCTYPE was seen but the installed validator does not understand DTDs"
+ 8242 "Could not open DTD file '{0}'"
+ 8243 "Could not open external entity '{0}'"
+ 8244 "The end of input was not expected"
+ 8245 "The index given was beyond the max attribute index"
+ 8246 "The element stack is empty"
+ 8247 "The element stack index given was beyond the stack top"
+ 8248 "The element stack was already empty when a pop request occured"
+ 8249 "A parent operation was requested, but only one element is on the stack"
+ 8250 "The indicated reader id was never found"
+ 8251 "The auto encoding enum has an unknown value"
+ 8252 "Could not create a converter for encoding: {0}"
+ 8253 "Could not decode first line of entity: {0}"
+ 8254 "End of input was hit in the middle of a multibyte sequence"
+ 8255 "This encoding ({0})should have had a transcoder"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 8256 "Invalid second byte of a UTF-8 character sequence"
+ 8257 "Invalid surrogate character found in UTF-8 data"
+ 8258 "The primary document entity could not be opened. Id={0}"
+ 8259 "Unbalanced start/end tags found, cannot continue"
+ 8260 "The passed AttTypes value is not known"
+ 8261 "The passed DefAttTypes value is not known"
+ 8262 "The buffer manager cannot provide any more buffers"
+ 8263 "The passed buffer was not found in this manager's pool"
+ 8264 "The passed recognizer encoding was not known"
+ 8265 "The block of XML data could not be transcoded"
+ 8266 "Could not create a default transcoder"
+ 8267 "The binary operation node had a unary node type"
+ 8268 "The content type must be mixed or children"
+ 8269 "PCDATA nodes are not valid here"
+ 8270 "The {0} operation is invalid for the spec type"
+ 8271 "The unary operation node had a binary node type"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ 8272 "Unknown content model type"
+ 8273 "Unknown content spec type"
+ 8274 "The element id was invalid"
+ 8275 "The call to scanNext() is illegal at this time"
+END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/src/util/Platforms/Win32/Win32PlatformUtils.cpp b/src/util/Platforms/Win32/Win32PlatformUtils.cpp
index 49ca030..b4afa1f 100644
--- a/src/util/Platforms/Win32/Win32PlatformUtils.cpp
+++ b/src/util/Platforms/Win32/Win32PlatformUtils.cpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:06:21 twl
- * Initial revision
+ * Revision 1.2 1999/11/22 20:41:26 abagchi
+ * Changed 'intlFiles/Locales' to 'icu/data'
+ *
+ * Revision 1.1.1.1 1999/11/09 01:06:21 twl
+ * Initial checkin
*
* Revision 1.4 1999/11/08 20:45:33 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -695,7 +698,7 @@
if (!::GetEnvironmentVariableA("ICU_DATA", tmpBuf, 4096))
{
strcpy(tmpBuf, fgLibLocation);
- strcat(tmpBuf, "intlFiles\\Locales\\");
+ strcat(tmpBuf, "icu\\data\\");
ICUTransService::setICUPath(tmpBuf);
}
return new ICUTransService;
diff --git a/src/util/Transcoders/ICU/ICUTransService.cpp b/src/util/Transcoders/ICU/ICUTransService.cpp
index e9fdeab..f6f72c1 100644
--- a/src/util/Transcoders/ICU/ICUTransService.cpp
+++ b/src/util/Transcoders/ICU/ICUTransService.cpp
@@ -56,8 +56,14 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:06:07 twl
- * Initial revision
+ * Revision 1.3 1999/11/18 20:16:52 abagchi
+ * Now works with ICU 1.3.1
+ *
+ * Revision 1.2 1999/11/17 22:36:41 rahulj
+ * Code works with ICU transcoding service
+ *
+ * Revision 1.1.1.1 1999/11/09 01:06:07 twl
+ * Initial checkin
*
* Revision 1.3 1999/11/08 20:45:33 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -77,6 +83,7 @@
#include <ustring.h>
+
// ---------------------------------------------------------------------------
// ICUTransService: Public, static methods
// ---------------------------------------------------------------------------
@@ -174,7 +181,7 @@
// which will basically cause the system to give up because we really can't
// do anything without one.
//
- UErrorCode uerr = ZERO_ERROR;
+ UErrorCode uerr = U_ZERO_ERROR;
UConverter* converter = ucnv_open(NULL, &uerr);
if (!converter)
return 0;
@@ -189,7 +196,7 @@
, XMLTransService::Codes& resValue
, const unsigned int blockSize)
{
- UErrorCode uerr = ZERO_ERROR;
+ UErrorCode uerr = U_ZERO_ERROR;
UConverter* converter = ucnv_openU(encodingName, &uerr);
if (!converter)
{
@@ -239,7 +246,7 @@
XMLMutexLock lockConverter(&fMutex);
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
const int32_t targetCap = ucnv_fromUChars
(
fConverter
@@ -249,7 +256,7 @@
, &err
);
- if (err != BUFFER_OVERFLOW_ERROR)
+ if (err != U_BUFFER_OVERFLOW_ERROR)
return 0;
return (unsigned int)targetCap;
@@ -262,7 +269,7 @@
XMLMutexLock lockConverter(&fMutex);
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
const int32_t targetCap = ucnv_toUChars
(
fConverter
@@ -273,7 +280,7 @@
, &err
);
- if (err != BUFFER_OVERFLOW_ERROR)
+ if (err != U_BUFFER_OVERFLOW_ERROR)
return 0;
// Subtract one since it includes the terminator space
@@ -291,7 +298,7 @@
XMLMutexLock lockConverter(&fMutex);
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
const char* startSrc = srcData;
const XMLCh chRet = ucnv_getNextUChar
(
@@ -302,7 +309,7 @@
);
// Bail out if an error
- if (FAILURE(err))
+ if (U_FAILURE(err))
return 0;
// Calculate the bytes eaten and return the char
@@ -335,7 +342,7 @@
retBuf = new char[targetLen + 1];
//Convert the Unicode string to char* using Intl stuff
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
int32_t targetCap = ucnv_fromUChars
(
fConverter
@@ -346,16 +353,16 @@
);
// If targetLen is not enough then buffer overflow might occur
- if (err == BUFFER_OVERFLOW_ERROR)
+ if (err == U_BUFFER_OVERFLOW_ERROR)
{
// Reset the error, delete the old buffer, allocate a new one, and try again
- err = ZERO_ERROR;
+ err = U_ZERO_ERROR;
delete [] retBuf;
retBuf = new char[targetCap];
targetCap = ucnv_fromUChars(fConverter, retBuf, targetCap, toTranscode, &err);
}
- if (FAILURE(err))
+ if (U_FAILURE(err))
{
delete [] retBuf;
return 0;
@@ -386,11 +393,11 @@
XMLMutexLock lockConverter(&fMutex);
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
int32_t targetCap;
targetCap = ucnv_fromUChars(fConverter, toFill, maxChars + 1, toTranscode, &err);
- if (FAILURE(err))
+ if (U_FAILURE(err))
return false;
return true;
@@ -422,10 +429,10 @@
//
// Here we don't know what the target length will be so use 0 and expect
- // an BUFFER_OVERFLOW_ERROR in which case it'd get resolved by the
+ // an U_BUFFER_OVERFLOW_ERROR in which case it'd get resolved by the
// correct capacity value.
//
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
int32_t targetCap;
targetCap = ucnv_toUChars
(
@@ -437,10 +444,10 @@
, &err
);
- if (err != BUFFER_OVERFLOW_ERROR)
+ if (err != U_BUFFER_OVERFLOW_ERROR)
return 0;
- err = ZERO_ERROR;
+ err = U_ZERO_ERROR;
retVal = new XMLCh[targetCap];
ucnv_toUChars
(
@@ -452,7 +459,7 @@
, &err
);
- if (FAILURE(err))
+ if (U_FAILURE(err))
return 0;
return retVal;
@@ -478,7 +485,7 @@
XMLMutexLock lockConverter(&fMutex);
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
const int32_t srcLen = (int32_t)strlen(toTranscode);
ucnv_toUChars
@@ -491,7 +498,7 @@
, &err
);
- if (FAILURE(err))
+ if (U_FAILURE(err))
return false;
return true;
}
@@ -524,7 +531,7 @@
// when the raw input buffer holds more characters than will fit
// in the Unicode output buffer.
//
- UErrorCode err = ZERO_ERROR;
+ UErrorCode err = U_ZERO_ERROR;
ucnv_toUnicode
(
fConverter
@@ -537,7 +544,7 @@
, &err
);
- if ((err != ZERO_ERROR) && (err != INDEX_OUTOFBOUNDS_ERROR))
+ if ((err != U_ZERO_ERROR) && (err != U_INDEX_OUTOFBOUNDS_ERROR))
ThrowXML(TranscodingException, XML4CExcepts::Trans_CouldNotXCodeXMLData);
// Calculate the bytes eaten and store in caller's param
diff --git a/src/util/Transcoders/ICU/Makefile.in b/src/util/Transcoders/ICU/Makefile.in
index 520eaa4..30c819c 100644
--- a/src/util/Transcoders/ICU/Makefile.in
+++ b/src/util/Transcoders/ICU/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:06:08 twl
-# Initial revision
+# Revision 1.2 1999/11/23 02:00:54 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:06:08 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:34 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
diff --git a/src/util/Transcoders/Iconv/IconvTransService.cpp b/src/util/Transcoders/Iconv/IconvTransService.cpp
index f5756ed..3dab4d1 100644
--- a/src/util/Transcoders/Iconv/IconvTransService.cpp
+++ b/src/util/Transcoders/Iconv/IconvTransService.cpp
@@ -56,8 +56,23 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:06:10 twl
- * Initial revision
+ * Revision 1.4 1999/12/02 20:20:16 rahulj
+ * Fixed incorrect comparision of int with a pointer.
+Got burnt because definition of NULL varies on different platforms,
+though use of NULL was not correct in the first place.
+ *
+ * Revision 1.3 1999/11/20 00:28:19 rahulj
+ * Added code for case-insensitive wide character string compares
+ *
+ * Revision 1.2 1999/11/17 21:52:49 abagchi
+ * Changed wcscasecmp() to wcscmp() to make it work on Solaris and AIX
+ * PR:
+ * Obtained from:
+ * Submitted by:
+ * Reviewed by:
+ *
+ * Revision 1.1.1.1 1999/11/09 01:06:10 twl
+ * Initial checkin
*
* Revision 1.7 1999/11/08 20:45:34 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -110,60 +125,47 @@
int IconvTransService::compareIString( const XMLCh* const comp1
, const XMLCh* const comp2)
{
- unsigned int lent1 = getWideCharLength(comp1);
- unsigned int lent2 = getWideCharLength(comp2);
+ const XMLCh* cptr1 = comp1;
+ const XMLCh* cptr2 = comp2;
- wchar_t* tmp1 = new wchar_t[lent1 + 1];
- wchar_t* tmp2 = new wchar_t[lent2 + 1];
+ while ((*cptr1 != 0) && (*cptr2 != 0))
+ {
+ wint_t wch1 = towupper(*cptr1);
+ wint_t wch2 = towupper(*cptr2);
+ if (wch1 < wch2)
+ return -1;
+ if (wch1 > wch2)
+ return 1;
- const XMLCh* ptr = comp1;
- wchar_t* target = tmp1;
- while (*ptr++)
- *target++ = *ptr;
- *target = 0x00;
-
- ptr = comp2;
- target = tmp2;
- while (*ptr++)
- *target++ = *ptr;
- *target = 0x00;
-
- int retval = wcscasecmp(tmp1, tmp2);
-
- delete [] tmp1;
- delete [] tmp2;
-
- return retval;
+ cptr1++;
+ cptr2++;
+ }
+ return 0;
}
+
int IconvTransService::compareNIString( const XMLCh* const comp1
, const XMLCh* const comp2
, const unsigned int maxChars)
{
- unsigned int lent1 = getWideCharLength(comp1);
- unsigned int lent2 = getWideCharLength(comp2);
+ const XMLCh* cptr1 = comp1;
+ const XMLCh* cptr2 = comp2;
- wchar_t* tmp1 = new wchar_t[lent1 + 1];
- wchar_t* tmp2 = new wchar_t[lent2 + 1];
+ unsigned int n = 0;
+ while ((*cptr1 != 0) && (*cptr2 != 0) && (n < maxChars))
+ {
+ wint_t wch1 = towupper(*cptr1);
+ wint_t wch2 = towupper(*cptr2);
+ if (wch1 < wch2)
+ return -1;
+ if (wch1 > wch2)
+ return 1;
- const XMLCh* ptr = comp1;
- wchar_t* target = tmp1;
- while (*ptr++)
- *target++ = *ptr;
- *target = 0x00;
-
- ptr = comp2;
- target = tmp2;
- while (*ptr++)
- *target++ = *ptr;
- *target = 0x00;
-
- int retval = wcsncasecmp(tmp1, tmp2, maxChars);
-
- delete [] tmp1;
- delete [] tmp2;
-
- return retval;
+ cptr1++;
+ cptr2++;
+ n++;
+ }
+ return 0;
}
diff --git a/src/util/Transcoders/Iconv/Makefile.in b/src/util/Transcoders/Iconv/Makefile.in
index 52a95bd..76c420c 100644
--- a/src/util/Transcoders/Iconv/Makefile.in
+++ b/src/util/Transcoders/Iconv/Makefile.in
@@ -55,8 +55,12 @@
#
#
# $Log$
-# Revision 1.1 1999/11/09 01:06:11 twl
-# Initial revision
+# Revision 1.2 1999/11/23 02:01:00 rahulj
+# Code now works under HPUX 11. Tested inmemory message loader.
+Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
+#
+# Revision 1.1.1.1 1999/11/09 01:06:11 twl
+# Initial checkin
#
# Revision 1.3 1999/11/08 20:45:35 rahul
# Swat for adding in Product name and CVS comment log variable.
@@ -64,7 +68,8 @@
#
PLATFORM = @platform@
-COMPILER = @compiler@
+CC = @cc@
+CXX = @cxx@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
diff --git a/src/util/Transcoders/Win32/Win32TransService.cpp b/src/util/Transcoders/Win32/Win32TransService.cpp
index 32c96da..c95f0fe 100644
--- a/src/util/Transcoders/Win32/Win32TransService.cpp
+++ b/src/util/Transcoders/Win32/Win32TransService.cpp
@@ -56,8 +56,14 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:06:04 twl
- * Initial revision
+ * Revision 1.2 1999/12/01 18:54:26 roddey
+ * Small syntactical change to make it compile under Borland's compiler.
+ * It does not make it worse under other compilers, so why not. Basically
+ * it was just changing ::iswspace() to iswspace(), i.e. get rid of the ::
+ * prefix, which freaked out Borland for some reason.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:06:04 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:35 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -102,7 +108,7 @@
bool Win32TransService::isSpace(const XMLCh toCheck) const
{
- return (::iswspace(toCheck) != 0);
+ return (iswspace(toCheck) != 0);
}
XMLTranscoder* Win32TransService::makeNewDefTranscoder()
diff --git a/src/util/URL.hpp b/src/util/URL.hpp
index 81c27e8..1c5b582 100644
--- a/src/util/URL.hpp
+++ b/src/util/URL.hpp
@@ -56,8 +56,11 @@
/**
* $Log$
- * Revision 1.1 1999/11/09 01:05:22 twl
- * Initial revision
+ * Revision 1.2 1999/11/23 01:49:56 rahulj
+ * Cannot use class qualifier in class defn. CC under HPUX is happy.
+ *
+ * Revision 1.1.1.1 1999/11/09 01:05:22 twl
+ * Initial checkin
*
* Revision 1.2 1999/11/08 20:45:16 rahul
* Swat for adding in Product name and CVS comment log variable.
@@ -138,7 +141,7 @@
const XMLCh* getHost() const;
const XMLCh* getProtocol() const;
const XMLCh* getPath() const;
- URL::Protocols getType() const;
+ Protocols getType() const;
const XMLCh* getURL() const;
@@ -160,7 +163,7 @@
// Private helper methods
// -----------------------------------------------------------------------
void cleanup();
- URL::Protocols findType(unsigned int& curPos) const;
+ Protocols findType(unsigned int& curPos) const;
XMLCh getNextCh(unsigned int& pos, const bool endOk = false) const;
XMLCh peekNextCh(unsigned int pos) const;
void