diff --git a/Makefile.in b/Makefile.in
index b241e15..dbb9c1a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -49,10 +49,10 @@
 	$(MAKE) -C samples $@
 
 install-extras:
-	$(MKINSTALLDIRS) $(DESTDIR)/$(prefix)
-	$(INSTALL_DATA) $(XALANCROOT)/KEYS        $(DESTDIR)/$(prefix)
-	$(INSTALL_DATA) $(XALANCROOT)/LICENSE     $(DESTDIR)/$(prefix)
-	$(INSTALL_DATA) $(XALANCROOT)/NOTICE      $(DESTDIR)/$(prefix)
+	$(MKINSTALLDIRS) $(DESTDIR)/$(datadir)/doc/libxalan-c
+	$(INSTALL_DATA) $(XALANCROOT)/LICENSE     $(DESTDIR)/$(datadir)/doc/libxalan-c
+	$(INSTALL_DATA) $(XALANCROOT)/NOTICE      $(DESTDIR)/$(datadir)/doc/libxalan-c
+	$(INSTALL_DATA) $(XALANCROOT)/README      $(DESTDIR)/$(datadir)/doc/libxalan-c
 
 	
 	
diff --git a/Makefile.incl.in b/Makefile.incl.in
index 15d3962..131681e 100644
--- a/Makefile.incl.in
+++ b/Makefile.incl.in
@@ -44,6 +44,7 @@
 bindir = @bindir@
 libdir = @libdir@
 includedir = @includedir@
+datadir = @datadir@
 
 XSL_OBJ_DIR = ${OUTDIR}/obj
 XSL_LIB_DIR = ${OUTDIR}/lib
diff --git a/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj b/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj
index 7584ef7..2856f23 100644
--- a/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj
+++ b/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj
@@ -470,19 +470,6 @@
     <ClInclude Include="..\..\..\..\src\xalanc\Include\XalanSet.hpp" />
     <ClInclude Include="..\..\..\..\src\xalanc\Include\XalanVector.hpp" />
     <ClInclude Include="..\..\..\..\src\xalanc\Include\XalanVersion.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanCalendar.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanCalendarFormatter.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanCalendarIFormatter.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTime.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeDefinitons.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeExceptions.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFormatter.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunction.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunctions.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeMath.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDuration.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDurationFormatter.hpp" />
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanSystemClock.hpp" />
     <ClInclude Include="..\..\..\..\src\xalanc\XalanDOM\XalanAttr.hpp" />
     <ClInclude Include="..\..\..\..\src\xalanc\XalanDOM\XalanCDATASection.hpp" />
     <ClInclude Include="..\..\..\..\src\xalanc\XalanDOM\XalanCharacterData.hpp" />
@@ -928,13 +915,6 @@
     </CustomBuildStep>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTime.cpp" />
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFormatter.cpp" />
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunction.cpp" />
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunctions.cpp" />
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeMath.cpp" />
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDuration.cpp" />
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDurationFormatter.cpp" />
     <ClCompile Include="..\..\..\..\src\xalanc\XalanDOM\XalanAttr.cpp" />
     <ClCompile Include="..\..\..\..\src\xalanc\XalanDOM\XalanCDataSection.cpp" />
     <ClCompile Include="..\..\..\..\src\xalanc\XalanDOM\XalanCharacterData.cpp" />
diff --git a/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj.filters b/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj.filters
index 918298d..9ccc1ab 100644
--- a/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj.filters
+++ b/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj.filters
@@ -50,9 +50,6 @@
     <Filter Include="ICUBridge">
       <UniqueIdentifier>{e28a39ff-8fdb-4b96-a90e-a3ebcfda152f}</UniqueIdentifier>
     </Filter>
-    <Filter Include="XalanDateTime">
-      <UniqueIdentifier>{84e2e852-fd84-4ebd-9ac7-84947fa78159}</UniqueIdentifier>
-    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\..\..\src\xalanc\Include\PlatformDefinitions.hpp">
@@ -1282,45 +1279,6 @@
     <ClInclude Include="..\..\..\..\src\xalanc\Harness\XalanXMLFileReporter.hpp">
       <Filter>Harness</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanCalendar.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanCalendarFormatter.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanCalendarIFormatter.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTime.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeDefinitons.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeExceptions.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFormatter.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunction.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunctions.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeMath.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDuration.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDurationFormatter.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\src\xalanc\XalanDateTime\XalanSystemClock.hpp">
-      <Filter>XalanDateTime</Filter>
-    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\..\src\xalanc\XalanDOM\XalanAttr.cpp">
@@ -2397,27 +2355,6 @@
     <ClCompile Include="..\..\..\..\src\xalanc\ICUBridge\ICUXalanNumberFormatProxy.cpp">
       <Filter>ICUBridge</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTime.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFormatter.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunction.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeFunctions.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDateTimeMath.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDuration.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\xalanc\XalanDateTime\XalanDurationFormatter.cpp">
-      <Filter>XalanDateTime</Filter>
-    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\Res\AllInOne\AllInOne.rc">
diff --git a/Projects/Win32/VC10/Xalan.sln b/Projects/Win32/VC10/Xalan.sln
index 61ffce2..d6e0da2 100644
--- a/Projects/Win32/VC10/Xalan.sln
+++ b/Projects/Win32/VC10/Xalan.sln
@@ -52,8 +52,6 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EntityResolver", "EntityResolver\EntityResolver.vcxproj", "{5008A0C4-7F75-4C41-BB25-D6DF75713A80}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDatesAndTimes", "TestDatesAndTimes\TestDatesAndTimes.vcxproj", "{E748026A-44D1-4148-83F3-1C7705C17E30}"
-EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug with ICU|Win32 = Debug with ICU|Win32
@@ -482,17 +480,6 @@
 		{5008A0C4-7F75-4C41-BB25-D6DF75713A80}.Release|Win32.Build.0 = Release|Win32
 		{5008A0C4-7F75-4C41-BB25-D6DF75713A80}.Release|x64.ActiveCfg = Release|x64
 		{5008A0C4-7F75-4C41-BB25-D6DF75713A80}.Release|x64.Build.0 = Release|x64
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Debug with ICU|x64.ActiveCfg = Debug|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Debug|Win32.Build.0 = Debug|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Debug|x64.ActiveCfg = Debug|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Release with ICU|x64.ActiveCfg = Release|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Release|Win32.ActiveCfg = Release|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Release|Win32.Build.0 = Release|Win32
-		{E748026A-44D1-4148-83F3-1C7705C17E30}.Release|x64.ActiveCfg = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/README b/README
index b83cc46..44a9195 100644
--- a/README
+++ b/README
@@ -1,48 +1,169 @@
+
+Apache Xalan-C/C++ XSLT Library Version 1.11
+
+Project Description:
+    The Apache Xalan C/C++ Project provides a library and a 
+    comand line program to transform XML documents using a
+    stylesheet that conforms to XSLT 1.0 standards.
+
+    The source package contains all the code to create the library,
+    a command line transform utility and the documentation.
+
+    The documentation packages provide pre-built html documents
+    for web browser use.
+
+    Binary prebuilt packages are available for some platforms.
+    We could use help providing packages for more platforms.
+
+    Xalan is a project of the Apache Software Foundation.
+
+Project Website:
+    http://xalan.apache.org/xalan-c/
+
+Subversion Repository:
+    http://svn.apache.org/repos/asf/xalan/c/trunk
+
+Mirror Download Site:
+    http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c
+
+Prerequisite:
+    Apache Xerces-C/C++ XML Parser Library
+        Version 3.0 or newer
+        Version 3.1.1 preferred
+
+Prerequisite:
+    Gnu Make
+        This is required when building the Xalan-C library
+        on UNIX/Linux platforms.
+
+UNIX PACKAGE INSTALL PROJECTS:
+
+(prefix)/share/doc/xalan-c-1.11/
+    README        - This Document
+    LICENSE       - The Software License
+    NOTICE        - The Software Attributions
+    html/         - The HTML documentation package when available
+
+(prefix)/bin/
+    Xalan         - command line XSLT stylesheet transform utility
+
+(prefix)/include/xalanc/
+    - directory containing library header files
+
+(prefix)/lib/
+    libxalan-c.so             -> libxalan-c.so.111.0
+    lib/libxalan-c.so.111     -> libxalan-c.so.111.0
+    libxalan-c.so.111.0
+    libxalanMsg.so            -> libxalanMsg.so.111.0
+    libxalanMsg.so.111        -> libxalanMsg.so.111.0
+    libxalanMsg.so.111.0
+
+WINDOWS PACKAGE INSTALL PRODUCTS:
+
+(prefix)/doc/xalan-c-1.11/
+    README        - This Document
+    LICENSE       - The Software License
+    NOTICE        - The Software Attributions
+    html/         - The HTML documentation package when available
+
+(prefix)/bin/
+    Xalan.exe     - command line XSLT stylesheet transform utility
+    Xalan-C_1_11.dll         - Release build library
+    Xalan-C_1_11D.dll        - Debug build library
+    XalanMessages_1_11.dll   - Release build messages
+    XalanMessages_1_11D.dll  - Debug build messages
+
+(prefix)/include/xalanc/
+    - directory containing library header files
+
+(prefix)/lib/
+    Xalan-C_1.exp            - Windows DLL export definitions
+    Xalan-C_1.lib            - Windows DLL library definitions
+    Xalan-C_1D.exp           - Windows DLL export definitions
+    Xalan-C_1D.lib           - Windows DLL library definitions
+    XalanMessages_1_11.exp   - Windows DLL export definitions
+    XalanMessages_1_11.lib   - Windows DLL library definitions
+    XalanMessages_1_11D.exp  - Windows DLL export definitions
+    XalanMessages_1_11D.lib  - Windows DLL library defnitions
+
+SUPPORTED PLATFORMS:
+    - This is only a partial list
+    Linux/Gnu      GCC 4.4
+    Windows        VC7.1         Visual Studio .NET 2003
+    Windows        VC8           Visual Studio .NET 2005
+    Windows        VC9           Visual Studio .NET 2008
+    Windows        VC10          Visual Studio .NET 2010
+    Solaris-10     CC            SunStudio 12
+    OpenBSD 5.1    GCC 4.1
+    FreeBSD 9      GCC 4.2
+    - Known from previous releases
+    AIX            GCC
+    AIX            ALC
+    BSD            GCC
+    HPUX           ACC
+    Mac OS X       GCC
+    Cygwin         GCC
+    MinGW          GCC
+
+
+===============================================================
+
 README for XalanC project at xalan.apache.org
 
-
-	Steps for doing a UNIX build	
-		
- 	
-
+Steps for doing a UNIX build from source distributions
 For users who want to build in the UNIX environment,
 
-   1. The Xalan build files are written for GNU make, and will not work with other make utilities.
+   1. The Xalan build files are written for GNU make, and will not work with 
+      other make utilities.
 
-   2. Set the XERCESCROOT environment variable to the path to the root directory of Xerces-C++.
+   2. Set the XERCESCROOT environment variable to the path to the root directory 
+      of Xerces-C++.
 
-   3. Set the XALANCROOT environment variable to the path to the c directory in the root directory of the Xalan-C++ distribution. For example, if the distribution is located in "/home/mydir", you would set the XALANCROOT to "/home/mydir/xml-xalan/c".
+   3. Set the XALANCROOT environment variable to the path to the c directory in 
+      the root directory of the Xalan-C++ distribution. For example, if the 
+      distribution is located in "/home/mydir", you would set the XALANCROOT to 
+      "/home/mydir/xml-xalan/c".
 
-   4. (Optional) If you decide to build with ICU, integrate the build with ICU by installing the ICU (see Using the ICU) and defining XALAN_USE_ICU to a value, for example: export XALAN_USE_ICU=true. Set the ICUROOT environment variable to the path to the root directory of ICU. Note that building Xalan with ICU requires that Xerces must also be built with ICU.
+   4. (Optional) If you decide to build with ICU, integrate the build with ICU 
+      by installing the ICU (see Using the ICU) and defining XALAN_USE_ICU to a 
+      value, for example: export XALAN_USE_ICU=true. Set the ICUROOT environment 
+      variable to the path to the root directory of ICU. Note that building Xalan 
+      with ICU requires that Xerces must also be built with ICU.
 
-   5. Change directory to XALANCROOT. You can also build Xalan-C outside of the source tree, but you will need to adjust the path to the runConfigure script in the next step.
+   5. Change directory to XALANCROOT. You can also build Xalan-C outside of the 
+      source tree, but you will need to adjust the path to the runConfigure script 
+      in the next step.
 
-   6. Run the runConfigure utility and provide the platform, C compiler, and C++ compiler flags as indicated below. The runConfigure utility is used to generate the appropriate Makefile for the desired build platform based on the options specified by the user. Valid options for the runConfigure utility are:
+   6. Run the runConfigure utility and provide the platform, C compiler, and 
+      C++ compiler flags as indicated below. The runConfigure utility is used to 
+      generate the appropriate Makefile for the desired build platform based on 
+      the options specified by the user. Valid options for the runConfigure 
+      utility are:
 
       ./runConfigure -p <value> -c <value> -x <value> [-[flag] <value>]
 
-      flag  	Description 
-      p  	Build platform. Option must be provided by user. Valid values
+      flag      Description 
+      p         Build platform. Option must be provided by user. Valid values
       include: aix, linux, freebsd, netbsd, solaris, hp-10, hp-11, hp-11-ia64, irix,
       tru64, macosx, cygwin.  
-      c  	C compiler name. Example: gcc, cc, c89, xlc_r, etc. 
-      x  	C++ compiler name. Example: g++, xlC_r, CC, etc. 
-      d  	Indicates build is a debug build. Takes no values. Default is no
+      c         C compiler name. Example: gcc, cc, c89, xlc_r, etc. 
+      x         C++ compiler name. Example: g++, xlC_r, CC, etc. 
+      d         Indicates build is a debug build. Takes no values. Default is no
       debug. 
-      t  	Transcoder to use. Valid value is 'icu'. Default is null. 
-      m  	Type of localization support method. Valid values include: inmem,
+      t         Transcoder to use. Valid value is 'icu'. Default is null. 
+      m         Type of localization support method. Valid values include: inmem,
       icu, and nls. Default is inmem. 
-      M  	Locale for Message Localization Support. Default is "en_US" 
-      r  	Threads option. Valid values include: pthread or dce. Default is
+      M         Locale for Message Localization Support. Default is "en_US" 
+      r         Threads option. Valid values include: pthread or dce. Default is
       pthread. (valid on HP-UX only) 
-      b  	Specify whether it is a 32-bit or 64-bit build. Valid values are 32
+      b         Specify whether it is a 32-bit or 64-bit build. Valid values are 32
       and 64. Default is 32-bit 
-      P  	Install root directory. Used if invoking build with gmake install or
+      P         Install root directory. Used if invoking build with gmake install or
       gmake install-package. Default install root directory is /usr/local 
-      l  	Extra link options other than the default. Default is null 
-      z  	Extra compiler options other than the default. Default is null 
-      C  	Extra configuration options. 
-      h  	To get help on the above commands. Default is no help. 
+      l         Extra link options other than the default. Default is null 
+      z         Extra compiler options other than the default. Default is null 
+      C         Extra configuration options. 
+      h         To get help on the above commands. Default is no help. 
 
       Linux using GCC:  ./runConfigure -p linux -c gcc -x g++
       Linux using the Intel compiler:  ./runConfigure -p linux -c icc -x icc
@@ -64,11 +185,17 @@
 
       Solaris (64-bit):  ./runConfigure -p solaris -c cc -x CC -b 64
 
-      if you choose to install the distribution after building the libraries and executables, then you will need to indicate where you would like the distribution to be installed. To specify the install directory for your distribution, specify the flag -P <install directory>. for example, building and installing on the AIX platform:
+      if you choose to install the distribution after building the libraries and 
+      executables, then you will need to indicate where you would like the distribution 
+      to be installed. To specify the install directory for your distribution, specify 
+      the flag -P <install directory>. for example, building and installing on the 
+      AIX platform:
 
       ./runConfigure -p aix -c xlc_r -x xlC_r -P $HOME/my_xalan
 
-      Note	The standard binary directories bin, lib, and include are created in the specified directory only if the install or install-package option is specified in the build process.
+      Note      The standard binary directories bin, lib, and include are created in 
+      the specified directory only if the install or install-package option is specified 
+      in the build process.
 
       To see the other runConfigure flags you may include, use the help flag:
 
@@ -85,20 +212,16 @@
            make targ
 
       where targ can be one of:
-      targ  	Description 
-      all  	Build the libraries and Xalan executable. This is the default target
-      if no targ is specified. 
-      clean  	Deletes existing binaries, executables, libraries, tests, and
-      samples. 
-      install  	Build the library, executables, and samples, and copy them (along with
-      the header files) the specified install location. 
-      install-package  	Installs the library, executables, and samples to the
-      specified location. 
-      Samples  	Builds the samples. 
-      Tests  	Builds the tests. 
-
-
-
-
+      targ      Description 
+      all       Build the libraries and Xalan executable. This is the default target
+                if no targ is specified. 
+      clean     Deletes existing binaries, executables, libraries, tests, and
+                samples. 
+      install   Build the library, executables, and samples, and copy them (along with
+                the header files) the specified install location. 
+      install-package   Installs the library, executables, and samples to the
+                specified location. 
+      Samples   Builds the samples. 
+      Tests     Builds the tests. 
 
 
diff --git a/runConfigure b/runConfigure
index 5e40257..e48dc62 100755
--- a/runConfigure
+++ b/runConfigure
@@ -19,6 +19,10 @@
 #
 #
 # $Log$
+# Revision 1.15  2012/10/02           shathaway
+# Allow CFLAGS and CXXFLAGS to inherit external environment.
+# Fix for XALANC-734
+#
 # Revision 1.14  2005/08/16 23:48:26  dmitryh
 # Addional fix for XALANC-541
 #
@@ -654,10 +658,10 @@
 # Set the extra C and C++ compiler flags
 #
 
-CXXFLAGS="$compileroptions $debugflag $transcodingDefines $threadingDefines $bitstobuildDefines "
+CXXFLAGS="$CXXFLAGS $compileroptions $debugflag $transcodingDefines $threadingDefines $bitstobuildDefines "
 export CXXFLAGS
 
-CFLAGS="$compileroptions $debugflag $transcodingDefines $threadingDefines $bitstobuildDefines "
+CFLAGS="$CFLAGS $compileroptions $debugflag $transcodingDefines $threadingDefines $bitstobuildDefines "
 export CFLAGS
 
 LDFLAGS="$LDFLAGS $linkeroptions $bitstobuildLink $threadingDefines"
diff --git a/scripts/xalan-ms-scripts.zip b/scripts/xalan-ms-scripts.zip
new file mode 100644
index 0000000..58b3300
--- /dev/null
+++ b/scripts/xalan-ms-scripts.zip
Binary files differ
diff --git a/scripts/xalan-unix-scripts.tar b/scripts/xalan-unix-scripts.tar
new file mode 100644
index 0000000..4d1635b
--- /dev/null
+++ b/scripts/xalan-unix-scripts.tar
Binary files differ
diff --git a/src/xalanc/PlatformSupport/DoubleSupport.hpp b/src/xalanc/PlatformSupport/DoubleSupport.hpp
index 2c29e27..4e197e6 100644
--- a/src/xalanc/PlatformSupport/DoubleSupport.hpp
+++ b/src/xalanc/PlatformSupport/DoubleSupport.hpp
@@ -28,7 +28,7 @@
 #if defined(_MSC_VER)
 #include <float.h>
 #endif
-#include <math.h>
+#include <cmath>
 #include <functional>
 
 
@@ -80,7 +80,11 @@
 #if defined(_MSC_VER)
         return _isnan(theNumber) != 0;
 #elif defined(XALAN_POSIX2_AVAILABLE) && !defined(CYGWIN) && !defined(MINGW)
-        return isnan(theNumber) != 0;
+#if defined(XALAN_NO_STD_NAMESPACE)
+        return isnam(theNumber) != 0;
+#else
+        return std::isnan(theNumber) != 0;
+#endif
 #else
         return s_NaN == theNumber;
 #endif
diff --git a/xdocs/DoxyfileXalan-nograf b/xdocs/DoxyfileXalan-nograf
new file mode 100644
index 0000000..12fea5b
--- /dev/null
+++ b/xdocs/DoxyfileXalan-nograf
@@ -0,0 +1,333 @@
+# FILE: DoxyfileXalan
+#
+# This file is automatically generated using DOXYWIZARD
+# to create web pages for the Apache XALAN-C project.
+#
+# Software Release Versions Used
+#   doxygen version 1.71
+#   graphviz version 2.26.3
+#
+# The apiDocs web pages are created by invoking the following command:
+#   doxygen DoxyfileXalan
+#
+# After the web pages are created in directory ../build/docs/apiDocs/html/
+# you should copy the apache feather logo image into that directory.
+#
+# cp html/apiDocs/asf_logo_wide.gif ../build/docs/apiDocs/html
+#
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = "Xalan-C++ API"
+PROJECT_NUMBER         = 
+OUTPUT_DIRECTORY       = ../build/docs/apiDocs
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = YES
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      = 
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES       = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = NO
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    = 
+LAYOUT_FILE            = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = ../src/xalanc \
+                         ../src/xalanc/Utils/MsgCreator \
+                         ../src/xalanc/Utils/XalanMsgLib \
+                         ../src/xalanc/XalanExtensions \
+                         ../src/xalanc/Harness \
+                         ../src/xalanc/TestXSLT \
+                         ../src/xalanc/XalanSourceTree \
+                         ../src/xalanc/XSLT \
+                         ../src/xalanc/NLS \
+                         ../src/xalanc/Include \
+                         ../src/xalanc/XalanTransformer \
+                         ../src/xalanc/ICUBridge \
+                         ../src/xalanc/DOMSupport \
+                         ../src/xalanc/PlatformSupport \
+                         ../src/xalanc/TestXPath \
+                         ../src/xalanc/XalanExe \
+                         ../src/xalanc/XPathCAPI \
+                         ../src/xalanc/XalanDOM \
+                         ../src/xalanc/XercesParserLiaison \
+                         ../src/xalanc/XercesParserLiaison/Deprecated \
+                         ../src/xalanc/XalanEXSLT \
+                         ../src/xalanc/XMLSupport \
+                         ../src/xalanc/XPath
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = *.hpp \
+                         *.h
+RECURSIVE              = NO
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXCLUDE_SYMBOLS        = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = NO
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 3
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = html/apiDocs/header-local.html
+HTML_FOOTER            = html/apiDocs/footer.html
+HTML_STYLESHEET        = 
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
+HTML_TIMESTAMP         = YES
+HTML_ALIGN_MEMBERS     = NO
+HTML_DYNAMIC_SECTIONS  = NO
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     = 
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               = 
+QHP_NAMESPACE          = org.doxygen.Project
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   = 
+QHP_CUST_FILTER_ATTRS  = 
+QHP_SECT_FILTER_ATTRS  = 
+QHG_LOCATION           = 
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+USE_INLINE_TREES       = NO
+TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
+FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = 
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+MSCGEN_PATH            = 
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = NO
+DOT_NUM_THREADS        = 0
+DOT_FONTNAME           = FreeSans.ttf
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           = 
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+DOT_GRAPH_MAX_NODES    = 80
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
diff --git a/xdocs/README.txt b/xdocs/README.txt
index 8ff186d..ac155e2 100644
--- a/xdocs/README.txt
+++ b/xdocs/README.txt
@@ -1,146 +1,96 @@
 
          XALAN-C++ USER GUIDE     DEVELOPER NOTES
-Edited:  2012-09-16
 
-UNIX platforms can make both the xalan-c API document and the xalan-c website.
+Edited:  2012-10-05
 
-WINDOWS platforms can only make the xalan-c website without the xalan-C apiDocs.
+The html documentation pages are available on our website.
 
-Java and the Apache StyleBook program are no longer reuired.
-The XML transformations are now done using a standard XSLT
-command-line stylesheet transformation utility.  The Apache Xalan
-program or Xalan.exe program is used for this transformation.
-The resulting web pages have static content without any javascript
-or other scripting requirements.
+   http://xalan.apache.org/xalan-c/index.html
 
-The resulting web pages scale well with a wide variety of web browsers.
-The browsers should support xhtml version 1.0.  Even thou the pages
-are rendered as strict, the productions accommodate most browsers that
-only render the loose or transitional implementation.
+The html documentation pages can be built from the Xalan-C
+source distribution.  Let ${XALANC} indicate the top directory
+of the source distribution.
 
-Download the source package from repository or subversion
+   ${XALANC}/src/ = the program library source files
+   ${XALANC}/xdocs/ = the program documentation source files
+   ${XALANC}/build/docs/ = the directory created for documentation builds
+   ${XALANC}/build/docs/apiDocs/html/ = apiDocs created here, then moved
+   ${XALANC}/build/docs/xalan-c/ =  the html documentation tree
 
-   http://www.apache.org/dyn/closer/xalan/xalan-c
-   http://svn.apache.org/repos/asf/xalan/c/trunk
+#Setup UNIX for building the documents
 
-The documentation products will be built to the target directories
+1. Requires the "Xalan" executable in the ${PATH} environment.
 
-   c/trunk/build/docs/apiDocs
-   c/trunk/build/docs/xalan-c
+2. Requires the libxerces-c.so and libxalan-c.so libraries in a path
+   that is accessable to the "Xalan" executable.
 
-UNIX Build xalan-c apiDocs
+3. Requires a current installation of the Doxygen package.
 
-   Prerequisite: The Doxygen package must be installed (doxygen) program.
-   Prerequisite: The GraphViz package must be installed (dot) program.
+4. The interactive graphics for apiDocs require the GraphViz (dot) package.
 
-   cd {c/trunk/xdocs}
-   Edit the "make-apiDocs.sh" script
+#Build the documentation on UNIX
 
-   Run the "make-apiDocs.sh" script
+1. Connect to the ${XALANC}/xdocs/ directory
 
-UNIX Build xalan-c website pages
+2. Run the make-apiDocs.sh (full graphics) or make-apiDocs-nograf (no graphics).
 
-   Prerequisite: The "Xalan" command-line executable must be available
+3. The script automatically chains to ${XALANC}/xdocs/sources/make-book.sh
+   for building the remainder of the documentation.
 
-   cd {c/trunk/xdocs/sources}
-   Run the "make-book.sh" script
+4. You can now relocate and package the documentation at
+   ${XALNAC}/build/docs/xalan-c/ to your final destination of choice.
 
-WINDOWS Build the xalan-c website pages
+#Setup WINDOWS for building the documents
 
-   Prerequisite: The "xalan.exe" command-line executable must be available
+1. Create a %XALANC%\bin\ directory. Then copy the xalan.exe and the DLL
+   libraries for xerces-c and xalan-c into that directory.  This is where
+   the make-xalan.bat file expects to find the xalan.exe executable.
 
-   cd {c/trunk/xdocs/sources}
-   Run the "make-book.bat" script
+2. Connect to the %XALANC%\xdocs\sources\ directory.
 
--------------------------------------------------------------------
-The "sbk:" prefix is non-standard and was recognized by the deprecated
-Apache Stylebook Java program.  The "sbk:" prefix has now been replaced
-with relative URLs for use with a standard XSLT stylesheet processor.
+3. Run the make-book.bat script to create the %XALANC%\build\docs\xalan-c\
+   documentation.
 
-MANIFEST
+4. You can now relocate and package the documentation at
+   %XALANC%\build\docs\xalan-c\ to your final destination of choice.
 
-  {xalan/c/trunk}
+Note: WINDOWS has no Doxygen program for building the apiDocs.
+Building apiDocs requires a Linux or UNIX platform.  You might
+be able to use WINDOWS JavaDocs to get an interactive apiDocs reference.
 
-  bin/
-        Placeholder for Xalan.exe and DLL files for Windows Binary executables.
+#About the StyleBook XML Markup
 
-  build/ 
-        Placeholder where products are constructed.
+The obsolete Apache Java Stylebook program is no longer being used.
+The StyleBook XML markup has been slightly modified to accommodate
+standard XSLT stylesheet transformations.
 
-  build/docs/appDocs/
-        Placeholder for construction of xalan-c apiDocs.
+## Source Directory Layout
 
-  build/docs/xalan-c/
-        Placeholder for construction of xalan-c webpages.
+  ${XALAN}/xdocs/style/dtd/*  -- the validation DTD definitions
+  ${XALAN}/xdocs/sources/stylebook.xslt -- the XML StyleBook transform
+  ${XALAN}/xdocs/sources/xalan/* -- the StyleBook XML page content
+  ${XALAN}/xdocs/sources/xalan-graphic/* -- page specific graphics
+  ${XALAN}/xdocs/sources/xslt-resources/* -- logos and css stylesheets
+  ${XALAN}/xdocs/sources/xalan.xml  -- the book navigation panel
+  ${XALAN}/xdocs/sources/entities.ent -- book XML general entity definitions
+  ${XALAN}/xdocs/sources/xalan/resources.xml -- general resource links
 
-  src/
-        Source tree of C/C++ sources for making the xalan library and 
-        Xalan command-line processor.  The *.hpp source files contain
-        the structured components from which the apiDocs document is 
-        constructed.
+The resulting document from "stylebook.xslt" is strict XHTML with 
+markup rules that can also be supported on transitional browsers.
+To guard against XML element collapse, we use the Unicode 
+zero-width-non-joining character to provide non-empty content.
+This is not enforced by the "stylebook.xslt" transform.  The
+StyleBook XML sources should guard against unwanted element collapse.
 
-  xdocs/ 
-        Directory tree of documentation sources and build scripts.
+## Document Building Scripts
 
-  xdocs/DoxyfileXalan     The configuration file for doxygen program.
+  ${XALAN}/xdocs/sources/make-xalan.sh {pagename} -- transform a single page
+  ${XALAN}/xdocs/sources/make-xalan.bat {pagename} -- transform a single page
 
-* xdocs/make-apiDocs.sh   The Bourne shell script to build apiDocs.
-
-  xdocs/html/apiDocs/
-        Directory of doxygen include files and Apache feather logo
-        for apiDocs pages.
-
-  xdocs/style/dtd/        The Stylebook validation DTD files.
-
-  xdocs/sources/
-        Directory tree of sources and scripts to build the xalan-c
-        webpages or User Guide.
-
-  xdocs/sources/entities.ent
-        Some included DTD entity definitions.
-
-  xdocs/sources/xalan-xml
-        The Stylebook XML page navigation source.
-
-  xdocs/sources/stylebook.xslt
-        The standardized Xalan stylebook transformation stylesheet.
-
-  xdocs/sources/xalan/
-        Directory of Stylebook XML page sources for xalan-c User Guide.
-
-  xdocs/sources/xalan-graphic/
-        Special graphics required by some xdocs/sources/xalan/ sources.
-        These files are copied to build/docs/xalan-c/
-
-  xdocs/sources/xslt-resources/
-        The Xalan LOGOs and css stylesheets for rendering web pages.
-        These files are copied to build/docs/xalan-c/resources/
-
-* xdocs/sources/make-book.sh
-        The UNIX Bourne shell script to build the xalan-c web pages.
-
-* xdocs/sources/make-book.bat
-        The Windows command script to build the xalan-c web pages.
-
--------------------------------------------------------------------
-The Xalan-C website is published to "svnpubsub" by copying 
-
-  build/docs/xalan-c/*
-
-to the "svnpubsub" repository tree
-
-  {svn}/xalan/site/docs/xalan/xalan-c/
-
-then perform a repository subversion check-in.
--------------------------------------------------------------------
-
-These notes are provided by Steven J. Hathaway for the
-Xalan Documentation Project.
-
-Current information is available on the Xalan website
-http://xalan.apache.org/xalan-c
+  ${XALAN}/xdocs/sources/make-book.sh -- transform an entire book
+  ${XALAN}/xdocs/sources/make-book.bat -- transform an entire book
 
 
-
+   
 
 
diff --git a/xdocs/make-apiDocs-nograf.sh b/xdocs/make-apiDocs-nograf.sh
new file mode 100755
index 0000000..df77405
--- /dev/null
+++ b/xdocs/make-apiDocs-nograf.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+#
+# Script file to create Xalan-C apiDocs
+#
+# This script requires current versions of "Doxygen" and
+# "GraphViz (dot)" programs to be installed on your UNIX.
+#
+
+# Various OS's have different ways of specifying the library path
+#
+# Solaris and Linux
+# LD_LIBRARY_PATH=/usr/local/lib
+#
+# HP-UX
+# SHLIB_PATH=/usr/local/lib
+#
+# AIX and BSD
+# LIBPATH=/usr/local/lib
+#
+# Mac OS X
+# DYLD_LIBRARY_PATH=/usr/local/lib
+#
+# Cygwin and MinGW
+# PATH=
+#
+
+# Add the current directory to the PATH for nested scripts
+
+PATH=$PATH:.
+
+# Add the PATH for the Xalan program
+
+# export PATH=/usr/local/bin:$PATH
+
+# Make the necessary target paths
+
+if [ ! -d ../build/docs/apiDocs ] ; then
+  mkdir -p ../build/docs/apiDocs
+fi
+if [ ! -d ../build/docs/xalan-c ] ; then
+  mkdir -p ../build/docs/xalan-c
+fi
+
+# Create the xalan-c apiDocs using (doxygen) only.
+
+doxygen DoxyfileXalan-nograf
+
+# We may not want the many *.md5 files
+
+rm ../build/docs/apiDocs/html/*.md5
+
+# Copy the Apache Trademark Graphic
+
+cp html/apiDocs/asf_logo_wide.gif ../build/docs/apiDocs/html
+
+# Move the apiDocs to the xalan-c website tree
+
+if [ -e ../build/docs/xalan-c/apiDocs ] ; then
+  rm -rf ../build/docs/xalan-c/apiDocs
+fi
+mv ../build/docs/apiDocs/html ../build/docs/xalan-c/apiDocs
+
+#
+# Done with xalan-c apiDocs build
+#
+
+#
+# Chain to sources to create xalan-c website pages
+#
+
+cd sources
+make-book.sh
+cd ..
+
diff --git a/xdocs/make-apiDocs.sh b/xdocs/make-apiDocs.sh
index 61f4cbc..05fae12 100755
--- a/xdocs/make-apiDocs.sh
+++ b/xdocs/make-apiDocs.sh
@@ -9,7 +9,7 @@
 # Various OS's have different ways of specifying the library path
 #
 # Solaris and Linux
-  LD_LIBRARY_PATH=/usr/local/lib
+# LD_LIBRARY_PATH=/usr/local/lib
 #
 # HP-UX
 # SHLIB_PATH=/usr/local/lib
@@ -30,7 +30,7 @@
 
 # Add the PATH for the Xalan program
 
-export PATH=/usr/local/bin:$PATH
+# export PATH=/usr/local/bin:$PATH
 
 # Make the necessary target paths
 
diff --git a/xdocs/sources/make-book.sh b/xdocs/sources/make-book.sh
index 6ee3ae8..19fbb19 100755
--- a/xdocs/sources/make-book.sh
+++ b/xdocs/sources/make-book.sh
@@ -5,7 +5,7 @@
 # SET THE LIBRARY PATH FOR YOUR OPERATING SYSTEM, REQUIRED BY "Xalan" PROGRAM
 #
 #  SOLARIS AND LINUX
- export LD_LIBRARY_PATH=/usr/local/lib
+# export LD_LIBRARY_PATH=/usr/local/lib
 #
 #  AIX AND BSD
 # export LIBPATH=/usr/local/lib
diff --git a/xdocs/sources/xalan-graphic/NET_options.jpg b/xdocs/sources/xalan-graphic/NET_options.jpg
new file mode 100644
index 0000000..126a3a9
--- /dev/null
+++ b/xdocs/sources/xalan-graphic/NET_options.jpg
Binary files differ
diff --git a/xdocs/sources/xalan-graphic/icu.gif b/xdocs/sources/xalan-graphic/icu.gif
new file mode 100644
index 0000000..7d3903f
--- /dev/null
+++ b/xdocs/sources/xalan-graphic/icu.gif
Binary files differ
diff --git a/xdocs/sources/xalan-graphic/options-include.gif b/xdocs/sources/xalan-graphic/options-include.gif
new file mode 100644
index 0000000..891421d
--- /dev/null
+++ b/xdocs/sources/xalan-graphic/options-include.gif
Binary files differ
diff --git a/xdocs/sources/xalan-graphic/options-sane.gif b/xdocs/sources/xalan-graphic/options-sane.gif
new file mode 100644
index 0000000..c6c2f24
--- /dev/null
+++ b/xdocs/sources/xalan-graphic/options-sane.gif
Binary files differ
diff --git a/xdocs/sources/xalan-graphic/xalan-c-unixdist.gif b/xdocs/sources/xalan-graphic/xalan-c-unixdist.gif
new file mode 100644
index 0000000..0b021d9
--- /dev/null
+++ b/xdocs/sources/xalan-graphic/xalan-c-unixdist.gif
Binary files differ
diff --git a/xdocs/sources/xalan-graphic/xerces-icu.gif b/xdocs/sources/xalan-graphic/xerces-icu.gif
new file mode 100644
index 0000000..06edc50
--- /dev/null
+++ b/xdocs/sources/xalan-graphic/xerces-icu.gif
Binary files differ
diff --git a/xdocs/sources/xalan/BUGS b/xdocs/sources/xalan/BUGS
index 701e0f5..02e368a 100644
--- a/xdocs/sources/xalan/BUGS
+++ b/xdocs/sources/xalan/BUGS
@@ -1,25 +1,6 @@
-<!-- 
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-
-<s3 title="Bugs">
-<p>Open bugs:</p>
-<ul>
-<li>Does not support 20 or more digits of numerical precision after the decimal.<br/><br/></li>
-<li>The namespace axis does not return the default "xml" namespace.</li>
-<li>Does not support case-order and lang attributes in xsl:sort.</li>
-</ul>
-  <note>Please report any bugs you find to the <human-resource-ref idref="xalandev"/>, and please note in the subject line that the bug applies to &xslt4c;.</note>
-</s3>    
+rmation on building Xalan-C++, please see <a href="#unix">Steps for doing a Unix build
+      </a>.</li>
+      <li>Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved 
+      into an exclusive directory within the xalanc/XercesParserLiaison directory called 
+      'Deprecated'. If your application is dependent on these classes to interface with the 
+      deprecated Xerces DOM you must alter your include directive with the 'Dep
\ No newline at end of file
diff --git a/xdocs/sources/xalan/License b/xdocs/sources/xalan/License
index 6b0b127..f49a4e1 100644
--- a/xdocs/sources/xalan/License
+++ b/xdocs/sources/xalan/License
@@ -1,4 +1,3 @@
-
                                  Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
@@ -199,5 +198,4 @@
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
-   limitations under the License.
-
+   limitations under the License.
\ No newline at end of file
diff --git a/xdocs/sources/xalan/NOTICE b/xdocs/sources/xalan/NOTICE
index a89e70d..51c4cea 100644
--- a/xdocs/sources/xalan/NOTICE
+++ b/xdocs/sources/xalan/NOTICE
@@ -1,18 +1,17 @@
-  =======================================================================
-  == NOTICE file corresponding to section 4(d) of the Apache License.  ==
-  == Version 2.0, in this case for the Apache Xalan distribution.      ==
-  =======================================================================
+   =======================================================================
+   == NOTICE file corresponding to section 4(d) of the Apache License.  ==
+   == Version 2.0, in this case for the Apache Xalan distribution.      ==
+   =======================================================================
 
-  Apache XALAN-C
-  Copyright (c) 1999-2012 The Apache Software Foundation
+   Apache XALAN-C
+   Copyright (c) 1999-2012 The Apache Software Foundation
 
-  This product includes software developed at
-  The Apache Software Foundation (http://www.apache.org/).
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
 
-  This software is based on the ASF XERCES-C project.
+   This software is based on the ASF XERCES-C project.
 
-  Portions of this software were originally based on the following:
-    - software copyright (c) 1999, IBM Corporation. (http://www.ibm.com).
+   Portions of this software were originally based on the following:
+     - software copyright (c) 1999, IBM Corporation. (http://www.ibm.com).
 
-  Additional copyright submissions and contributions:
---------------------------------------------------------------------------
\ No newline at end of file
+   Additional copyright submissions and contributions:
diff --git a/xdocs/sources/xalan/STATUS b/xdocs/sources/xalan/STATUS
index 3866926..d1954c1 100644
--- a/xdocs/sources/xalan/STATUS
+++ b/xdocs/sources/xalan/STATUS
@@ -1,13 +1,25 @@
 <s3 title="Version of &xml4c; to use"> 
 <p>&xslt4c-current; has been tested with &xml4c-used;.</p>
-<p>For information about including the Xerces-C++ libraries on the path, see <link idref="install" anchor="path">Setting up the system path</link>.</p>
-<p><em>Important</em> You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.</p>
+<p>For information about including the Xerces-C++ libraries on the path, 
+   see <link idref="install" anchor="path">Setting up the system path</link>.</p>
+<p><em>Important:</em> You may experience unpredictable anomalies if your 
+   Xalan and Xerces builds are not in synch. If you download an update to Xalan, 
+   check the release notes to determine which version of Xerces you should use.</p>
+<p>If you compile both &xslt4c; and &xml4c; from distribution sources using the same 
+   platform and compiler, you will avoid most of the compatibility issues.</p>
+
 </s3><anchor name="to-do"/>
 <s3 title="To-do tasks for future &xslt4c; releases">
     <ul>
+       <li>Update the documentation</li>
        <li>Performance improvements</li>
-       <li>Add support for extension elements<br/><br/></li>
-       <li>Fix any conformance bugs we or our users find<br/><br/></li>
+       <li>Add a more complete set of EXSLT functions</li>
+       <li>Add support for extension elements</li>
+       <li>Fix any conformance bugs we or our users find</li>
+       <li>Fix compiler and platform support issues</li>
+       <li>Add XPath2 support into &xslt4c;</li>
     </ul>
-    <p>Watch the <human-resource-ref idref="xalandev"/> for more information and for ideas about how you can get involved.</p>    
+ <p>Watch the <human-resource-ref idref="xalandev"/> for more information and for 
+    ideas about how you can get involved.
+</p>
 </s3>    
diff --git a/xdocs/sources/xalan/builddocs.xml b/xdocs/sources/xalan/builddocs.xml
index a4f483d..2140f19 100644
--- a/xdocs/sources/xalan/builddocs.xml
+++ b/xdocs/sources/xalan/builddocs.xml
@@ -19,310 +19,142 @@
 
 <!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
 <s1 title="Building The Documents">
-
 <ul>
-<li><link anchor="buildweb">Building the Xalan-C Web Pages</link></li>
+<li><link anchor="thedocs">The Xalan-C/C++ HTML Documentation</link></li>
+<li><link anchor="unixsetup">Setup UNIX for Building the Documents</link></li>
   <ul>
-  <li><link anchor="b_web_1">Documentation Source Tree</link></li>
-  <li><link anchor="b_web_2">Destination Build Tree</link></li>
-  <li><link anchor="b_web_3">The Web Page Build Environment</link></li>
-  <li><link anchor="b_web_4">Preparing the Navigation File</link></li>
-  <li><link anchor="b_web_5">Creating the Web Pages</link></li>
+  <li><link anchor="unixdocbld">Build the Documentation on UNIX</link></li>
   </ul>
-<li><link anchor="buildapi">Building the Xalan-C API Reference</link></li>
+<li><link anchor="winsetup">Setup WINDOWS for Building the Documents</link></li>
+<li><link anchor="aboutstylebook">About the StyleBook XML Markup</link></li>
   <ul>
-  <li><link anchor="b_api_1">API Configuration Source Tree</link></li>
-  <li><link anchor="b_api_2">Destination Path for API Web Pages</link></li>
-  <li><link anchor="b_api_3">Build the API Web Pages</link></li>
+  <li><link anchor="sb_dirlayout">Source Directory Layout</link></li>
+  <li><link anchor="sb_scripts">Document Building Scripts</link></li>
   </ul>
-<li><link anchor="integrateapi">Integrate API With Xalan-C Project Web Pages</link></li>
 </ul>
-
-<anchor name="buildweb"/>
-<s2 title="Building the Xalan-C Web Pages">
-
-<p>This section shows how to build the documentation products for Xalan-C/C++. 
-This is a subproject of the ASF XALAN PMC.
-</p>
-<p>The XALAN PMC project web page [<jump
-href="http://xalan.apache.org">http://xalan.apache.org</jump>] is a top-level page 
-with branches to the subprojects that include the Java and C/C++ code libraries.
-</p>
-<p>The Xalan-C/C++ home web page [<jump
-href="../old/xalan-c">http://xml.apache.org/xalan-c</jump>] 
-is the content 
-construction that is being described here.
-</p>
-<p>The Apache StyleBook Java program is no longer needed to create useful web pages. 
-You should have a standard XSLT transform utility. 
-The "Xalan" command-line program distributed with Xalan-C works just fine.
-</p>
-
-<anchor name="b_web_1"/>
-<s3 title="Documentation Source Tree">
-
+<p>Our HTML web page construction does not use or require
+any Java installed or the use of JavaScript.</p>
+<!-- END OF TOP-PAGE NAVIGAITON -->
+<anchor name="thedocs"/>
+<s2 title="The Xalan-C/C++ HTML Documentation">
+<p>The current Xalan-C/C++ HTML documentation pages are available on our website
+   <jump href="http://xalan.apache.org/xalan-c/index.html">
+   http://xalan.apache.org/xalan-c</jump>.</p>
+<p>The HTML documentation pages can be built from the Xalan-C
+source distribution.  Let <code>${XALANC}</code> indicate the top directory
+of the source distribution.</p>
 <source>
-xalan/c/trunk/xdocs/sources/
-    entities.ent        -- Product specific entities
-    make-book.bat       -- Build All Web Pages
-    make-xalan.bat      -- Build Single Web Page
-    xalan-book.xslt     -- Transformation for StyleBook XML
-    xalan.xml	        -- The Navigation Panel for Xalan-C Pages
-
-xalan/c/trunk/xdocs/sources/xslt-resources/
-    {Common components used by Xalan-C Web Pages}
-    apache-xalan.css    -- The Web Page Presentation Style
-    asf_logo.png        -- The ASF Trademark Logo
-    note.gif            -- A (note:) graphic
-
-xalan/c/trunk/xdocs/sources/xalan/
-    {The StyleBook XML Sources for Xalan-C Web Pages}
-    index.xml           -- This creates the root index.html
-    resources.xml       -- A resources dispatch page
-
-xalan/c/trunk/xdocs/style/dtd/
-    {Resources for Apache StyleBook Validation}
-    blocks.ent
-    book.dtd
-    changes.dtd
-    characters.ent
-    document.dtd
-    faqs.dtd
-    links.ent
-    markup.ent
+   ${XALANC}/src/ = the program library source files
+   ${XALANC}/xdocs/ = the program documentation source files
+   ${XALANC}/build/docs/ = the directory created for documentation builds
+   ${XALANC}/build/docs/apiDocs/html/ = apiDocs created here, then moved
+   ${XALANC}/build/docs/xalan-c/ =  the HTML documentation tree
 </source>
-</s3>
-
-<anchor name="b_web_2"/>
-<s3 title="Destination Build Tree">
-
-<source>
-xalan/c/trunk/build/docs/html/
-    {The Xalan-C project html Web Pages go here}
-    index.html          -- This is the root of the Xalan-C subproject
-
-xalan/c/trunk/build/docs/html/resources/
-    {Resources to support Xalan-C project html Web Pages}
-    apache-xalan.css
-    asf_logo.png
-    note.gif
-
-xalan/c/trunk/build/docs/html/apiDocs/
-    {The Xalan-C API Web Pages go here}
-    index.html          -- This is the root of the Xalan-C API Documents
-</source>
-</s3>
-
-<anchor name="b_web_3"/>
-<s3 title="The Web Page Build Environment">
-
-<p>The examples here describe how to build the Xalan-C/C++ web pages when
-connected to the a copy of the (xdocs/sources) directory. So connect to it.
-</p>
-<p>The StyleBook DTD validation files are in the (xdocs/style/dtd) directory.
-</p>
-<p>The StyleBook XML sources for the web pages are in the (xdocs/sources/xalan) directory.  Each web page is associated with an XML file in this directory.  The transformed output is to be placed in the (build/docs/html) directory.  The source XML file and the destination HTML file have the same base filename.
-</p>
-<p>The Web Page output directory is (build/docs/html).
-</p>
-<p>After creating the web pages, copy the (xdocs/sources/xslt-resources/*) files to the (build/docs/html/resources) directory.
-</p>
-<p>Graphic images for individual web pages are in the (xdocs/xalan-graphic) directory and later copied to the (build/docs/html) directory.
-</p>
-</s3>
-
-<anchor name="b_web_4"/>
-<s3 title="Preparing the Navigation File">
-
-<p>The (xdocs/sources/xalan.xml) is the project navigation file that is on 
-the left side of each web page. 
-The root element is &lt;book&gt; 
-containing child elements of &lt;hidden&gt;, &lt;external&gt;, 
-&lt;document&gt;, &lt;resources&gt;, &lt;faqs&gt;, and &lt;separator&gt;.  The format of this navigation file is inherited from the StyleBook Java program.  Our stylesheet uses the &lt;book&gt; to provide only a navigation panel.  It does not control the production of the entire suite of web pages.
-</p>
-<p>The markup is validated by DTD and entity definitions in the (xdocs/style/dtd) directory.
-</p>
-<p>The "id=" attribute is the name of the web page file without extension.
-</p>
-<p>The "label=" attribute is the navigation text.
-</p>
-<p>The "source=" attribute is the name of the StyleBook XML source file.
-</p>
-<p>The "href=" attribute is a link to an external resource.
-</p>
-</s3>
-
-<anchor name="b_web_5"/>
-<s3 title="Creating the Web Pages">
-
-<p>The XSLT transformation utility must support top-level parameters. 
-The <code>Xalan</code> command-line program built and distributed with the this project 
-has sufficient capability to create the project web pages. 
-The <code>xalan-book.xslt</code> stylesheet is designed to interpret StyleBook XML and create XHTML web pages for the Xalan-C project.
-</p>
-<p>Example: Create the <code>index.html</code> web page from <code>index.xml</code> source. The arguments are shown on separate lines for convenience of presentation.
-</p>
-<source>
-Xalan.exe 
-    -p sectionid "'index'" 
-    -p createdate "'Tue 08/09/2011'" 
-    xalan\index.xml
-    xalan-book.xslt
-    > ..\..\build\docs\html\index.html
-</source>
-
-<p>Do the same for each web page replacing <code>index</code>, 
-<code>index.xml</code>, and <code>index.html</code> in the above example.
-</p>
-<p>Other command-line XSLT processors would have a different calling syntax.
-Check your documentation.</p>
-<p>I use batch files or shell scripts to automate this process. 
-The following batch files are what I use on Windows platforms.
-</p>
-<p>The <code>make-book.bat</code> file is used to create all web pages:
-</p>
-<source>
-  mkdir ..\..\build\docs\html\resources
-
-  call make-xalan usagepatterns
-  call make-xalan samples
-  call make-xalan resources
-  call make-xalan install
-  call make-xalan download
-  call make-xalan overview
-  call make-xalan charter
-  call make-xalan whatsnew
-  call make-xalan extensionslib
-  call make-xalan commandline
-  call make-xalan readme
-  call make-xalan releasenotes
-  call make-xalan programming
-  call make-xalan getstarted
-  call make-xalan index
-  call make-xalan extensions
-  call make-xalan faq
-  call make-xalan license
-  call make-xalan buildlibs
-  call make-xalan secureweb
-
-  copy xalan-graphic\*.* ..\..\build\docs\html
-  copy xslt-resources\*.* ..\..\build\docs\html\resources
-</source>
-
-<p>The <code>make-xalan.bat</code> file to create a single web page:
-</p>
-<source>
-  ::
-  :: Set the current path to include a stylesheet transformation utility
-  ::
-  :: %1               The document filename (without extension) to transform
-  ::
-  :: %XALANEXSLT%     The exslt stylesheet transformation utility
-  ::
-  :: %XALANSTYLE%     The XSLT stylesheet to convert STYLEBOOK markup
-  ::
-  :: %XALANXMLDIR%    Source directory of STYLEBOOK markup XML documents
-  ::
-  :: %XALANOUTDIR%    Target directory of XHTML web page documents
-  ::
-  :: %WEBCREATED%     Web Page Creation Date
-  ::
-  :: sectionid        Top-level stylesheet parameter (document file id)
-  ::
-  :: createdate       Top-level stylesheet parameter (web page creation date)
-  ::
-
-  SET WEBCREATED=%DATE%
-  SET XALANEXSLT=..\..\bin\xalan.exe
-  SET XALANSTYLE=xalan-book.xslt
-  SET XALANXMLDIR=xalan
-  SET XALANOUTDIR=..\..\build\docs\html
-
-  "%XALANEXSLT%" -p sectionid "'%1'" -p createdate "'%WEBCREATED%'"   \
-      %XALANXMLDIR%\%1.xml %XALANSTYLE%  >% XALANOUTDIR%\%1.html
-</source>
+<p>UNIX platforms can build the complete documentation package (web pages plus
+interactive api reference).</p>
+<p> Windows platforms an only build the basic web pages.</p>
+</s2>
+<anchor name="unixsetup"/>
+<s2 title="Setup UNIX for Building the Documents">
+<ol>
+<li>Requires the <code><em>Xalan</em></code> executable in the <code>${PATH}</code> environment.</li>
+<li>Requires the <code><em>libxerces-c.so</em></code> and 
+    <code><em>libxalan-c.so</em></code> libraries in a path
+   that is accessible to the <code><em>Xalan</em></code> executable.</li>
+<li>Requires a current installation of the 
+    <jump href="http://www.doxygen.org">Doxygen</jump> package.</li>
+<li>The interactive graphics for apiDocs require the 
+    <jump href="http://www.graphviz.org">GraphViz</jump> (dot) package.</li>
+</ol>
+<anchor name="unixdocbld"/>
+<s3 title="Build the Documentation on UNIX">
+<ol>
+<li>Connect to the <code>${XALANC}/xdocs/</code> directory.</li>
+<li>Run the <code><em>make-apiDocs.sh</em></code> (full graphics) or 
+    <code><em>make-apiDocs-nograf.sh</em></code> (no graphics).</li>
+<li>The script automatically chains to <code><em>sources/make-book.sh</em></code>
+   for building the remainder of the documentation.</li>
+<li>You can now relocate and package the documentation at
+   <code>${XALANC}/build/docs/xalan-c/</code>
+   to your final destination of choice.</li>
+</ol>
 </s3>
 </s2>
+<anchor name="winsetup"/>
+<s2 title="Setup WINDOWS for Building the Documents">
+<ol>
+<li>Create a <code>%XALANC%\bin\</code> directory. Then copy the 
+  <code><em>xalan.exe</em></code> and the DLL
+   libraries for xerces-c and xalan-c into that directory.  This is where
+   the <code><em>make-xalan.bat</em></code> file expects to find the 
+   <code><em>xalan.exe</em></code> executable.</li>
 
-<anchor name="buildapi"/>
-<s2 title="Building the Xalan-C API Reference">
+<li>Connect to the <code>%XALANC%\xdocs\sources\</code> directory.</li>
 
-<p>This section shows how to build the Xalan-C/C++ application program interface (API) documents using the <jump href="http://www.doxygen.org">Doxygen</jump> and 
-<jump href="http://www.graphviz.org">GraphViz</jump> programs.  These required software packages are available for most Unix systems.
-</p>
+<li>Run the <code><em>make-book.bat</em></code> script to create 
+   the <code>%XALANC%\build\docs\xalan-c\</code> documentation.</li>
 
-<anchor name="b_api_1"/>
-<s3 title="API Configuration Source Tree">
-
-<source>
-xalan/c/trunk/src/xalanc/       -- [*.h, *.hpp] source code files
-
-xalan/c/trunk/xdocs/
-    DoxyfileXalan               -- The doxygen configuration file
-
-xalan/c/trunk/xdocs/html/apiDocs/
-    asf_logo_wide.gif           -- The wide ASF trademark logo
-    footer.html                 -- The footer html fragment for copyright
-    header.html                 -- Header html fragment for document title
-    header-local.html           -- Header html fragment for optional title
-</source>
-
-<p>Note: (ApacheLogo.jpg) is replaced with (asf_logo_wide.gif).
-</p>
-<p>Note: (diagramnotes.html) is replaced with (graph_legend.html) created by doxygen.
-</p>
-</s3>
-
-<anchor name="b_api_2"/>
-<s3 title="Destination Path for API Web Pages">
-
-<p>The Xalan-C/C++ API pages are constructed here.</p>
-<source>
-    xalan/c/trunk/build/docs/apiDocs/html
-</source>
-</s3>
-
-<anchor name="b_api_3"/>
-<s3 title="Build the API Web Pages">
-
-<p>You must have usable "doxygen" and "dot" programs in your path.  The "dot" program is part of the GraphViz distribution.
-</p>
-<p>Connect to your development sources or SVN snapshot.<br/>
-<source>
-xalan/c/trunk/xdocs/
-</source>
-Run the doxygen (or doxywizard) program.<br/>
-<source>
-doxygen DoxyfileXalan 2>errors.log | tee doxygen.log
-</source>
-Examine the (errors.log) file for any fatal errors.  Lots of warnings are ok.
-You can examine the constructed web pages with your favorite browser.<br/>
-<source>
-% cd xalan/c/trunk/build/docs/apiDocs/html
-% iceweasel index.html &amp;
-</source>
-</p>
-</s3>
+<li>You can now relocate and package the documentation at
+   <code>%XALANC%\build\docs\xalan-c\</code> to your final destination of choice.</li>
+</ol>
+<note>WINDOWS has no Doxygen program for building the apiDocs.
+Building apiDocs requires a Linux or UNIX platform.  You might
+be able to use WINDOWS JavaDocs to get an interactive apiDocs reference.
+The JavaDocs program is part of the Java Developer's platform.</note>
+<p>Our documentation does not rely on any Java installation.</p>
 </s2>
+<anchor name="aboutstylebook"/>
+<s2 title="About the StyleBook XML Markup">
+<p>The obsolete Apache Java Stylebook program is no longer being used.
+The StyleBook XML markup has been slightly modified to accommodate
+standard XSLT stylesheet transformations.</p>
+<p>A standard <code><em>stylebook.xslt</em></code> XML transform stylesheet now
+allows any standard compliant XSLT processor to prepare the
+basic webpage documents.  The resulting documents are in strict
+XHTML.  The source pages have been adjusted so that
+compliant XML output mode is used and that transitional web
+browsers are accommodated.</p>
+<p>We also include a DTD library so that the markup source pages
+can be processed with a validating XML parser.  The parser used
+with the <code><em>stylebook.xslt</em></code> stylesheet
+must accommodate top-level string parameters and the ability to
+process DTD definitions.</p>
+<p>Our stylebook processing scripts currently expect to use the
+Apache Xalan-C/C++ command-line executable program.</p>
 
-<anchor name="integrateapi"/>
-<s2 title="Integrate API With Xalan-C Project Web Pages">
-
-<p>Copy the contents of <br/>
+<anchor name="sb_dirlayout"/>
+<s3 title="Source Directory Layout">
 <source>
-xalan/c/trunk/build/docs/apiDocs/html/*
+  ${XALAN}/xdocs/style/dtd/*  -- the validation DTD definitions
+  ${XALAN}/xdocs/sources/stylebook.xslt -- the XML StyleBook transform
+  ${XALAN}/xdocs/sources/xalan/* -- the StyleBook XML page content
+  ${XALAN}/xdocs/sources/xalan-graphic/* -- page specific graphics
+  ${XALAN}/xdocs/sources/xslt-resources/* -- logos and css stylesheets
+  ${XALAN}/xdocs/sources/xalan.xml  -- the book navigation panel
+  ${XALAN}/xdocs/sources/entities.ent -- book XML general entity definitions
+  ${XALAN}/xdocs/sources/xalan/resources.xml -- general resource links
+  ${XALAN}/build/docs/xalan-c/* -- the StyleBook html transformed pages
 </source>
-to the Xalan-C Project Web Pages found at <br/>
-<source>xalan/c/trunk/build/docs/html/apiDocs/
-</source>
-Copy the trademark logo <br/>
+<p>The resulting document from <code><em>stylebook.xslt</em></code> is strict XHTML with 
+markup rules that can also be supported on transitional browsers.
+To guard against XML element collapse, we use the Unicode 
+zero-width-non-joining character to provide non-empty content.
+Element collapse prevention is not handled by the "stylebook.xslt" transform.
+The Apache <code>Xalan</code> or <code>xalan.exe</code> programs do not
+should guard against unwanted element collapse.</p>
+</s3>
+<anchor name="sb_scripts"/>
+<s3 title="Document Building Scripts">
 <source>
-xalan/c/trunk/xdocs/html/apiDocs/asf_logo_wide.gif
+  ${XALAN}/xdocs/sources/make-xalan.sh {pagename} -- transform a single page
+  ${XALAN}/xdocs/sources/make-xalan.bat {pagename} -- transform a single page
+</source><source>
+  ${XALAN}/xdocs/sources/make-book.sh -- transform an entire book
+  ${XALAN}/xdocs/sources/make-book.bat -- transform an entire book
 </source>
-to its final resting place <br/>
-<source>
-xalan/c/trunk/build/docs/html/apiDocs/
-</source>
-</p>
+</s3>
 </s2>
 </s1>
+   
+
+
diff --git a/xdocs/sources/xalan/buildlibs.xml b/xdocs/sources/xalan/buildlibs.xml
index ae90ee4..a530777 100644
--- a/xdocs/sources/xalan/buildlibs.xml
+++ b/xdocs/sources/xalan/buildlibs.xml
@@ -20,34 +20,124 @@
 
 <s1 title="Building Xalan-C/C++">
 <ul>
+<li><link anchor="SourceTools">The Distribution Source Tools</link></li>
+  <ul>
+  <li><link anchor="WinBldScripts">Prepare Windows Build Scripts"</link></li>
+  <li><link anchor="PrepUnixBld">Prepare Unix Build Scripts</link></li>
+  </ul>
 <li><link anchor="winbldenv">Windows Build Environment</link></li>
-<ul>
-<li><link anchor="winbld">Windows Basic Build Instruction</link></li>
-<li><link anchor="winbldcmd">Sample Windows Build Command File</link></li>
-<li><link anchor="winbldinst">Installing the Xalan Library on Windows</link></li>
-</ul>
+  <ul>
+  <li><link anchor="winbld">Windows Basic Build Instruction</link></li>
+  <li><link anchor="winbldcmd">Sample Windows Build Command File</link></li>
+  <li><link anchor="winbldinst">Installing the Xalan Library on Windows</link></li>
+  </ul>
 <li><link anchor="unixbldenv">UNIX Build Environment</link></li>
-<ul>
-<li><link anchor="unixlibpath">Finding Runtime Libraries</link></li>
-<li><link anchor="unixbldxalan">Building the Xalan-C/C++ XSLT Libraries for UNIX</link></li>
-</ul>
+  <ul>
+  <li><link anchor="unixlibpath">Finding Runtime Libraries</link></li>
+  <li><link anchor="unixbldxalan">Building the Xalan-C/C++ XSLT Libraries for UNIX</link></li>
+  </ul>
 <li><link anchor="unixcompileref">Reference on Unix Platforms and C++ Compilers</link></li>
 <li><link anchor="xercesmodules">Xerces-C/C++ Transcoders and Plug-in Modules</link></li>
 <!-- <li><link anchor=""></link></li> -->
 </ul>
 
 <br/>
-<p>The Xalan-C/C++ XSLT library is built upon the Xerces-C/C++ XML Parser library. Before compiling the Xalan-C/C++ XSLT library, you must have a usable Xerces-C/C++ library.
+<p>The Xalan-C/C++ XSLT library is built upon the Xerces-C/C++ XML Parser library. 
+   Before compiling the Xalan-C/C++ XSLT library, you must have a usable Xerces-C/C++ library.
 </p>
-<p>You can either install a compatible binary distribution of Xerces-C/C++ or build your own from a source distribution of Xerces-C/C++.  You can gain additional capability if you build the Xerces-C/C++ XML Parser library from sources.  The Xerces-C/C++ binary distribution is not built for the IBM-ICU libraries.  The IBM-ICU libraries provide additional transcoding services.
+<p>You can either install a compatible binary distribution of Xerces-C/C++ or 
+   build your own from a source distribution of Xerces-C/C++.  You can gain additional 
+   capability if you build the Xerces-C/C++ XML Parser library from sources.  
+   The Xerces-C/C++ binary distribution is not built for the IBM-ICU libraries.  
+   The IBM-ICU libraries provide additional transcoding services.
 </p>
-<p>Building the source code packages ensures that the resulting packages are proper for your system.  There are various binary distributions available, but incompatibilities between C++ compilers (even between compiler versions) are known to cause issues with sharing of libraries.
+<p>Building from the source code packages for Xerces and Xalan libraries ensures that the 
+   resulting packages are proper for your system.  There are various binary distributions 
+   available, but incompatibilities between C++ compilers (even between compiler versions)
+   are known to cause issues with sharing of libraries.
 </p>
-<p>We don't have persons yet committed to build binary distribution releases.
-</p>
-<p>You can get more information on the Xerces-C/C++ distributions at the <jump href="http://xml.apache.org/xerces-c">http://xml.apache.org/xerces-c</jump> web site.
+<p>You can get more information on the Xerces-C/C++ distributions at the 
+   <jump href="http://xerces.apache.org/xerces-c">http://xerces.apache.org/xerces-c</jump> web site.
 </p>
 
+<anchor name="SourceTools"/>
+<s2 title="The Distribution Source Tools">
+<p>We are including in the distribution some script files that can help with
+   build environment setup and distribution package creation.  These script
+   packages are working examples that developers can use for their own work.</p>
+
+<ul>
+<li><em><code>(src)/scripts/xalan-ms-scripts.zip</code></em> For Windows Packages</li>
+<li><em><code>(src)/scripts/xalan-unix-scripts.tar</code></em> For Unix/Linux Packages</li>
+</ul>
+
+<p>The following discussions in this chapter describe the rules by which these
+   scripts were written.</p>
+<anchor name="WinBldScripts"/>
+<s3 title="Prepare Windows Build Scripts">
+<p>I use the <code><em>C:\Apache\xalan-builds\</em></code> directory as the home path
+   for building Windows packages.  You may need to edit the scripts for your own
+   package build location.</p>
+<p>You will need a copy of Microsoft Visual Studio .NET installed on your development computer.</p>
+<ol>
+<li>Create your package building directory.</li>
+<li>Unzip the <code><em>xalan-ms-scripts.zip</em></code> into your package building directory.</li>
+<li>Copy the Xerces-C sources into a builds subdirectory <code><em>xerces-src-31</em></code>.</li>
+<li>Copy the Xalan-C sources into a builds subdirectory <code><em>xalan-src-11</em></code>.</li>
+<li>You need the Xerces-C binaries available before building the Xalan-C sources.</li>
+   <ul>
+      <li>Build the Xerces-C sources using an appropriate 
+          <code><em>xerces-build-31-*.bat</em></code> script.
+          This script launches Microsoft Visual Studio with an appropriate environment set.</li>
+      <li>Construct the Xerces-C binary package using the appropriate
+          <code><em>xerces-inst-31-*.bat</em></code> script.  This binary package is later
+          used for the XERCESCPKG environment variable.</li>
+   </ul>
+<li>You can now create the Xalan-C binary package.</li>
+   <ul>
+      <li>Build the Xalan-C sources using an appropriate
+          <code><em>xalan-build-11-31-*.bat</em></code> script.
+          This script launches Microsoft Visual Studio with an appropriate environment set.</li>
+      <li>Construct the Xalan-C binary package using the apppropriate
+          <code><em>xalan-inst-11-31-*.bat</em></code> script. This binary package can later
+          be used for the XALANCPKG environment variable.</li>
+   </ul>
+<li>You can now copy the (XERCESCPKG-31)/bin to your Windows installation directory.</li>
+<li>You can now copy the (XALANCPKG-11-31)/bin to your Windows installation directory.</li>
+<li>You can also merge the (XERCESCPKG-31)/include and (XALANCPKG-11-31)/include to your
+    Windows installation directory.</li>
+<li>You can also merge the (XERCESCPKG-31)/lib and (XALANCPKG-11-31)/lib to your
+    Windows installation directory.</li>
+</ol>
+</s3>
+<anchor name="PrepUnixBld"/>
+<s3 title="Prepare Unix Build Scripts">
+<p>I use my <code><em>$HOME</em></code> directory as the path into which 
+   <code><em>xalan-unix-scripts.tar</em></code> is extracted.  
+   I create subdirectory <code><em>xerces-src</em></code> for the Xerces-C sources and
+   another subdirectory <code><em>xalan-src</em></code> for the Xalan-C sources.  
+   I then create separate directories into which the actual build process
+   takes place.</p>
+<p>Directory <code><em>Xerces-Build</em></code> is where I make the Xerces-C binaries.</p>
+<p>Directory <code><em>Xalan-Build</em></code> is where I make the Xalan-C binaries.</p>
+<p>The following scripts are used to make and install the <em>release</em> build 
+   of binary products to the <code><em>/opt/apache/</em></code> target directory path. 
+   Connect to the appropriate build directory and execute the appropriate script.
+</p>
+<ul>
+  <li>xerces-build.sh</li>
+  <li>xalan-build.sh</li>
+</ul>
+<p>The following scripts are used to make and install the <em>debug</em> build 
+   of binary products to the <code><em>/opt/apache/debug/</em></code> target directory path.
+   Connect to the appropriate build directory and execute the appropriate script.
+</p>
+<ul>
+  <li>xerces-build-debug.sh</li>
+  <li>xalan-build-debug.sh</li>
+</ul>
+</s3>
+</s2>
 <anchor name="winbldenv"/>
 <s2 title="Windows Build Environment">
 
diff --git a/xdocs/sources/xalan/download.xml b/xdocs/sources/xalan/download.xml
index a566e2f..01adf9e 100644
--- a/xdocs/sources/xalan/download.xml
+++ b/xdocs/sources/xalan/download.xml
@@ -18,47 +18,49 @@
 -->
 <!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
 <s1 title="Downloading &xslt4c;">
-<anchor name="download"/>
-<p>This section is being rewritten for Xalan-C/C++ Version 1.11.  You
-can find the old 
-<jump href="../old/xalan-c">Version 1.10</jump> here.
+<ul>
+  <li><link anchor="DownloadWhat">Downloading What You Need</link></li>
+  <li><link anchor="DownloadNotes">Downloading Notes</link></li>
+<!--  <li><link anchor="SelectMirror">Select Another Mirror</link></li> -->
+  <li><link anchor="SourcePkgs">Source Packages</link></li>
+  <li><link anchor="DocPkgs">Documentation Packages</link></li>
+  <li><link anchor="BinaryPkgs">Binary Packages</link></li>
+  <li><link anchor="VerifyPkgs">Verify Downloaded Packages</link></li>
+  <li><link anchor="PlatformComp">Platform Compatibility</link></li>
+</ul>
+
+<anchor name="DownloadWhat"/>
+<s2 title="Downloading What You Need">
+
+<p>We are distributing the source package for the Xalan-C/C++
+library, sample programs, and documentation.  We are also
+distributing assembled documentation packages for your 
+browser.  Some selected platforms also have binary packages.
 </p>
 
-<p>We are providing a source package, a documentation package, and
-some compiled binary packages.
+<p><em>Download Xalan-C/C++ Distributions from Apache Mirrors</em></p>
+<table>
+ <tr><td><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c">
+   The Xalan-C/C++ Distribution Tree</jump></td></tr>
+ <tr><td><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/sources">
+   The Xalan-C/C++ Source Packages</jump></td></tr>
+ <tr><td><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/docs">
+   The Xalan-C/C++ Documentation Packages</jump></td></tr>
+ <tr><td><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/binaries">
+   The Xalan-C/C++ Binary Packages</jump></td></tr>
+</table>
+
+<p><em>Download Xerces-C/C++ XML Parser Library</em></p>
+<p>The Xalan-C/C++ 1.11 library requires the
+<jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xerces/c">Xerces-C/C++ XML</jump> 
+Parser 3.0 or newer, version 3.1.1 is preferred.
 </p>
 
-<p>The binary packages are currently for Windows systems.  We can
-use your help <jump href="buildlibs.html">creating binary packages</jump> for 
-UNIX and Linux systems.
-</p>
-
-<p><em>THIS IS STILL A PRE-RELEASE PRODUCT</em></p>
-
-<p>A distribution will be mirrored and these pages updated when the packages
-become available to the general public.  The current packages for download
-are in a temporary repository for developers.
-</p>
-
-<p>The subversion sources are current for Xalan-C/C++ Version 1.11 and are
-available for download using your favorite subversion <code>svn</code> program.</p>
-
-<p>Apache Xalan-C/C++ Subversion Repository is accessed here.<br/> 
-<jump href="http://svn.apache.org/repos/asf/xalan/c/trunk">
-http://svn.apache.org/repos/asf/xalan/c/trunk</jump>
-</p>
-
-<s2 title="Downloading what you need">
-
-<p>The Xalan-C/C++ library requires the
-<jump href="http://www.apache.org/dyn/closer.cgi/xerces/c">Xerces-C/C++ XML</jump> Parser 3.0 
-or newer, version 3.1.1 is preferred.
-</p>
-
+<p><em>Our Xalan Packages</em></p>
 <p>The source package contains all the scripts needed to build the
 library, sample programs, and documentation for a wide variety
 of Windows and UNIX platforms.  The documentation package provides
-usable html documentation for your web browsers.
+usable html documentation that is already assembled for your web browsers.
 </p>
 
 <p>Building the API Reference documents requires a current version of the 
@@ -68,64 +70,204 @@
 A usable API Reference is included with the documentation package.
 </p>
 
+</s2>
+<anchor name="DownloadNotes"/>
+<s2 title="Downloading Notes">
+ 	
+<p>Apache package releases are distributed via various mirror sites around the world, 
+and the links below will direct you to a mirror near you. 
+Alternative mirror locations are also provided.</p>
+
+<note>You must <link anchor="VerifyPkgs">verify the integrity</link> of the downloaded files 
+using signatures downloaded from the Apache master distribution directory.</note>
+
+<p>Access to the latest (and possibly unstable) source can be accessed via 
+<jump href="http://svn.apache.org/repos/asf/xalan/c/trunk">SVN</jump></p>
+ 
+<p>Archives of old Xalan-C/C++ releases can be found at the 
+<jump href="http:archive.apache.org/dist/xalan/xalan-c">Apache Xalan Archives</jump>
+and the
+<jump href="http:archive.apache.org/dist/xml/xalan-c">Old Apache XML Archives</jump>.</p>
+
+<p>Archives of old Xerces-C/C++ parser distributions can be found at the
+<jump href="http:archive.apache.org/dist/xerces/c">Apache Xerces Archives</jump>
+and the
+<jump href="http:archive.apache.org/dist/xml/xalan-c">Old Apache XML Archives</jump>.</p>
+
+
+<!-- 
+  Special use of &lt; &gt are required here to get the <form>,,,</form> to pass through 
+  StyleBook stylesheet transformation. (I hope to add the <form> capability to StyleBook.)
+  You should then edit the product html, converting the form for use as a cgi template.
+ --> 
+<!-- Include the "altmirror" file when ready for this capability
+  &altmirror;
+-->
+
+<anchor name="SourcePkgs"/>
 <s3 title="Source Packages">
-<p>We are distributing the source package for the Xalan-C/C++
-library, sample programs, and documentation.  The source package
-has the StyleBook XML sources for the web pages and a Doxygen
-configuration file to construct the API Reference.
-</p>
-
+<p><em>Xalan-C/C++ <jump href="http://www.apache.org/dist/xalan/xalan-c/KEYS">KEYS</jump></em></p>
 <ul>
- <li>Xalan-C-1.11.source.tar.gz</li>
- <li>Xalan-C-1.11.source.zip</li>
+ <li>xalan-c-1.11-src.tar.gz</li>
+ <li>xalan-c-1.11-src.zip</li>
 </ul>
+<p>You can download the Xalan-C/C++ source packages from the 
+   <jump href="http:///www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/sources">
+   Apache Mirrors</jump>.</p>
+<p>You should <link anchor="VerifyPkgs">verify</link> your packages against
+   the trusted signatures posted on the Apache master distribution site</p>
 </s3>
 
+<anchor name="DocPkgs"/>
 <s3 title="Documentation Packages">
-<p>We are distributing a package of html web pages for the User
-Guide and interactive API Reference. The documentation package 
-describes how to build and use the library for Windows and UNIX
-platforms.
+<p>These documentation packages can be built from the Xalan-C/C++ 
+<link anchor="SourcePkgs">source distributions</link> on Linux or UNIX systems.
+Windows systems can only build the basic webpages without the apiDocs 
+interactive API (Application Program Interface) pages.
 </p>
-
+<p>The <em>html-full</em> is a very large package (355+ MB).  It contains the
+   interactive graphics images that map the include file relationships and
+   class relationships.  The <em>html-nograf</em> (42 MB) just contains tabular
+   relationships without the large volume of generated graphics.
+</p>
+<p><em>Xalan-C/C++ <jump href="http://www.apache.org/dist/xalan/xalan-c/KEYS">KEYS</jump></em></p>
 <ul>
- <li>Xalan-C-1.11.docs-html.tar.gz</li>
- <li>Xalan-C-1.11.docs-html.zip</li>
- <li>Xalan-C-1.11.docs-api.tar.gz</li>
- <li>Xalan-C-1.11.docs-api.zip</li>
+ <li>xalan-c-1.11-docs-html-full.tar.gz</li>
+ <li>xalan-c-1.11-docs-html-full.zip</li>
+ <li>xalan-c-1.11-docs-html-nograf.tar.gz</li>
+ <li>xalan-c-1.11-docs-html-nograf.zip</li>
 </ul>
+<p>You can download the Xalan-C/C++ documentation packages from the 
+   <jump href="http:///www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/docs">
+   Apache Mirrors</jump>.</p>
+<p>You should <link anchor="VerifyPkgs">verify</link> your packages against
+   the trusted signatures posted on the Apache master distribution site</p>
 </s3>
 
+<anchor name="BinaryPkgs"/>
 <s3 title="Binary Packages">
 <p>We are distributing compiled binary packages for several
-platforms.  The Xalan-C/C++ documentation is provided as a
-separate package.  We would like to distribute
-binary packages for platforms that have compiled Xerces-C/C++
-distribution support.
+platforms.  The Xalan-C/C++ <link anchor="DocPkgs">documentation</link> 
+is provided as a separate package.  We would like to distribute binary packages 
+for platforms on which Xerces-C/C++ has binary packages distributed.
+</p>
+<p>Both the Xalan (XSLT) and Xerces (XML Parser) libraries should
+both be compiled with the same version of C++ compiler.  A mismatch
+of compiler versions is known to create runtime library reference
+errors.  If you cannot find a compatible Xerces library, you should
+obtain the Xerces sources and compile both libraries.
+</p>
+<p>Binary packages labeled <em>xalan_combined</em> have compiled
+libraries for both Xalan-C/C++ and Xerces-C/C++.  All binary
+packages include the <em>Xalan</em> or <em>xalan.exe</em>
+command line styleshet transformation processor.
 </p>
 
-<p>The following binary packages are being prepared for distribution.</p>
+<note>The development cycles for Xerces-C/C++ and Xalan-C/C++ are
+separately managed.  There is no synchronization of product distribution.</note>
 
+<p><em>Windows Packages - 32 BIT</em></p>
 <ul>
- <li>Xalan-C-1.11.windows-x86-vc71.zip</li>
- <li>Xalan-C-1.11.windows-x86-vc8.zip</li>
- <li>Xalan-C-1.11.windows-x86-vc9.zip</li>
- <li>Xalan-C-1.11.windows-x86-vc10.zip</li>
- <li>Xalan-C-1.11.windows-x86_64-vc8.zip</li>
- <li>Xalan-C-1.11.windows-x86_64-vc9.zip</li>
- <li>Xalan-C-1.11.windows-x86_64-vc10.zip</li>
+ <li>xalan_c-1.11-x86-windows-vc71.zip for MS VS 2003</li>
+ <li>xalan_c-1.11-x86-windows-vc8.zip for MS VS 2005 </li>
+ <li>xalan_c-1.11-x86-windows-vc9.zip for MS VS 2008</li>
+ <li>xalan_c-1.11-x86-windows-vc10.zip for MS VS 2010</li>
 </ul>
+<p>Combined with Xerces Parser</p>
+<ul>
+ <li>xalan_comb-1.11-x86-windows-vc71.zip for MS VS 2003</li>
+ <li>xalan_comb-1.11-x86-windows-vc8.zip for MS VS 2005 </li>
+ <li>xalan_comb-1.11-x86-windows-vc9.zip for MS VS 2008</li>
+ <li>xalan_comb-1.11-x86-windows-vc10.zip for MS VS 2010</li>
+</ul> 
+<p><em>Windows Packages - 64 BIT</em></p>
+<ul>
+ <li>xalan_c-1.11-amd64-windows-vc8.zip for MS VS 2005</li>
+ <li>xalan_c-1.11-amd64-windows-vc9.zip for MS VS 2008</li>
+ <li>xalan_c-1.11-amd64-windows-vc10.zip for MS VS 2010</li>
+</ul>
+<p>Combined with Xerces Parser</p>
+<ul>
+ <li>xalan_comb-1.11-amd64-windows-vc8.zip for MS VS 2005</li>
+ <li>xalan_comb-1.11-amd64-windows-vc9.zip for MS VS 2008</li>
+ <li>xalan_comb-1.11-amd64-windows-vc10.zip for MS VS 2010</li>
+</ul>
+<p><em>BSD Packages - 64 BIT</em></p>
+<ul>
+ <li>xalan-c-1.11-x86_64-freebsd_9-gcc_4_2.tar.gz</li>
+ <li>xalan_combined-c-1.11-x86_64-freebsd_9-gcc_4_2.tar.gz</li>
+</ul>
+<p><em>Linux Packages</em></p>
+<ul>
+ <li>xalan-c-1.11-x86_64-linux_2_6_32-gcc_4_4.tar.gz</li>
+ <li>xalan_combined-c-1.11-x86_64-linux_2_6_32-gcc_4_4.tar.gz</li>
+</ul>
+<p>You can download the Xalan-C/C++ compiled binary packages from the 
+   <jump href="http:///www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/binaries">
+   Apache Mirrors</jump>.</p>
+<p>You should <link anchor="VerifyPkgs">verify</link> your packages against
+   the trusted signatures posted on the Apache master distribution site</p>
+</s3>
+</s2>
+<anchor name="VerifyPkgs"/>
+<s2 title="Verify The Integrity of the Files">
+
+<p>It is essential that you verify the integrity of the downloaded 
+   files using the PGP or MD5 signatures. You should only download the
+   <jump href="http://www.apache.org/dist/xalan/xalan-c/KEYS">KEYS</jump>
+   and the (asc/md5) signature files from the Apache Master Distribution.
+   The Apache Mirrors of previous sections should be used to download
+   the products.</p>
+<ul>
+  <li><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/sources">
+      Apache Mirror Xalan-C Sources</jump></li>
+  <li><jump href="http://www.apache.org/dist/xalan/xalan-c/sources">
+      Apache Master Xalan-C Sources - for Signature Files</jump></li>
+  <li><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/docs">
+      Apache Mirror Xalan-C Documentation</jump></li>
+  <li><jump href="http://www.apache.org/dist/xalan/xalan-c/docs">
+      Apache Master Xalan-C Documentation - for Signature Files</jump></li>
+  <li><jump href="http://www.apache.org/dyn/mirrors/mirrors.cgi/xalan/xalan-c/binaries">
+      Apache Mirror Xalan-C Binary Packages</jump></li>
+  <li><jump href="http://www.apache.org/dist/xalan/xalan-c/binaries">
+      Apache Master Xalan-C Binary Packages - for Signature Files</jump></li>
+</ul>
+
+<p>Make sure you get the signature file for the particular distribution from the master directory, 
+   rather than from a mirror. 
+   Then verify the signatures using:</p>
+<source>
+   % pgpk -a KEYS
+   % pgpv &lt;archive-name&gt;.tar.gz.asc
+</source>
+<em>or</em>
+<source>
+   % pgp -ka KEYS
+   % pgp &lt;archive-name&gt;.tar.gz.asc
+</source>
+<em>or</em>
+<source>
+   % gpg --import KEYS
+   % gpg --verify &lt;archive-name&gt;.tar.gz.asc
+</source>
+<p>Alternatively, you can verify the MD5 signature on the files. 
+A unix program called md5 or md5sum is included in many unix distributions. 
+It is also available as part of 
+<jump href="http://www.gnu.org/directory/text/wordproc/textutils.html">GNU Textutils</jump>.
+ Windows users can get binary md5 programs from 
+<jump href="http://www.fourmilab.ch/md5/">here</jump>,
+<jump href="http://www.pc-tools.net/win32/freeware/console/">here</jump>, or 
+<jump href="http://www.slavasoft.com/fsum/">here</jump>.</p>
+</s2>
+<anchor name="PlatformComp"/>
+<s2 title="Platform Compatibility">
 
 <p>We currently have no one committed to release UNIX and Linux
 binary packages.  If you have scripts to build these packages,
 your help would be appreciated. 
 You can contribute by posting your comments to the 
-<jump href="mailto:dev@xalan.apache.org">xalan-dev</jump> mailing list.
-</p>
-</s3>
-<!-- PLATFORM COMPATIBILITY TABLE GOES HERE
--->
-<s3 title="Platform Compatibility">
+<jump href="mailto:dev@xalan.apache.org">xalan-dev</jump> mailing list.</p>
+
 <p>The compiler version used for each platform is listed in the table below.
 The build platforms shown here have Xerces-C/C++ binary package support.
     <table>
@@ -192,19 +334,23 @@
 Use of Xalan and Xerces libraries compiled with different versions
 of compilers may cause problems</p>
 
-<note>Use GNU tar to untar the Solaris distribution file; see <link idref="faq" anchor="faq-11">A tar checksum error on Solaris
-      </link>.
+<note>Use GNU tar to untar the Solaris distribution file; see 
+  <link idref="faq" anchor="faq-11">A tar checksum error on Solaris</link>.
 </note>
 
-<p>If you want to take advantage of the support for number formatting, sorting, and encoding the ICU provides, you should also download 
-   and install the <resource-ref idref="icu"/>; see <link idref="usagepatterns" anchor="icu">Using the ICU</link>,</p>
-
-<p>The IBM ICU is supported with Xerces-C version 2.8.  Xerces-C version 3 has introduced transcoding support modules, currently being evaluated for Xalan XSLT transcoders.
+<p>If you want to take advantage of the support for number formatting, sorting, 
+   and encoding the ICU provides, you should also download 
+   and install the <resource-ref idref="icu"/>; see 
+   <link idref="usagepatterns" anchor="icu">Using the ICU</link>.
 </p>
 
-<note>To access previous releases of &xslt4c;, visit the <jump href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive 
-      directory</jump>.
+<p>The IBM ICU is supported with Xerces-C version 2.8.  Xerces-C version 3 has 
+   introduced transcoding support modules, currently being evaluated 
+   for Xalan XSLT transcoders.
+</p>
+
+<note>To access previous releases of &xslt4c;, visit the 
+  <jump href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive directory</jump>
 </note>
-</s3>
 </s2>
 </s1>
diff --git a/xdocs/sources/xalan/faq.xml b/xdocs/sources/xalan/faq.xml
index 34e5c5b..3c3d7bb 100644
--- a/xdocs/sources/xalan/faq.xml
+++ b/xdocs/sources/xalan/faq.xml
@@ -270,10 +270,16 @@
 
 <faq title="Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream">
 <q>Why won't XSLTInputSource work with std::istrstream on Sun Solaris using Forte/Sun Workshop compiler?</q>
-<a><p>There is a bug in Sun's C++ standard library implementation; see 
-      <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14176">this bug</jump>. The short answer is that you need to 
-      get a patch. The bug report includes the code for a simple program which you can use to see if your environment has the bug. 
-      There is also a link to the patch.</p>
+<!-- first answer -->
+<a><p>There is a bug in Sun's C++ standard library implementation 
+      for the Forte/Workshop compiler.
+      The short answer is that you need to get a patch.
+      The bugzilla subsystem for Xalan issue tracking is no longer available.  The ticket recorded
+      here included a patch.</p>
+</a>
+<!-- second answer -->
+<a><p>The issue is resolved if you use the SunStudio platform for your code development.
+      The Solaris SunStudio is now available from Oracle.</p>
 </a>
 </faq>
 
diff --git a/xdocs/sources/xalan/history.xml b/xdocs/sources/xalan/history.xml
index 11403f6..6b9cb5e 100644
--- a/xdocs/sources/xalan/history.xml
+++ b/xdocs/sources/xalan/history.xml
@@ -17,17 +17,22 @@
 -->
 
 <s3 title="Changes for &xslt4c; version 1.11">
-<p>This is a general bug fix release with added stability features.</p>
+<p>This is a general bug fix release with added stability features.
+   Many null pointer references have been fixed.</p>
 <p>Major updates since version 1.10 include:</p>
 <ul>
   <li>Add support for Xerces-C 3.0 and newer</li>
   <li>Drop support for Microsoft Studio (VC6)</li>
   <li>Fix support issues for AIX 5.3</li>
   <li>Fix support issues for Solaris 2.8</li>
+  <li>Fix support issues for Solaris 2.10</li>
   <li>Fix support issues for GCC-4.3</li>
   <li>Add support for Microsoft .NET 2008 (VC9) </li>
   <li>Add support for Microsoft .NET 2010 (VC10)</li>
   <li>Add number and nodeset types as top-level stylesheet parameters</li>
+  <li>Allow separation of compiler CFLAGS and CXXFLAGS for UNIX builds</li>
+  <li>Xalan-C documentation rewrite and reorganize</li>
+  <li>Parent Apache XML Project has been retired</li>
   <li><link anchor="bugfix11">Bugs fixed in this release</link>.</li>
 </ul>
 </s3>
@@ -62,7 +67,7 @@
       <jump href="apiDocs/classXalanTransformer.html">XalanTransformer</jump> in the <jump href="apiDocs/index.html">
       API Reference</jump> section for more information.</li> 
   <li>Added support for Microsoft Studio .NET V7.1.  Project files for Microsoft Studio .NET V7.1 have been provided under the 
-      directory xml-xalan\c\Projects\Win32\VC7.1.</li>
+      directory xalan\c\Projects\Win32\VC7.1.</li>
   <li>Upgrade from Xerces-C 2.5 to Xerces-C 2.6. </li>
  </ul>  
 </s3>
@@ -75,14 +80,13 @@
           HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms. </li>
       <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 
           is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build
-          on this platform.  Please see <link idref="build_instruct" anchor="dotNet">"Step for doing a Windows Build with Visual Studio .NET"</link> 
+          on this platform.  Please see <link idref="buildlibs" anchor="winbldenv">"Step for doing a Windows Build with Visual Studio .NET"</link> 
           for details.</li>
       <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users 
           are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these 
-          changes to your build environment, please see <link anchor="xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"
-          </link></li>
+          changes to your build environment.</li>
       <!--
-      <li>Porting of conf utility to the UNIX platform.  The conf utility is a test harness designed to run the conformance tests located under the xml-xalan/test/tests directory.  After the tests have been run, a results report is generated in HTML format for easy viewing.  For more information on how to use this tool, please see <link idref="commandline" anchor="confexe">"Using the command line utility"</link>.</li>
+      <li>Porting of conf utility to the UNIX platform.  The conf utility is a test harness designed to run the conformance tests located under the xalan/test/tests directory.  After the tests have been run, a results report is generated in HTML format for easy viewing.  For more information on how to use this tool, please see <link idref="commandline" anchor="confexe">"Using the command line utility"</link>.</li>
       -->
       <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>
       <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes".</li>
@@ -98,14 +102,13 @@
       <li>Message Localization Support. This feature enables &xslt4c; to issue diagnostic messages 
       in languages other than the default language (English). In order to utilize this feature, 
       the user must provide a version of the &xslt4c; message catalog that has been translated in 
-      their language of choice. For more information on how to exploit this feature, please see  
-      <link anchor="locale">Steps for doing a Build with Message Localization Support</link>.</li>
+      their language of choice.</li>
       <li>Build, packaging, and installation improvements. Changes to the &xslt4c; makefiles now 
       allow for a more flexible build, packaging, and install process. Each step in a typical 
       build process can be invoked by specifying the appropriate target, for example to build the 
       executable, and/or samples, or install the build at user-specified location. For more 
-      information on building &xslt4c;, please see <link anchor="unix">Steps for doing a Unix build
-      </link>.</li>
+      information on building &xslt4c;, please see 
+      <link idref="buildlibs" anchor="unixbldenv">Steps for doing a Unix build</link>.</li>
       <li>Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved 
       into an exclusive directory within the xalanc/XercesParserLiaison directory called 
       'Deprecated'. If your application is dependent on these classes to interface with the 
@@ -130,7 +133,10 @@
             <code>#include &lt;XPath/XObject.hpp&gt;</code><br/><br/>
             will need to be changed to <br/><br/>
             <code>#include &lt;xalanc/XPath/XObject.hpp&gt;</code><br/><br/>
-            For Windows users, all project files have been modified to reflect this change.  For UNIX users, please see <link anchor="unix">Steps for doing a UNIX build</link> for migration considerations.</li>
+            For Windows users, all project files have been modified to reflect this change.  
+            For UNIX users, please see 
+            <link idref="buildlibs" anchor="unixbldenv">Steps for doing a UNIX build</link> 
+            for migration considerations.</li>
      </ul>  
    </s3>  
 
@@ -146,8 +152,10 @@
    <s3 title="Changes for &xslt4c; version 1.4">
      <p>Major updates since version 1.3 include:</p>
      <ul>
-       <li>The &xslt4c; distributions no longer include the &xml4c; headers and libraries. Accordingly, you must download the appropriate &xml4c; distribution (see <link idref="getstarted" anchor="download">Downloading what you need</link>.</li>
-       <li>64-bit build for HP-11; <link anchor="64">untested 64-bit support</link> for Solaris and AIX.</li>
+       <li>The &xslt4c; distributions no longer include the &xml4c; headers and libraries. 
+           Accordingly, you must download the appropriate &xml4c; distribution 
+           (see <link idref="download">Downloading what you need</link>.</li>
+       <li>64-bit build for HP-11; untested 64-bit support for Solaris and AIX.</li>
        <li>New Linux platform and compiler: Redhat 7.2 with gcc 3.1.</li>
        <li><resource-ref idref="stlport"/> is no longer required on any of our supported platforms.</li> 
        <li><link idref="extensionslib" anchor="exslt">Alpha support for a number of EXSLT functions</link>.</li>       
diff --git a/xdocs/sources/xalan/index.xml b/xdocs/sources/xalan/index.xml
index 990c6f6..40b01c4 100644
--- a/xdocs/sources/xalan/index.xml
+++ b/xdocs/sources/xalan/index.xml
@@ -98,17 +98,17 @@
 <p>The <jump href="mailto:dev@xalan.apache.org">xalan-dev</jump> mailing list 
 is used to communicate product development issues with the software development team. 
 The xalan-dev messages are 
-<jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-dev">archived here</jump> 
+<jump href="http://mail-archives.apache.org/mod_mbox/xalan-dev">archived here</jump> 
 and on <jump href="http://marc.info/?l=xalan-dev">Marc.info</jump>.
 </p>
 <p>The <jump href="mailto:c-users@xalan.apache.org">xalan-c-users</jump> mailing list 
 is used to discuss issues regarding the use of the Xalan-C/C++ software and libraries. 
 The xalan-c-users messages are 
-<jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-c-users">archived here</jump> 
+<jump href="http://mail-archives.apache.org/mod_mbox/xalan-c-users">archived here</jump> 
 and on <jump href="http://marc.info/?l=xalan-c-users">Marc.info</jump>.
 </p>
-<p>The subversion repository changes are logged on the xalan-cvs mailing list and are 
-<jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-cvs">archived here</jump>
+<p>The subversion repository changes are logged on the xalan-commits mailing list and are 
+<jump href="http://mail-archives.apache.org/mod_mbox/xalan-commits">archived here</jump>
 and on <jump href="http://marc.info/?l=xalan-cvs">Marc.info</jump>.
 </p>
 <p>You can review the project sources and change history in the subversion repository at 
@@ -291,9 +291,9 @@
 </p>
 <table>
 <tr><td>Xalan-C Version 1.10</td><td><jump 
-href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/">Xalan Package Downloads</jump></td></tr>
+href="http://archive.apache.org/dist/xml/xalan-c/">Xalan Package Downloads</jump></td></tr>
 <tr><td>Xerces-C Version 2.7</td><td><jump 
-href="http://www.apache.org/dyn/closer.cgi/xml/xerces-c/">Xerces Package Downloads</jump></td></tr>
+href="http://archive.apache.org/dist/xml/xerces-c/">Xerces Package Downloads</jump></td></tr>
 </table>
 
 </s2>
diff --git a/xdocs/sources/xalan/install.xml b/xdocs/sources/xalan/install.xml
index 1e43020..27ecb7e 100644
--- a/xdocs/sources/xalan/install.xml
+++ b/xdocs/sources/xalan/install.xml
@@ -18,173 +18,218 @@
  * limitations under the License.
 -->
 <s1 title="Installing &xslt4c;">
+<!--
+File:  Xalan-Install-Chapter.rtf
+-->
 
 <ul>
-  <li><link anchor="SourcePkgs">Install Source Packages</link></li>
-  <li><link anchor="BinaryPkgs">Install Binary Packages</link></li>
+<li><link anchor="InstSrcPkgs">Install Source Packages</link></li>
+<li><link anchor="InstBinPkgs">Install Binary Packages</link></li>
   <ul>
-    <li><link anchor="InsWin">Install Windows Packages</link></li>
-    <li><link anchor="InsUnx">InstallUNIX Packages</link></li>
-    <li><link anchor="InsPkgs">Other Packages</link></li>
+  <li><link anchor="InstUnixBinPkgs">Install UNIX Binary Packages</link></li>
+    <ul>
+    <li><link anchor="ConfigUnixSys">Configure UNIX and Linux Systems</link></li>
+    </ul>
+  <li><link anchor="InstWinBinPkgs">Install Windows Binary Packages</link></li>
+    <ul>
+    <li><link anchor="ConfWinPath">Configure Windows PATH</link></li>
+    </ul>
   </ul>
-  <li><link anchor="XalanDocPkg">Install Documentation Packages</link></li>
-  <ul>
-    <li><link href="DocWebPkg">Xalan-C User Guide</link></li>
-    <li><link href="DocApiPkg">Xalan-C API Reference</link></li>
-  </ul>
+<li><link anchor="InstDocPkgs">Install Documentation Package</link></li>
 </ul>
 
-<p>A pre-requisite for using the Xalan-C/C++ XSLT library is to
-  have a working Xerces-C/C++ XML Parser library.  Xerces-C/C++
-  must be of version 3.0 or newer.  Xerces-C/C++ Version 3.1.1 is preferred.
-</p>
-<p>The Xalan-C/C++ project is providing several types of packages.
-</p>
-<p>Source packages contain all of the source code to build the
-  Xalan-C/C++ library, the sample programs, and the documentation.
-  There are UNIX scripts and Windows project files by which the
-  library and sample programs can be built. 
-  There are also scripts for building the User Guide web pages and
-  a Doxygen configuration for building the interactive API Reference.
-</p>
-<p>Binary packages contain compiled libraries and the Xalan
-  command line program.  The binary packages also contain C/C++
-  header files for basic software development.
-</p>
-<p>Documentation packages contain pre-built directories of web
-  page html files for the Xalan-C/C++ User Guide and the interactive
-  API Reference for programmers.
-</p> 
-
-<anchor name="SourcePkgs"/>
+<anchor name="InstSrcPkgs"/>
 <s2 title="Install Source Packages">
-<p>We have no package managers for source packages.  You just extract
-  the contents of the distribution <ref>zip</ref> file or <ref>tar</ref> file 
-  into a source directory of your choosing.
-</p>
-<p>You also need to have the necessary C/C++ compiler tools installed
-  and a working copy of the Xerces-C/C++ XML parser library.
-</p>
-<p>Building the 
-  <link idref="builddocs" anchor="buildweb">User Guide</link> 
-  from sources requires a working Xalan command line program.
-</p>
-<p>Building the interactive 
-  <link idref="builddocs" anchor="buildapi">API Reference</link>
-  requires a UNIX or Linux system with a current copy of 
-  Doxygen and GraphViz installed.
-</p>
 
-<p>The building of a library from sources results in a directory from which
-  a binary package can be made.  
-  <link idref="buildlibs" anchor="unixbldenv">UNIX and Linux builds</link>
-  are automatically targeted to an install destination.  
-  <link idref="buildlibs" anchor="winbldinst">Installing a Windows build</link>
-  requires that the specific compiled products be copied to a usable
-  destination directory.
-</p>
+<p>We have no package managers for source packages.  
+You just extract the contents of the distribution <em>zip</em> or <em>tar</em> file 
+into a source directory of your choosing.</p>
+
+<p>The supplemental package building scripts for Linux and UNIX look for the 
+Xalan-C sources to be found in a directory named <code><em>xalan-src</em></code>. 
+The Xerces-C sources are expected to be found in a directory named <code><em>xerces-src</em></code>.</p>
+
+<p>The supplemental package building scripts for Windows look for the Xalan-C 
+sources to be found in a directory named <code><em>xalan-src-11</em></code> 
+and the Xerces-C sources to be found in a directory named <code><em>xerces-src-31</em></code>.</p>
+
+<p>When building the Xalan-C library and sample programs, 
+you also need the necessary C/C++ compiler tools installed. 
+A working copy of the Xerces-C XML parser library must be available 
+before you can build the Xalan-C library. 
+You may build the Xerces-C XML parser library from a source distribution 
+or use a compatible Xerces-C binary distribution.</p>
+
+<p>Building the User Guide web pages from sources requires a 
+working Xalan command line program.  The Xalan command-line program must support 
+top-level parameters as strings.</p>
+
+<p>Building the interactive API Reference pages requires a UNIX or Linux 
+system with a current copy of Doxygen and GraphViz software installed.</p>
 
 </s2>
-<anchor name="BinaryPkgs"/>
+<anchor name="InstBinPkgs"/>
 <s2 title="Install Binary Packages">
-<p>The binary packages distributed by <ref>zip</ref> files
-  and <ref>tar</ref> files are usually extracted to the install 
-  <code>{target}</code> directory.
-  After extracting the contents, you then need to manually perform
-  some minor system configuration.
-</p>
-<p>Packages that are handled by a package manager are usually
-  installed and configured according to package maintainer.</p>
 
-<anchor name="InsWin"/>
-<s3 title="Install Windows Packages">
-<p>The Xalan-C and Xerces-C packages can be installed to the same
-  <code>{target}</code>
-  directory tree.  The debug and release builds have different names
-  for the shared <code>*.DLL</code> files.
-</p>
-<p>Windows operating systems require that the <code>{target}\bin</code>
-  directory be added to the PATH environment. You can make the path
-  a permanent part of the SYSTEM or user login DESKTOP environment. 
-  The PATH environment variable should contain an entry
-  where the <code>{target}\bin\*.DLL</code> files are found.
-</p>
+<p>The binary packages distributed by <em>zip</em> and <em>tar</em> files are 
+usually extracted to an install directory of your choosing. 
+After extracting the contents, and possibly relocating some items, 
+you may then need to manually perform some minor system configuration.</p>
+
+<anchor name="InstUnixBinPkgs"/>
+<s3 title="Install UNIX Binary Packages">
+
+<p>Binary packages for Linux and UNIX systems only distribute a <em>release</em> build of binaries. 
+A debug build of binaries requires you to compile from the sources. 
+Binary packages for Linux and UNIX systems have the following directory structure.</p>
+
+<table>
+<tr><td>./bin/</td><td>Contains the Xalan.exe command line and DLLs</td></tr>
+<tr><td>./lib/</td><td>Contains the linker libraries</td></tr>
+<tr><td>./include/xalanc/</td><td>Contains the Xalan-C header files</td></tr>
+<tr><td>./doc/xalanc-1.11/</td><td>Contains license and other information</td></tr>
+</table>
+
+<p>Supplemental scripts for Linux and UNIX builds are available in the 
+source distribution by which binary packages can be made. 
+The release builds are targeted to <code>${prefix} = /opt/apache/</code>. 
+The debug buids are targeted to <code>${prefix} = /opt/apache/debug/</code>.</p>
+
+<p>Packages that are released by a UNIX or Linux package manager are 
+usually installed and configured by the package manager.</p>
+
+<anchor name="ConfigUnixSys"/>
+<s4 title="Configure UNIX and Linux Systems">
+
+<p>The Xalan command line executable should be in a directory 
+accessible by the PATH environment.</p>
+
+<p>The lib directories containing the <code><em>libxalan-c.so</em></code> and 
+<code><em>libxerces-c.so</em></code> objects must be known to the shared object loader. 
+The system loader environment variable usually takes precedence 
+over the shared object cache. 
+I use the shared object cache for installed applications and reserve 
+the overriding environment for prototype builds and debugging purposes.</p>
+
+<table>
+<tr><th>Operating System</th><th>Library Path Environment</th></tr>
+<tr><td>Solaris and Linux</td><td>LD_LIBRARY_PATH</td></tr>
+<tr><td>BSD/GNU</td><td>LD_LIBRARY_PATH</td></tr>
+<tr><td>HP-UX</td><td>SHLIB_PATH</td></tr>
+<tr><td>AIX and BSD</td><td>LIBPATH</td></tr>
+<tr><td>MacOSX</td><td>DYLD_LIBRARY_PATH</td></tr>
+<tr><td>Cygwin and MinGW</td><td>PATH</td></tr>
+</table>
+
+<p>The library search path order is significant. 
+In many cases, the <code><em>/usr/lib</em></code>, <code><em>/lib</em></code>, 
+and <code><em>/usr/local/lib</em></code> paths are already cached 
+in <code><em>/etc/ld.so.cache</em></code> or included by <code><em>/etc/ld.so.conf</em></code>.</p>
+
+</s4>
+</s3>
+<anchor name="InstWinBinPkgs"/>
+<s3 title="Install Windows Binary Packages">
+
+<p>Binary packages for Windows systems include a directory name 
+related to the Windows Studio platform used to build the product.  
+The <code>{<em>bin</em>, <em>lib</em>, <em>include</em>, <em>doc</em>}</code> directories 
+are subdirectories of the platform directory. 
+Libraries for several Visual Studio development systems 
+can be installed on the same Windows computer.</p>
+<table>
+<tr><td>XALANCPKG-11-31-VC71</td><td>for Visual Studio 2003 (Win32)</td></tr>
+<tr><td>XALANCPKG-11-31-VC80</td><td>for Visual Studio 2005 (Win32)</td></tr>
+<tr><td>XALANCPKG-11-31-VC90</td><td>for Visual Studio 2008 (Win32)</td></tr>
+<tr><td>XALANCPKG-11-31-VC100</td><td>for Visual Studio 2010 (Win32)</td></tr>
+<tr><td>XALANCPKG-11-31-X64-VC80</td><td>for Visual Studio 2005 (amd64)</td></tr>
+<tr><td>XALANCPKG-11-31-X64-VC90</td><td>for Visual Studio 2008 (amd64)</td></tr>
+<tr><td>XALANCPKG-11-31-X64-VC100</td><td>for Visual Studio 2010 (amd64)</td></tr>
+</table>
+
+<p>Supplemental scripts for Windows builds are available in the source distribution 
+by which these above binary packages can be made.  
+Also included are scripts for building the Xerces-C sources 
+to the following binary package directories. 
+These directories are mostly compatible with the required 
+XALANCROOT and XERCESCROOT environment variables when building your own applications.</p>
+
+<table>
+<tr><td>XERCESCPKG-31-VC71</td><td>for Visual Studio 2003 (Win32)</td></tr>
+<tr><td>XERCESCPKG-31-VC80</td><td>for Visual Studio 2005 (Win32)</td></tr>
+<tr><td>XERCESCPKG-31-VC90</td><td>for Visual Studio 2008 (Win32)</td></tr>
+<tr><td>XERCESCPKG-31-VC100</td><td>for Visual Studio 2010 (Win32)</td></tr>
+<tr><td>XERCESCPKG-31-X64-VC80</td><td>for Visual Studio 2005 (amd64)</td></tr>
+<tr><td>XERCESCPKG-31-X64-VC90</td><td>for Visual Studio 2008 (amd64)</td></tr>
+<tr><td>XERCESCPKG-31-X64-VC100</td><td>for Visual Studio 2010 (amd64)</td></tr>
+</table>
+
+<p>Supplemental scripts for Windows builds will also handle the packaging of older 
+Xalan-C and Xerces-C releases.  A similar naming of package directories and 
+source directories is supported for these older releases.</p>
+
+<note>You MUST NOT merge the <em>bin</em> and <em>lib</em> directories from packages 
+compiled with different compilers or different target (Win32 or amd64) platforms.</note>
+
+<p>It is safe to merge the <em>bin</em> directories of compatible Xalan-C and Xerces-C 
+distributions into a common directory known by the system PATH environment. 
+You can safely merge the <em>lib</em> directories of Xalan-C and Xerces-C into a common directory.
+ You can safely merge the <em>include</em> directories of both Xalan-C and Xerces-C 
+as long as the subdirectories of <em>xalanc</em> and <em>xercesc</em> remain intact.</p>
+
+<anchor name="ConfWinPath"/>
+<s4 title="Configure Windows PATH">
+
+<p>Windows systems require that the bin directories be added to the 
+PATH environment so the library DLL files can be found. 
+The <em>Xalan.exe</em> program is dynamically linked to these libraries.</p>
+
+<p>You can make the PATH environment a permanent part of the SYSTEM or user login DESKTOP environment.
+Any PATH you add to the user login DESKTOP environment gets automatically prepended to the
+SYSTEM PATH environment and is effective upon successful user DESKTOP login.  If your
+computer also starts Windows Services that run on behalf of a user, the user environment
+is assumed.</p>
+
 <ol>
-  <li>Right-Click on the computer icon.</li>
-  <li>Select Properties.</li>
-  <li>Select Advanced System Settings.</li>
-  <li>Select Environment Variables.</li>
-  <li>Add the <code>{target}\bin</code> directory to the
-      system PATH environment variable.</li>
+<li>Right-Click on the computer icon.</li>
+<li>Select Properties</li>
+<li>Select Advanced System Settings.</li>
+<li>SelectEnvironment Variables.</li>
+<li>Add the bin directory to the system PATH environment.</li>
 </ol>
-<p>The XP, NT, 2000 and 2003 systems allow environment variables to be 
-   set explicitly to individual user accounts. 
-   The Vista, Win-7, and 2008 systems have security administration that
-   gets in the way of updating individual user environments.
-</p>
-<p>In a command window or a command environment, you can add the following
-   shell command to set a temporary path to the XALAN <code>{target}\bin</code>
-   directory.
-</p>
-<source>set PATH=%PATH%;{target}\bin</source>
 
-</s3>
-<anchor name="InsUnx"/>
-<s3 title="Install UNIX Packages">
-  <p>The path to the <code>Xalan</code> command line executable program should be added
-  to the PATH environment variable.</p>
-  <p>The path to the shared objects should be added to the system
-  configuration or overridden by specific entry in an environment
-  by which shared objects can be found.</p>
-<p>Here is some more detailed information on 
-  <link idref="buildlibs" anchor="unixlibpath">UNIX Runtime</link> configuration.
-</p>
-</s3>
-<anchor name="InsPkgs"/>
-<s3 title="Install Other Packages">
-<p>These packages are usually installed and configured by a package manager.
-  You should refer to the documentation provided by the package maintainer.
-</p>
+<p>The XP, NT, 2000, and 3000 systems allow environment variables to be 
+set explicitly to individual user accounts.  
+The Vista, Win-7, and 2008 systems have security administration 
+that gets in the way of updating individual user environments.</p>
 
+<p>Or you can add the <em>bin</em> directories temporarily to your environment by program control 
+or invoking a shell command script, or using a command window. 
+The following command line will append your <code>{target}/<em>bin</em></code> directory
+to the PATH environment.</p>
+<source>
+set PATH=%PATH%;{target}/bin
+</source>
+</s4>
 </s3>
 </s2>
-<anchor name="XalanDocPkg"/>
+<anchor name="InstDocPkgs"/>
 <s2 title="Install Documentation Packages">
-<p>The documentation packages are distributed as <ref>tar</ref> files
-  and <ref>zip</ref> files.  You just extract the files into a directory
-  that is reachable by your favorite web browser.  The head of the
-  documentation tree starts at the <link idref="index">
-  <code>{docs}/xalan-c</code></link> directory.
-</p>
-<p><em>TO DO:</em></p>
-<p>Rework the xalan/c/trunk/xdocs/sources/ scripts so that the
-   source documentation builds are
-   targeted to the xalan/c/trunk/build/docs/xalan-c/ directory path.
-</p>
-<p>Add a documentation script that performs a post-processing
-   operation when building the API Reference from Doxygen to relocate
-   the constructed products to the xalan/c/trunk/build/docs/xalan-c/apiDocs/
-   directory path.
-</p>
-<p>Details are found in our <link idref="builddocs">Build Documents</link> pages.
-</p>
 
-<anchor name="DocWebPkg"/>
-<s3 title="Install Xalan-C User Guide">
-<p>Extract the distributed <ref>tar</ref> file or <ref>zip</ref>
-  file to the <code>{docs}</code> directory.  The package populates
-  the <code>{docs}/xalan-c/*</code> directory containing the Xalan-C
-  User Guide web pages.
-</p>
+<p>There are actually two distributed documentation packages.  
+One contains the website pages and full interactive apiDoc images (355+ megabytes).  
+The other contains the website pages and the apiDoc descriptions (47 megabytes) 
+without the apiDoc images.  
+Except for the absence of interactive apiDoc images, 
+the documentation packages are identical.</p>
 
-</s3>
-<anchor name="DocApiPkg"/>
-<s3 title="Install Xalan-C API Reference">
-<p>Extract the distributed <ref>tar</ref> file or <ref>zip</ref>
-  file to the <code>{docs}</code> directory.  The package populates
-  the <code>{docs}/xalan-c/apiDocs/*</code> directory containing the
-  Xalan-C API Reference for programmers.
-</p>
-</s3>
+<p>The documentation packages are distributed as <em>tar</em> and <em>zip</em> files. 
+You just extract the contents into a directory that is reachable by your favorite web browser. 
+The documentation tree starts with the <em>./xalan-c/</em> directory. 
+The top documentation page is the <em>./xalan-c/index.html</em> file.</p>
+
+<p>The documentation is initially a snapshot of the 
+<jump href="http://xalan.apache.org/xalan-c/index.html">Apache Xalan-C/C++ website</jump> 
+at the time the product was released.</p>
 </s2>
 </s1>
diff --git a/xdocs/sources/xalan/releasenotes.xml b/xdocs/sources/xalan/releasenotes.xml
index 4793c20..84d3408 100644
--- a/xdocs/sources/xalan/releasenotes.xml
+++ b/xdocs/sources/xalan/releasenotes.xml
@@ -48,9 +48,17 @@
       <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 
           is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build
           on this platform.  Please see <link anchor="dotNet">"Step for doing a Windows Build with Visual Studio .NET"</link> for details.</li>
-      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these changes to your build environment, please see <link anchor="xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"</link></li>
+      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  
+          Users are encouraged to modify their applications to interface with the new Xerces DOM support.  
+          For more information on the effects of these changes to your build environment, please see 
+          <link anchor="xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"</link></li>
       <!--
-      <li>Porting of conf utility to the UNIX platform.  The conf utility is a test harness designed to run the conformance tests located under the xml-xalan/test/tests directory.  After the tests have been run, a results report is generated in HTML format for easy viewing.  For more information on how to use this tool, please see <link idref="commandline" anchor="confexe">"Using the command line utility"</link>.</li>
+      <li>Porting of conf utility to the UNIX platform. 
+          The conf utility is a test harness designed to run the conformance tests located under 
+          the xml-xalan/test/tests directory.  After the tests have been run, a results 
+          report is generated in HTML format for easy viewing.  For more information on how to use 
+          this tool, please see <link idref="commandline" anchor="confexe">"Using the 
+          command line utility"</link>.</li>
       -->
       <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>
       <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes". See bugzilla <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24304">24304</jump> and <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=28386">28386</jump>.</li>
diff --git a/xdocs/sources/xalan/resources.xml b/xdocs/sources/xalan/resources.xml
index cfe2c01..5b35e63 100644
--- a/xdocs/sources/xalan/resources.xml
+++ b/xdocs/sources/xalan/resources.xml
@@ -62,13 +62,13 @@
   
 <resource id="icu" 
           title="International Components for Unicode (ICU)" 
-          location="http://oss.software.ibm.com/icu/index.html"/>
+          location="http://icu-project.org"/>
 <resource id="icu-download" 
           title="&icu-used;" 
-          location="http://oss.software.ibm.com/icu/download/index.html"/>
+          location="http://icu-project.org/download"/>
 <resource id="xerces-build-icu" 
           title="Building ICU for &xml4c;" 
-          location="http://xml.apache.org/xerces-c/build.html#BuildICU"/>
+          location="http://xerces.apache.org/xerces-c/build-3.html"/>
 <resource id="stlport" 
           title="STLport" 
           location="http://www.stlport.org/"/>
diff --git a/xdocs/sources/xalan/usagepatterns.xml b/xdocs/sources/xalan/usagepatterns.xml
index 16fc32d..4349ab4 100644
--- a/xdocs/sources/xalan/usagepatterns.xml
+++ b/xdocs/sources/xalan/usagepatterns.xml
@@ -451,7 +451,7 @@
   <li>Define the XALAN_USE_ICU environment variable.<br/><br/></li>
   <li>Set the XALANROOT environment variable to the path to to the ICU root (unless you have copied the ICU library to
       /usr/lib).<br/><br/></li> 
-  <li><link idref="build_instruct" anchor="unix">Rebuild the Xalan library</link> (&xslt4c-linuxlib; for Linux, &xslt4c-aixlib; for AIX,
+  <li><link idref="buildlibs" anchor="unixbldenv">Rebuild the Xalan library</link> (&xslt4c-linuxlib; for Linux, &xslt4c-aixlib; for AIX,
       &xslt4c-hplib; for HP-UX 11, and &xslt4c-solarislib; for Solaris).<br/><br/></li>
   <li>Be sure the Xalan library is on the library path (LD_LIBRARY_PATH for Red Hat Linux, LIBPATH for AIX, SHLIB_PATH for 
       HP-UX 11, LD_LIBRARY_PATH for Solaris).</li>
diff --git a/xdocs/sources/xalan/whatsnew.xml b/xdocs/sources/xalan/whatsnew.xml
index 40fec23..76ea591 100644
--- a/xdocs/sources/xalan/whatsnew.xml
+++ b/xdocs/sources/xalan/whatsnew.xml
@@ -40,20 +40,15 @@
 <p><em>Release notes for Xalan-C/C++ Version 1.11</em>
 </p>
 <p>This is primarily a bug-fix release of version 1.10.  Support for number and
-nodeset types for stylesheet top-level parameters has been added. Xerces-C/C++
+nodeset types for stylesheet top-level parameters have been added. Xerces-C/C++
 versions 3.0 and newer are now supported. Xerces-C/C++ Version 3.1.1 is the
 preferred stable release.
 </p>
-<p>At present, the Xalan-C/C++ Version 1.11 has no binary releases. 
-When building Xalan-C/C++ from sources, 
-you should use the same platform that was used to 
-compile the companion Xerces-C/C++ library.
-</p>
-<p>Binary package releases for Microsoft Windows are being planned.
-</p>
-<p>If you are able to successfully create a new binary package and wish it
-to be included, then we welcome your participation on the 
-<jump href="mailto:dev@xalan.apache.org">xalan-dev</jump> mail list.
+<p>There are few binary releases for Xalan-C/C++.  The current binary releases
+are primarily for Windows platforms.  If you are able to successfully create a 
+new binary package and wish it to be included, then we welcome your participation 
+on the <jump href="mailto:dev@xalan.apache.org">xalan-dev</jump> mail list.
+You may also wish to check our <link idref="download">download</link> page.
 </p>
 <p>Xalan-C/C++ no longer supports Microsoft Studio (VC6).  The Microsoft Visual
 Studio .NET platforms (2003, 2005, 2008, and 2010) are supported.  This equates
@@ -87,12 +82,17 @@
 <s2 title="Bug Fixes in Release 1.11">
 <p>The bugs fixed in &xslt4c-current; include:</p>
 <ul>
-<li>XALANC-723 Add Top-Level parameter support for XalanCAPI and UseStylesheetParams sample</li>
+<li>XALANC-734: Allow runConfigure CFLAGS and CXXFLAGS to inherit environment</li>
+<li>XALANC-732: Fix makefile errors for AIX builds</li>
+<li>XALANC-730: Fixed XalanTransformer memory leaks</li>
+<li>XALANC-723: Add Top-Level parameter support for XalanCAPI and UseStylesheetParams samples</li>
+<li>XALANC-723: The XalanTransformer Top-Level parameters now include nodeset and number types</li>
 <li>XALANC-721: Upgrade support for MS VS 2010 (VC10)</li>
 <li>XALANC-719: Xerces Parser Liaison - errors on elements with no attributes</li>
 <li>XALANC-716: incorrect buffer-size calculation in XalanUTF16Writer.hpp</li>
 <li>XALANC-715: NULL pointer access crash</li>
 <li>XALANC-713: Build Xalan-C/C++ API Reference Manual using Doxygen 1.7 or newer</li>
+<li>XALANC-712: Rewrite of Xalan-C++ V1.11 User Guide Web Pages</li>
 <li>XALANC-710: MS-Studio 2008 Debug Build sends Xalan-C_1D.lib to wrong directory</li>
 <li>XALANC-709: Doxygen bug in XalanQName.hpp</li>
 <li>XALANC-708: Including XalanCAPI.hpp does not import Xerces typedef XMLch</li>
@@ -270,7 +270,9 @@
 <li>Add more EXSLT extension functions</li>
 <li>Add the EXSLT document extension function</li>
 <li>Add support for user-defined extension modules</li>
-<li>Add support for node-set to be declared as top-level XSLT parameter</li>
+<li>Retire runConfigure script, use GNU AutoTools for platform maintenance</li>
+<li>Add number and nodeset top-level parameters to the Xalan command-line</li>
+<li>Add noNamespace file schema capability to the Xalan command-line</li>
 </ul>
 </s2>
 </s1>
diff --git a/xdocs/sources/xslt-resources/Xalan-Logo-tm.png b/xdocs/sources/xslt-resources/Xalan-Logo-tm.png
new file mode 100644
index 0000000..9a08808
--- /dev/null
+++ b/xdocs/sources/xslt-resources/Xalan-Logo-tm.png
Binary files differ
diff --git a/xdocs/sources/xslt-resources/Xalan-Trademark.txt b/xdocs/sources/xslt-resources/Xalan-Trademark.txt
new file mode 100644
index 0000000..5f5c264
--- /dev/null
+++ b/xdocs/sources/xslt-resources/Xalan-Trademark.txt
@@ -0,0 +1,106 @@
+
+The XALAN Logo - Trademark Description
+--------------------------------------
+
+Prepared By:  
+
+	Steven J. Hathaway
+
+	(shathaway@apache.org)
+
+	September 3, 2011
+
+
+
+Prepared for:
+
+	The Apache Software Foundation
+
+--------------------------------------
+
+Graphic: A stylized version of the African Xalam instrument.
+
+Note: the difference in spelling.
+
+	Xalam is the African Musical Instrument
+	Xalan is the Apache Xalan Software Project
+
+
+TEXT FONTS SIZE AND STYLE:
+
+TM (trademark symbol)
+
+	Font: Arial
+	Size: 14pt
+	Style: Bold)
+
+XSLT
+
+	Font: Arial
+	Size: 22pt
+	Style: Bold
+
+Apache Software Foundation (trademark name)
+
+	Font: Arial
+	Size: 18pt
+	Style: Bold
+	Note: 2 space characters between words
+
+Xalan	(trademark name)
+
+	Font: Segoe Print
+	Size: 48pt
+	Style: Bold
+
+Xalan-C	(trademark name)
+
+	Font: Segoe Print
+	Size: 48pt
+	Style: Bold
+
+Xalan-J	(trademark name)
+
+	Font: Segoe Print
+	Size: 48pt
+	Style: Bold
+
+
+INSTRUMENT GRAPHIC (vector equations)
+
+	Vertical Width:		0.75 inch (3/4)
+	HorizontalLength:	3.667 inch (3 2/3)
+
+	Oval on the left,
+	neck and butt on the right.
+
+	Oval Width:		0.75 inch (3/4)
+	Oval Length:		1.583 inch (1 7/12)
+
+	Neck Width:		0.167 inch (1/6)
+
+	Butt Width:		0.25 inch (1/4)
+	Butt Length:		0.417 inch (5/12)
+
+
+Description of instrument logo
+
+	Oval: simulation of a gourd sound chamber
+	With orange gradation hues
+
+	Neck: rectangle simulating a round fingerboard
+	With yellow-green gradation hues
+
+	Butt: rounded rectangle simulating end of neck
+	With olive-green hue
+
+	String Anchor:  rounded rectangle on the gourd
+	With olive-green hue
+
+	2 strings: the full length from Anchor to Butt
+
+	2 strings: tied to neck, at 1/2 length from Anchor to Butt
+
+	3 Loose Tie Strings on the Butt, simulating tuning anchors
+
+	
\ No newline at end of file
diff --git a/xdocs/sources/xslt-resources/XalanC-Logo-tm.png b/xdocs/sources/xslt-resources/XalanC-Logo-tm.png
new file mode 100644
index 0000000..8de82fd
--- /dev/null
+++ b/xdocs/sources/xslt-resources/XalanC-Logo-tm.png
Binary files differ
diff --git a/xdocs/sources/xslt-resources/apache-xalan.css b/xdocs/sources/xslt-resources/apache-xalan.css
new file mode 100644
index 0000000..fc2fa1a
--- /dev/null
+++ b/xdocs/sources/xslt-resources/apache-xalan.css
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+/* This (css) stylesheet renders the xhtml web pages that were generated
+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.
+*/
+
+html > bod  {left:0;}
+body {
+/*  background-color: white; */
+  background-color: #f8f8f0;
+  color: black;
+  padding: 0;
+  margin: 0;
+  font-family: arial, "lucida console", san-serif;
+}
+
+/* Emulate table align=center */
+div.centered, td.centered {
+  text-align: center;
+}
+
+div.centered table {
+  margin: 0 auto;
+  text-align: left;
+}
+
+/*
+ * ID Sections
+ */
+
+#content {
+  width: 80%;
+  float: left;
+  font-size: 12pt;
+  padding-top: 1em;
+  padding-left: 5px;
+  margin-left: 10px;
+  border-left: 1px solid #aaa;
+}
+
+#navLeft {
+  clear: left;
+  width: 15%;
+  float: left;
+  padding: 2px;
+  margin-left: 1%;
+  color: red;
+  position: relative;
+  left: 1px;
+  background-color: #eee;
+}
+
+.navGroup {
+  color: Black;
+  font-size: 14pt;
+}
+
+
+#title {
+  color: black;
+  background-color: #eee;
+  text-align: center;
+  border-bottom: 1px solid #aaa;
+  padding: 0;
+  vertical-align: middle;
+}
+
+table.HdrTitle {
+  font-size: 18pt;
+}
+
+table.HdrButtons {
+  font-size: 8pt;
+  background-color: #ccf;
+  align: "center";
+  border: "1";
+
+}
+
+#footer {
+    clear: both;
+    margin: 0 2em;
+    color: #444;
+    background-color: #ddd;
+    text-align: center;
+    padding: .5em 0;
+    font-size: 75%;
+    border-top: 1px solid #aaa;
+}
+
+/*
+ * Anchors
+ */
+
+a {
+  color: blue;
+  text-decoration: undedrline;
+}
+
+a img {
+  border: 0;
+}
+
+a:hover {
+  text-decoration: none;
+  background-color: #d7c9c9;
+}
+
+/*
+ * Headers
+ */
+
+h1 {}
+
+#title h1 {
+  padding: 1px 0;
+  margin: 0;
+  float: right;
+  width: 60%;
+  font-size: 20pt;
+  text-align: center;
+}
+
+#content h1 { background-color: #8af }
+
+h2 {}
+
+#title h2 {
+  font-size: 14pt;
+  width: 60%;
+  text-alignment: center;
+  padding: 1px 0;
+  margin: 0;
+}
+
+#content h2 { background-color: #9bf }
+
+#content h2.year {
+  background-color: #ddd;
+  text-align: center;
+}
+
+h3 {}
+
+#content h3.monthName {
+  background-color: #333;
+  text-align: center;
+}
+
+#content h3 { background-color: #acf }
+
+h4{}
+
+#content h4.eventTitle {
+  margin-left: 1%;
+  border-bottom: 1px solid blue;
+}
+
+#content h4 { background-color: #cdf }
+
+/*
+ * Tables
+ */
+
+th {}
+
+td {}
+
+th.content {background-color: #4BD }
+td.content {background-color: #AEF }
+
+/*
+ * Lists and navLeft
+ */
+
+ul {}
+
+#navLeft ul {
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+
+#navLeft ul li {
+  margin: 0;
+}
+
+#navLeft ul li p {
+  margin: 0;
+}
+
+#navLeft ul li ul {
+  list-style-type: none;
+  font-size: 90%;
+  margin: 0 2em;
+}
+
+#navLeft ul li ul li {
+  margin: 0;
+}
+
+/*
+ * Paragraphs
+ */
+
+p {}
+
+#navLeft p {
+  text-align: center;
+  padding: 0 auto;
+  margin: 0;
+}
+
+#footer p {
+  padding: 0;
+}
+
+#content p.topalign {
+  vertical-align: middle;
+  height: 2em;
+  text-align: center;
+  width: 100%;
+  padding: .5em;
+  border: 1px solid #ddd;
+}
+
+#content p.topalign img {
+  vertical-align: middle;
+  text-align: text-middle;
+}
+
+#content p.quote {
+  color:black;
+  font-style: italic;
+  font-size: 110%;
+  margin-left: 10%;
+  margin-right: 10%;
+  padding 1em;
+  border: 1px solid #ddd;
+  text-align: center;
+}
+
+#content p.navbar {
+  font-size: 90%;
+  text-align: center;
+  border-top: 1px solid #ddd;
+  border-bottom: 1px solid #ddd;
+}
+
+blockquote {}
+
+blockquote.note {
+  font-size: 80%;
+  border: 1px solid #ddd;
+  background-color: #eee;
+}
+
+td.noteImg {
+  background-color: white;
+  border: 0;
+}
+
+td.noteTxt {
+  background-color: white;
+  font-size: 120%;
+  border: 2px solid #ddd;
+  background-color: #eee;
+}
+
+/**
+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD
+ ** <caution>..</caution> and <warning>..</warning>
+ **
+ * 
+ * td.cautionImg {
+ *   background-color: white;
+ *   border: 0;
+ * }
+ * 
+ * td.cautionTxt {
+ *   background-color: white;
+ *   font-size: 120%;
+ *   border: 2px solid #ddd;
+ *   background-color: #eee;
+ * }
+ * 
+ * 
+ * td.warningImg {
+ *   background-color: white;
+ *   border: 0;
+ * }
+ * 
+ * td.warningTxt {
+ *   background-color: white;
+ *   font-size: 120%;
+ *   border: 2px solid #ddd;
+ *   background-color: #eee;
+ * }
+ * 
+**/
+
+
+blockquote.source {
+  font-size: 75%;
+}
+
+code {
+  font-size: 75%;
+}
+
+
+/*
+ * Special Table (note)
+ */
+
+#notediv div { background-color: white }
+
+table.note {
+  width: 90%;
+}
+
+td.noteImg {
+  background-color: white;
+  vertical-align: top;
+  border: 0;
+  width: 24;
+}
+
+td.noteTxt {
+  color: black;
+  background-color: #eee;
+  font-size: 90%;
+  border: 2px solid;
+  border-color: #ccc;
+}
+
+
+/*
+ * Images
+ */
+
+img {}
+
+
+#footer img {
+  border: 0;
+}
+
+
+/*
+ * Document Divisions
+ */
+
+div {}
+
+/*
+ * Pre
+ */
+
+pre {}
+
+
+/*
+ * Generic Classes
+ */
+
+.indented {
+  margin-left: 3%;
+}
+
+.topBanner {
+  float: right;
+  margin: 0;
+  border: 0;
+  vertical-align: middle;
+}
+
+.noborder {
+  border: 0;
+  margin: 0;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xdocs/sources/xslt-resources/asf_logo.png b/xdocs/sources/xslt-resources/asf_logo.png
new file mode 100644
index 0000000..66c34f0
--- /dev/null
+++ b/xdocs/sources/xslt-resources/asf_logo.png
Binary files differ
diff --git a/xdocs/sources/xslt-resources/note.gif b/xdocs/sources/xslt-resources/note.gif
new file mode 100644
index 0000000..3394222
--- /dev/null
+++ b/xdocs/sources/xslt-resources/note.gif
Binary files differ
