source: NonGTP/Xerces/xerces/doc/html/build-other.html @ 358

Revision 358, 65.4 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1<HTML><HEAD><META content="text/html; charset=utf8" http-equiv="Content-Type"><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Building on Other Platforms</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/build-other-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>
2
3 
4<A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
5
6
7
8  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
9
10     <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" 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>
11     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');" src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
12     
13     
14
15
16
17
18  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
19
20     <A href="install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','graphics/install-label-2.jpg','graphics/install-label-3.jpg');" src="graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
21     <A href="http://xml.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','graphics/ext-18-label-2.jpg','graphics/ext-18-label-3.jpg');" src="graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
22     <A href="build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','graphics/build-label-2.jpg','graphics/build-label-3.jpg');" src="graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
23     
24     
25     
26
27  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
28
29     <A href="faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','graphics/faqs-label-2.jpg','graphics/faqs-label-3.jpg');" src="graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
30
31     <A href="samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');" src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
32     
33     
34     
35     
36     
37     
38     
39     
40     
41     
42     
43     
44     
45     
46     
47
48     <A href="api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','graphics/api-label-2.jpg','graphics/api-label-3.jpg');" src="graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
49
50  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
51
52     <A href="ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','graphics/ext-68-label-2.jpg','graphics/ext-68-label-3.jpg');" src="graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
53
54     <A href="program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','graphics/program-label-2.jpg','graphics/program-label-3.jpg');" src="graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
55     
56     
57     
58     
59     
60     
61     
62
63     <A href="migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','graphics/migrate-label-2.jpg','graphics/migrate-label-3.jpg');" src="graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
64     
65     
66  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
67
68  <A href="feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','graphics/feedback-label-2.jpg','graphics/feedback-label-3.jpg');" src="graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
69  <A href="bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','graphics/bug-report-label-2.jpg','graphics/bug-report-label-3.jpg');" src="graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
70  <A href="pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','graphics/pdf-label-2.jpg','graphics/pdf-label-3.jpg');" src="graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR>
71
72  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
73
74   
75<A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','graphics/ext-100-label-2.jpg','graphics/ext-100-label-3.jpg');" src="graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
76
77   
78<A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','graphics/ext-102-label-2.jpg','graphics/ext-102-label-3.jpg');" src="graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR>
79
80
81<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>
82    <A name="iSeries"><!--anchor--></A>
83    <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" 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>Building Xerces-C++ on iSeries (AS/400)</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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
84            <P>The following addresses the requirements and build of
85           Xerces-C++ natively on the iSeries.
86            </P>
87            <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" 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>Building Xerces-C++ library</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
88                <P><B>Requirements:</B></P>
89
90                <UL>
91                    <LI>OS/400 <CODE><FONT face="courier, monospaced">QSHELL</FONT></CODE> interpreter installed (install base option 30, operating system)</LI>
92                    <LI>OS/400 - Portable App Solutions Environment (PASE) installed (install base option 33, operating system)</LI>                   
93                    <LI>iSeries Tools for Developers, PRPQ 5799-PTL (these are the gnu utilities)</LI>       
94                    <LI>For v5: WebSphere Development ToolsSet, 5722-WDS ( installed  option 52, Compiler - ILE C++)</LI>
95                </UL>
96
97                <P><B>Recommendation:</B></P>
98
99                <UL>
100                <LI>There is one option when building the XML4C parser on iSeries.
101                For code page translation, you can use the iSeries
102                native <CODE><FONT face="courier, monospaced">Iconv400</FONT></CODE> support or <CODE><FONT face="courier, monospaced">icu</FONT></CODE> as the transcoder plug in. If you choose ICU, follow the instructions
103                to build the ICU service program with the ICU download. Those instructions
104                are not included here.  We recommend the use of <CODE><FONT face="courier, monospaced">Iconv400</FONT></CODE>.</LI>       
105                </UL>
106
107                <P><B>Setup Instructions:</B></P>
108
109                <UL>
110                <LI>Make sure that you have the requirements installed on your iSeries.
111                We highly recommend that you read the write up that accompanies the
112                iSeries Tools for Developers PRPQ. There are install instructions as well as
113                information about how modules, programs and service programs can be
114                created in Unix-like fashion using gnu utilities. Note that symbolic
115                links are use in the file system to point to actual iSeries <CODE><FONT face="courier, monospaced">*module</FONT></CODE>,
116                <CODE><FONT face="courier, monospaced">*pgm</FONT></CODE> and <CODE><FONT face="courier, monospaced">*srvpgm</FONT></CODE> objects in libraries.</LI>
117
118                <LI>Download the source zip file (NT version) directly to an iSeries IFS directory
119                    after creating a directory  (eg. /XML4Cxxx) and then extract       
120                    the source using a mapped drive. To do this, from Windows Explorer,
121                    select Tools -&gt; Map Network Drive.  Then select an available drive (e.g. F:) and
122                    specify an iSeries system you want to extract the zip file to
123                    (e.g. \\&lt;your iSeries name&gt;\root).  Click on Finish.   Then find the .zip file
124                    and right click on it and select Extract To ...
125                    Then select the files you want to extract to the iSeries system.</LI>
126
127                 <LI>Create iSeries target library. This library will be the target
128                     for the resulting modules and Xerces-C++ service program. You will
129                     specify this library on the OUTPUTDIR environment variable
130                     in step 4.</LI>
131
132                 <LI>Set up the following environment variables in your build process
133                     (use <CODE><FONT face="courier, monospaced">ADDENVVAR</FONT></CODE> or <CODE><FONT face="courier, monospaced">WRKENVVAR CL</FONT></CODE> commands):</LI>
134                 </UL>
135<DIV align="left"><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>
136XERCESCROOT - &lt;the full path up to the Xerces-C++ src directory, but not including 'src'&gt;
137MAKE   - '/qibm/proddata/developertools/qsh/bin/gmake'
138OUTPUTDIR  - &lt;identifies target iSeries library for *module, *pgm and *srvpgm objects&gt;
139PATH   - '/usr/bin:/qibm/proddata/developertools/qsh/bin'
140ICUROOT - (if using ICU)  &lt;the path of your ICU installation&gt;
141</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>
142
143                <UL>
144                <LI>For v4r5m0 systems, add QCXXN, to your build process library list.
145                    This results in the resolution of CRTCPPMOD used by the icc compiler.</LI>
146                 </UL>
147
148         <P>You may want to put the environment variables and library list
149            setup instructions in a <CODE><FONT face="courier, monospaced">CL</FONT></CODE> program so you will not forget these steps
150            during your build.</P>
151
152         <P><B>Configure</B></P>
153
154         <P>To configure the make files for an iSeries build do the following under Qsh:</P>
155<DIV align="left"><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>qsh:
156cd &lt;full path to Xerces-C++&gt;/src/xercesc
157edit runConfigure and comment out the line:
158        getoptErr=`getopt p:c:x:dm:n:t:r:b:l:z:P:C:h $*`
159runConfigure -p os400 -x icc -c icc -m inmem -t Iconv400 -r none</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>
160
161         <P>Troubleshooting:</P>
162<DIV align="left"><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>error: configure: error: installation or configuration problem:
163C compiler cannot create executables.</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>
164
165         <P>If during runConfigure you see the above error message, it
166         can mean one of a few things. Either QCXXN is not on your library
167         list <B>OR</B> the <CODE><FONT face="courier, monospaced">runConfigure</FONT></CODE> cannot create the temporary
168         modules (<CODE><FONT face="courier, monospaced">CONFTest1</FONT></CODE>, etc) it uses to test out the compiler
169         options or <CODE><FONT face="courier, monospaced">PASE</FONT></CODE> is not installed. The second reason happens because the test modules already exist
170         from a previous run of <CODE><FONT face="courier, monospaced">runConfigure</FONT></CODE>. To correct the problem,
171         do the following:</P>
172<DIV align="left"><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>CL:
173DLTMOD &lt;OUTPUTDIR library&gt;/CONFT* and
174DLTPGM &lt;OUTPUTDIR library&gt;/CONFT*</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>
175
176        <P><B>Build</B></P>
177                <P>If runConfigure runs fine then do the following under Qsh to actually build the modules:</P>
178<DIV align="left"><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>qsh:
179cd &lt;full path to Xerces-C++&gt;/src/xercesc
180gmake</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>
181
182         <P>The above gmake should result in a service program being created
183         in your specified library and a symbolic link to that service program
184         placed in &lt;path to Xerces-C++/lib&gt;. It is highly possible that the
185         service program will not create however due to number of modules and path names,
186         see trouble shooting for the workaround.</P>
187
188         <P>After the service program has successfully been created and a link established,
189         you can either bind your XML application programs directly to the parser's service program
190         via the <CODE><FONT face="courier, monospaced">BNDSRVPGM</FONT></CODE> option on the <CODE><FONT face="courier, monospaced">CRTPGM</FONT></CODE> or
191         <CODE><FONT face="courier, monospaced">CRTSRVPGM</FONT></CODE> command  or you can specify a binding directory
192         on your <CODE><FONT face="courier, monospaced">icc</FONT></CODE>  command. To specify an archive file to bind to,
193         use the  <CODE><FONT face="courier, monospaced">-L, -l</FONT></CODE> binding options on icc.  An archive file
194         on iSeries is a binding directory.  To create an archive file, use
195         <CODE><FONT face="courier, monospaced">qar</FONT></CODE> command.  (see the iSeries Tools for Developers write up).
196         </P>
197
198         <P>After building the Xerces-C service program, create a binding directory
199         by doing the following (note, this binding directory is used when building
200         the samples.  Also, note that the .a file below can have a different
201         name based on the parser version (using apache xerces versioning)):</P>
202<DIV align="left"><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>qsh:
203cd &lt;full path to Xerces-C++&gt;/lib
204qar -cuv libxerces-c26.0.so *.o
205will results in
206command = CRTBNDDIR BNDDIR(yourlib/libxercesc) TEXT('/yourlib/Xerces-C++/lib/libxerces-c26.0.so')
207command = ADDBNDDIRE BNDDIR(yourlib/libxercesc) OBJ((yourlib/LIBXERCESC *SRVPGM) )</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>
208
209
210         <P><B>Troubleshooting gmake problem:</B></P>
211         <P>Due to the  number of modules (the .o symbolic links)  that make up the
212         service program and the path to get to those modules, the qshell ld request
213         to create the service program will likely fail because the request is too large,
214         you may get a message like the following at the end of the gmake request:</P>
215<DIV align="left"><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>
216FAILURE: spawnp()  with errno = 3491
217GMAKE: vfork: Argument list too long.
218</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>
219
220         <P>If this is the case, you can manually create the service program by doing the following:</P>
221
222<DIV align="left"><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>CL:
223CRTSRVPGM  (&lt;OUTPUTDIR-library&gt;/libxercesc)  MODULE(&lt;OUTPUTDIR-library&gt;/*ALL) EXPORT(*ALL) TEXT('XML4C parser version xxx')
224OPTION(*DUPPROC *DUPVAR *NOWARN) AUT(*USE)
225</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>
226
227         <P>Note that if you manually create the service program you want to make sure that
228         you do not include any CONFT* modules or samples modules in the OUTPUTDIR library.
229         After the service program is manually created you can add a symbolic link to the
230         service program into the appropriate /lib directory by qsh:</P>
231
232<DIV align="left"><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>
233qsh:
234cd &lt;full path to Xerces-C++&gt;/lib
235ln -s /qsys.lib/&lt;outputdir&gt;.lib/libxercesc.srvpgm   libxerces-c26.0.so
236qar -cuv libxerces-c26.0.so *.o
237</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>
238
239         <P>If you are on a v4 system using the ILE C++ PRPQ compiler (which is referred
240         to as the 'old' compiler) you will get compiler errors requiring a few manual changes
241         to the source:</P>
242
243         <UL>
244         <LI>src/xercesc/dom/impl/DOMDocumentImpl.cpp</LI>
245         <LI>src/xercesc/dom/impl/DOMDocumentImpl.hpp</LI>
246         <LI>src/xercesc/dom/deprecated/DocumentImpl.cpp</LI>
247         <LI>src/xercesc/dom/deprecated/DocumentImpl.hpp</LI>
248         <LI>src/xercesc/validators/common/ContentSpecNode.hpp</LI>
249         </UL>
250
251         <P>Update  the following routines in src/xercesc/dom/deprecated/DocumentImpl.cpp as follows:</P>
252<DIV align="left"><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>
253 void DocumentImpl::setUserData(NodeImpl* n, void* data)
254 {
255        if (!userData &amp;&amp; data)
256  #ifdef __OS400__
257                userData = new RefHashTableOf&lt;char&gt;(29, false, new HashPtr());
258  #else
259                userData = new RefHashTableOf&lt;void&gt;(29, false, new HashPtr());
260  #endif
261        if (!data &amp;&amp; userData)
262                userData-&gt;removeKey((void*)n);
263        else
264  #ifdef __OS400__
265                userData-&gt;put((void*)n,(char*)data);
266  #else
267                userData-&gt;put((void*)n,data);
268  #endif
269 }
270
271 void* DocumentImpl::getUserData(NodeImpl* n)
272 {
273        if (userData)
274  #ifdef __OS400__
275                return (void*)userData-&gt;get((void*)n);
276  #else
277                return userData-&gt;get((void*)n);
278  #endif
279        else
280                return null;
281 }
282</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>
283
284         <P>To update src/xercesc/dom/deprecated/DoumentImpl.hpp as follows:</P>
285
286<DIV align="left"><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>
287 #ifdef __OS400__
288        RefHashTableOf&lt;char&gt;              *userData;
289 #else
290
291        RefHashTableOf&lt;void&gt;              *userData;
292 #endif
293</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>
294
295          <P>Update the following routines in src/xercesc/dom/impl/DOMDocumentImpl.cpp as follows:</P>
296<DIV align="left"><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>
297 void DOMDocumentImpl::setUserData(DOMNode* n, void* data)
298 {
299        if (!fUserData &amp;&amp; data)
300 #ifdef __OS400__
301                fUserData = new (this) RefHashTableOf&lt;char&gt;(29, false, new (this) HashPtr());
302 #else
303                fUserData = new (this) RefHashTableOf&lt;void&gt;(29, false, new (this) HashPtr());
304 #endif
305
306        if (!data &amp;&amp; fUserData)
307                fUserData-&gt;removeKey((void*)n);
308        else
309 #ifdef __OS400__
310                fUserData-&gt;put((void*)n,(char*)data);
311 #else
312                fUserData-&gt;put((void*)n,data);
313 #endif
314 }
315
316 void* DOMDocumentImpl::getUserData(const DOMNode* n) const
317 {
318        if (fUserData)
319 #ifdef __OS400__
320                return (void*) fUserData-&gt;get((void*)n);
321 #else
322                return fUserData-&gt;get((void*)n);
323 #endif
324
325        else
326                return 0;
327 }
328</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>
329
330          <P>To update src/xercesc/dom/impl/DOMDocumentImpl.hpp:</P>
331<DIV align="left"><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>
332 #ifdef __OS400__
333    RefHashTableOf&lt;char&gt;        *fUserData;
334 #else
335    RefHashTableOf&lt;void&gt;        *fUserData;
336 #endif
337</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>
338          <P>Update validators/common/ContentSpecNode.hpp removing the following:</P>
339<DIV align="left"><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>
340 #ifndef __OS400__
341 inline
342 #endif
343 ContentSpecNode::~ContentSpecNode()
344</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>
345
346         <P>To build for transcoder ICU:</P>
347         <OL>
348          <LI>Make sure you have an <CODE><FONT face="courier, monospaced">ICUROOT</FONT></CODE> path set up so that you can
349          find the ICU header files (usually <CODE><FONT face="courier, monospaced">/usr/local</FONT></CODE>)</LI>
350          <LI>Make sure you have created a binding directory (symbolic link)
351          in the file system so that you can bind the Xerces-C++ service program
352          to the ICU service program and specify that on the <CODE><FONT face="courier, monospaced">EXTRA_LINK_OPTIONS</FONT></CODE>
353          in <CODE><FONT face="courier, monospaced">src/xercesc/Makefile.incl</FONT></CODE> (usually the default is a link
354          in <CODE><FONT face="courier, monospaced">/usr/local/lib</FONT></CODE>).</LI>
355         </OL>
356
357        </FONT></TD></TR></TABLE><BR>
358
359        <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" 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>Building Samples on iSeries</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
360
361          <P>Note that the samples will create programs bind to the BND directory object
362             created by qar referenced above.</P>
363<DIV align="left"><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>qsh
364cd &lt;full path to Xerces-C++&gt;/samples
365runConfigure -p os400 -x icc -c icc
366gmake </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>
367
368        </FONT></TD></TR></TABLE><BR>
369    </FONT></TD></TR></TABLE><BR>
370
371    <A name="Mac"><!--anchor--></A>
372    <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" 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>Building Xerces-C++ on Macintosh</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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
373                <P>The Xerces-C++ Mac port has the key following attributes:
374                </P>
375               
376                <OL>
377                        <LI>Built atop CoreServices APIs and a limited number of Carbon APIs;
378                        supports builds for both Mac OS Classic, Carbon, and Mac OS X systems.
379                        </LI>
380                       
381                        <LI>Has a Mac OS native transcoder that utilizes the built-in Mac OS Unicode
382                        converter [MacOSUnicodeConverter].
383                        </LI>
384                       
385                        <LI>Has two Mac OS native netaccessor classes. The first is based on Carbon and
386                        classic supported URLAccess and may be used in the broadest variety of
387                        configurations [MacOSURLAccess]. The second [MacOSURLAccessCF] is based on
388                        CFURLAccess, which requires either Carbon or Mac OS X CoreServices.framework.
389                        This second NetAccessor is useful in Mac OS X configurations where reliance on
390                        the full Carbon.framework would prohibit execution of the Xerces code in a
391                        remote context that has no access to the GUI.
392                        </LI>
393                       
394                        <LI>Supports builds from Metroworks CodeWarrior, Apple Xcode,
395                        and Mac OS X shell. Projects for Apple Project Builder are still included,
396                        but may not be up to date (you may need to revise the projects to accomodate
397                        recent file additions, deletions, or other changes in Xerces-C++).
398                        </LI>
399                </OL>
400               
401                <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" 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>Using Xerces-C++ with CodeWarrior</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
402
403                        <P><B>Xerces-C++ and CodeWarrior:</B>
404                        </P>
405                       
406                        <P>Xerces-C++ may be built with CodeWarrior under Mac OS Classic or Mac OS X. Since
407                        the Xerces-C++ code contains some files with very long names, and earlier versions
408                        of Mac OS, as well as earlier versions of CodeWarrior, did not support file names
409                        longer than 32 characters, CodeWarrior 8.0 is required. If you are building Xerces-C++
410                        on a Mac OS 9 system, be extremely carefull in how to unpack and/or transfer the Xerces-C++
411                        files to that system, to ensure that their file names are not trancated in the process.
412                        </P>
413                       
414                        <P><B>Installing Xerces-C++ for use with CodeWarrior:</B>
415                        </P>
416                       
417                        <P>Note: versions of CodeWarrior prior to 8.0 did not support HFS+ long file names,
418                        and thus required special steps to alter the file names prior to use. This restriction
419                        has been removed for CodeWarrior 8.0, and the projects now directly reference the unaltered
420                        source tree. The project files in this release require CodeWarrior v8.0 or higher.
421                        </P>
422                       
423                        <P>It is extemely important to ensure that you retrieve and unpack the sources
424                        with a tool that does not truncate file names. The command line gnutar utility on Mac
425                        OS X will do the right thing; older versions of StuffIt truncate names to 31 characters as
426                        they unpack tar archives, though versions &gt;= 7.0.1 seem to work, at least on Mac OS X.
427                        The command line tool tar will truncate path names that get too long; gnutar should be
428                        used instead. Failure to heed these warnings will result in broken projects.
429                        </P>
430                       
431                        <P><B>Building Xerces-C++ with CodeWarrior:</B>
432                        </P>
433               
434                        <UL>
435                                <LI>Run CodeWarrior (requires CodeWarrior 8.0 with support for long file names).
436                                </LI>
437                               
438                                <LI>Import the project Projects/MacOS/CodeWarrior/XercesLib/XercesLib.mcp.xml,
439                                saving it back out to the same directory as XercesLib.mcp.
440                                </LI>
441                               
442                                <LI>This project contains five build targets that build all combinations of
443                                classic, carbon, debug, and release versions, with an all target that
444                                builds all of these. Build any or all of these.
445                                </LI>
446                        </UL>
447               
448                        <P><B>Building Xerces-C++ Samples with CodeWarrior:</B>
449                        </P>
450                       
451                        <P>A CodeWarrior project is included that builds the DOMPrint sample. This may
452                        be used as an example from which to build additional sample projects. Please
453                        read the following important notes:
454                        </P>
455                       
456                        <UL>
457                                <LI>Once again, it is required that you import the .xml version of the project
458                                file, and save it back out.
459                                </LI>
460                               
461                                <LI>The Xerces-C++ sample programs are written to assume a command line interface.
462                                To avoid making Macintosh-specific changes to these command line programs,
463                                we have opted to instead require that you make a small extension to your
464                                CodeWarrior runtime that supports such command line programs. Please read
465                                and follow the usage notes in XercesSampleSupport/XercesSampleStartupFragment.c.
466                                </LI>
467                        </UL>
468               
469                </FONT></TD></TR></TABLE><BR>
470               
471                <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" 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>Building Xerces-C++ with Xcode</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
472               
473                        <P>Projects are included to build the Xerces-C++ library and DOMPrint sample under
474                        Apple's Xcode for Mac OS X. The following notes apply:
475                        </P>
476                       
477                        <UL>
478                                <LI>Be sure to heed warnings under &quot;special instructions&quot; below regarding which
479                                tools must be used to unpack archives: gnutar is your friend.
480                                </LI>
481                               
482                                <LI>The Xcode project builds XercesLib as the framework
483                                Xerces.framework. This framework, however, does not currently include a
484                                correct set of public headers. Any referencing code must have an include
485                                path directive that points into the Xerces-C++ src directory.
486                                </LI>
487                               
488                                <LI>The DOMPrint project illustrates one such usage of the Xerces.framework.
489                                </LI>
490                        </UL>
491
492                        <P>Projects for Apple's Project Builder environment, which is no longer supported
493                        under Mac OS X 10.3, are provided but may be out of date. You may need to add or
494                        delete files from the project in order to support changes in Xerces-C++. Please feel
495                        free to submit patches against these projects If you care about the Project Builder
496                        projects, and want to keep them up to date.
497                        </P>
498                       
499                </FONT></TD></TR></TABLE><BR>
500               
501                <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" 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>Building Xerces-C++ from the Mac OS X command line</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
502               
503                        <P>Support for Mac OS X command line builds is now included in the standard
504                        &quot;unix&quot; Xerces-C++ build infrastructure.
505                        </P>
506                       
507                        <UL>
508                                <LI>In general, the Mac OS X command line build follows the generic unix
509                                build instructions. You need to set your XERCESCROOT environment variable,
510                                <CODE><FONT face="courier, monospaced">./runConfigure</FONT></CODE>, and <CODE><FONT face="courier, monospaced">make</FONT></CODE>. Be sure to heed warnings
511                                under &quot;special instructions&quot; below regarding which tools must be used to unpack
512                                archives: gnutar is your friend.
513                                </LI>
514                        </UL>
515               
516<DIV align="left"><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>setenv XERCESCROOT &quot;&lt;xerces-c-directory&gt;&quot;
517cd src/xercesc
518./runConfigure -p macosx -n native
519make</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>
520                       
521                        <UL>
522                                <LI>Similar instructions apply to build the samples and tests, though the
523                                <CODE><FONT face="courier, monospaced">-n</FONT></CODE> flag is not used in these cases:
524                                </LI>
525                        </UL>
526               
527<DIV align="left"><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>cd samples
528./runConfigure -p macosx
529make</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>
530
531                </FONT></TD></TR></TABLE><BR>
532               
533                <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" 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>Special usage information for Xerces-C++ on the Macintosh</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
534               
535                        <P><B>Unpacking the tar archive</B></P>
536                       
537                        <P>It is extemely important to ensure that you retrieve and unpack the sources
538                        with a tool that does not truncate file names. The command line gnutar utility on Mac
539                        OS X will do the right thing; older versions of StuffIt truncate names to 31 characters as
540                        they unpack tar archives, though versions &gt;= 7.0.1 seem to work, at least on Mac OS X.
541                        The command line tool tar will truncate path names that get too long; gnutar should be
542                        used instead. Failure to heed these warnings will result in broken projects.
543                        </P>
544                       
545                        <P><B>File Path Specification</B></P>
546                       
547                        <P>Apart from the build instructions, above, the most important note
548                        about use of Xerces-C++ on the Macintosh is that Xerces-C++ expects
549                        all filename paths to be specified in unix syntax. If running natively
550                        under a Mac OS X system, this path will be the standard posix path as
551                        expected by the shell. The easiest means of creating and interpreting these
552                        paths will be through the routines <CODE><FONT face="courier, monospaced">XMLCreateFullPathFromFSRef</FONT></CODE>
553                        and <CODE><FONT face="courier, monospaced">XMLParsePathToFSRef</FONT></CODE> as declared in the file
554                        <CODE><FONT face="courier, monospaced">MacOSPlatformUtils.hpp</FONT></CODE>. <CODE><FONT face="courier, monospaced">FSSpec</FONT></CODE> variants of these
555                        routines are also supplied.
556                        </P>
557                       
558                        <P><B>Mac OS Version Compatibility</B></P>
559                       
560                        <P>Xerces-C++ requires that several key components of the Mac OS
561                        be relatively up to date. It should be readily compatible with any system
562                        above Mac OS 9.0. Compatibility with earlier systems may perhaps be achieved
563                        if you can install appropriate components.
564                        </P>
565                       
566                        <P>Required components are:
567                        </P>
568                       
569                        <UL>
570                                <LI>Unicode Converter and Text Encoding Converter. These provide the base
571                                transcoding service used to support Xerces-C++ transcoding requirements.
572                                </LI>
573                               
574                        </UL>
575                       
576                        <P>Optional components are:
577                        </P>
578                       
579                        <UL>
580                                <LI>URLAccess. Provides NetAccessor support to Xerces-C++ for use in
581                                fetching network referenced entities. If URLAccess is not installed, any
582                                such references will fail; the absence of URLAccess, however, will not
583                                in itself prevent Xerces-C++ from running. If Xerces-C++ is
584                                configured to use MacOSURLAccessCF, then URLAccess (and thus Carbon)
585                                is not required, but CoreServices.framework is required for Mac OS X.
586                                </LI>
587                               
588                                <LI>Multiprocessing library. Provides mutual exclusion support. Once again,
589                                the routines will back down gracefully if Multiprocessing support is not
590                                available.
591                                </LI>
592                               
593                                <LI>HFS+ APIs. If HFS+ APIs are available, all file access is performed
594                                using the HFS+ fork APIs to support long file access, and to support
595                                long unicode compliant file names. In the absence of HFS+ APIs, classic
596                                HFS APIs are used instead.
597                                </LI>
598                        </UL>   
599                </FONT></TD></TR></TABLE><BR>
600    </FONT></TD></TR></TABLE><BR>
601</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>
602              Copyright &copy; 1999-2004 The Apache Software Foundation.
603              All Rights Reserved.
604            </I></FONT></TD></TR></TABLE></BODY></HTML>
Note: See TracBrowser for help on using the repository browser.