blob: 7f0cc06a79e5bf7df0d668c11a8395473af0eb73 [file] [log] [blame]
<?xml version="1.0" ?>
<!DOCTYPE faqs SYSTEM "./dtd/faqs.dtd">
<faqs title="Distributing &XercesCName;">
<faq title="What are the differences between Xerces-C and XML4C?">
<q>What are the differences between Xerces-C and XML4C?</q>
<p>Xerces-C has intrinsic support for ASCII, UTF-8, UTF-16
(Big/Small Endian), UCS4 (Big/Small Endian), EBCDIC code pages IBM037 and
IBM1140 encodings, ISO-8859-1 (aka Latin1) and Windows-1252. This means that it can parse
input XML files in these above mentioned encodings.</p>
<p>However, if you wish to parse XML files in any other
encodings, say in Shift-JIS, Big5 etc., then you cannot
use Xerces-C. XML4C addresses this need. It combines Xerces-C
and <jump
International Components for Unicode (ICU)</jump> and
provides support for over 100 different encodings.</p>
<p>ICU is also an open source project but is licensed
under the <jump
IBM Public License</jump>. XML4C is published by IBM and
can be downloaded from their <jump
site. The license to use XML4C is simply to comply with
the Apache license (because of Xerces-C) and IBM Public
License (because of ICU).</p>
<p>XML4C binaries are published for Solaris using SunWorkshop
compiler, HPUX 10.20 and 11.0 using CC and aCC, Redhat
Linux using gcc, Windows NT using MSVC, AIX using xlC.</p>
<faq title="Which DLL's do I need to distribute with my application?">
<q>Which DLL's do I need to distribute with my application?</q>
<p>As mentioned above, there are two configurations in
which Xerces-C binaries are shipped. One is from the <jump
site</jump>, while the other is from IBM
published at <jump
Alphaworks Site</jump>.</p>
<p>If you are using the binaries from the <jump
href="">Apache download
site</jump> site, then you only need to distribute
<em>one</em> file:<br></br>
&XercesCWindowsLib;.dll for Windows NT/95/98, or<br/>
&XercesCUnixLib;.a for AIX, or<br/>
&XercesCUnixLib;.so for Solaris/Linux, or<br/>
&XercesCUnixLib;.sl for HP-UX.</p>
<p>However, if you are using the XML4C binaries then in
<em>addition</em> to the &XercesCName; library file
mentioned above, you also need to ship:</p>
<li><em>ICU shared library file</em>:<br></br>
icuuc.dll for Windows NT/95/98, or<br></br>
libicu-uc.a for AIX, or<br></br> for Solaris/Linux, or<br></br> for HP-UX.</li>
<li><em>ICU converter data shared library file:</em><br></br>
icudata.dll for Windows NT/95/98, or<br></br>
libicudata.a for AIX, or<br></br> for Solaris/Linux, or<br></br> for HP-UX.</li>
<faq title="How do I package the sources to create a binary drop?">
<q>How do I package the sources to create a binary drop?</q>
<p>You have to first compile the sources inside your IDE to
create the required DLLs and EXEs. Then you need to copy
over the binaries to another directory for the binary
drop. A perl script has been provided to give you a jump
start. You need to install perl on your machine for the script to work.
If you have changed your source tree, you have to modify the script to suit
your current directory structure. To invoke the
script, go to the \&lt;&XercesCProjectName;&gt;\scripts directory, and type:</p>
<p>You will get a message that somewhat looks like this (changes always happpen,
we are evolving you see!): </p>
<source>Usage is: packageBinaries &lt;options&gt;
options are: -s &lt;source_directory&gt;
-o &lt;target_directory&gt;
-c &lt;C compiler name&gt; (e.g. gcc or xlc_r)
-x &lt;C++ compiler name&gt; (e.g. g++ or xlC_r)
-m &lt;message loader&gt; can be 'inmem', 'icu' or 'iconv'
-n &lt;net accessor&gt; can be 'fileonly' or 'libwww'
-t &lt;transcoder&gt; can be 'icu' or 'native'
-r &lt;thread option&gt; can be 'pthread' or 'dce' (only used on HP-11)
-h to get help on these commands
Example: perl -s$HOME/xerces-c_1_0_0
-cgcc -xg++ -minmem
-nfileonly -tnative</source>
<p>Make sure that your compiler can be invoked from the command line and
follow the instructions to produce a binary drop.</p>
<faq title="I do not see binaries for my platform. When will they be available?">
<q>I do not see binaries for my platform. When will they be available?"></q>
<p>The reason why you see binaries only for some specific
platforms is that we have had the maximum requests for
them. Moreover, we have limited resources and hence cannot
publish binaries for every platform. If you wish to
contribute your time and effort in building binaries for a
specific platform/environment then please send a mail to
We can definitely use any extra help in this open source
<faq title="When will a port to my platform be available?">
<q>When will a port to my platform be available?</q>
<p>We would like to see &XercesCProjectName; ported to as
many platforms as there are. Again, due to limited resources
we cannot do all the ports. We will help you make this port
happen. Here are some <jump
<p>We strongly encourage you to submit the changes that
are required to make it work on another platform. We will
incorporate these changes in the source code base and make
them available in the future releases.</p>
<p>All porting changes may be sent to: <jump
<faq title="How can I port &XercesCProjectName; to my favourite platform?">
<q>How can I port &XercesCProjectName; to my favourite platform?</q>
<p>Some porting information is mentioned on the <jump
href="build.html#PortingGuide">build</jump> page.</p>
<faq title="What application did you used to create the documentation?">
<q>What application did you used to create the documentation?</q>
<p>We have used an internal XML based application to create the
documentation. The documentation files are all written in XML and the
application, internally codenamed StyleBook, makes use of XSL to transform
it into an HTML document that you are seeing right now.
It is currently available on the
<jump href="">Apache</jump> open source website as
<jump href="">Cocoon</jump>.</p>
<p>The API documentation is created using
<jump href="">DOC++</jump>.</p>
<faq title="Source code for the C++ Builder TreeViewer?">
<q>Can I get the source code for the C++ Builder TreeViewer application?</q>
<p>In view of the numerous requests that we have received for
the TreeViewer sample application (written using C++
Builder), we have decided to make it available as an
independent download from the IBM
<jump href="">AlphaWorks</jump>
portal. The archive to get from the 'Download' page is
''. Please note, this is provided on a
"as-is, no support" basis. This sample works with XML4C 2.3.1
and we have not verified if it works with XML4C 3.x releases.</p>
<p>TreeViewer parses the XML file, using &XercesCProjectName;,
and displays the data as a tree.</p>
<p>We welcome your additional feedback at: &lt;
<jump href="mailto:&XercesCEmailAddress;">&XercesCEmailAddress;</jump>&gt;</p>
<faq title="Can I use &XercesCProjectName; in my product?">
<q>Can I use &XercesCProjectName; in my product?</q>
<p>Yes! Read the license agreement first and if you still
have further questions, then please address them to