You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by dl...@apache.org on 2001/02/12 22:43:52 UTC
cvs commit: xml-xalan/c/xdocs/sources/xalan DONE STATUS commandline.xml getstarted.xml index.xml readme.xml samples.xml usagepatterns.xml
dleslie 01/02/12 13:43:52
Modified: c/xdocs/sources/xalan DONE STATUS commandline.xml
getstarted.xml index.xml readme.xml samples.xml
usagepatterns.xml
Log:
Updates in progress for Xalan-C 1.1.
Revision Changes Path
1.9 +11 -5 xml-xalan/c/xdocs/sources/xalan/DONE
Index: DONE
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/DONE,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DONE 2000/12/13 16:04:29 1.8
+++ DONE 2001/02/12 21:43:48 1.9
@@ -1,11 +1,17 @@
<s3 title="Changes since &xslt4c; version 1.0">
-<p>In addition to adding a build for HP-UX 11, our focus for this release has been on bug fixes and performance enhancements. Major updates since version 0.40.0 include:</p>
+<p>In addition to adding to the list of platforms on which &xslt4c; builds, our focus for this release has been on bug fixes, performance enhancements,
+and providing a simplified C++ and C API for performing standard transformations. Major updates since version 1.0 include:</p>
<ul>
-<li>Added a build for HP-UX 11<br/><br/></li>
+<li>Added builds for HP-UX 11 and Solaris.<br/><br/></li>
+<li>Simplified the C++ API and provided a C API for performing standard transformations with the <link idref="usagepatterns"
+anchor="xalantransformer">XalanTransformer</link> class and associated header files.<br/><br/></li>
+<li>Added samples illustrating the new C++ API (<link idref="samples" anchor="xalantransform">XalanTransform</link>) and C API
+(<link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link>). ApacheModuleXSLT also shows how to run &xslt4c; on an
+Apache Web server.<br/><br/></li>
<li>Added the <link idref="samples" anchor="streamtransform">StreamTransform</link> sample.<br/><br/></li>
-<li><br/><br/></li>
-<li><br/><br/></li>
-<li></li>
+<li>xxxxxxxxxx<br/><br/></li>
+<li>yyyyyyyyyy<br/><br/></li>
+<li>zzzzzzzzzzzzzz</li>
</ul>
</s3>
1.12 +1 -1 xml-xalan/c/xdocs/sources/xalan/STATUS
Index: STATUS
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/STATUS,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- STATUS 2000/12/12 22:47:31 1.11
+++ STATUS 2001/02/12 21:43:49 1.12
@@ -6,7 +6,7 @@
<ul>
<li>Add support for extension elements<br/><br/></li>
<li>Fix any conformance bugs we or our users find<br/><br/></li>
- <li>Investigate introducing an API along the lines of the Java TRaX (Transformations for XML) interfaces<br/><br/></li>
+ <li>Expand the XalanTransformer simplified API.<br/><br/></li>
<li>Implement a more efficient mechanism for storing and navigating DOM trees, along the lines of the &xslt4j; Document
Table Model (DTM)</li>
</ul>
1.17 +3 -3 xml-xalan/c/xdocs/sources/xalan/commandline.xml
Index: commandline.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/commandline.xml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- commandline.xml 2001/02/08 15:54:48 1.16
+++ commandline.xml 2001/02/12 21:43:49 1.17
@@ -136,8 +136,8 @@
</ol>
</s3>
<s3 title="Rebuilding TestXSLT in UNIX">
- <p>In Linux, AIX, and HP-UX 11, the ICUBridge is in the core Xalan library (&xml4c-linuxlib; in Linux; &xml4c-aixlib; in
- AIX; &xml4c-hplib; in HP-UX 11), so you must rebuild this library along with TestXSLT.</p>
+ <p>In the Linux, AIX, HP-UX 11, and Solaris builds, the ICUBridge is in the core Xalan library (&xslt4c-linuxlib; in Linux; &xslt4c-aixlib; in
+ AIX; &xslt4c-hplib; in HP-UX 11; &xslt4c-solarislib; in Solaris), so you must rebuild this library along with TestXSLT.</p>
<p>Before you do the build, define the XALAN_USE_ICU environment variable. For information about defining this
environment variable and doing a build, see <link idref="readme" anchor="unix">Steps for doing a
UNIX build</link>.</p>
@@ -145,7 +145,7 @@
ICUBridge to the list of dependencies for TestXSLT. If you uncomment the <code>#define XALAN_USE_ICU</code>
statement in process.cpp (which is the right thing to do in Windows), you will get an error in AIX ("The
macro 'XALAN_USE_ICU' has already been defined"), an error in HP-UX 11 ("Redefinition of macro 'XALAN-USE_ICU'
- differs from previous definition"), or a warning in Linux about duplicate settings when you
+ differs from previous definition"), or a warning in Linux or Solaris about duplicate settings when you
run the make, and TestXSLT does not link with ICUBridge.</note>
</s3>
</s2>
1.21 +4 -3 xml-xalan/c/xdocs/sources/xalan/getstarted.xml
Index: getstarted.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/getstarted.xml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- getstarted.xml 2001/02/09 15:08:03 1.20
+++ getstarted.xml 2001/02/12 21:43:49 1.21
@@ -57,8 +57,8 @@
<p><em>Solaris</em></p>
<ul>
<li>The executable: TestXSLT</li>
- <li>The Xalan-C++ XXX library: &xslt4c-solarislib;</li>
- <li>The Xerces-C++ XXX library: &xml4c-solarislib;</li>
+ <li>The Xalan-C++ shared library: &xslt4c-solarislib;</li>
+ <li>The Xerces-C++ shared library: &xml4c-solarislib;</li>
</ul>
<p>If you want to enable ICU support for the command-line utility, you must build the ICU and rebuild the Xalan-C++ shared/load library (Linux/AIX/HP-UX 11) and TestXSLT (all platforms) with the ICUBridge. See <link idref="usagepatterns" anchor="icu">Using the ICU</link> and <link idref="commandline" anchor="icu">Enabling ICU support for TestXSLT</link>.</p>
<p>For information about using the command-line utility, see <link idref="commandline">Command-Line Utility</link>.</p>
@@ -73,6 +73,7 @@
<p>In the Linux distribution (built with a make file and the GNU C++ compiler on Red Hat Linux 6.1), the shared object libraries are in the lib subdirectories.</p>
<p>In the AIX distribution (built with the make file and xlC_r), the load libraries are in the lib subdirectories.</p>
<p>In the HP-UX 11 distribution (built with the make file and aCC), the shared libraries are in the lib subdirectories.</p>
+<p>In the Solaris distribution (built with the make file and CC), the shared libraries are in the lib subdirectories.</p>
<note>For your convenience, both the Xalan and Xerces libraries are placed together in the pertinent xml-xalan directory, whereas the corresponding xml-xerces directory only contains Xerces libraries.</note>
<p>If you want to enable ICU support in your applications, you must rebuild the Xalan-C++ shared/load library (Linux/AIX) and include the ICUBridge headers (all platforms).</p>
<p>For the requirements for rebuilding &xslt4c;, see the <link idref="readme" anchor="build">Build notes</link>.</p>
@@ -83,7 +84,7 @@
<p>For the Xalan-C++ Linux distribution, place xml-xalan/c/bin and xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH for Red Hat Linux 6.1), or copy &xslt4c-linuxlib; to /usr/lib.</p>
<p>For the Xalan-C++ AIX distribution, place xml-xalan/c/bin and xml-xalan/c/lib on the load library path (LIBPATH), or copy &xslt4c-aixlib; to /usr/lib.</p>
<p>For the Xalan-C++ HP-UX 11 distribution, place xml-xalan/c/bin and xml-xalan/c/lib on the shared library path (SHLIB_PATH), or copy &xslt4c-aixlib; to /usr/lib.</p>
-
+<p>For the Xalan-C++ Solaris distribution, place xml-xalan/c/bin and xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH), or copy &xslt4c-solarislib; to /usr/lib.</p>
<p>If you do your own Xalan, ICU, and Xerces builds, be sure to include the directories that contain the libraries and the TextXSLT executable on your path.</p>
</s2><anchor name="samples"/>
<s2 title="Trying out the samples">
1.18 +2 -2 xml-xalan/c/xdocs/sources/xalan/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/index.xml,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- index.xml 2001/02/09 15:08:04 1.17
+++ index.xml 2001/02/12 21:43:49 1.18
@@ -64,9 +64,9 @@
<p>Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML
document types.</p>
<p>&xslt4c-current; is a robust implementation of the W3C Recommendations
- for XSL Transformations (XSLT) and the XML Path Language (XPath). It includes a custom release of the
+ for XSL Transformations (XSLT) and the XML Path Language (XPath). It includes a compatible release of the
&xml4c; XML parser: &xml4c-used;. In addition to adding a build for Solaris, the focus for this release
- is on bug fixes, performance enhancements, and packaging a simpler C++ and C API for performing standard transformations.
+ is on bug fixes, performance enhancements, and providing a simpler C++ and C API for performing standard transformations.
For the details, see the <link idref="readme">Release Notes</link>.</p>
</s2>
1.22 +3 -2 xml-xalan/c/xdocs/sources/xalan/readme.xml
Index: readme.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/readme.xml,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- readme.xml 2001/02/08 15:55:00 1.21
+++ readme.xml 2001/02/12 21:43:50 1.22
@@ -143,7 +143,7 @@
<li>Set the XERCESCROOT environment variable to the root of xml-xerces.<br/><br/></li>
<li>Set the XALANCROOT environment variable to the complete path to the root of the &xslt4c;
distribution.<br/><br/></li>
- <li>AIX only: Download <resource-ref idref="stlport"/> and set the STLPORTROOT environment
+ <li>AIX and Solaris only: Download <resource-ref idref="stlport"/> and set the STLPORTROOT environment
variable to the complete path to the STLPort distribution. <br/>
(This step is not required for Linux or HP-UX 11 because The Linux GNU compiler and HP aCC compiler include the STL (Standard Template
Library.)<br/><br/></li>
@@ -160,7 +160,8 @@
<li>Run the runConfigure utility with at least the platform flag (Linux) or the platform, C compilier, and C++ compiler flags (AIX) as indicated below.<br/><br/>
<ref>Linux:</ref> <code>runConfigure -p linux</code><br/>
<ref>AIX:</ref> <code>runConfigure -p aix -c xlc_r -x xlC_r</code><br/><br/>
- <ref>HP-UX 11:</ref> <code>runConfigure -p hp-11 -c cc -x aCC</code><br/><br/>
+ <ref>HP-UX 11:</ref> <code>runConfigure -p hp-11 -c cc -x aCC</code><br/><br/>
+ <ref>Solaris:</ref> <code>runConfigure -p solaris -c cc -x CC</code><br/><br/>
To see the other runConfigure flags you may include, use the help flag:<br/><br/>
<code>runConfigure -h</code><br/><br/></li>
<li>Purge the previous build:<br/><br/>
1.20 +57 -2 xml-xalan/c/xdocs/sources/xalan/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/samples.xml,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- samples.xml 2001/02/09 15:08:04 1.19
+++ samples.xml 2001/02/12 21:43:50 1.20
@@ -93,7 +93,14 @@
executable is on the path, and run it from the samples subdirectory that contains the input files.</note>
</s2><anchor name="xalantransform"/>
<s2 title="XalanTransform">
-
+ <p>What it does: XalanTransform uses the XalanTransformer class to apply an XSL stylesheet file to an XML document file and write
+ the transformation output to either an output file or to a stream. XalanTransform takes command-line
+ arguments for the XML document to be transformed, the XSL stylesheet to apply, and an optional output file argument. If you omit
+ the third argument, XalanTransform writes the transformation output to a stream that is sent to standard out (the screen).</p>
+ <p>You can run XalanTransform from the XalanTransform subdirectory with</p>
+ <p><code>XalanTransform foo.xml foo.xsl foo.out</code></p>
+ <p>Omit the third argument to write the transformation result to a stream. See also: <link idref="usagepatterns"
+ anchor="xalantransformer">Using the XalanTransformer class.</link>.</p>
</s2><anchor name="simpletransform"/>
<s2 title="SimpleTransform">
<p>What it does: The SimpleTransform class uses the foo.xsl stylesheet to transform foo.xml, and writes the
@@ -221,6 +228,54 @@
<p>See also: <link idref="extensions">Extension Functions</link>.</p>
</s2><anchor name="apachemodulexslt"/>
<s2 title="ApacheModuleXSLT">
-
+ <p>What it does: runs as an Apache module on an Apache Web server; performs transformations and returns the output to a Web
+ browser. You configure Apache to respond to a given URL request for an output file (html or txt file in the configuration below)
+ by applying an xsl stylesheet file to an xml document file (both with the specified name in a given location) and returning
+ the transformation outupt to the client.</p>
+ <p>This sample also illustrates use of the XalanTransformer class and the C API defined in src/XalanTransformer/XalanCAPI.h. It returns
+ transformation output in blocks to a callback function, which enables the browser to start displaying the result before the transformation
+ has been completed.</p>
+ <p>In the Windows distribution, this ApacheModuleXSLT is named ApacheModuleXSLT.dll. In the Linux distribution, it is named mod_xslt.so.
+ For the other UNIX distributions, assuming you have installed the Apache server on that platform, you can use the makefile to build the
+ Apache module (mod_xslt with the appropriate library suffix).</p>
+ <note>You may need to adjust the Visual C++ or makefile settings to locate the required Apache header files. As shipped, the Visual C++
+ project file looks in \Apache Group\Apache\src\include, and the UNIX makefile looks in usr/lib.</note>
+ <p>To build (or rebuild) the Apache module, follow the instructions in <link idref="readme" anchor="win32">Steps for doing a Windows
+ build</link> or <link idref="readme" anchor="unix">Steps for doing a UNIX build</link>. For UNIX platforms, you do the build with<br/>
+ <code>make ApacheModuleXSLT</code>.</p>
+ <s3 title="Seting up and using ApacheModuleXSLT">
+ <p>To use ApacheModuleXSLT, do the following:</p>
+ <ol>
+ <li>Add LoadModule and (UNIX only) AddModule entries to the Apache configuration file: httpd.conf.<br/><br/>
+ Windows: <code>LoadModule mod_xslt xml-xalan\c\Build\Win32\VC6\Release\ApacheModuleXSLT.dll</code><br/><br/>
+ UNIX: <code>AddModule mod_xslt.c</code><br/>
+ and<br/>
+ <code>LoadModule mod_xslt usr/lib/mod_xslt.<ref>xx</ref></code><br/><br/>
+ where <ref>xx</ref> is the appropriate library suffix for the UNIX platform.<br/><br/></li>
+ <li>Add a <Location> entry to httpd.conf that indicates where xml/xsl file pairs are to be found, and what target file extensions
+ to recognize. We suggest the following:<br/><br/>
+ <code><Location /xslt></code><br/>
+ <code>AddHandler .html</code><br/>
+ <code>AddHandler .txt</code><br/>
+ <code></Location></code><br/><br/>
+ This <Location> element instructs the module to respond to requests for <ref>xxx</ref>.html and <ref>xxx</ref>.txt files in the
+ in the xslt subdirectory (under the document root; see next item) by applying the <ref>xxx</ref>.xsl stylesheet to <ref>xxx</ref>.xml
+ (both in that directory) and returning the transformation result to the browser.<br/><br/>
+ Note: It is up to the stylesheet to apply the appropriate xsl:output method to the output. Whether the user specifies html or txt is, of
+ itself, immaterial.<br/><br/></li>
+ <li>Put xml/xsl file pairs in the <Location> subdirectory (xslt in the example)) under the document root directory specified in httpd.conf by the
+ DocumentRoot and <Directory> settings. Alternatively, you can modify these settings to point to xml-xalan/c/samples/ApacheModuleXSLT,
+ which includes an xslt subdirectory with xml/xsl file pairs.<br/><br/></li>
+ <li>Start the Apache server.<br/><br/></li>
+ <li>From a Web browser, call the module with a URL as follows:<br/>
+ <code>http://<ref>serverName</ref>/xslt/<ref>xxx</ref>.html</code><br/>
+ where <ref>serverName</ref> is the Apache server (such as www.myServer.com) and <ref>xxx</ref> is the name of an xml/xsl pair of files
+ (such as foo.xml and foo.xsl) in the xslt subdirectory under the DocumentRoot directory.<br/><br/>
+ For example,<br/>
+ <code>http://www.myServer.com/xslt/foo.html</code><br/>
+ instructs ApacheModuleXSLT to apply the foo.xsl stylesheet to the foo.xml XML document (both files in the xslt directory under the
+ Apache DocumentRoot directory) and return the transformation result to the browser.</li>
+ </ol>
+ </s3>
</s2>
</s1>
1.16 +94 -4 xml-xalan/c/xdocs/sources/xalan/usagepatterns.xml
Index: usagepatterns.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/usagepatterns.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- usagepatterns.xml 2001/02/09 15:08:05 1.15
+++ usagepatterns.xml 2001/02/12 21:43:50 1.16
@@ -78,7 +78,18 @@
command-line utility, see <link idref="commandline">Command-Line Utility</link>.</p>
</s2><anchor name="xalantransformer"/>
<s2 title="Using the XalanTransformer class">
-<p>&xslt4c; 1.2 introduces a new class designed to take care of configuration and setup under the covers and provide a simpler API for performing standard transformations. Using XalanTransformer, you can perform one or more transformations as follows:</p>
+<p>&xslt4c; 1.2 introduces XalanTransformer, a new class designed to package the basic Xalan infrastructure and provide a simpler C++
+and C API for performing standard transformations.</p>
+<note>As we expand the functionality of the XalanTransformer, we will revise the remainder of this chapter and the samples to indicate
+how to take advantage of the API it provides.</note>
+<ul>
+ <li><link anchor="cpp">Basic XalanTransformer pattern with the C++ API</link></li>
+ <li><link anchor="cppvar">Variations with the XalanTransformer C++ API</link></li>
+ <li><link anchor="c">Basic pattern with the XalanTransformer C API</link></li>
+ <li><link anchor="cvar">Variations with the XalanTransformer C API</link></li>
+</ul><anchor name="cpp"/>
+<s3 title="Basic XalanTransformer patten with C++ API">
+<p>Using XalanTransformer and the C++ API, you can perform one or more transformations as follows:</p>
<ol>
<li>Include the XalanTransformer header file.<br/>
<code>#include <XalanTransformer/XalanTransformer.hpp</code><br/><br/></li>
@@ -95,11 +106,88 @@
<li>Shut down Xalan and Xerces.<br/>
<code>XalanTransformer::terminate();</code></li>
</ol>
-<p>The XalanTransformer transform() methods also allow you to process and output streams, and to send the output to a callback
-function. Each transform() method returns an integer code, 0 for success. For the details, see XalanTransormer/XalanTransformer.hpp in the source tree. For an example, see the <link idref="samples" anchor="xalantransform">XalanTransform</link> sample.</p>
+</s3><anchor name="cppvar"/>
+<s3 title="Variations with the XalanTransformer C++ API">
+<p>The XalanTransformer transform() methods also allow you to process and produce streams, and to send the output in blocks to a callback
+function, which means you can begin processing the output while the transformation is still in progress. Each transform() method returns
+an integer code, 0 for success. If an error occurs, you can use the getLastError() method to return a pointer to the error message.
+For the details, see XalanTransormer/XalanTransformer.hpp in the source tree. For an example, see the
+<link idref="samples" anchor="xalantransform">XalanTransform</link> sample.</p>
+
+<p>Transform from files to an output stream:</p>
+<source>int
+transform(const char* xmlInFile,
+* const char* xslFile,
+ ostream& resultOutStream);</source>
+<p>Transform from input streams to an output stream:</p>
+<source>int
+transform(istream& xmlInStream,
+ istream& xslInStram,
+ ostream& resultOutStream);</source>
+<p>Transform from files to an output handler that receives the output in blocks. </p>
+<source>int
+transform(const char* xmlInFile
+ const char* xslFile,
+ XalanOutputHandlerType theOutputHandler
+ XalanFlushHanderType theFlushHandler = 0);</source>
+<p>The transform() method that the other transform() methods all call:</p>
+<source>int
+transform( const XSLTInputSource& xmlInput,
+ const XSLTInputSource& xslStylesheet,
+ const XSLTResultTarget& transformResult);</source>
+
+</s3><anchor name="c"/>
+<s3 title="Basic XalanTransformer pattern with the C API">
<p>We also include a simple C interface for using the XalanTransformer class. See XalanTransformer/XalanCAPI.h in the source tree.
The <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link> sample illustrates the use of this C API.</p>
-<note>As we expand the functionality of the XalanTransformer, we will revise the sections below to indicate how to take advantage of the API it provides.</note>
+<p>Basic strategy:</p>
+<ol>
+ <li>Include the XalanTransformer C API header.<br/>
+ <code>#include <XalanTransformer/XalanCAPI.h></code><br/><br/></li>
+ <li>Initialize Xalan and Xerces<br/>
+ <code>XalanInitialize();</code><br/><br/></li>
+ <li>Create a Xalan transformer<br/>
+ <code>XalanHandle xalan = NULL;</code><br/>
+ <code>xalan = CreateXalanTransformer();</code><br/><br/></li>
+ <li>Perform each transformation. For example:<br/>
+ <code>char * xmlfilename = "foo.xml";</code><br/>
+ <code>char xslfilename = "foo.xsl";</code><br/>
+ <code>char outfilename = "foo.out";</code><br/>
+ <code>int theResult = 0;</code><br/>
+ <code>theResult = XalanTransformToFile(xmlfilename,</code><br/>
+ <code> xslfilename,</code><br/>
+ <code> outfilename,</code><br/>
+ <code> xalan);</code><br/><br/></li>
+ <li>Shut down Xalan and Xerces<br/>
+ <code>XalanTerminate();</code></li>
+</ol>
+</s3><anchor name="cvar"/>
+<s3 title="Variations with the XalanTransformer C API">
+<p>The C API supports basically the same options as the C++ API.</p>
+<p>Transform from files to a character array:</p>
+<source>int
+XalanTransformToData(const char* xmlInFile,
+ const char* xslFile,
+ const char** transformOutput,
+ XalanHandle xalan);</source>
+<p>Transform from files to a character array:</p>
+<source>int
+XalanTransformToData(const char* xmlInFile,
+ const char* xslFile,
+ const char** transformOutput,
+ XalanHandle xalan);</source>
+<p>After calling XalanTransformToData(), call XalanFreeData() with the address of the pointer to the character array:</p>
+<p><code>XalanFreeData(transformOutput);</code></p>
+<p>Transform to a callback function that receives the output in blocks (see the <link idref="samples"
+anchor="apachemodulexslt">ApacheModuleXSLT</link> sample).</p>
+<source>int
+XalanTransformToHandler(const char* xmlInFile,
+ const char* xslFile,
+ XalanHandle xalan,
+ const void* outputHandle,
+ XalanOutputHandlerType outputHandler,
+ XalanFlushHandlerType flushHandler);</source>
+</s3>
</s2><anchor name="basic"/>
<s2 title="Basic procedure for performing an XSL transformation">
<p>When you are setting up your application to use XSL stylesheets to transform XML documents, you must do the following:</p>
@@ -384,6 +472,8 @@
path (LIBPATH) or copy it to /usr/lib.</p>
<p>For HP-UX 11, rebuild &xslt4c-hplib; with XALAN_USE_ICU defined, and place it on the shared library
path (SHLIB_PATH) or copy it to /usr/lib.</p>
+ <p>For Solaris, rebuild &xslt4c-solarislib; with XALAN_USE_ICU defined, and place it on the shared library
+ path (LD_LIBRARY_PATH) or copy it to /usr/lib.</p>
<p><em>Number formatting</em></p>
<p>To enable ICU support for the xsl:number element and the XSLT format-number() function, do