dleslie 01/02/20 13:27:53
Modified: targets/xalan-c commandline.html extensions.html faq.html
getstarted.html index.html overview.html
readme.html samples.html usagepatterns.html
Log:
Xalan-C 1.1 release
Revision Changes Path
1.6 +16 -13 xml-site/targets/xalan-c/commandline.html
Index: commandline.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/commandline.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- commandline.html 2000/10/11 12:04:35 1.5
+++ commandline.html 2001/02/20 21:27:51 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,8 +46,8 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#use">Using the Command-Line Utility</A></LI>
@@ -62,7 +62,7 @@
do the following:</P>
<OL>
<LI><A href="getstarted.html#download">Download
Xalan-C++</A>.<BR><BR></LI>
- <LI><A href="getstarted.html#classpath">Set the path</A> to include the
build directory.<BR><BR></LI>
+ <LI><A href="getstarted.html#path">Set the path</A> to include the build
directory.<BR><BR></LI>
<LI>Call the TestXSLT executable with the appropriate flags and
arguments (described below). The following command line, for example,
includes the -IN, -XSL,
and -OUT flags with their accompanying arguments -- the XML source
document, the XSL
@@ -85,13 +85,15 @@
-TS (Trace each selection event)
-TTC (Trace the template children as they are being processed)
-XML (Use XML formatter and add XML header)
--TEXT (Use simple Text formatter)
--HTML (Use HTML formatter)
The -XML flag must be set:
-NH (Don't write XML header)
+-HTML (Use HTML formatter)
+The -HTML flag must be set:
+ -NOINDENT (turns off HTML indenting)
The -XML or -HTML flag must be set:
-STRIPCDATA (Strip CDATA sections of their brackets, but do not
escape)
-ESCAPECDATA (Strip CDATA sections of their brackets, and escape)
+-TEXT (Use simple Text formatter)
-DOM (Test for well-formed output --format to DOM then to XML for output)
-PARAM name expression (Set a stylesheet parameter)</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>Use -IN to specify the XML source document.</P>
@@ -123,17 +125,18 @@
<LI>Build TestXSLT.exe.</LI>
</OL>
</FONT></TD></TR></TABLE><BR>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding TestXSLT in Linux or AIX</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>In Linux and AIX, the ICUBridge is in the core Xalan library
(libxerces-c1_3.so in Linux; libxerces-c1_3.a in
- AIX), so you must rebuild this library along with TestXSLT.</P>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding TestXSLT in UNIX</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>In the Linux, AIX, HP-UX 11, and Solaris builds, the ICUBridge is in
the core Xalan library (libxalan-c1_1.so in Linux; libxalan-c1_1.a in
+ AIX; libxalan-c1_1.sl in HP-UX 11; libxalan-c1_1.so 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 Linux or AIX build, see <A
href="readme.html#unix">Steps for doing a
- Linux or AIX build</A>.</P>
+ environment variable and doing a build, see <A
href="readme.html#unix">Steps for doing a
+ UNIX build</A>.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>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><FONT face="courier, monospaced">#define XALAN_USE_ICU</FONT></CODE>
statement in process.cpp (which is the right thing to do in Windows),
you will get an error in AIX ("The
- macro 'XALAN_USER{ICU' has already been defined") and a warning in
Linux about duplicate settings when you
- run the make, and TextXSLT will not link with
ICUBridge.</I></FONT></TD></TR></TABLE>
+ macro 'XALAN_USE_ICU' has already been defined"), an error in
HP-UX 11 ("Redefinition of macro 'XALAN-USE_ICU'
+ differs from previous definition"), or a warning in Linux or
Solaris about duplicate settings when you
+ run the make, and TestXSLT does not link with
ICUBridge.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
1.6 +7 -7 xml-site/targets/xalan-c/extensions.html
Index: extensions.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/extensions.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- extensions.html 2000/10/11 12:04:35 1.5
+++ extensions.html 2001/02/20 21:27:51 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,8 +46,8 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
@@ -62,8 +62,8 @@
data types: node-set, result-tree-fragment, string, boolean, or number.</P>
<P>You can send arguments to an extension function in the form of XPath
expressions, literals (for string, boolean, and number), the values returned by
other functions, and XSL variables or parameters set to any of the
preceding.</P>
<P>For an example that implements, installs, and uses three extension
functions, see the
-<A href="samples.html#externalfunc">External Functions</A> sample.</P>
-<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Xalan-C++ does not
yet support extension elements. Support for extension elements will be added
soon.</I></FONT></TD></TR></TABLE>
+<A href="samples.html#externalfunctions">External Functions</A> sample.</P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Xalan-C++ does not
support extension elements.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR><A name="implement"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Implementing an extension function</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Like the standard XPath functions, the functions you create derive from
the Function base class. Set up your
@@ -190,7 +190,7 @@
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>We do not
recommend this, but you can also install a function directly into the XPath
function table, in which
case it is not really an extension function. The XPath parser treats it like
any other XPath function, and no namespace declaration or prefix is
involved.</I></FONT></TD></TR></TABLE>
<P>For an example that installs a global extension function, a local
extension function, and adds a function to the
- XPath function table, see the <A href="samples.html#externalfunc">External
Functions</A> sample.</P>
+ XPath function table, see the <A
href="samples.html#externalfunctions">External Functions</A> sample.</P>
</FONT></TD></TR></TABLE><BR><A name="use"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Using an extension function</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>To use the extension function in a stylesheet, you must do the
following:</P>
@@ -234,7 +234,7 @@
19.9249 units.
</out></PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>For a slightly more complex variation on this example,
-see the <A href="samples.html#externalfunc">External Functions</A>
sample.</P>
+see the <A href="samples.html#externalfunctions">External Functions</A>
sample.</P>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Passing Nodes to a function</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>Please keep in mind that <B>all</B> LocationPath expressions return a
node-set, even if the expression only
returns a single attribute or a text node (node-sets with one member). You
can use the XSLT string() function
1.6 +90 -18 xml-site/targets/xalan-c/faq.html
Index: faq.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/faq.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- faq.html 2000/10/11 12:04:35 1.5
+++ faq.html 2001/02/20 21:27:52 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,23 +46,95 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
-<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Questions</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><UL><LI><A
href="#faq-1">Where do I go to learn about XSLT</A></LI><LI><A
href="#faq-2">Which version of Xerces should I be using?</A></LI><LI><A
href="#faq-3">Are the XSLTEngineImpl (XSLT processor) and StylesheetRoot
(compiled stylesheet) objects thread-safe?</A></LI><LI><A href="#faq-4">What
can I do to speed up transformations?</A></LI><LI><A href="#faq-5">Stylesheet
validation</A></LI></UL></FONT></TD></TR></TABLE><BR><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Answers</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><BR><A
name="faq-1"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Where do I go to learn about XSLT?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The definitive sources are the W3C XSLT and XPath recommendations:
<A href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation 16
November 1999 XSL Transformations (XSLT) Version 1.0</A> and
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
+<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD><TABLE border="0"
cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Questions</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><UL><LI><A
href="#faq-1">Where do I go to learn about XSLT</A></LI><LI><A
href="#faq-2">Questions</A></LI><LI><A href="#faq-3">What is
Xerces-C++?</A></LI><LI><A href="#faq-4">Which version of Xerces should I be
using?</A></LI><LI><A href="#faq-5">Problems with samples in
Windows</A></LI><LI><A href="#faq-6">Building on Windows</A></LI><LI><A
href="#faq-7">Building on UNIX</A></LI><LI><A
href="#faq-8">STLPort</A></LI><LI><A href="#faq-9">ICU</A></LI><LI><A
href="#faq-10">A tar checksum error on Solaris.</A></LI><LI><A
href="#faq-11">Xalan-C++ in Apache</A></LI><LI><A href="#faq-12">Is Xalan-C++
thread-safe?</A></LI><LI><A href="#faq-13">What can I do to speed up
transformations?</A></LI><LI><A href="#faq-14">Stylesheet
validation</A></LI><LI><A
href="#faq-15">Patches</A></LI></UL></FONT></TD></TR></TABLE><BR><TABLE
border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699"
colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0"
width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Answers</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif"><BR><A
name="faq-1"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Where do I go to learn about XSLT?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The definitive sources are the W3C XSLT and XPath recommendations:
<A href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation 16
November 1999 XSL Transformations (XSLT) Version 1.0</A> and
<A href="http://www.w3.org/TR/xpath" target="_top">XML Path Language
(XPath) Version 1.0</A>.</P>
- <P>For general questions not specific to Xalan-C++, see Dave Pawson's <A
href="http://freespace.virgin.net/b.pawson/xsl/index.html#top">XSL Frequently
Asked Questions</A> and Michael Kay's
+ <P>For general questions not specific to Xalan-C++, see Dave Pawson's <A
href="http://www.dpawson.co.uk/xsl/xslfaq.html" target="_top">XSL Frequently
Asked Questions</A> and Michael Kay's
<A
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT
Programmer's Reference</A>.</P>
- <P>For a brief listing of tutorials, discussion forums, and other
materials, see <A href="overview.html#uptospeed">Getting up to speed with
XSLT</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-2"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Which version of Xerces should I be using?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The Xalan-C++ release notes includes information about the
Xerces-C++ release with which the Xalan-C++ release has been coordinated and
tested. See <A
href="readme.html#status">Status</A></P></FONT></TD></TR></TABLE><BR><A
name="faq-3"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Are the XSLTEngineImpl (XSLT processor) and StylesheetRoot
(compiled stylesheet) objects thread-safe?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>The XSLTEngineImpl stores running state information, so it is not
thread-safe. If you want to use the XSLTEngineImpl
- to perform multiple simultaneous transformations, create a separate
instance for each transformation.
- If you want to perform multiple serial transformations with a single
XSLTEngineImpl object, call the XSLTEngineImpl reset()
- method after each transformation. You may want to serialize access to
this object, so it can't accidentally start another
- transformation while a transformation is in progress.</P>
- <P>StylesheetRoot objects, on the other hand, are thread-safe. A single
StylesheetRoot object may be called concurrently
- from multiple threads. Keep in mind, however, that the StylesheetRoot
uses an XSLTEgineImpl to store running state
- information for each transformation, so you must call the XSLTEngineImpl
reset() method and the StylesheetExecutionDefault
- reset() method between each transformation.</P>
- <P>For more detail, see <A
href="samples.html#compilestylesheet">CompileStylesheet</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-4"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What can I do to speed up transformations?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>To maximize performance, here are some suggestions for you to keep
in mind as you set up your applications:</P><UL>
+ <P>For a brief listing of tutorials, discussion forums, and other
materials, see <A href="overview.html#uptospeed">Getting up to speed with
XSLT</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-2"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Where can I ask question?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>For generic questions about XSL stylesheets and transformations,
use the <A href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open
Forum on XSL</A> hosted by Mulberry Technologies. There is an archive that can
be searched as well. Specific questions about Xalan-C++ can be asked on the
Xalan-dev list. Please review this document and the archives before posting new
questions.</P>
+
+<P>For specific questions on Xalan-C++, see [email protected] on <A
href="http://archive.covalent.net/">http://archive.covalent.net/</A>.</P>
+</FONT></TD></TR></TABLE><BR><A name="faq-3"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What is Xerces-C++ and why do I need it?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Xerces-C++ is a validating XML parser written in a portable subset
of C++. Xerces-C++ makes it easy to give your application the ability to read
and write XML data. Like Xalan-C++, Xerces-C++ is available from the Apache XML
site:
http://xml.apache.org/xerces-c/index.html</P></FONT></TD></TR></TABLE><BR><A
name="faq-4"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Which version of Xerces should I be using?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The Xalan-C++ release notes includes information about the
Xerces-C++ release with which the Xalan-C++ release has been coordinated and
tested. See <A
href="readme.html#status">Status</A></P></FONT></TD></TR></TABLE><BR><A
name="faq-5"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>I have encountered problem executing the Xalan-C++ sample
applications after rebuilding them under Win32 Environment (Windows NT 4.0,
SP3).
+ When I tried to execute the sample, I receive the error message "Debug
Assertion Failed! ... Expression:
_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)".</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>You may be mixing debug and release versions of executables and
libraries. In other words, if you are compiling the sample for debug, then you
should link with the debug version of the Xalan-C++ and Xerces-C++ libraries
and run with the debug version of the dynamic link
libraries.</P></FONT></TD></TR></TABLE><BR><A
name="faq-6"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What do I need to rebuild Xalan-C++ on Windows?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>To build Xalan-C++ on Windows, you need Xerces-C++ and MS Visual
C++ 6.0 installed with Service Pack 3 for Visual C++ and Visual Studio. You
should also apply the bug fixes for the C++ standard library that shipped with
Visual C++ 6.0. These fixes are available from the Dinkumware site: <A
href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</A>.</P>
+<P>For more details, see <A href="readme.html#win32">Steps for doing a
Windows build</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-7"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What do I need to rebuild Xalan-C++ on UNIX?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>To build Xalan-C++ on supported UNIX platforms, you need
Xerces-C++ and a supported C++ compilers (see the table below). If your
compiler does not support the STL or its implementation is old, you must
install the STLPort.</P>
+<P>For more details see: http://xml.apache.org/xalan-c/readme.html#unix</P>
+ <TABLE border="0" cellpadding="2" cellspacing="2" width="100%">
+ <TR>
+ <TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>Platform - Operating System</B>
+ </FONT></TD>
+ <TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>Compilers</B>
+ </FONT></TD>
+ <TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>STLPort Required</B>
+ </FONT></TD>
+ </TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">AIX 4.3
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">IBM C and C++ for AIX 3.6.6
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Yes
+ </FONT></TD>
+ </TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Solaris 2.6
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Workshop 4.2
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Yes
+ </FONT></TD>
+ </TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">HP/UX 11.0
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">aCC A.03.27
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">No
+ </FONT></TD>
+ </TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Red Hat Linux 6.1
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">egcs-2.91.66 and glibc-2.1.2-11
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">No
+ </FONT></TD>
+ </TR>
+ </TABLE>
+ <P>For more details see: <A href="readme.html#unix">Steps for doing a UNIX
build</A>.</P>
+</FONT></TD></TR></TABLE><BR><A name="faq-8"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What is STLPort and why do I need it?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The Standard Template Library, or STL, is a C++ library of
container classes, algorithms, and iterators; it provides many of the basic
computer science algorithms and data structures. Xalan-C++ implementation uses
the SLT. STLport ports SGI STL to any platform possible and provides all
necessary wrap-ups installed. If your compiler does not support the STL or its
implementation is out of date, you will need to install the STLPort.</P>
+
+<P>The STLPort is available for download from the site: <A
href="http://www.stlport.org/">http://www.stlport.org/</A>.</P>
+
+<P>For more details on the STL, see: <A
href="http://www.sgi.com/tech/stl/stl_introduction.html">http://www.sgi.com/tech/stl/stl_introduction.html</A>.</P></FONT></TD></TR></TABLE><BR><A
name="faq-9"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What is ICU and why do I need it?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>The International Components for Unicode(ICU) is a C and C++
library that provides robust and full-featured Unicode support on a wide
variety of platforms. Xalan-C++ uses the ICU to extend support for encoding,
number formatting, and sorting.</P>
+<P>The ICU is available for download from <A
href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html">http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html</A>.</P>
+<P>For more details see: <A href="usagepatterns.html#icu">Using the
International Components for Unicode (ICU)</A>.<A
name="gnutar"><!--anchor--></A></P></FONT></TD></TR></TABLE><BR><A
name="faq-10"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>I am getting a tar checksum error on Solaris. What's the
problem?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>The Solaris tar utility you are using does not properly handle
files with long pathnames.
+ You must use GNU tar (gtar), which handles arbitrarily long
pathnames
+ and is freely available on every platform on which Xalan-C++ is
+ supported. If you don't already have GNU tar installed on your
system,
+ you can obtain it from the Free Software Foundation
+ <A href="http://www.gnu.org/software/tar/tar.html">
+ http://www.gnu.org/software/tar/tar.html</A>. For additional
+ background information on this problem, see the online manual
+ <A
href="http://www.gnu.org/manual/tar/html_node/tar_117.html#SEC112">
+ GNU tar and POSIX tar </A> for the utility.
+ </P>
+ </FONT></TD></TR></TABLE><BR><A name="faq-11"><!--anchor--></A><TABLE
border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="666699"
colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Is it possible to run Xalan-C++ from an Apache
server?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>A simple Apache module called <A
href="samples.html#apachemodulexslt">ApacheModuleXSLT</A> is provided as a
sample. It demonstrates how to integrate Xalan-C++ with
Apache.</P></FONT></TD></TR></TABLE><BR><A
name="faq-12"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Is Xalan-C++ thread-safe?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>In order to support very efficient use in multi-threaded
applications, Xalan-C++ is designed to avoid synchronization as much as
+ possible. Each thread of execution is required to have its own set of
"support" objects that contain the state of the
+ transformation. Accordingly, no synchronization is required when
multiple threads are executing.</P>
+
+ <P>Parsed ("compiled") stylesheets (see <A
href="usagepatterns.html#compiled">Compiling stylesheets</A>) and parsed
+ source documents may be freely shared by multiple threads of execution
without worrying
+ about providing synchronized access to them. The <B>only</B> exception
to this rule: You use XercesParserLiaison to parse a
+ document after calling XercesParserLiaison::setBuildBridgeNodes(false)
or XercesParserLiaison::setThreadSafe(false). In this case,
+ the document <B>cannot</B> be shared by multiple threads of execution.
For reasons of performance, we do not recommend the use of
+ XercesParserLiaison, so this should not be an issue for most
applications.</P>
+
+ <P>All other objects in Xalan-C++ are <B>not</B> thread-safe. Each
thread must have its own instance of each object.</P>
+
+ <P>See the <A href="samples.html#threadsafe">ThreadSafe</A> sample
program for more information.</P></FONT></TD></TR></TABLE><BR><A
name="faq-13"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What can I do to speed up transformations?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>To maximize performance, here are some suggestions for you to keep
in mind as you set up your applications:</P><UL>
<LI>Use a compiled stylesheet when you expect to use the stylesheet more
than once.<BR><BR></LI>
<LI>Set up your stylesheets to function efficiently.<BR><BR></LI>
<UL>
@@ -76,7 +148,7 @@
<LI>Be careful using the last() function.<BR><BR></LI>
<LI>The use of index predicates within match patterns can be
expensive.<BR><BR></LI>
</UL>
- </UL></FONT></TD></TR></TABLE><BR><A
name="faq-5"><!--anchor--></A><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="666699" colspan="2" width="484"><TABLE border="0"
cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Can I validate an XSL stylesheet?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ </UL></FONT></TD></TR></TABLE><BR><A
name="faq-14"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Can I validate an XSL stylesheet?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>An XSL stylesheet is an XML document, so it can have a DOCTYPE and
be subject to validation, but you probably will have
to write a custom DTD for the purpose.</P>
<P>The XSLT Recommendation includes a <A
href="http://www.w3.org/TR/xslt#dtd">DTD Fragment
@@ -84,7 +156,7 @@
stylesheet. Keep in mind that stylesheets can include literal result
elements and produce output that is not valid
XML.</P>
<P>You can use the xsl:stylesheet doctype defined in xsl-html40s.dtd
for stylesheets that generate HTML.</P>
-
</FONT></TD></TR></TABLE><BR></FONT></TD></TR></TABLE><BR></TD></TR></TABLE></TD></TR></TABLE><BR><TABLE
border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD
bgcolor="#0086b2"><IMG height="1" src="images/dot.gif"
width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
+ </FONT></TD></TR></TABLE><BR><A
name="faq-15"><!--anchor--></A><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="666699" colspan="2"
width="484"><TABLE border="0" cellpadding="0" cellspacing="0"
width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Who do I submit patches to?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><P>Your contributions are much appreciated! Please e-mail your
patches to <A href="mailto:[email protected]">Xalan Development Mailing
List</A>.</P></FONT></TD></TR></TABLE><BR></FONT></TD></TR></TABLE><BR></TD></TR></TABLE></TD></TR></TABLE><BR><TABLE
border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD
bgcolor="#0086b2"><IMG height="1" src="images/dot.gif"
width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>
1.8 +55 -31 xml-site/targets/xalan-c/getstarted.html
Index: getstarted.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/getstarted.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- getstarted.html 2000/10/11 12:04:35 1.7
+++ getstarted.html 2001/02/20 21:27:52 1.8
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,69 +46,93 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#download">Downloading what you need</A></LI>
-<LI><A href="#path">Setting up the system path</A></LI>
+<LI><A href="#path">Setting up the path/library path</A></LI>
<LI><A href="#samples">Trying out the samples</A></LI>
<LI><A href="#commandline">Performing your own transformations from the
command line</A></LI>
<LI><A href="#apps">Setting up your own XSLT applications</A></LI>
</UL>
<A name="download"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Downloading what you need</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>For Xalan-C++ version 1.0, we are distributing a Windows32 Visual C++
build, a Red Hat Linux GNU build, and an AIX xlC_r build. Please contact us at
<A href="mailto:[email protected]">Xalan Development Mailing List</A> if
you would like to help provide builds for other platforms.</P>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Xalan-C++ Distributions</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P><IMG align="right" border="0" hspace="4" src="images/xalan-cdist.gif"
vspace="4"></P>
+<P>For Xalan-C++ version 1.1, we are distributing a Windows32 Visual C++
build and four UNIX builds with a makefile: a Red Hat Linux GNU build, an AIX
xlC_r build, an HP-UX 11 aCC build, and a Solaris build.
+Please contact us at <A href="mailto:[email protected]">Xalan
Development Mailing List</A> if you would like to help provide builds for other
platforms.</P>
+<A name="xalandists"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Xalan-C++ Windows Distribution</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P><IMG align="right" border="0" hspace="4" src="images/xalan-c-windist.gif"
vspace="4"></P>
</FONT></TD></TR></TABLE><BR>
-<P>For the Windows32 build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_0-win32.zip"
target="_top">Xalan-C_1_0-win32.zip</A>.</P>
-<P>For the Linux build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_0-linux.tar.gz"
target="_top">Xalan-C_1_0-linux.tar.gz</A></P>
-<P>For the AIX build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_0-aix.tar.gz"
target="_top">Xalan-C_1_0-aix.tar.gz</A></P>
-<P>Each distribution contains all you need to run the Xalan command-line
utility for performing transformations. To build your own applications, you
also need a compatible Xerces-C++ binary distribution. 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 <A
href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html"
target="_top">International Components for Unicode (ICU)</A>; see <A
href="usagepatterns.html#icu">Using the ICU</A>,</P>
+<P>For the Windows32 build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-win32.zip"
target="_top">Xalan-C_1_1-win32.zip</A>. This Windows32 distribution was built
with MSVC 6.0 SP3 and <A
href="http://www.dinkumware.com/vc_fixes.html">Dinkumware C++ library
fixes</A>.</P>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Xalan-C++ UNIX Distributions</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P><IMG align="right" border="0" hspace="4"
src="images/xalan-c-unixdist.gif" vspace="4"></P>
+</FONT></TD></TR></TABLE><BR>
+<P>For the Linux build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-linux.tar.gz"
target="_top">Xalan-C_1_1-linux.tar.gz</A>. This Red Hat Linux 6.1 distribution
was built with egcs-2.91.66 and glibc-2.1.2-11.</P>
+<P>For the AIX build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-aix.tar.gz"
target="_top">Xalan-C_1_1-aix.tar.gz</A>. This AIX 4.3 distribution was built
with IBM C and C++ for AIX 3.6.6.</P>
+<P>For the HP-UX 11 build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-hp-ux.tar.gz"
target="_top">Xalan-C_1_1-hp-ux.tar.gz</A>. This HP-UX 11 distribution was
built with aCC A.03.27.</P>
+<P>For the Solaris build, download <A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-solaris.tar.gz"
target="_top">Xalan-C_1_1-solaris.tar.gz</A>. This Solaris distribution was
built with Workshop 4.2.</P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Use GNU tar to
untar the Solaris distribution file; see <A href="faq.html#gnutar">A tar
checksum error on Solaris</A>.</I></FONT></TD></TR></TABLE>
+<P>Each distribution contains all you need to run the Xalan command-line
transformations utility and to build your own applications.
+If you want to take advantage of the support for number formatting, sorting,
and encoding the ICU provides, you should also download and install the <A
href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html"
target="_top">International Components for Unicode (ICU)</A>; see <A
href="usagepatterns.html#icu">Using the ICU</A>,</P>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What you need to run the Xalan command-line
utility</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>To run the Xalan executable for performing transformations, you need the
following:</P>
<P><B>Windows32</B></P>
<UL>
<LI>The executable: TestXSLT.exe</LI>
-<LI>The Xalan-C++ dynamic link libraries: DOMSupport.dll,
PlatformSupport.dll, XalanDOM.dll, XercesParserLiaison.dll, XMLSupport.dll,
XPath.dll, XSLT.dll</LI>
-<LI>The Xerces-C++ dynamic link library: xerces-c_1_3.dll</LI>
+<LI>The Xalan-C++ dynamic link libraries: DOMSupport.dll,
PlatformSupport.dll, XalanDOM.dll, XalanSourceTree,dll,
XercesParserLiaison.dll, XMLSupport.dll, XPath.dll, XSLT.dll,
XalanTransformer.dll</LI>
+<LI>The Xerces-C++ dynamic link library: xerces-c_1_4.dll</LI>
</UL>
<P><B>Linux</B></P>
<UL>
<LI>The executable: TestXSLT</LI>
- <LI>The Xalan-C++ shared library: libxalan-c1_0.so</LI>
- <LI>The Xerces-C++ shared library: libxerces-c1_3.so</LI>
+ <LI>The Xalan-C++ shared library: libxalan-c1_1.so</LI>
+ <LI>The Xerces-C++ shared library: libxerces-c1_4.so</LI>
</UL>
<P><B>AIX</B></P>
<UL>
<LI>The executable: TestXSLT</LI>
- <LI>The Xalan-C++ load library: libxalan-c1_0.a</LI>
- <LI>The Xerces-C++ load library: libxerces-c1_3.a</LI>
+ <LI>The Xalan-C++ load library: libxalan-c1_1.a</LI>
+ <LI>The Xerces-C++ load library: libxerces-c1_4.a</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) and
TestXSLT (all platforms) with the ICUBridge. See <A
href="usagepatterns.html#icu">Using the ICU</A> and <A
href="commandline.html#icu">Enabling ICU support for TestXSLT</A>.</P>
+<P><B>HP-UX 11</B></P>
+<UL>
+ <LI>The executable: TestXSLT</LI>
+ <LI>The Xalan-C++ shared library: libxalan-c1_1.sl</LI>
+ <LI>The Xerces-C++ shared library: libxerces-c1_4.sl</LI>
+</UL>
+<P><B>Solaris</B></P>
+<UL>
+ <LI>The executable: TestXSLT</LI>
+ <LI>The Xalan-C++ shared library: libxalan-c1_1.so</LI>
+ <LI>The Xerces-C++ shared library: libxerces-c1_4.so</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 <A
href="usagepatterns.html#icu">Using the ICU</A> and <A
href="commandline.html#icu">Enabling ICU support for TestXSLT</A>.</P>
<P>For information about using the command-line utility, see <A
href="commandline.html">Command-Line Utility</A>.</P>
-<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you want to do
your own AIX build, you must download <A href="http://www.stlport.org/"
target="_top">STLport</A> and set the STLPORTROOT
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you want to do
your own AIX or Solaris build, you must download <A
href="http://www.stlport.org/" target="_top">STLport</A> and set the STLPORTROOT
environment variable to the complete path to the STLPort distribution (see
the <A href="readme.html#build">Build notes</A>)</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What you need to build applications</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>What you need to build and run applications</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>To build your own applications with Xalan and Xerces, you also need need
the
-Xalan-C++ and Xerces-C++ header (.hpp) files and (for Windows) the Xalan-C++
and Xerces-C++ libraries (.lib files).</P>
-<P>The Xalan-C++ header files are in the src directory tree in both
distributions.</P>
-<P>In the Windows32 distribution (built with Microsoft® Visual C++®
6.0), the dlls and libraries are in the Build - Win32 -V6 - Release
subdirectory.</P>
-<P>In the Linux distribution (built with a make file and the GNU C++
compiler on Red Hat Linux 6.1), the shared object 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 Xerces-C++ binary distribution for your platform from the <A
href="http://xml.apache.org/dist/xerces-c/" target="_top">Xerces-C++
distribution directory</A>. For information about which Xerces-C++ distribution
has been tested with this Xalan-C++ release, see <A
href="readme.html#status">Version of Xerces-C++ to use</A>.</P>
+Xalan-C++ and Xerces-C++ header (.hpp) files and (for Windows) the Xalan-C++
and Xerces-C++ libraries (.lib files). To run your applications, you need the
Xalan-C++ and Xerces-C++ library files (.dll files for Windows, shared or load
libraries for the UNIX platforms).</P>
+<P>The Xalan-C++ and Xerces-C++ header files are in the src directory trees
in both distributions.</P>
+<P>In the Windows32 distribution (built with Microsoft® Visual C++®
6.0), the .dlls and libraries are in the Build\Win32\V6 Debug and Release
subdirectories.</P>
+<P>In the Linux distribution (built with a make file and the GNU C++
compiler on Red Hat Linux 6.1), the shared object libraries are in the lib
subdirectories.</P>
+<P>In the AIX distribution (built with the make file and xlC_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>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>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.</I></FONT></TD></TR></TABLE>
<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 Xalan-C++, see the <A
href="readme.html#build">Build notes</A>.</P>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="path"><!--anchor--></A>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Setting up the path</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Setting up the path/library path</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>For the Xalan-C++ Windows32 distribution, place
xml-xalan\c\Build\Win32\VC6\Release on the path.</P>
-<P>For the Xalan-C++ Linux distribution, place xml-xalan/c/bin and
xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH for Red Hat Linux
6.1), or copy libxalan-c1_0.so 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 (LIB_PATH for AIX), or copy
libxalan-c1_0.a to /usr/lib.</P>
-
+<P>For the Xalan-C++ Linux distribution, place xml-xalan/c/bin on the path
(PATH) and xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH for Red
Hat Linux 6.1), or copy libxalan-c1_1.so to /usr/lib.</P>
+<P>For the Xalan-C++ AIX distribution, place xml-xalan/c/bin on the path
(PATH) and xml-xalan/c/lib on the load library path (LIBPATH), or copy
libxalan-c1_1.a to /usr/lib.</P>
+<P>For the Xalan-C++ HP-UX 11 distribution, place xml-xalan/c/bin on the
path (PATH) and xml-xalan/c/lib on the shared library path (SHLIB_PATH), or
copy libxalan-c1_1.a to /usr/lib.</P>
+<P>For the Xalan-C++ Solaris distribution, place xml-xalan/c/bin on the path
(PATH) and xml-xalan/c/lib on the shared library path (LD_LIBRARY_PATH), or
copy libxalan-c1_1.so 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>
</FONT></TD></TR></TABLE><BR><A name="samples"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Trying out the samples</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
@@ -116,7 +140,7 @@
<P>To run the samples, do the following:</P>
<OL>
<LI>Set up your path (see above). In the Windows32 distribution, the sample
executables are in
-xml-xalan\c\Build\Win32\VC6\Release. In the Linux and AIX distributions, the
executables are in xml-xalan/c/bin.</LI>
+xml-xalan\c\Build\Win32\VC6\Release. In the UNIX distributions, the
executables are in xml-xalan/c/bin.</LI>
<LI>Go to the samples subdirectory containing the sample.</LI>
<LI>Run the sample from the command line (in Windows, use the DOS
shell).</LI>
<LI>Examine the application source files.</LI>
1.8 +44 -18 xml-site/targets/xalan-c/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/index.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- index.html 2000/10/11 12:04:35 1.7
+++ index.html 2001/02/20 21:27:52 1.8
@@ -1,4 +1,4 @@
-<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js"
type="text/javascript"></SCRIPT><TITLE>Xalan-C++ version
1.0</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4"
link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4"
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0"
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top"
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif"
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5"
valign="top" width="456"><IMG border="0" height="5" hspace="0"
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left"
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60"
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top"
width="456"><IMG alt="" border="0" height="35" hspace="0"
src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD
align="left" height="20" valign="top" width="168"><IMG border="0" height="20"
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');"
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"
border="0" height="20" hspace="0" name="xml"
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://www.apache.org/" onMouseOut="rolloverOff('asf');"
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"
border="0" height="20" hspace="0" name="asf"
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');"
target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0"
name="w3c"
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
src="resources/button-w3c-lo.gif" vspace="0"
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0"
width="120"><BR>
+<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js"
type="text/javascript"></SCRIPT><TITLE>Xalan-C++ version
1.1</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4"
link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4"
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0"
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top"
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif"
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5"
valign="top" width="456"><IMG border="0" height="5" hspace="0"
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left"
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60"
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top"
width="456"><IMG alt="" border="0" height="35" hspace="0"
src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD
align="left" height="20" valign="top" width="168"><IMG border="0" height="20"
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');"
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"
border="0" height="20" hspace="0" name="xml"
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A
href="http://www.apache.org/" onMouseOut="rolloverOff('asf');"
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"
border="0" height="20" hspace="0" name="asf"
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');"
target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0"
name="w3c"
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
src="resources/button-w3c-lo.gif" vspace="0"
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0"
width="120"><BR>
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <IMG alt="Xalan-C++ 1.0" border="0" height="12" hspace="0"
src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
+ <IMG alt="Xalan-C++ 1.1" border="0" height="12" hspace="0"
src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,16 +46,18 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>What is it?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Xalan is an XSLT processor for transforming XML documents into HTML,
text, or other XML
document types.</P>
- <P>Xalan-C++ version 1.0 is a robust implementation of the W3C
Recommendations
- for XSL Transformations (XSLT) and the XML Path Language (XPath). It
uses the Xerces-C++ version 1.3.0
- XML parser.</P>
+ <P>Xalan-C++ version 1.1 is a robust implementation of the W3C
Recommendations
+ for XSL Transformations (XSLT) and the XML Path Language (XPath). It
includes a compatible release of the
+ Xerces-C++ XML parser: Xerces-C++ version 1.4. In addition to adding
builds for HP-UX 11 and Solaris, the focus for this release
+ is on bug fixes, performance enhancements, providing a simpler C++ and C
API for performing standard transformations, and new samples.
+ For the details, see the <A href="readme.html">Release Notes</A>.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>How do I get it?</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
@@ -64,38 +66,62 @@
includes the complete Xalan-C++ source tree.</P>
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%">
<TR>
- <TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>Platform</B>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><I>Platform</I>
</FONT></TD>
- <TD align="center" bgcolor="#039acc" colspan="1" rowspan="1"
valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><B>Download</B>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><I>Download</I>
</FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1"><I>Built with</I>
+ </FONT></TD>
</TR>
<TR>
<TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Windows32
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-win32.zip"
target="_top">Xalan-C_1_1-win32.zip</A>
</FONT></TD>
- <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_0-win32.zip"
target="_top">Xalan-C_1_0-win32.zip</A>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">MSVC 6.0 SP3 and <A
href="http://www.dinkumware.com/vc_fixes.html">Dinkumware C++ library
fixes</A>
</FONT></TD>
</TR>
<TR>
- <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Linux
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Red Hat Linux 6.1
</FONT></TD>
- <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_0-linux.tar.gz"
target="_top">Xalan-C_1_0-linux.tar.gz</A>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-linux.tar.gz"
target="_top">Xalan-C_1_1-linux.tar.gz</A>
</FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">egcs-2.91.66 and glibc-2.1.2-11
+ </FONT></TD>
</TR>
<TR>
- <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">AIX
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">AIX 4.3
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-aix.tar.gz"
target="_top">Xalan-C_1_1-aix.tar.gz</A>
</FONT></TD>
- <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_0-aix.tar.gz"
target="_top">Xalan-C_1_0-aix.tar.gz</A>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">IBM C and C++ for AIX 3.6.6
</FONT></TD>
</TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">HP-UX 11
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-hp-ux.tar.gz"
target="_top">Xalan-C_1_1-hp-ux.tar.gz</A>
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">aCC A.03.27
+ </FONT></TD>
+ </TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Solaris 2.6
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><A
href="http://xml.apache.org/dist/xalan-c/Xalan-C_1_1-solaris.tar.gz"
target="_top">Xalan-C_1_1-solaris.tar.gz</A>*<BR>
+ *Use GNU tar to untar; see <A href="faq.html#gnutar">FAQs</A>
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="1" rowspan="1"
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">Workshop 4.2
+ </FONT></TD>
+ </TR>
</TABLE>
<P>Volunteers are more than welcome to help develop builds for other
platforms!</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Where do I get Xerces?</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
- <P>The distributions include the Xerces runtime environment for Xalan:
xerces-c_1_3.dll for
- Windows, libxerces-c1_3.so for Linux, and libxerces-c1_3.a for AIX.</P>
- <P>To build applications with Xalan and Xerces, you also need the
Xerces-C++ binary distribution
- for your platform, which you can download from the <A
href="http://xml.apache.org/dist/xerces-c/" target="_top">Xerces-C++
distribution directory</A>.</P>
+ <P>Right here! The distributions include everything you need to build
and run applications that use Xalan and Xerces. Each distribution
+ file includes the Xerces distribution with the appropriate Xerces
runtime environment for Xalan: xerces-c_1_4.dll for
+ Windows, libxerces-c1_4.so for Linux, libxerces-c1_4.a for AIX,
libxerces-c1_4.sl for HP-UX 11, and libxerces-c1_4.so for Solaris.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>How about support for
internationalization?</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>To extend Unicode support for encoding, number formatting, and
sorting, you can download,
1.6 +33 -33 xml-site/targets/xalan-c/overview.html
Index: overview.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/overview.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- overview.html 2000/10/11 12:04:36 1.5
+++ overview.html 2001/02/20 21:27:52 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,8 +46,8 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
@@ -63,7 +63,8 @@
discussion groups, frequently asked questions, and tutorials on XSLT,
see <A href="#uptospeed">Getting up
to speed with XSLT</A>.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>XSL also includes
a vocabulary for formatting documents, which is not part of Xalan-C++.
- For more information, see <A href="http://www.w3.org/TR/xsl/">W3C XSL
Working Draft</A> and the <A href="http://xml.apache.org/fop">Apache XML FOP
(Formatting Objects Project)</A>.</I></FONT></TD></TR></TABLE>
+ For more information, see <A href="http://www.w3.org/TR/xsl"
target="_top">Extensible Stylesheet Language (XSL) Version 1.0 W3C Candidate
Recommendation</A> and the
+ <A href="http://xml.apache.org/fop">Apache XML FOP (Formatting Objects
Project)</A>.</I></FONT></TD></TR></TABLE>
<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
@@ -106,34 +107,36 @@
<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 <A
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT
Programmer's
- Reference</A>, Wrox Press, 2000<BR><BR></LI>
- <LI>Neil Bradley's <A
href="http://cseng.aw.com/bookpage.taf?ISBN=0-201-67487-4">XSL Companion</A>,
- Addison-Wesley, 2000<BR><BR></LI>
- <LI>Elliotte Rusty Harold's <A
href="http://metalab.unc.edu/xml/books/bible/updates/14.html">Chapter 14 of
- the XML Bible: XSL Transformations</A> (the online version is more
current than the version in the printed
- book)<BR><BR></LI>
- <LI>Crane Softwright's <A
href="http://www.CraneSoftwrights.com/training/">Free preview of Practical
- Transformation Using XSLT and XPath</A><BR><BR></LI>
- <LI>The Mulberry <A
href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open Forum on
XSL</A>
- (of interest to XSL users at all levels)<BR><BR></LI>
- <LI>Dave Pawson's <A
href="http://freespace.virgin.net/b.pawson/xsl/xslfaq.html">XSL Frequently Asked
- Questions</A><BR><BR></LI>
- <LI>Objects by Design's <A
href="http://www.objectsbydesign.com/projects/xmi_to_html.html">Transforming
XMI to
- HTML</A> (oriented towards XMI, "an XML-based, stream
representation of a UML model," but also covers "generic"
- XML transformations)<BR><BR></LI>
- <LI>Nic Miloslav's <A
href="http://zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/index.html">XSL
Tutorial</A>
- <BR><BR></LI>
- <LI>OASIS (the Organization for the Advancement of Structured
Information Standards):
- <A href="http://www.oasis-open.org/cover/xsl.html">Extensible
Stylesheet Language (XSL)</A> by Robin
- Cover<BR><BR></LI>
- <LI>Donald Ball's <A
href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml">A Guide to XML
and XSL for
- Designers</A></LI>
+ <LI>Michael Kay's <A
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT
Programmer's
+ Reference</A>, Wrox Press, 2000<BR><BR></LI>
+ <LI>Neil Bradley's XSL Companion, Addison-Wesley, 2000<BR><BR></LI>
+ <LI>Elliotte Rusty Harold's <A
href="http://metalab.unc.edu/xml/books/bible/updates/14.html">Chapter 14 of
+ the XML Bible: XSL Transformations</A><BR><BR></LI>
+ <LI>Crane Softwright's <A
href="http://www.CraneSoftwrights.com/training/">Free preview of Practical
+ Transformation Using XSLT and XPath</A><BR><BR></LI>
+ <LI>The Mulberry <A
href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open Forum on
XSL</A>
+ (of interest to XSL users at all levels)<BR><BR></LI>
+ <LI>Dave Pawson's <A href="http://www.dpawson.co.uk/xsl/xslfaq.html"
target="_top">XSL Frequently Asked Questions</A><BR><BR></LI>
+ <LI>Objects by Design's <A
href="http://www.objectsbydesign.com/projects/xmi_to_html.html">Transforming
XMI to
+ HTML</A> (oriented towards XMI, "an XML-based, stream
representation of a UML model," but also covers "generic"
+ XML transformations)<BR><BR></LI>
+ <LI>Objects by Design;'s <A
href="http://objectsbydesign.com/projects/xslt/xslt_by_example.html">XSLT by
+ Example</A><BR><BR></LI>
+ <LI>Miloslav Nic's <A
href="http://zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/index.html">XSL
Tutorial</A>
+ <BR><BR></LI>
+ <LI>OASIS (the Organization for the Advancement of Structured
Information Standards):
+ <A href="http://www.oasis-open.org/cover/xsl.html">Extensible
Stylesheet Language (XSL)</A> by Robin
+ Cover<BR><BR></LI>
+ <LI>Donald Ball's <A
href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml">A Guide to XML
and XSL for
+ Designers</A><BR><BR></LI>
+ <LI>XSLT - XSL Transformations in
+ <A href="http://www.brics.dk/~amoeller/XML/">The XML Revolution:
Technologies for the future Web</A> by
+ Anders Møller and Michael I. Schwartzbach</LI>
</UL>
<P>When you come across other useful introductory or background
materials, please email <A href="mailto:[email protected]">Xalan
Development Mailing List</A>, so we can add them to this list.</P>
</FONT></TD></TR></TABLE><BR><A name="glossary"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Glossary</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Glossary</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<DL>
<DT>XSLT Namespace</DT>
<DD>The <A href="http://www.w3.org/TR/REC-xml-names/">XML
namespace</A> for XSLT. An XML namespace is a
@@ -158,16 +161,13 @@
<DT>Result Tree</DT>
<DD>The tree that is output by the XSL process.<BR><BR></DD>
-
- <DT>Stylesheet Tree</DT>
- <DD>The stylesheet tree produced from the XSL file.<BR><BR></DD>
-
+
<DT>Match Pattern</DT>
<DD>The part of a template that defines the kind(s) of nodes to
which the template applies.<BR><BR></DD>
</DL>
<P>For more definitions of XSLT terminology, see Dave Pawson's
- <A href="http://freespace.virgin.net/b.pawson/xsl/jargon.html">XSLT
Terminology
+ <A href="http://www.dpawson.co.uk/xsl/vocab.html">XSLT Terminology
Clarification</A> and the Glossary in Michael Kay's
<A
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT
Programmer's Reference</A>.</P>
</FONT></TD></TR></TABLE><BR>
1.6 +90 -57 xml-site/targets/xalan-c/readme.html
Index: readme.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/readme.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- readme.html 2000/10/11 12:04:36 1.5
+++ readme.html 2001/02/20 21:27:52 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,32 +46,54 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
-<P>Release notes for Xalan-C++ version 1.0</P>
+<P>Release notes for Xalan-C++ version 1.1</P>
<UL>
<LI><A href="#status">Status</A></LI>
<LI><A href="#build">Build Notes</A></LI>
<LI><A href="#contact">Getting in touch</A></LI>
+ <LI><A href="#history">History of software changes</A></LI>
</UL>
<A name="status"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Status</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<UL>
- <LI><A href="#done">Changes since Xalan-C++ version 0.40.0</A></LI>
+ <LI><A href="#done">Changes since Xalan-C++ version 1.0</A></LI>
<LI><A href="#bugs">Bug reporting</A></LI>
<LI><A href="#xml4j">Version of Xerces-C++ to use</A></LI>
<LI><A href="#to-do">To-do tasks for future Xalan-C++ releases</A></LI>
</UL>
<A name="done"><!--anchor--></A>
- <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes since Xalan-C++ version 0.40.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P>Major updates since version 0.40.0 include:</P>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes since Xalan-C++ version 1.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>In addition to adding to the list of platforms on which Xalan-C++ 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>Full support for namespace handling<BR><BR></LI>
-<LI>Full implementation of the format-number() function and support for the
decimal-format element<BR><BR></LI>
-<LI>Integration with the <A
href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html"
target="_top">International Components for Unicode (ICU)</A> for number
formatting, sorting, and output encoding<BR><BR></LI>
-<LI>Support for the exclude-result-prefixes attribute<BR><BR></LI>
-<LI>Support for the output encoding attribute</LI>
+<LI>Added HP-UX 11 build.<BR><BR></LI>
+<LI>Added Solaris build.<BR><BR></LI>
+<LI>Greatly improved performance.<BR><BR></LI>
+<LI>Improved conformance to the XSLT specification.<BR><BR></LI>
+<LI>Simplified the C++ API and provided a C API for performing standard
transformations with the <A
href="usagepatterns.html#xalantransformer">XalanTransformer</A> class and
associated header files.<BR><BR></LI>
+<LI>Added sample illustrating use of XalanTransformer and the new C++ API:
+ <A href="samples.html#xalantransform">XalanTransform</A>.<BR><BR></LI>
+<LI>Added sample illustrating use of XalanTransformer, the new C API, and
how to run Xalan-C++ and perform transformations on an
+ Apache Web server: <A
href="samples.html#apachemodulexslt">ApacheModuleXSLT</A>.<BR><BR></LI>
+<LI>Added the <A href="samples.html#streamtransform">StreamTransform</A>
sample.<BR><BR></LI>
+<LI>Eliminated dependencies on non-public Xerces headers; accordingly can
now build with the Xerces distribution.<BR><BR></LI>
+<LI>Fixed namespace mapping and inheritance problems.<BR><BR></LI>
+<LI>Fixed failure of <copy-of ...> to include CRLFs (if any) in the
result.<BR><BR></LI>
+<LI>Fixed bug sorting in reverse document order based on position.
<BR><BR></LI>
+<LI>Fixed <xsl:number> bug with use of
letter-value="traditional" for "classical" Greek
numbering.<BR><BR></LI>
+<LI>Fixed use of <xsl:fallback> within a top-level extension
function.<BR><BR></LI>
+<LI>Fixed HTML output method bug. The <HEAD> element was not including
a <META> tag with the encoding.<BR><BR></LI>
+<LI>Fixed bug using key() in match patterns to find descendants.<BR><BR></LI>
+<LI>Fixed bug using the id() function in complex match patterns.<BR><BR></LI>
+<LI>Fixed problem outputting multiple single-character CDATA
sections.<BR><BR></LI>
+<LI>Fixed problem outputting whitespace characters.<BR><BR></LI>
+<LI>Fixed problem transforming from a stream on UNIX platforms.<BR><BR></LI>
+<LI>Fixed a bug with the document() function, which was generating a syntax
error if called in the following manner: document(<I>string</I>,/).<BR><BR></LI>
+<LI>Fixed named templates bug accepting global parameter when called with a
parameter of the same name that the named template does not
+ recognize.</LI>
</UL>
</FONT></TD></TR></TABLE><BR>
@@ -80,36 +102,23 @@
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Bugs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<P>Open bugs:</P>
<UL>
-<LI>Problems mapping namespaces from the stylesheet to the source document,
and elements do not inherit namespaces correctly<BR><BR></LI>
-<LI><xsl:copy-of ...> within an <xsl:attribute> does not include
CRLFs (if any) in the result.<BR><BR></LI>
-<LI>If you use <xsl:output method="html"> to generate HTML
with a <HEAD> element, the <HEAD> element fails to include a
<META> tag (with the encoding).<BR><BR></LI>
-<LI><xsl:number> does not support letter-value="traditional"
for "classical" Greek numbering.<BR><BR></LI>
-<LI>Unable to sort in reverse document order based on position. Workaround:
use count(following-sibling::*) or a similar expression.<BR><BR></LI>
-<LI>Does not support six or more digits of numerical precision after the
decimal.<BR><BR></LI>
-<LI><xsl:fallback> within a top-level function is not recognized and
does not throw an error.<BR><BR></LI>
-<LI>The document() function generates a syntax error if called in the
following manner: document(<I>string</I>,/).<BR><BR></LI>
-<LI>Problems using key() in match patterns to find descendants. For example,
key('mykey','Introduction')//p finds all p elements, not just those that match
the criteria.<BR><BR></LI>
-<LI>The id() function doesn't work in some complex match
patterns.<BR><BR></LI>
-<LI>In some cases, outputs a single CDATA section as multiple
single-character CDATA sections.<BR><BR></LI>
-<LI>Minor problems outputting whitespace characters, such as CR output as
CRLF, and comments causing literal text output to be split.</LI>
+<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>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Please report any
bugs you find to the <A href="mailto:[email protected]">Xalan
Development Mailing List</A>, and please note in the subject line that the bug
applies to Xalan-C++.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR>
<A name="xml4j"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Version of Xerces-C++ to use</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P>Xalan-C++ version 1.0 has been tested with Xerces-C++ version 1.3.0. The
Xalan-C++ version 1.0 Windows32 download includes xerces-c_1_3.dll.
-The Xalan-C++ version 1.0 Linux download includes libxerces-c1_3.so. The
Xalan-C++ version 1.0 AIX download includes libxerces-c1_3.a
-For information about including The Xerces-C++ dynamic link or shared object
library on the path, see <A href="getstarted.html#path">Setting up the system
path</A>.</P>
+<P>Xalan-C++ version 1.1 has been tested with Xerces-C++ version 1.4. Each
Xalan-C++ version 1.1 download includes the Xerces-C++ distribution for the
specified platform. For information about including The Xerces-C++ libraries on
the path, see <A href="getstarted.html#path">Setting up the system path</A>.</P>
<P><B>Important</B> 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>
</FONT></TD></TR></TABLE><BR><A name="to-do"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>To-do tasks for future Xalan-C++ releases</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<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>Implement a more efficient mechanism for storing and navigating
DOM trees, along the lines of the Xalan-Java Document
- Table Model (DTM)</LI>
+ <LI>Expand the XalanTransformer simplified API.<BR><BR></LI>
</UL>
<P>Watch the <A href="mailto:[email protected]">Xalan Development
Mailing List</A> for more information and for ideas about how you can get
involved.</P>
</FONT></TD></TR></TABLE><BR>
@@ -126,16 +135,15 @@
<UL>
<LI><A href="#layout">Layout of Xerces-C and ICU</A></LI>
<LI><A href="#win32">Steps for doing a Windows build</A></LI>
- <LI><A href="#unix">Steps for doing a Linux or AIX build</A></LI>
+ <LI><A href="#unix">Steps for doing a UNIX build</A></LI>
</UL>
- <P>If you want to rebuild Xalan-C++ (to produce a debug build, for
example), you need the following:</P>
+ <P>If you want to rebuild Xalan-C++, you need the following:</P>
<UL>
<LI>The Xalan-C++ source files</LI>
<LI>The Xerces-C++ header and (for Windows) .lib files</LI>
<LI>(Optional) The ICU header and (for Windows) .lib files</LI>
</UL>
- <P>The Xalan-C++ source files are in the distribution.</P>
- <P>The required Xerces-C++ files are in the Xerces-C++ binary
distributions.</P>
+ <P>The Xalan-C++ source files and The required Xerces-C++ files are in
the distribution.</P>
<P>For information on using the <A
href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html"
target="_top">International Components for Unicode (ICU)</A>, see
<A href="usagepatterns.html#icu">Using the ICU</A>.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are not
rebuilding with the ICU, you do not need the ICU header or .lib
files.</I></FONT></TD></TR></TABLE>
@@ -145,20 +153,18 @@
xml-xalan directory.</P>
</FONT></TD></TR></TABLE><BR><A name="layout"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Layout</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P><B>Important</B> We have set up the Visual C++ projects and the Linux
and AIX make files to look for Xerces in a directory structure that results
from downloading xml-xerces/c from the <A
href="http://xml.apache.org/websrc/cvsweb.cgi/">Apache XML CVS repository</A>
and building with the Visual C++ project files or the Linux make file. This
structure parallels the Xalan-C++ source tree and build structure.</P>
-<P>If you are using a Xerces-C++ binary distribution, you must either modify
the Xalan-C++ project files or makefile, or rearrange the build directory
structure as indicated in the following illustration.</P>
-<P>For Linux and AIX, the XERCESROOT environment variable points to the
Xerces-C root directory. For Windows, the Xerces-C root directory must be named
xml-xerces, and it must be at the same level as the Xalan-C++ root directory.
For all environments, the ICU root directory must be named icu, and it must be
at the same level as the Xalan-C++ root directory.</P>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Xerces-C++ and ICU layout for Xalan-C++
build</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="472"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P><IMG align="right" border="0" hspace="4" src="images/xerces-icu.gif"
vspace="4"></P>
+ <P><B>Important</B> We have set up the Visual C++ projects and the UNIX
make files to look for Xerces in the directory structure replicated in our
distribution files (see <A href="getstarted.html#xalandists">Xalan-C++
Distributions</A>). This matches the structure that results from downloading
xml-xerces/c from the <A href="http://xml.apache.org/websrc/cvsweb.cgi/">Apache
XML CVS repository</A> and building with the Visual C++ project files or the
UNIX make file.</P>
+<P>If you are using a Xerces-C++ binary distribution that you have obtained
independently from this Xalan-C++ distribution, you must either modify the
Xalan-C++ project files or makefile, or rearrange the build directory structure
as indicated in the following illustration.</P>
+<P>For UNIX, the XERCESROOT environment variable points to the Xerces-C root
directory. For Windows, the Xerces-C root directory must be named xml-xerces,
and it must be at the same level as the Xalan-C++ root directory. For all
environments, the ICU root directory must be named icu, and it must be at the
same level as the Xalan-C++ root directory.</P>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>ICU layout for Xalan-C++ build</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="472"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P><IMG align="right" border="0" hspace="4" src="images/icu.gif"
vspace="4"></P>
</FONT></TD></TR></TABLE><BR>
-<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Keep in mind that
at any given point in time the Xalan-C++ and Xerces-C++ source trees in the
Apache XML repository may not be consistent. When we release a version of
Xalan-C++ we certify that it is compatible with a given release of Xerces-C++.
To be safe, stick with distributions that we certify to be compatible.
Reminder: Xalan-C++ version 1.0 is compatible with Xerces-C++ version
1.3.0.<BR><BR>
-Xalan-C++ version 1.0 has been tested with International Components for
Unicode(ICU) 1.6 source files. You may be able to use newer ICU releases as
they appear.</I></FONT></TD></TR></TABLE>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Keep in mind that
at any given point in time the Xalan-C++ and Xerces-C++ source trees in the
Apache XML repository may not be consistent. When we release a version of
Xalan-C++ we certify that it is compatible with a given version of Xerces-C++.
To be safe, stick with distributions that we certify to be compatible.
Reminder: Xalan-C++ version 1.1 is compatible with the Xerces-C++ that is
included with the distribution..<BR><BR>
+Xalan-C++ version 1.1 has been tested with International Components for
Unicode(ICU) 1.6 source files. You may be able to use newer ICU releases as
they appear.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR><A name="win32"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Steps for doing a Windows build</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>To build Xalan-C++ on Windows, you need Xerces-C++ and MS Visual C++
6.0 installed with Service Pack 3 for Visual C++ and Visual Studio. You should
also apply the bug fixes for the C++ standard library that shipped with Visual
C++ 6.0. These fixes are available from the Dinkumware site: <A
href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</A>.</P>
<OL>
- <LI>Rearrange the Xerces-C++ binary distribution as indicated above so
the headers are in
- the xml-xerces/c/src tree and xml-xerces is at the same level as the
xml-xerces root
- directory.<BR><BR></LI>
<LI>(Optional) If you are rebuilding the ICUBridge, install the ICU so
the icu root directory
is at the same level as the xml-xerces root directory (see <A
href="usagepatterns.html#icu">Using the ICU</A>.<BR><BR>
If you want TestXSLT to use ICU support for number formatting and
sorting, install the ICU,
@@ -166,21 +172,18 @@
Project Dependencies command to add ICUBridge to the list of TestXSLT
dependencies (see <A href="commandline.html#icu">Enabling ICU support for
TestXSLT</A>).<BR><BR></LI>
<LI>Use Visual C++ to open the Xalan workspace from the
xml-xalan\c\Projects\Win32\VC6.
<BR><BR></LI>
- <LI>Select Project Dependencies and check <BR><BR></LI>
<LI>Use Visual C++ to rebuild everything or specific dynamic link
libraries and executables of
interest.<BR><BR></LI>
</OL>
</FONT></TD></TR></TABLE><BR><A name="unix"><!--anchor--></A>
-<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Steps for doing a Linux or AIX build</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Steps for doing a UNIX build</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<OL>
- <LI>Rearrange the Xerces-C++ binary distribution as indicated above so
the headers are in the
- <I>xerces-c_x_y_z-platform</I>/c/src tree, and set the XERCESCROOT
environment variable
- to the complete path to <I>xerces-c_x_y_z-platform</I>.<BR><BR></LI>
+ <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 Xalan-C++
distribution.<BR><BR></LI>
- <LI>AIX only: Download <A href="http://www.stlport.org/"
target="_top">STLport</A> and set the STLPORTROOT environment
+ <LI>AIX and Solaris only: Download <A href="http://www.stlport.org/"
target="_top">STLport</A> and set the STLPORTROOT environment
variable to the complete path to the STLPort distribution. <BR>
- (This step is not required for Linux because The Linux GNU compiler
includes the STL (Standard Template
+ (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>
<LI>(Optional) If you are including the ICUBridge, install the ICU
(see <A href="usagepatterns.html#icu">Using the ICU</A>) and use the shell to
define XALAN_USE_ICU.<BR><BR>
If you are using Bourne Shell, K Shell, or Bash:
@@ -188,13 +191,14 @@
If you are using C Shell:
<BR> <CODE><FONT face="courier,
monospaced">setenv XALAN_USE_ICU="1"</FONT></CODE><BR><BR></LI>
<LI>Change directory to xml-xalan/c/src in the Xalan-C++
distribution.<BR><BR></LI>
- <LI>Use the chmod +x command to set the executable flags for conf* and
- runConfigure.<BR><BR>
+ <LI>Use the chmod +x command to set the executable flags for conf* and
runConfigure.<BR><BR>
<CODE><FONT face="courier,
monospaced">chmod +x runConfigure</FONT></CODE><BR>
<CODE><FONT face="courier,
monospaced">chmod +x conf*</FONT></CODE><BR><BR></LI>
<LI>Run the runConfigure utility with at least the platform flag
(Linux) or the platform, C compilier, and C++ compiler flags (AIX) as indicated
below.<BR><BR>
<I>Linux:</I> <CODE><FONT face="courier,
monospaced">runConfigure -p linux</FONT></CODE><BR>
<I>AIX:</I> <CODE><FONT face="courier,
monospaced">runConfigure -p aix -c xlc_r -x xlC_r</FONT></CODE><BR><BR>
+ <I>HP-UX 11:</I> <CODE><FONT face="courier,
monospaced">runConfigure -p hp-11 -c cc -x aCC</FONT></CODE><BR><BR>
+ <I>Solaris:</I> <CODE><FONT face="courier,
monospaced">runConfigure -p solaris -c cc -x CC</FONT></CODE><BR><BR>
To see the other runConfigure flags you may include, use the help
flag:<BR><BR>
<CODE><FONT face="courier,
monospaced">runConfigure -h</FONT></CODE><BR><BR></LI>
<LI>Purge the previous build:<BR><BR>
@@ -215,16 +219,45 @@
setting. You can check the setting of an environment variable with
<B>echo</B> $ENVAR</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR><A name="samples"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Rebuilding a sample application</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
- <P>The Windows32 distribution includes Visual C++ project files for each
of the sample applications. The project files are in the samples subdirectories
along with the source files. If you modify a sample and want to recompile it,
you can recompile the .cpp file(s) and rebuild the executable.</P>
-<P>The make files that come with the Linux and AIX distributions include
targets for rebuilding one or all of the sample applications (with the
exception of the ThreadSafe sample, which in its current form only runs under
Windows). To rebuild one or more sample applications, go to the xml-xalan/c/src
directory and run<BR><BR>
+ <P>The Windows32 distribution includes a Visual C++ workspace for the
sample applications. This workspace is in the samples directory. If you modify
a sample and want to recompile it, you can recompile the .cpp file(s) and
rebuild the executable.</P>
+<P>The make files that come with the UNIX distributions include targets for
rebuilding one or all of the sample applications (with the exception of the
ThreadSafe sample, which in its current form only runs under Windows). To
rebuild one or more sample applications, go to the xml-xalan/c/src directory
and run<BR><BR>
<CODE><FONT face="courier, monospaced">make
<I>targ</I></FONT></CODE><BR><BR>
-where <I>targ</I> is <CODE><FONT face="courier,
monospaced">Samples</FONT></CODE> (all the samples), <CODE><FONT face="courier,
monospaced">CompileStylesheet</FONT></CODE>, <CODE><FONT face="courier,
monospaced">ExternalFunction</FONT></CODE>, <CODE><FONT face="courier,
monospaced">SimpleTransform</FONT></CODE>, <CODE><FONT face="courier,
monospaced">TraceListen</FONT></CODE>, <CODE><FONT face="courier,
monospaced">UseStylesheetParam</FONT></CODE>, or <CODE><FONT face="courier,
monospaced">XPathWrapper</FONT></CODE>.</P>
+where <I>targ</I> is <CODE><FONT face="courier,
monospaced">Samples</FONT></CODE> (all the samples), <CODE><FONT face="courier,
monospaced">XalanTransform</FONT></CODE>, <CODE><FONT face="courier,
monospaced">SimpleTransform</FONT></CODE>, <CODE><FONT face="courier,
monospaced">StreamTransform</FONT></CODE>, <CODE><FONT face="courier,
monospaced">UseStylesheetParam</FONT></CODE>, <CODE><FONT face="courier,
monospaced">TraceListen</FONT></CODE>, <CODE><FONT face="courier,
monospaced">CompileStylesheet</FONT></CODE>, (Windows only) <CODE><FONT
face="courier, monospaced">ThreadSafe</FONT></CODE> <CODE><FONT face="courier,
monospaced">XPathWrapper</FONT></CODE>, <CODE><FONT face="courier,
monospaced">ExternalFunctions</FONT></CODE>,or <CODE><FONT face="courier,
monospaced">ApacheModuleXSLT</FONT></CODE>.</P>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>For information on
rebuilding ApacheModuleXSLT, see <A
href="samples.html#apachemodulexslt">ApacheModuleXSLT</A></I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="contact"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Getting in Touch</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Your feedback is more than welcome. Offers of help are even more so!
Perhaps you would like to contribute to the ongoing development, testing, or
documentation of Xalan-C++.</P>
<P>Please email your comments, questions, suggestions, bug reports, and
offers to help to <A href="mailto:[email protected]">Xalan Development
Mailing List</A>.</P>
- </FONT></TD></TR></TABLE><BR>
+ </FONT></TD></TR></TABLE><BR><A name="history"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Cumulative history of software
changes</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes since Xalan-C++ version 0.40.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>Major updates since version 0.40.0 include:</P>
+<UL>
+<LI>Full support for namespace handling<BR><BR></LI>
+<LI>Full implementation of the format-number() function and support for the
decimal-format element<BR><BR></LI>
+<LI>Integration with the <A
href="http://oss.software.ibm.com/developerworks/opensource/icu/project/index.html"
target="_top">International Components for Unicode (ICU)</A> for number
formatting, sorting, and output encoding<BR><BR></LI>
+<LI>Support for the exclude-result-prefixes attribute<BR><BR></LI>
+<LI>Support for the output encoding attribute</LI>
+</UL>
+</FONT></TD></TR></TABLE><BR>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Changes since Xalan-C++ version 0.30.0</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>Major updates since version 0.30.0 include:</P>
+<UL>
+<LI>Permitting OS file names (as well as URLs) as command-line arguments
with TestXSLT<BR><BR></LI>
+<LI>Stricter compliance for HTML and XML output<BR><BR></LI>
+<LI>Improved handling of relative URI's<BR><BR></LI>
+<LI>Improved handling of Import and Include<BR><BR></LI>
+<LI>Better namespace handling (although there are still problems
here)<BR><BR></LI>
+<LI>Support for Document() function<BR><BR></LI>
+<LI>Support for XPath predicates<BR><BR></LI>
+<LI>Better handling of parameters to stylesheet and templates<BR><BR></LI>
+<LI>Full implementation of axes ( with the exception of namespace::
)<BR><BR></LI>
+</UL>
+</FONT></TD></TR></TABLE><BR>
+
+
+ </FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
All Rights Reserved.
1.6 +81 -7 xml-site/targets/xalan-c/samples.html
Index: samples.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/samples.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- samples.html 2000/10/11 12:04:36 1.5
+++ samples.html 2001/02/20 21:27:52 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,18 +46,21 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#getstarted">Samples to help you get started</A></LI>
+ <LI><A href="#xalantransform">XalanTransform</A></LI>
<LI><A href="#simpletransform">SimpleTransform</A></LI>
+ <LI><A href="#streamtransform">StreamTransform</A></LI>
<LI><A href="#usestylesheetparam">UseStylesheetParam</A></LI>
<LI><A href="#tracelisten">TraceListen</A></LI>
<LI><A href="#compilestylesheet">CompileStylesheet</A></LI>
<LI><A href="#threadsafe">ThreadSafe</A></LI>
<LI><A href="#xpathwrapper">XPathWrapper</A></LI>
<LI><A href="#externalfunctions">ExternalFunctions</A></LI>
+ <LI><A href="#apachemodulexslt">ApacheModuleXSLT</A></LI>
</UL>
<A name="getstarted"><!--anchor--></A>
@@ -76,8 +79,18 @@
</OL>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I> 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
+ files. For the UNIX builds, application executables are in the bin
subdirectory. For the Windows32 build, the
+ application executable is in the build subdirectory
(xml-xalan\c\Build\Win32\VC6\ Debug and Release). To run a sample, be sure the
executable is on the path, and run it from the samples subdirectory
that contains the input files.</I></FONT></TD></TR></TABLE>
+ </FONT></TD></TR></TABLE><BR><A name="xalantransform"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>XalanTransform</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>What it does: XalanTransform uses the XalanTransformer class and the
associated C++ API to apply an XSL stylesheet file to an XML document file and
write
+ the transformation output to either an output file or to a stream.
XalanTransform takes command-line
+ arguments for the XML document to be transformed, the XSL stylesheet to
apply, and an optional output file argument. If you omit
+ the third argument, XalanTransform writes the transformation output to a
stream that is sent to standard out (the screen).</P>
+ <P>You can run XalanTransform from the XalanTransform subdirectory
with</P>
+ <P><CODE><FONT face="courier, monospaced">XalanTransform foo.xml foo.xsl
foo.out</FONT></CODE></P>
+ <P>Omit the third argument to write the transformation result to the
screen. See also: <A href="usagepatterns.html#xalantransformer">Using the
XalanTransformer class.</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="simpletransform"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>SimpleTransform</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>What it does: The SimpleTransform class uses the foo.xsl stylesheet
to transform foo.xml, and writes the
@@ -86,6 +99,12 @@
<P><CODE><FONT face="courier,
monospaced">SimpleTransform</FONT></CODE></P>
<P>See also: <A href="usagepatterns.html#basic">Basic procedures for
performing XSL
transformations</A>.</P>
+ </FONT></TD></TR></TABLE><BR><A name="streamtransform"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>StreamTransform</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>What it does: The StreamTransform class processes character input
streams containing a stylesheet and an XML document, and
+ writes the transformation output to a character output stream. This
sample illustrates the process for working with stylesheets and documents that
you assemble in memory.</P>
+ <P>You can run it from the SimpleTransform subdirectory with</P>
+ <P><CODE><FONT face="courier,
monospaced">StreamTransform</FONT></CODE></P>
</FONT></TD></TR></TABLE><BR><A
name="usestylesheetparam"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>UseStylesheetParam</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>What it does: Set a stylesheet parameter that the stylesheet uses
during the transformation.</P>
@@ -162,7 +181,7 @@
<P>Run this sample from the XPathWrapper subdirectory with</P>
<P>Windows:<BR>
<CODE><FONT face="courier, monospaced">TestDriver <I>XMLFile
ContextNode XPathExpression</I></FONT></CODE></P>
- <P>Linux or AIX:<BR>
+ <P>UNIX:<BR>
<CODE><FONT face="courier, monospaced">XPathWrapper
<I>XMLFile ContextNode XPathExpression</I></FONT></CODE></P>
<P>where <I>XMLFile</I> is an XML source file, <I>ContextNode</I> is the
location path to the context
node, and <I>XPathExpression</I> is an XPath expression to apply to
that context node. The XPathWrapper
@@ -177,12 +196,12 @@
<P>You can try command lines like</P>
<P>Windows:<BR>
<CODE><FONT face="courier, monospaced">TestDriver foo.xml
/doc name/@last</FONT></CODE></P>
- <P>Linux or AIX:
+ <P>UNIX:<BR>
<CODE><FONT face="courier, monospaced">XPathWrapper foo.xml
/doc name/@last</FONT></CODE></P>
<P>and</P>
<P>Windows:<BR>
<CODE><FONT face="courier, monospaced">TestDriver foo.xml /
'//name[position()="4"]/@first'</FONT></CODE></P>
- <P>Linux or AIX:<BR>
+ <P>UNIX:<BR>
<CODE><FONT face="courier, monospaced">XPathWrapper foo.xml
/ '//name[position()="4"]/@first'</FONT></CODE></P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If an XPathWrapper
argument includes characters (such as *) that the shell intercepts, enclose the
argument
in double quotes.</I></FONT></TD></TR></TABLE>
@@ -197,6 +216,61 @@
<P>Run this sample from the ExternalFunctions subdirectory with</P>
<P><CODE><FONT face="courier,
monospaced">ExternalFunctions</FONT></CODE></P>
<P>See also: <A href="extensions.html">Extension Functions</A>.</P>
+ </FONT></TD></TR></TABLE><BR><A name="apachemodulexslt"><!--anchor--></A>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>ApacheModuleXSLT</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+ <P>What it does: runs as an Apache module on an Apache Web server;
performs transformations and returns the output to a Web
+ browser. You configure Apache to respond to a given URL request for an
output file (html or txt file in the configuration below)
+ by applying an xsl stylesheet file to an xml document file (both with the
specified name in a given location) and returning
+ the transformation output to the client.</P>
+ <P>This sample also illustrates use of the XalanTransformer class and the
C API defined in src/XalanTransformer/XalanCAPI.h. It returns
+ transformation output in blocks to a callback function, which enables the
browser to start displaying the result before the transformation
+ has been completed.</P>
+ <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>
+ <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>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.</I></FONT></TD></TR></TABLE>
+ <P>To build (or rebuild) the Apache module, follow the instructions in <A
href="readme.html#win32">Steps for doing a Windows
+ build</A> or <A href="readme.html#unix">Steps for doing a UNIX build</A>.
For UNIX platforms, you do the build with<BR>
+ <CODE><FONT face="courier, monospaced">make
ApacheModuleXSLT</FONT></CODE>.</P>
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Setting up and using ApacheModuleXSLT</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+ <P>To use ApacheModuleXSLT, do the following:</P>
+ <OL>
+ <LI>(UNIX only) Be sure the Xalan and Xerces libraries are on your
library path (you can accomplish this by copying them to
+ /usr/lib; see <A href="getstarted.html#path">Setting up the path/library
path</A>), and copy the Apache module to
+ /usr/lib/apache.<BR><BR></LI>
+ <LI>Add LoadModule and (UNIX only) AddModule entries to the Apache
configuration file: httpd.conf.<BR><BR>
+ Windows: <CODE><FONT face="courier, monospaced">LoadModule mod_xslt
xml-xalan\c\Build\Win32\VC6\Release\ApacheModuleXSLT.dll</FONT></CODE><BR><BR>
+ UNIX: <CODE><FONT face="courier, monospaced">AddModule
mod_xslt.c</FONT></CODE><BR>
+ and<BR>
+ <CODE><FONT
face="courier, monospaced">LoadModule mod_xslt
/usr/lib/apache/mod_xslt.<I>xx</I></FONT></CODE><BR><BR>
+ where <I>xx</I> is the appropriate library suffix for the UNIX platform
("so" or "a").<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><FONT face="courier, monospaced"><Location
/xslt></FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">AddHandler
.html</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">AddHandler
.txt</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"></Location></FONT></CODE><BR><BR>
+ This <Location> element instructs the module to respond to
requests for <I>xxx</I>.html and <I>xxx</I>.txt files in the
+ in the xslt subdirectory (under the document root; see next item) by
applying the <I>xxx</I>.xsl stylesheet to <I>xxx</I>.xml
+ (both in that directory) and returning the transformation result to the
browser.<BR><BR>
+ For example, a request for foo.html instructs the module to apply
foo.xsl to foo.xml and return the result.<BR><BR>
+ Note: It is up to the stylesheet to apply the appropriate xsl:output
method to the output. Whether the user specifies html or txt is, of
+ itself, immaterial.<BR><BR></LI>
+ <LI>Put xml/xsl file pairs in the <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
(foo.xml/xsl, apachemod.xml/xsl).<BR><BR></LI>
+ <LI>Start the Apache server.<BR><BR></LI>
+ <LI>From a Web browser, call the module with a URL as follows:<BR>
+ <CODE><FONT face="courier,
monospaced">http://<I>serverName</I>/xslt/<I>xxx</I>.html</FONT></CODE><BR>
+ where <I>serverName</I> is the Apache server (such as www.myServer.com)
and <I>xxx</I> 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><FONT face="courier,
monospaced">http://www.myServer.com/xslt/apachemod.html</FONT></CODE><BR>
+ instructs ApacheModuleXSLT to apply the apachemod.xsl stylesheet to the
apachemod.xml XML document (both files in the xslt directory under the
+ Apache DocumentRoot directory) and return the transformation result to
the browser.</LI>
+ </OL>
+ </FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0"
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1"
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT
color="#0086b2" size="-1"><I>
Copyright © 2000 The Apache Software Foundation.
1.6 +146 -29 xml-site/targets/xalan-c/usagepatterns.html
Index: usagepatterns.html
===================================================================
RCS file: /home/cvs/xml-site/targets/xalan-c/usagepatterns.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- usagepatterns.html 2000/10/11 12:04:36 1.5
+++ usagepatterns.html 2001/02/20 21:27:52 1.6
@@ -6,7 +6,7 @@
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
- <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.0" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
+ <A href="index.html" onMouseOut="rolloverOff('side-index');"
onMouseOver="rolloverOn('side-index');"><IMG alt="Xalan-C++ 1.1" border="0"
height="12" hspace="0" name="side-index"
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
@@ -46,20 +46,20 @@
<A href="http://xml.apache.org/bugs/"
onMouseOut="rolloverOff('side-ext-46');"
onMouseOver="rolloverOn('side-ext-46');"><IMG alt="Bug reporting" border="0"
height="12" hspace="0" name="side-ext-46"
onLoad="rolloverLoad('side-ext-46','graphics/ext-46-label-2.jpg','graphics/ext-46-label-3.jpg');"
src="graphics/ext-46-label-3.jpg" vspace="0" width="120"></A><BR>
-<IMG border="0" height="6" hspace="0" src="resources/separator.gif"
vspace="0" width="120"><BR>
-
+<A href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c"
onMouseOut="rolloverOff('side-ext-48');"
onMouseOver="rolloverOn('side-ext-48');"><IMG alt="Testing" border="0"
height="12" hspace="0" name="side-ext-48"
onLoad="rolloverLoad('side-ext-48','graphics/ext-48-label-2.jpg','graphics/ext-48-label-3.jpg');"
src="graphics/ext-48-label-3.jpg" vspace="0" width="120"></A><BR>
+
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0"
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE
border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#intro">Introduction</A></LI>
+<LI><A href="#xalantransformer">Using the XalanTransformer class</A></LI>
<LI><A href="#basic">Basic procedure for performing XSL
transformations</A></LI>
<LI><A href="#dom">Working with DOM input and output</A></LI>
<LI><A href="#params">Setting stylesheet parameters</A></LI>
<LI><A href="#compiled">Compiling stylesheets</A></LI>
<LI><A href="#xpath">Working with XPath expressions</A></LI>
-<LI><A href="#extensions">Creating and using extension functions</A></LI>
<LI><A href="#tracelistener">Using the TraceListener</A></LI>
<LI><A href="#icu">Using the International Components for Unicode
(ICU)</A></LI>
-
+<LI>See also: <A href="extensions.html">Creating and using extension
functions</A></LI>
</UL><A name="intro"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Introduction</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
@@ -68,6 +68,126 @@
<P>Xalan-C++ uses Xerces-C++ to parse text input, performs the
transformation, and sends the output to an instance of <A
href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</A>, which may be
configured to write to a file, a stream, or a DOM tree.</P>
<P>For detailed API documentation, see <A
href="apidocs/index.html">Xalan-C++ API</A>. For an overview of the
command-line utility, see <A href="commandline.html">Command-Line
Utility</A>.</P>
+</FONT></TD></TR></TABLE><BR><A name="xalantransformer"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Using the XalanTransformer class</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
+<P>Xalan-C++ 1.1 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>
+<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD
valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0"
src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT
color="#000000" face="arial,helvetica,sanserif" size="-1"><I>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.</I></FONT></TD></TR></TABLE>
+<UL>
+ <LI><A href="#cpp">Basic usage pattern with the XalanTransformer C++
API</A></LI>
+ <LI><A href="#cppvar">Variations with the XalanTransformer C++
API</A></LI>
+ <LI><A href="#capi">Basic usage pattern with the XalanTransformer C
API</A></LI>
+ <LI><A href="#cvar">Variations with the XalanTransformer C API</A></LI>
+</UL><A name="cpp"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Basic usage patten with XalanTransformer C++
API</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>Using XalanTransformer and the C++ API, you can perform one or more
transformations as follows:</P>
+<OL>
+ <LI>Include the PlatformUtils and XalanTransformer header files.<BR>
+ <CODE><FONT face="courier, monospaced">#include
<util/PlatformUtils.hpp></FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">#include
<XalanTransformer/XalanTransformer.hpp></FONT></CODE><BR><BR></LI>
+ <LI>Initialize Xerces and Xalan.<BR>
+ <CODE><FONT face="courier,
monospaced">XMLPlatformUtils::Initialize();</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced">XalanTransformer::initialize();</FONT></CODE><BR><BR></LI>
+ <LI>Create a XalanTransformer.<BR>
+ <CODE><FONT face="courier, monospaced">XalanTransformer
theXalanTransformer;</FONT></CODE><BR><BR></LI>
+ <LI>Use one of the XalanTransformer transform() methods to perform each
transformation. For example:<BR>
+ <CODE><FONT face="courier, monospaced">const char* xmlIn =
"foo.xml";</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">const char* xslSheet =
"foo.xsl";</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">const char* xmlOut =
"foo.out";</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">int theResult = 0;</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">theResult =</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"> theXalanTransformer.transform(xmlIn,xslSheet,xmlOut);</FONT></CODE><BR><BR></LI>
+ <LI>Shut down Xalan and (optionally) Xerces.<BR>
+ <CODE><FONT face="courier,
monospaced">XalanTransformer::terminate();</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced">XMLPlatformUtils::Terminate();</FONT></CODE></LI>
+</OL>
+</FONT></TD></TR></TABLE><BR><A name="cppvar"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Variations with the XalanTransformer C++ API</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<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
+<A href="samples.html#xalantransform">XalanTransform</A> sample.</P>
+<P>Transform an XML file with a stylesheet processing instruction to an
output file.</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+transform(const char* xmlInFile,
+ const char* xmlOutFile);</PRE></FONT></TD><TD bgcolor="#0086b2"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></DIV>
+<P>Transform from files to an output stream:</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+transform(const char* xmlInFile,
+ const char* xslFile,
+ ostream& resultOutStream);</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+<P>Transform from input streams to an output stream:</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+transform(istream& xmlInStream,
+ istream& xslInStram,
+ ostream& resultOutStream);</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+<P>Transform an input stream that contains the XML input with a stylesheet
processing instruction to an output stream.</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+transform(istream& xmlInStream,
+ ostream& resultOutStream);</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+
+<P>Transform from files to an output handler that receives the output in
blocks. </P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+transform(const char* xmlInFile,
+ const char* xslFile,
+ const void* theOutputHandle,
+ XalanOutputHandlerType theOutputHandler
+ XalanFlushHanderType theFlushHandler = 0);</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+<P>The transform() method that the other transform() methods all call:</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+transform( const XSLTInputSource& xmlInput,
+ const XSLTInputSource& xslStylesheet,
+ const XSLTResultTarget&
transformResult);</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+
+</FONT></TD></TR></TABLE><BR><A name="capi"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Basic XalanTransformer usage pattern with the C
API</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>We also include a simple C interface for using the XalanTransformer
class. See XalanTransformer/XalanCAPI.h in the source tree.
+The <A href="samples.html#apachemodulexslt">ApacheModuleXSLT</A> sample
illustrates the use of this C API.</P>
+<P>Basic strategy:</P>
+<OL>
+ <LI>Include the XalanTransformer C API header.<BR>
+ <CODE><FONT face="courier, monospaced">#include
<XalanTransformer/XalanCAPI.h></FONT></CODE><BR><BR></LI>
+ <LI>Initialize Xalan and Xerces.<BR>
+ <CODE><FONT face="courier,
monospaced">XalanInitialize();</FONT></CODE><BR><BR></LI>
+ <LI>Create a Xalan transformer.<BR>
+ <CODE><FONT face="courier, monospaced">XalanHandle xalan =
NULL;</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">xalan =
CreateXalanTransformer();</FONT></CODE><BR><BR></LI>
+ <LI>Perform each transformation. For example:<BR>
+ <CODE><FONT face="courier, monospaced">char * xmlfilename =
"foo.xml";</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">char xslfilename =
"foo.xsl";</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">char outfilename =
"foo.out";</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">int theResult = 0;</FONT></CODE><BR>
+ <CODE><FONT face="courier, monospaced">theResult =
XalanTransformToFile(xmlfilename,</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"> xslfilename,</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"> outfilename,</FONT></CODE><BR>
+ <CODE><FONT face="courier,
monospaced"> xalan);</FONT></CODE><BR><BR></LI>
+ <LI>Shut down Xalan.<BR>
+ <CODE><FONT face="courier, monospaced">XalanTerminate();</FONT></CODE></LI>
+</OL>
+<P>If the XML input file contains a stylesheet processing instruction that
you want to use, include an empty string ("") for the xslfilename
argument.</P>
+</FONT></TD></TR></TABLE><BR><A name="cvar"><!--anchor--></A>
+<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>Variations with the XalanTransformer C API</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
+<P>The C API supports basically the same options as the C++ API.</P>
+<P>Transform from files to a character array:</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+XalanTransformToData(const char* xmlInFile,
+ const char* xslFile,
+ const char** transformOutput,
+ XalanHandle xalan);</PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+<P>If the XML input contains a stylesheet processing instruction that you
want to use, include an empty string ("") for the xslFile
argument.</P>
+<P>After calling XalanTransformToData(), call XalanFreeData() with the
address of the pointer to the character array:</P>
+<P><CODE><FONT face="courier,
monospaced">XalanFreeData(transformOutput);</FONT></CODE></P>
+<P>Transform to a callback function that receives the output in blocks (see
the <A href="samples.html#apachemodulexslt">ApacheModuleXSLT</A> sample).</P>
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>int
+XalanTransformToHandler(const char* xmlInFile,
+ const char* xslFile,
+ XalanHandle xalan,
+ const void* outputHandle,
+ XalanOutputHandlerType outputHandler,
+ XalanFlushHandlerType
flushHandler);</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
+</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="basic"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Basic procedure for performing an XSL
transformation</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>When you are setting up your application to use XSL stylesheets to
transform XML documents, you must do the following:</P>
@@ -75,7 +195,8 @@
<P>Always start with Include/PlatformDefinitions.hpp, the Xalan-C++ base
header file. Along with any additional Xalan-C++ and other header files that
are required for the particular application, be sure to include
utils/PlatformUtils.hpp from the Xerces-C++ distribution.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>2. Initialize Xalan and Xerces</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="482"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P>Use the static initializers to initialize the Xalan-C++ and Xerces-C++
platforms. You only need to do this once per session.</P>
+<P>Use the static initializers to initialize the Xalan-C++ and Xerces-C++
platforms. You must initialize Xerces-C++ once per process. You may
+initialize and terminate Xalan-C++ multiple times, but this is not
recommended: it is inefficient and is not thread safe.</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>XMLPlatformUtils::Initialize();
XSLTInit theInit;</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
</FONT></TD></TR></TABLE><BR><A name="step3"><!--anchor--></A>
@@ -127,7 +248,7 @@
XSLTInputSource theStylesheetSource(c_wstr(theXSLFileName));
// For the output, create an XSLTResultTarget object.
-const XalanDOMString theOutputFile("foo.out");
+const XalanDOMString theOutputFile("foo.out");
XSLTResultTarget theResultTarget(theOutputFile);
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>For the other constructors you can use to set up input and output objects
(with input and output streams, for example), see <A
href="apidocs/class_xsltinputsource.html">XSLTInputSource</A> and <A
href="apidocs/class_xsltresulttarget.html">XSLTResultTarget</A>. See also <A
href="#dom">Working with
@@ -143,11 +264,11 @@
theConstructionContext,
theExecutionContext);</PRE></FONT></TD><TD bgcolor="#0086b2"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></DIV>
<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>The support objects store running state information, so they are not
thread safe. To perform multiple transformations, create a new instance for
each transformation, or call the StylesheetExecutionContext 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 <A href="#compiled">Compiling
stylesheets</A>.</P>
</FONT></TD></TR></TABLE><BR>
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0"
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0"
width="2"><B>7. Shut down Xerces.</B></FONT></TD><TD bgcolor="#017299"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
-<P>When you are done performing transformations, shut down Xerces.</P>
+<P>When you are done performing transformations, shut down Xerces. Once you
have shut down Xerces, you can no longer make Xalan or Xerces call in that
process.</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>// Call the static terminator for Xerces.
XMLPlatformUtils::Terminate();
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1"
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
@@ -155,7 +276,7 @@
</FONT></TD></TR></TABLE><BR>
</FONT></TD></TR></TABLE><BR><A name="dom"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Working with DOM input and output</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
-<P>You can set up an XSLTResultTarget to produce a DOM when you perform a
transformation. You can also use a DOM as input for a transformation, either
the DOM output of another transformation, or a DOM produced by the Xerces
DOMParser.</P>
+<P>You can set up an XSLTResultTarget to produce a DOM when you perform a
transformation. You can also use a DOM as input for a transformation.</P>
<P>The following code fragments illustrate the procedures for working with
DOM input and output:</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>
@@ -199,8 +320,8 @@
</FONT></TD></TR></TABLE><BR><A name="compiled"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Compiling stylesheets</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>When Xalan-C++ performs a transformation with the <A
href="#process">XSLTEngineImpl process() method used above</A>, it starts by
compiling the stylesheet into a binary representation. If you intend to use the
same stylesheet to perform multiple transformations, you can enhance efficiency
by explicitly compiling the stylesheet and using another XSLTEngimeImpl
process() method for each transformation. A compiled stylesheet (a <A
href="apidocs/class_stylesheetroot.html">StylesheetRoot</A> object) is thread
safe, so it even supports concurrent access by multiple clients. If, for
example, you are setting up a server application to perform transformations,
you can improve performance by compiling any stylesheets the application
repeatedly uses.</P>
-<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>
+<P>A compiled stylesheet requires its own XPath factory support object,
independent of the XPath support object for an XSLT processor. So after you
have set up the XSLT processor with its support objects, set up another XPath
+factory support object and use it to create a construction context for the
stylesheet:</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>// Set up the XSLT processor with its support
objects
XercesDOMSupport theDOMSupport;
XercesParserLiaison theParserLiaison(theDOMSupport);
@@ -277,7 +398,7 @@
</FONT></TD></TR></TABLE><BR><A name="xpath"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Working with XPath expressions</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>XSL stylesheets use XPath expressions to select nodes, specify
conditions, and generate text for the result tree. XPath provides an API that
you can call directly. For example, you may want to select nodes
programmatically and do your own processing without a stylesheet.</P>
-<P>For an example that executes XPath expressions against XML source files,
see <A href="samples.html#xpath">XPathWrapper</A>.</P>
+<P>For an example that executes XPath expressions against XML source files,
see <A href="samples.html#xpathwrapper">XPathWrapper</A>.</P>
</FONT></TD></TR></TABLE><BR><A name="tracelistener"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0"
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif"
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif"
vspace="0" width="2"><B>Using TraceListener</B></FONT></TD><TD
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299"
height="1" width="492"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>TraceListener is a debugging abstract base class implemented by
TraceListenerDefault. You can use TraceListener to trace any combination of the
following:</P>
@@ -298,17 +419,13 @@
<BR> Xerces-C++ and Xalan-C++ use UTF-16 encoding to work with Unicode
data.
If you integrate the ICU with Xerces-C++, both Xerces-C++ and
Xalan-C++ use ICU support for
UTF-16 encoding.<BR><BR></LI>
- <LI><B>xsl:number element</B>
- <BR>Both Xalan-C++ and the ICU provide a complete implementation for
- xsl:number.<BR><BR></LI>
<LI><B>format-number()</B>
<BR>This XSLT function includes two or three arguments (the third is
optional): number, format pattern, and decimal-format name. Xalan-C++
ignores the format
pattern and optional decimal-format name. If you install ICU support
for format-number(),
this function is fully supported with all its arguments.<BR><BR></LI>
<LI><B>xsl:sort</B>
- <BR>If you install ICU support for xml:sort, Xalan-C++ applies the
Unicode sorting
- algorithm.</LI>
+ <BR>If you install ICU support for xml:sort, Xalan-C++ implements
Unicode-style collation.</LI>
</UL>
<P>To get the ICU:</P>
@@ -336,7 +453,7 @@
<LI>Include the ICUBridge headers.<BR><BR></LI>
<LI>Substitute ICU support for format-number(), xsl:number, and/or
xsl:sort.<BR><BR></LI>
<LI>Windows: Provide your application access to the ICUBridge
library.<BR>
- Linux or AIX: Rebuild the Xalan library to include the ICUBridge.</LI>
+ Linux, AIX, or HP-UX 11: Rebuild the Xalan library to include the
ICUBridge.</LI>
</OL>
<P><B>ICUBridge</B></P>
<P>All Xalan-C++ references to ICU are centralized in the ICUBridge
module, which supplies the
@@ -346,20 +463,20 @@
#include <ICUBridge/ICUXalanNumberFormatFactory.hpp>
#include
<ICUBridge/ICUBridgeCollationCompareFunctor.hpp></PRE></FONT></TD><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2"
height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P>For Windows be sure ICUBridge.dll,the ICUBridge library, is on the
path.</P>
- <P>For Linux, rebuild libxalan-c1_0.so with XALAN_USE_ICU defined, and
place it on the shared library path
+ <P>For Linux, rebuild libxalan-c1_1.so 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 libxalan-c1_0.so/libxalan-c1_0.a with XALAN_USE_ICU
defined, and place it on the load library
- path (LIB_PATH) or copy it to /usr/lib.</P>
+ <P>For AIX, rebuild libxalan-c1_1.a with XALAN_USE_ICU defined, and
place it on the load library
+ path (LIBPATH) or copy it to /usr/lib.</P>
+ <P>For HP-UX 11, rebuild libxalan-c1_1.sl 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 libxalan-c1_1.so with XALAN_USE_ICU defined, and
place it on the shared library
+ path (LD_LIBRARY_PATH) or copy it to /usr/lib.</P>
+
<P><B>Number formatting</B></P>
- <P>To enable ICU support for the xsl:number element and the XSLT
format-number() function, do
+ <P>To enable ICU support for the XSLT format-number() function, do
the following:</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>// Install ICU support for the format-number()
function.
-FunctionICUFormatNumber::FunctionICUFormatNumberInstaller theInstaller;
-
-// Create and install a factory for using the ICU for xsl:number.
-ICUXalanNumberFormatFactory theXalanNumberFormatFactory;
-StylesheetExecutionContextDefault::installXalanNumberFormatFactory
-
(&theXalanNumberFormatFactory);</PRE></FONT></TD><TD bgcolor="#0086b2"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1"
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif"
vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE></DIV>
+FunctionICUFormatNumber::FunctionICUFormatNumberInstaller
theInstaller;</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
<P><B>Sorting</B></P>
<P>To enable ICU support for xsl:sort, do the following:</P>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4"
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0"
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2"
height="1" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff"
width="462"><FONT size="-1"><PRE>// Set up a StylesheetExecutionContextDefault
object