dleslie 00/09/29 08:44:29
Modified: c/xdocs/sources entities.ent
c/xdocs/sources/xalan commandline.xml extensions.xml
getstarted.xml overview.xml readme.xml samples.xml
usagepatterns.xml xalan-cdist.gif
Log:
Updates mainly per decision not to include a separate ICUBridge
library for Linux/AIX.
Revision Changes Path
1.8 +1 -5 xml-xalan/c/xdocs/sources/entities.ent
Index: entities.ent
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/entities.ent,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- entities.ent 2000/09/12 13:35:09 1.7
+++ entities.ent 2000/09/29 15:44:27 1.8
@@ -3,7 +3,7 @@
<!ENTITY xslt4c "Xalan-C++">
<!ENTITY xslt4c-dist "Xalan-C_1_0">
<!ENTITY xslt4c-current "Xalan-C++ version 1.0">
-<!ENTITY xslt4c-windlls "DOMSupport.dll, PlatformSupport.dll, XalanDOM.dll,
XercesParserLiaison.dll, XercesPlatformSupport.dll, XMLSupport.dll, XPath.dll,
XSLT.dll">
+<!ENTITY xslt4c-windlls "DOMSupport.dll, PlatformSupport.dll, XalanDOM.dll,
XercesParserLiaison.dll, XMLSupport.dll, XPath.dll, XSLT.dll">
<!ENTITY xslt4c-linuxlib "libxalan-c1_0.so">
<!ENTITY xslt4c-aixlib "libxalan-c1_0.a">
<!ENTITY xml4c "Xerces-C++">
@@ -15,11 +15,7 @@
<!ENTITY xslt4j "Xalan-Java">
<!ENTITY icu-used "International Components for Unicode(ICU) 1.6 source
files">
<!ENTITY icu-windlls "icui18n.dll, icuuc.dll">
-<!ENTITY icu-unixlib "libicu-1_6.so">
-<!ENTITY icu-aixlib "libicu-1_6.a">
<!ENTITY icubridge-win "ICUBridge.dll">
-<!ENTITY icubridge-linux "ICUBridge.so">
-<!ENTITY icubridge-aix "ICUBridge.a">
<!ENTITY done SYSTEM "sbk:/sources/xalan/DONE">
<!ENTITY status SYSTEM "sbk:/sources/xalan/STATUS">
<!ENTITY bugs SYSTEM "sbk:/sources/xalan/BUGS">
1.9 +10 -7 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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- commandline.xml 2000/09/12 13:35:11 1.8
+++ commandline.xml 2000/09/29 15:44:28 1.9
@@ -137,6 +137,8 @@
</s3>
<s3 title="Rebuilding TestXSLT in Linux or AIX">
+ <p>In Linux and AIX, the ICUBridge is in the core Xalan library
(&xml4c-linuxlib; in Linux; &xml4c-aixlib; in
+ AIX), so you must rebuild this library along with TestXSLT.</p>
<ol>
<li>Define the XALAN_USE_ICU environment variable.<br/>
The syntax for defining an environment variable depends on the
shell you are using.
@@ -144,14 +146,15 @@
<br/><br/> <code>export XALAN_USE_ICU
"1"</code><br/><br/>
If you are using C Shell, use
<br/><br/> <code>setenv
XALAN_USE_ICU="1"</code><br/><br/></li>
- <li>Delete the existing TestXSLT.<br/><br/></li>
- <li>Run make:<br/><br/>
- <code> make TestXSLT</code></li>
+ <li>Delete the previous build:<br/><br/>
+ </li><code> make
clean</code><br/><br/></li>
+ <li>Run a complete build<br/><br/>
+ <code> make</code></li>
</ol>
- <note>The make file uses the XALAN_USE_ICU environment variable to
do the equivalent of a #define and to add ICUBridge
- to the list of dependencies for TestXSLT. If you uncomment the
<code>#define XALAN_USE_ICU</code> statement in
- process.cpp (which is the right thing to do in Windows), you will
get a warning about duplicate settings when you run
- the make, and TestXSLT will not link with ICUBridge.</note>
+ <note>The make file uses the XALAN_USE_ICU environment variable to
do the equivalent of a #define and to add
+ ICUBridge to the list of dependencies for TestXSLT. If you
uncomment the <code>#define XALAN_USE_ICU</code>
+ statement in process.cpp (which is the right thing to do in
Windows), you will get a warning about duplicate
+ settings when you run the make, and TestXSLT will not link with
ICUBridge.</note>
</s3>
</s2>
</s1>
1.7 +2 -2 xml-xalan/c/xdocs/sources/xalan/extensions.xml
Index: extensions.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/extensions.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- extensions.xml 2000/09/12 13:35:11 1.6
+++ extensions.xml 2000/09/29 15:44:28 1.7
@@ -107,9 +107,9 @@
#include <XSLT/XSLTInputSource.hpp>
#include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
#include <XSLT/XSLTResultTarget.hpp>
+
+#include <XercesParserLiaison/XercesDOMSupport.hpp>
#include <XercesParserLiaison/XercesParserLiaison.hpp>
-#include <XercesPlatformSupport/TextFileOutputStream.hpp>
-#include <XercesPlatformSupport/XercesDOMPrintWriter.hpp>
// This class defines a function that will return the square root
// of its argument.
1.12 +2 -2 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.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- getstarted.xml 2000/09/12 13:35:11 1.11
+++ getstarted.xml 2000/09/29 15:44:28 1.12
@@ -40,7 +40,7 @@
<li>The Xalan-C++ load library: &xslt4c-aixlib;</li>
<li>The Xerces-C++ load library: &xml4c-aixlib;</li>
</ul>
-<p>If you want to enable ICU support for the command-line utility, you must
build the ICU and rebuild TestXSLT 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>If you want to enable ICU support for the command-line utility, you must
build the ICU and rebuild the Xal-C++ shared/load library and TestXSLT 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>
</s3>
<s3 title="What you need to build applications">
@@ -51,7 +51,7 @@
<p>In the Linux distribution (built on Red Hat Linux 6.1 with a make file
and the GNU C++ compiler), the shared object library is in the lib
subdirectory.</p>
<p>In the AIX distribution (built with the make file and xlC_r), the load
library is in the lib subdirectory.</p>
<p>To get the Xerces-C++ header and (for Windows) .lib files, download and
expand the &xml4c; binary distribution for your platform from the <resource-ref
idref="xml4c-distdir"/>. For information about which &xml4c; distribution has
been tested with this &xslt4c; release, see <link idref="readme"
anchor="status">Version of &xml4c; to use</link>.</p>
-<p>If you want to enable ICU support in your applications, you must include
the ICUBridge headers</p>
+<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 information about rebuilding &xslt4c;, see the <link idref="readme"
anchor="build">Build notes</link>.</p>
</s3>
</s2><anchor name="path"/>
1.7 +8 -7 xml-xalan/c/xdocs/sources/xalan/overview.xml
Index: overview.xml
===================================================================
RCS file: /home/cvs/xml-xalan/c/xdocs/sources/xalan/overview.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- overview.xml 2000/09/12 13:35:11 1.6
+++ overview.xml 2000/09/29 15:44:28 1.7
@@ -72,14 +72,15 @@
Transformation vocabulary and XPath, a language for addressing parts of
XML documents. For links to background materials,
discussion groups, frequently asked questions, and tutorials on XSLT,
see <link anchor="uptospeed">Getting up
to speed with XSLT</link>.</p>
- <note>XSL also includes a vocabulary for formatting documents, which is
still under design and is not part of &xslt4c;.
+ <note>XSL also includes a vocabulary for formatting documents, which is
not part of &xslt4c;.
For more information, see <jump href="http://www.w3.org/TR/xsl/">W3C XSL
Working Draft</jump> and the <jump
href="http://xml.apache.org/fop">Apache XML FOP (Formatting Objects
Project)</jump>.</note>
<p>You use the XSLT language to compose XSL stylesheets. An XSL
stylesheet contains instructions for
transforming XML documents from one document type to another document
type (XML, HTML, or other). In structural
terms, an XSL stylesheet specifies the transformation of one tree of
nodes (the XML input) into another tree of nodes
(the output or transformation result).</p>
- <note>The XSL stylesheet may generate and refer to cascading style
sheets (CSS) as part of its output.</note>
+ <note>The XSL stylesheet may generate and refer to cascading style
sheets (<jump
+ href="http://www.w3.org/Style/CSS/">CSS</jump>) as part of its
output.</note>
<p>In the following example, the foo.xsl stylesheet is used to transform
foo.xml into foo.out:</p>
<p>foo.xml:</p>
<source><?xml version="1.0"?>
@@ -118,6 +119,10 @@
<p>If you are still working through the details of the XSLT spec (the
W3C 1.0 Recommendation), you may want
to consult one or more of the following:</p>
<ul>
+ <li>Michael Kay's <jump
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT
Programmer's
+ Reference</jump>, Wrox Press, 2000<br/><br/></li>
+ <li>Neil Bradley's <jump
href="http://cseng.aw.com/bookpage.taf?ISBN=0-201-67487-4">XSL Companion</jump>,
+ Addison-Wesley, 2000<br/><br/></li>
<li>Elliotte Rusty Harold's <jump
href="http://metalab.unc.edu/xml/books/bible/updates/14.html">Chapter 14 of
the XML Bible: XSL Transformations</jump> (the online version is more
current than the version in the printed
book)<br/><br/></li>
@@ -136,11 +141,7 @@
<jump href="http://www.oasis-open.org/cover/xsl.html">Extensible
Stylesheet Language (XSL)</jump> by Robin
Cover<br/><br/></li>
<li>Donald Ball's <jump
href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml">A Guide to XML
and XSL for
- Designers</jump><br/><br/></li>
- <li>Michael Kay's <jump
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT
Programmer's
- Reference</jump>, Wrox Press, 2000<br/><br/></li>
- <li>Neil Bradley's <jump
href="http://cseng.aw.com/bookpage.taf?ISBN=0-201-67487-4">XSL Companion</jump>,
- Addison-Wesley, 2000</li>
+ Designers</jump></li>
</ul>
<p>When you come across other useful introductory or background
materials, please email <human-resource-ref
idref="dleslie"/>, so he can add them to this list.</p>
1.12 +2 -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.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- readme.xml 2000/09/12 21:38:40 1.11
+++ readme.xml 2000/09/29 15:44:28 1.12
@@ -149,8 +149,8 @@
<li>AIX only: Download <resource-ref idref="stlport"/> and set the
STLPORTROOT environment
variable to the complete path to the STLPort distribution. The Linux
GNU compiler includes
the STL (Standard Template Library).<br/><br/></li>
- <li>(Optional) If you are rebuilding the ICUBridge, install the ICU
and define XALAN_USE_ICU
- (see <link idref="usagepatterns" anchor="icu">Using the ICU</link>)
<br/><br/></li>
+ <li>(Optional) If you are including the ICUBridge, install the ICU
(see <link idref="usagepatterns"
+ anchor="icu">Using the ICU</link>)and define
XALAN_USE_ICU.<br/><br/></li>
<li>Change directory to xml-xalan/c/src in the &xslt4c;
distribution.<br/><br/></li>
<li>Use the chmod +x command to set the executable flags for conf* and
runConfigure.<br/><br/>
1.9 +8 -3 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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- samples.xml 2000/09/12 13:35:12 1.8
+++ samples.xml 2000/09/29 15:44:28 1.9
@@ -72,7 +72,8 @@
<anchor name="getstarted"/>
<s2 title="Samples to help you get started">
<p>Each of the subdirectories in the &xslt4c; samples directory contains
the source files for a
- sample application. The executables for the samples are in the build
subdirectory, which should be on the system path.</p>
+ sample application. The executables for the samples are in the build
subdirectory, which should be on the system
+ path.</p>
<p>With most of the samples, you can use the following procedure:</p>
<ol>
<li>Go to the samples subdirectory containing the sample (use the DOS
shell if you are running Windows)
@@ -82,6 +83,10 @@
modify a .cpp file, you must rebuild the executable and place it on
the path before you can run the
modified application.</li>
</ol>
+ <p><em>Caution:</em> Each sample application looks for input files in
the current directory, the directory from
+ which you run the application. The input files are in the samples
subdirectory along with the sample source
+ files. The application executable, on the other hand, is in the build
subdirectory. To run a sample, be sure the
+ executable is on the path, and run it from the samples subdirectory
that contains the input files.</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
@@ -117,8 +122,8 @@
<p>These flags are also available in the <link
idref="commandline">command-line utility (TestXSLT)</link>.</p>
<p>The core of this example is the following fragment:</p>
<source>// Set up a diagnostic writer to be used by the TraceListener...
-XercesStdTextOutputStream theStdErr(std::cerr);
-XercesDOMPrintWriter diagnosticsWriter(theStdErr);
+XalanStdOutputStream theStdErr(cerr);
+XalanOutputStreamPrintWriter diagnosticsWriter(theStdErr);
// Set up the TraceListener...
// traceTemplates, traceTemplateChildren, traceGenerationEvent,
1.8 +26 -16 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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- usagepatterns.xml 2000/09/12 13:35:12 1.7
+++ usagepatterns.xml 2000/09/29 15:44:28 1.8
@@ -80,17 +80,17 @@
<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>
<s3 title="1. Include the required header files">
-<p>Along with any required &xslt4c; and other header files, include
utils/PlatformUtils.hpp from the &xml4c; distribution.</p>
+<p>Always start with Include/PlatformDefinitions.hpp, the &xslt4c; base
header file. Along with any additional &xslt4c; and other header files that are
required for the particular application, be sure to include
utils/PlatformUtils.hpp from the &xml4c; distribution.</p>
</s3>
<s3 title="2. Initialize Xalan and Xerces">
<p>Use the static initializers to initialize the &xslt4c; and &xml4c;
platforms. You only need to do this once per session.</p>
<source>XMLPlatformUtils::Initialize();
-XSLTEngineImpl::Initialize();</source>
+XSLTInit theInit;</source>
</s3><anchor name="step3"/>
<s3 title="3. Set up an XSLT processor with its support objects">
<p>The XSLT processor interacts with several support objects that you must
set up before you can perform transformations.</p>
<source>// Create the support objects.
-DOMSupportDefault theDOMSupport;
+XercesDOMSupport theDOMSupport;
XercesParserLiaison theParserLiaison(theDOMSupport);
XPathSupportDefault theXPathSupport(theDOMSupport);
XSLTProcessorEnvSupportDefault theXSLTProcessorEnvSupport;
@@ -102,6 +102,7 @@
theParserLiaison,
theXPathSupport,
theXSLTProcessorEnvSupport,
+ theDOMSupport,
theXObjectFactory,
theXPathFactory);
@@ -134,9 +135,8 @@
XSLTInputSource theStylesheetSource(c_wstr(theXSLFileName));
// For the output, create an XSLTResultTarget object.
-TextFileOutputStream theOutputStream("foo.out");
-XercesDOMPrintWriter theResultWriter(theOutputStream);
-XSLTResultTarget theResultTarget(&theResultWriter);
+const XalanDOMString theOutputFile("foo.out");
+XSLTResultTarget theResultTarget(theOutputFile);
</source>
<p>For the other constructors you can use to set up input and output objects
(with input and output streams, for example), see <jump
href="apidocs/class_xsltinputsource.html">XSLTInputSource</jump> and <jump
href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</jump>. See also
<link anchor="dom">Working with
DOM input and output</link>.</p>
@@ -153,6 +153,12 @@
<p>The XSLTResultTarget object receives the transformation output.</p>
<p>XSLTEngineImpl stores running state information, so it is not
thread-safe. To perform multiple transformations, create a new instance for
each transformation, or call the XSLTProcessor reset() method between each
transformation.</p>
<p>If you are using the same stylesheet to perform multiple transformations,
for efficiency you should compile the stylesheet and use the appropriate
XSLTEngineImpl process() method. Compiled stylesheet (StylesheetRoot) objects
are also thread-safe. A single StylesheetRoot object may be called concurrently
from multiple threads. For more information, see <link
anchor="compiled">Compiling stylesheets</link>.</p>
+</s3>
+<s3 title="7. Shut down Xerces.">
+<p>When you are done performing transformationsw, shut down Xerces.</p>
+<source>// Call the static terminator for Xerces.
+XMLPlatformUtils::Terminate();
+</source>
<p>For a sample application that performs a transformation, see <link
idref="samples" anchor="simpletransform">SimpleTransform</link>.</p>
</s3>
</s2><anchor name="dom"/>
@@ -204,7 +210,7 @@
<p>A compiled stylesheet requires its own XPath and XObject factory support
objects, independent of the support objects for an XSLT processor. So after you
have set up the XSLT processor with its support objects, set up other
factory support objects and use them to create a construction context for
the stylesheet:</p>
<source>// Set up the XSLT processor with its support objects
-DOMSupportDefault theDOMSupport;
+XercesDOMSupport theDOMSupport;
XercesParserLiaison theParserLiaison(theDOMSupport);
XPathSupportDefault theXPathSupport(theDOMSupport);
XSLTProcessorEnvSupportDefault theXSLTProcessorEnvSupport;
@@ -217,6 +223,7 @@
theParserLiaison,
theXPathSupport,
theXSLTProcessorEnvSupport,
+ theDOMSupport;
theXObjectFactory,
theXPathFactory);
theXSLTProcessorEnvSupport.setProcessor(&theProcessor);
@@ -247,6 +254,7 @@
theProcessor.processStylesheet(
theStylesheetSource,
theConstructionContext);
+ assert(theStylesheetRoot != 0);
// Set the execution context object to use the compiled stylesheet.
theExecutionContext.setStylesheetRoot(theStylesheetRoot)
@@ -315,7 +323,7 @@
<ol>
<li>Download and unzip the <resource-ref idref="icu-download"/> from
the IBM
developerWorks open source zone.<br/><br/></li>
- <li>Do a build -- see the Windows NT or Unix build instructions in the
readme.html that
+ <li>Do an ICU build -- see the Windows NT or Unix build instructions
in the readme.html that
accompanies the download.
<br/><em>Important</em> For Windows, be sure to install the ICU on the
same drive and at
the same level as &xslt4c; and &xml4c;.<br/><br/></li>
@@ -325,7 +333,7 @@
<p>If you want to enable ICU support for encoding, you must integrate
ICU with
your &xml4c; build. &xml4c; uses ICU for input encoding. See
<resource-ref idref="xerces-build-icu"/>.</p>
- <p>Once you have integreated the ICU with &xml4c;, &xslt4c;
automatically uses ICU support
+ <p>Once you have integrated the ICU with &xml4c;, &xslt4c; automatically
uses ICU support
for output encoding (the xsl:output encoding attribute).</p>
</s3>
<s3 title="Enabling ICU support for number formatting and sorting">
@@ -333,9 +341,10 @@
integrate the ICU with &xslt4c;, but you must do the following in the
application where you
want to enable ICU support:</p>
<ol>
- <li>Include the ICUBridge headers.</li>
- <li>Substitue ICU support for format-number(), xsl:number, and/or
xsl:sort.</li>
- <li>Provide your application access to the ICUBridge library.</li>
+ <li>Include the ICUBridge headers.<br/><br/></li>
+ <li>Substitue ICU support for format-number(), xsl:number, and/or
xsl:sort.<br/><br/></li>
+ <li>Windows: Provide your application access to the ICUBridge
library.<br/>
+ Linux or AIX: Rebuild the Xalan library to include the ICUBridge.</li>
</ol>
<p><em>ICUBridge</em></p>
<p>All &xslt4c; references to ICU are centralized in the ICUBridge
module, which supplies the
@@ -344,10 +353,11 @@
#include <ICUBridge/FunctionICUFormatNumber.hpp>
#include <ICUBridge/ICUXalanNumberFormatFactory.hpp>
#include <ICUBridge/ICUBridgeCollationCompareFunctor.hpp></source>
- <p>Put the ICUBridge library on the library path. For Windows, put
&icubridge-win; on the path. For Linux, put
- &icubridge-linux; on the shared library path (LD_LIBRARY_PATH for Red
Hat Linux 6.1) or copy it to /usr/lib.
- For AIX, put &icubridge-aix; on the load library path (LIB_PATH) or
copy it to /usr/lib.</p>
- <p><em>Number formatting</em></p>
+ <p>For Windows be sure &icubridge-win;,the ICUBridge library, is on the
path.</p>
+ <p>For Linux, rebuild &xslt4c-linuxlib; with XALAN_USE_ICU defined, and
place it on the shared library path
+ (LD_LIBRARY_PATH for Red Hat Linux 6.1) or copy it to /usr/lib.</p>
+ <p>For AIX, rebuild &xslt4c-linuxlib;/&xslt4c-aixlib; with XALAN_USE_ICU
defined, and place it on the load library
+ path (LIB_PATH) or copy it to /usr/lib.</p>
<p>To enable ICU support for the xsl:number element and the XSLT
format-number() function, do
the following:</p>
<source>// Install ICU support for the format-number() function.
1.5 +19 -16 xml-xalan/c/xdocs/sources/xalan/xalan-cdist.gif
<<Binary file>>