You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sh...@apache.org on 2012/10/22 21:23:04 UTC

svn commit: r1401023 [6/15] - /xalan/site/docs/xalan/xalan-c/

Modified: xalan/site/docs/xalan/xalan-c/faq.html
URL: http://svn.apache.org/viewvc/xalan/site/docs/xalan/xalan-c/faq.html?rev=1401023&r1=1401022&r2=1401023&view=diff
==============================================================================
--- xalan/site/docs/xalan/xalan-c/faq.html (original)
+++ xalan/site/docs/xalan/xalan-c/faq.html Mon Oct 22 19:23:03 2012
@@ -1,732 +1,732 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<title>ASF: Frequently asked questions</title>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
-</head>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-<body>
-<div id="title">
-<table class="HdrTitle">
-<tbody>
-<tr>
-<th rowspan="2">
-<a href="../index.html">
-<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />
-</a>
-</th>
-<th text-align="center" width="75%">
-<a href="index.html">Xalan-C/C++ Version 1.11</a>
-</th>
-</tr>
-<tr>
-<td valign="middle">Frequently asked questions</td>
-</tr>
-</tbody>
-</table>
-<table class="HdrButtons" align="center" border="1">
-<tbody>
-<tr>
-<td>
-<a href="http://www.apache.org">Apache Foundation</a>
-</td>
-<td>
-<a href="http://xalan.apache.org">Xalan Project</a>
-</td>
-<td>
-<a href="http://xerces.apache.org">Xerces Project</a>
-</td>
-<td>
-<a href="http://www.w3.org/TR">Web Consortium</a>
-</td>
-<td>
-<a href="http://www.oasis-open.org/standards">Oasis Open</a>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div id="navLeft">
-<ul>
-<li>
-<a href="resources.html">Resources</a>
-<br />
-</li>
-<li>
-<a href="../index.html">Home</a>
-</li></ul><hr /><ul>
-<li>
-<a href="index.html">Xalan-C++ 1.11</a>
-</li>
-<li>
-<a href="whatsnew.html">What's New</a>
-</li>
-<li>
-<a href="license.html">Licenses</a>
-</li></ul><hr /><ul>
-<li>
-<a href="overview.html">Overview</a>
-</li>
-<li>
-<a href="charter.html">Charter</a>
-</li></ul><hr /><ul>
-<li>
-<a href="download.html">Download</a>
-</li>
-<li>
-<a href="buildlibs.html">Build Libraries</a>
-</li>
-<li>
-<a href="install.html">Installation</a>
-</li>
-<li>
-<a href="builddocs.html">Build Documents</a>
-</li></ul><hr /><ul>
-<li>
-<a href="samples.html">Sample Apps</a>
-</li>
-<li>
-<a href="commandline.html">Command Line</a>
-</li>
-<li>
-<a href="usagepatterns.html">Usage Patterns</a>
-</li></ul><hr /><ul>
-<li>
-<a href="programming.html">Programming</a>
-</li>
-<li>
-<a href="extensions.html">Extensions</a>
-</li>
-<li>
-<a href="extensionslib.html">Extensions Library</a>
-</li>
-<li>
-<a href="apiDocs/index.html">API Reference</a>
-</li></ul><hr /><ul>
-<li>Xalan-C FAQs<br />
-</li></ul><hr /><ul>
-<li>
-<a href="whatsnew.html#bugs">Bugs</a>
-</li>
-<li>
-<a href="http://xalan.apache.org/old/xalan-j/test/run.html#how-to-run-c">Testing</a>
-</li>
-<li>
-<a href="secureweb.html">Web Security</a>
-</li>
-</ul>
-</div>
-<div id="content">
-<h2 class="faqSubHead">Questions</h2>
-<ol start="1">
-<li>
-<a href="#faq-1">Where do I go to learn about XSLT</a>
-</li>
-<li>
-<a href="#faq-2">Asking questions about Xalan-C++</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">Should I be using the Xerces DOM or Xalan DOM?</a>
-</li>
-<li>
-<a href="#faq-6">Problems with samples in Windows</a>
-</li>
-<li>
-<a href="#faq-7">Building on Windows</a>
-</li>
-<li>
-<a href="#faq-8">Building on UNIX</a>
-</li>
-<li>
-<a href="#faq-9">Make errors on UNIX platforms</a>
-</li>
-<li>
-<a href="#faq-10">What is ICU</a>
-</li>
-<li>
-<a href="#faq-11">A tar checksum error on Solaris</a>
-</li>
-<li>
-<a href="#faq-12">Xalan-C++ in Apache</a>
-</li>
-<li>
-<a href="#faq-13">Is Xalan-C++ thread-safe?</a>
-</li>
-<li>
-<a href="#faq-14">What can I do to speed up transformations?</a>
-</li>
-<li>
-<a href="#faq-15">Stylesheet validation</a>
-</li>
-<li>
-<a href="#faq-16">What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</a>
-</li>
-<li>
-<a href="#faq-17">Submitting Patches</a>
-</li>
-<li>
-<a href="#faq-18">Transformation Output Methods</a>
-</li>
-<li>
-<a href="#faq-19">Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream</a>
-</li>
-<li>
-<a href="#faq-20">Modifying an instance of XalanDocument</a>
-</li>
-<li>
-<a href="#faq-21">Changing Where Error Output is Sent</a>
-</li>
-<li>
-<a href="#faq-22">Programmatic Error Information</a>
-</li>
-<li>
-<a href="#faq-23">String Transcoding</a>
-</li>
-<li>
-<a href="#faq-24">Error Code/Exception Summary</a>
-</li>
-<li>
-<a href="#faq-25">Extension Functions</a>
-</li>
-<li>
-<a href="#faq-26">Outputting results to a file on Windows 95/98</a>
-</li>
-<li>
-<a href="#faq-27">Using format-number and ICU</a>
-</li>
-<li>
-<a href="#faq-28">Perl wrapper for Xalan-C++?</a>
-</li>
-<li>
-<a href="#faq-29">Missing LocalMsgIndex.hpp file</a>
-</li>
-</ol>
-<h2 class="faqSubHead">Answers</h2>
-<h3 id="faq-1" class="faqTitle">1. Where do I go to learn about XSLT</h3>
-<div class="faqQuestion">Where do I go to learn about XSLT?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>The definitive sources are the W3C XSLT and XPath recommendations: <a href="http://www.w3.org/TR/xslt">W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0</a> and 
-      <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</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>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-2" class="faqTitle">2. Asking questions about Xalan-C++</h3>
-<div class="faqQuestion">Where can I ask a question?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>For specific questions on Xalan-C++, see list archives: 
-   <a href="http://marc.info/?l=xalan-c-users">xalan-c-users</a>
-   and <a href="http://marc.info/?l=xalan-dev">xalan-dev</a>.
-   You must subscribe to these Apache mailing lists before posting your questions.</p>
-<p>The Apache Software Foundation has information on how you can subscribe to
-   the <a href="http://www.apache.org/foundation/mailinglists.html">mailing lists</a>.</p>
-<p>You can post messages to the lists by sending mail to:<br />
-   <a href="mailto:c-users@xalan.apache.org">Post message to xalan-c-users</a>. (User's list)<br />
-   <a href="mailto:dev@xalan.apache.org">Post message to xalan-dev list</a>. (Developer's list)</p>
-<p>Again, please review the archives before posting a new question.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-3" class="faqTitle">3. What is Xerces-C++?</h3>
-<div class="faqQuestion">What is Xerces-C++ and why do I need it?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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:  
-      <a href="http://xerces.apache.org/index.html">http://xerces.apache.org</a>
-</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-4" class="faqTitle">4. Which version of Xerces should I be using?</h3>
-<div class="faqQuestion">Which version of Xerces should I be using?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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="whatsnew.html#status">Status</a>
-</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-5" class="faqTitle">5. Should I be using the Xerces DOM or Xalan DOM?</h3>
-<div class="faqQuestion">Should I be using the Xerces DOM or Xalan DOM?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>The Xalan DOM implementation is highly optimised for transformations.  However, whilst you can build documents in the Xalan DOM, 
-      subsequent modification will not work.  The Xalan DOM is designed to be either an input or an output from a transformation, not 
-      as a general DOM implementation.</p>
-   <p>So in cases where you want to simply transform documents using Xalan, using the internal DOM implementation is the best approach.</p>
-   <p>In cases where you want to modify the DOM document on the fly, you should use the Xerces DOM as the base document.  You can wrap 
-      the Xerces DOM in a wrapper (see  <a href="usagepatterns.html#xercesdomwrapperparsedsource"> passing in a Xerces DOM</a>) 
-      to then use as an input to a Xalan transformation.  Alternatively you can output the result of a transformation to a Xerces DOM 
-      document (see <a href="usagepatterns.html#dom">working with DOM input and output</a>).  In either case, the Xerces document 
-      can be freely modified.  However, after you modify the document, you need to re-build the wrapper so that any changes are replicated 
-      in the Xalan wrappers.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-6" class="faqTitle">6. Problems with samples in Windows</h3>
-<div class="faqQuestion">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-&gt;nBlockUse)".</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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>
-   <p>You must also make sure your application is linking with the Debug multithreaded DLL run-time library or the Multithreaded DLL 
-      run-time library.  To check this setting do the following in Visual C++:</p>
-   <ol>
-     <li>Select Settings from the Project menu.<br />
-<br />
-</li>
-     <li>Click the C/C++ tab.<br />
-<br />
-</li>
-     <li>In the Category drop-down list, select Code Generation.<br />
-<br />
-</li>
-     <li>In the Use run-time library drop-down list, select Multithreaded DLL for the Win32 Release configuration, or select Debug 
-         Multithreaded DLL for the Win32 Debug configuration.</li>
-   </ol>
-   <p>Once you have changed this setting, you must rebuild your project.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-7" class="faqTitle">7. Building on Windows</h3>
-<div class="faqQuestion">What do I need to rebuild Xalan-C++ on Windows?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>In order to build Xalan-C++ on Windows, you will need the following:</p>
-<ul>
-<li>The Xalan-C/C++ source distribution package.</li>
-<li>The Xerces-C/C++ source distribution package or a compatible binary distribution package.</li>
-<li>A compatible Microsoft Visual Studio .NET (2003, 2005, 2008, 2010) software development platform.</li>
-</ul>
-<p>The Xalan-C/C++ Version 1.11 (pre-release) is available from the Apache Subversion
-   repository at <b>http://svn.apache.org/repos/asf/xalan/c/trunk/.</b>
-</p>
-<p>After Xalan-C/C++ Version 1.11 is released, it can be downloaded from:
-   <a href="http://www.apache.org/dyn/closer.cgi/xalan/xalan-c">Xalan Distributions</a>.</p>
-<p>The Xerces-C/C++ Version 3.1.1 is can be downloaded from:
-   <a href="http://www.apache.org/dyn/closer.cgi/xerces/c/3">Xerces Distributions</a>.</p>
-<p>If you are building with the 
-   <a href="http://www.ibm.com/software/globalization/icu/">IBM-ICU</a>
-   International Components for Unicode library, you will
-   need to rebuild both the Xerces and Xalan libraries.</p>
-<p>For more details, see <a href="buildlibs.html#winbldenv">Steps for doing a Windows build</a>.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-8" class="faqTitle">8. Building on UNIX</h3>
-<div class="faqQuestion">What do I need to rebuild Xalan-C++ on UNIX?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>To build Xalan-C++ on supported UNIX platforms, you need Xerces-C++, the GNU make utility, and a supported C++ compiler.  For more 
-      details see: <a href="buildlibs.html#unixbldenv">Steps for doing a UNIX build</a>.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-9" class="faqTitle">9. Make errors on UNIX platforms</h3>
-<div class="faqQuestion">I get errors in the Makefile when running the make utility.  What's wrong?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>You must use the GNU make utility.  Other make utilities may not work with the Xalan Makefile</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-10" class="faqTitle">10. What is ICU</h3>
-<div class="faqQuestion">What is ICU and why do I need it?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>The <a href="http://www.ibm.com/software/globalization/icu/">IBM-ICU</a>
-      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/icu/index.html">
-      http://oss.software.ibm.com/icu/index.html</a>.</p>
-   <p>Xalan release 1.10 was tested with International Components for Unicode(ICU) version 3.2. The curent Xalan
-      release 1.11 is not fully tested with IBM-ICU.</p>
-   <p>For more details see: <a href="usagepatterns.html#icu">Using the International Components for Unicode (ICU)</a>.</p>
-   
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-11" class="faqTitle">11. A tar checksum error on Solaris</h3>
-<div class="faqQuestion">I am getting a tar checksum error on Solaris. What's the problem?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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_chapter/tar_8.html#SEC112">
-      GNU tar and POSIX tar </a> for the utility.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-12" class="faqTitle">12. Xalan-C++ in Apache</h3>
-<div class="faqQuestion">Is it possible to run Xalan-C++ from an Apache server?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-13" class="faqTitle">13. Is Xalan-C++ thread-safe?</h3>
-<div class="faqQuestion">Is Xalan-C++ thread-safe?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>Instances of XalanTransformer are not thread-safe; each thread should use its own instance.</p>
-   <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>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-14" class="faqTitle">14. What can I do to speed up transformations?</h3>
-<div class="faqQuestion">What can I do to speed up transformations?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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>
-         <li>Don't use "//" (descendant axes) patterns near the root of a large document.<br />
-<br />
-</li>
-         <li>Use xsl:key elements and the key() function as an efficient way to retrieve node sets.<br />
-<br />
-</li>
-         <li>Where possible, use pattern matching rather than xsl:if or xsl:when statements.<br />
-<br />
-</li>
-         <li>xsl:for-each is fast because it does not require pattern matching.<br />
-<br />
-</li>
-         <li>Keep in mind that xsl:sort prevents incremental processing.<br />
-<br />
-</li>
-         <li>When you create variables, &lt;xsl:variable name="fooElem" select="foo"/&gt; is usually faster than
-         &lt;xsl:variable name="fooElem"&gt;&lt;xsl:value-of-select="foo"/&gt;&lt;/xsl:variable&gt;.<br />
-<br />
-</li>
-         <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>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-15" class="faqTitle">15. Stylesheet validation</h3>
-<div class="faqQuestion">Can I validate an XSL stylesheet?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<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 
-      for XSL Stylesheets</a> with some indications of what you need to do to create a complete DTD for a given
-      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>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-16" class="faqTitle">16. What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</h3>
-<div class="faqQuestion">What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>It means that an attempt was made to add a node to a DOM that would create an invalid structure.  For example, text nodes 
-      are not allowed as children of the document node.</p>
-   <p>This is a common error when attempting to transform to DOM.  Source documents and stylesheets that might produce valid serialized XML
-      might not produce value DOM.  The usual suspect is text nodes being generated before the document element is generated.</p>
-   <p>If you think you have seen this error because of a bug in Xalan-C++'s source tree implementation, please post a bug report on Bugzilla, and attach a minimal source document 
-      and stylesheet that produce the problem to the bug report.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-17" class="faqTitle">17. Submitting Patches</h3>
-<div class="faqQuestion">Who do I submit patches to?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>Your contributions are much appreciated! You can e-mail your patches to 
-      <a href="mailto:dev@xalan.apache.org">Xalan Development Mailing List</a> or raise an issue on the 
-      <a href="https://issues.apache.org/jira/browse/XALANC">Jira issue tracking system</a>.</p>
-   <p>The Xalan projects use Jira as the issue tracking system.  Any significant bug or feature request is
-      posted to this system.  You must subscribe to the system in order to submit patches and raise
-      issues.</p>
-<ul>
-<li>Subscribe to Jira at: 
-    <a href="https://issues.apache.org/jira">https://issues.apache.org/jira</a>
-</li>
-<li>Browse the issues at: 
-    <a href="https://issues.apache.org/jira/browse/XALANC">https://issues.apache.org/jira/browse/XALANC</a>
-</li>
-</ul>
-    <p>Issues posted to the project on Jira at XALANC are automatically posted to the
-       <a href="mailto:dev@xalan.apache.org">Xalan Development Mailing List</a>
-</p>
-    <p>Our mailing lists are moderated.  You should subscribe to the mailing list in order to
-      post a message, otherwise message delivery requires manual intervention or may be dropped.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-18" class="faqTitle">18. Transformation Output Methods</h3>
-<div class="faqQuestion">How do I output a transformation to a DOM, a file, an in-memory buffer, or as input to another transformation?  Since the C++ 
-   language can automatically construct an XSLTResultTarget from any of its constructor's argument types, you usually don't need 
-   to create one explicitly.</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>The output parameter of XalanTransformer::transform() is an XSLTResultTarget which has many constructors.</p>
-   <p>Output to a file:</p>
-   <ul>
-     <li>The easiest way is to use a null-terminated string containing the file name to create an XSLTResultTarget.  Or, use an 
-         instance of std::ofstream.  The command line executables, and many of the sample applications use file names, so take a 
-         look through the source code for more information.</li>
-   </ul>
-   <p>Output to an in-memory buffer:</p>
-   <ul>
-     <li>Use an instance of std::ostrstream or std::ostringstream to create an XSLTResultTarget.  See the StreamTransform sample 
-         for more information.</li>
-   </ul>
-   <p>Input to another transformation:</p>
-   <ul>
-     <li>Any of the previous output targets could be used as the input to another transformation, but the FormatterToSourceTree 
-         is probably the best for efficiency reasons.  See the source code for the TestXSLT command line program for more 
-         information.</li>
-   </ul>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-19" class="faqTitle">19. Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream</h3>
-<div class="faqQuestion">Why won't XSLTInputSource work with std::istrstream on Sun Solaris using Forte/Sun Workshop compiler?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>There is a bug in Sun's C++ standard library implementation 
-      for the Forte/Workshop compiler.
-      The short answer is that you need to get a patch.
-      The bugzilla subsystem for Xalan issue tracking is no longer available.  The ticket recorded
-      here included a patch.</p>
-</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>The issue is resolved if you use the SunStudio platform for your code development.
-      The Solaris SunStudio is now available from Oracle.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-20" class="faqTitle">20. Modifying an instance of XalanDocument</h3>
-<div class="faqQuestion">My transformation outputs to a XalanDocument (actually XalanSourceTreeDocument underneath) but W3C DOM functions like 
-   DOMElement::setAttribute don't work! Am I going crazy or what?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>No, you aren't going crazy. Xalan's default source tree is read-only for efficiency. If you need a DOM that supports 
-      modifications, use the Xerces DOM instead.  See the TransformToXercesDOM sample for more information.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-21" class="faqTitle">21. Changing Where Error Output is Sent</h3>
-<div class="faqQuestion">XalanTransformer outputs errors to the console. How do I, for example, output error to a file?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>By default, XalanTransformer creates a XalanTransformerProblemListener (a subclass of ProblemListener) that writes 
-      output to std::cerr. To change this you can:</p>
-   <ul>
-     <li>Redirect std::cerr from the command line.</li>
-     <li>Call XalanTranformer::setWarningStream with a different std::ostream before calling XalanTransformer::transform.</li>
-     <li>Instantiate your own XalanTransformerProblemListener with a different output stream and call 
-         XalanTransformer::setProblemListener() before calling XalanTransformer::transform().</li>
-     <li>Subclass some ProblemListener type and do custom handling of errors (you still then need to tell XalanTransformer 
-         instances to use your ProblemListener.)</li>
-   </ul>
-   <p>In most case you probably want to do one of the first two.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-22" class="faqTitle">22. Programmatic Error Information</h3>
-<div class="faqQuestion">How do I programmatically get the file name, line number, and column number for an error in an XML file?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>Create a custom ErrorHandler (a Xerces-C++ class) and call XalanTransformer::setErrorHandler before parsing any sources.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-23" class="faqTitle">23. String Transcoding</h3>
-<div class="faqQuestion">How do I make a char* out of XalanDOMString (or vice-versa)?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>See the static method XalanDOMString::transcode, or the functions TranscodeToLocalCodePage in the API documentation.  
-   However, you should be very careful when transcoding Unicode characters to the local code page, because not all Unicode 
-   characters can be represented.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-24" class="faqTitle">24. Error Code/Exception Summary</h3>
-<div class="faqQuestion">Is there a table of error codes somewhere? How about a summary of what methods throw which exceptions?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>There isn't, but we're working on it.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-25" class="faqTitle">25. Extension Functions</h3>
-<div class="faqQuestion">The Xalan extension functions (xalan:node-set, etc.) don't work for me. Help!</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>Did you declare the namespace on the xsl:stylesheet or xsl:transform element? It should look like this: </p>
-   <p>&lt;xsl:stylesheet version="1.0" xmlns:xalan="http://xml.apache.org/xalan"&gt; ...rest of stylesheet</p>
-   <p>If you did and you still have problems, you might want to ask the mailing list.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-26" class="faqTitle">26. Outputting results to a file on Windows 95/98</h3>
-<div class="faqQuestion">Why can't I ouput my results to a file on Windows 95/98?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>Well, you can, but it doesn't always work. Neither Windows 95 or 98 are supported or tested. There have been reports of 
-      problems on it, especially regarding Unicode support. See 
-      <a href="http://marc.info/?l=xalan-dev&amp;m=99840914524755&amp;w=2">this post</a>.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-27" class="faqTitle">27. Using format-number and ICU</h3>
-<div class="faqQuestion">Why does Xalan emit a warning when using the XSLT function format-number()?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>Did you build with ICU support? See <a href="usagepatterns.html#icu">Using the International Components for 
-      Unicode (ICU)</a>.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-28" class="faqTitle">28. Perl wrapper for Xalan-C++?</h3>
-<div class="faqQuestion">Is there a Perl wrapper for Xalan-C++?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>There is no Apache Perl wrapper, however Edwin Pratomo has written a wrapper for Xalan-C++ version 1.4 that can be found 
-      on CPAN</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-<h3 id="faq-29" class="faqTitle">29. Missing LocalMsgIndex.hpp file</h3>
-<div class="faqQuestion">Why can't I find the LocalMsgIndex.hpp file?</div>
-<br />
-<hr />
-<div class="faqAnswer">
-<p>The LocalMsgIndex.hpp file is not shipped with the distributions because this file is generated during compile time.  This 
-      file is created at the start of the build process and customized for the locale and message set you are using.</p>
-   <p>On Windows, the LocalMsgIndex.hpp header is generated by the Localization project.  By building any project that has a 
-      dependency on the Localization project, will trigger the Message Localization component to built and the LocalMsgIndex.hpp 
-      to be generated.</p>
-   <p>On Windows binary distributions, the LocalMsgIndex.hpp file is a member of the "<code>Include</code>" directory.</p>
-   <p>On Unix binary distributions, the LocalMsgIndex.hpp file is a member of the "<code>include/xalanc/PlatformSupport</code>" directory.</p>
-</div>
-<p align="right" size="2">
-<a href="#content">(top)</a>
-</p>
-</div>
-<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Sun 2012-10-07</div>
-</div>
-</body>
-</html>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ASF: Frequently asked questions</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
+</head>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<body>
+<div id="title">
+<table class="HdrTitle">
+<tbody>
+<tr>
+<th rowspan="2">
+<a href="../index.html">
+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />
+</a>
+</th>
+<th text-align="center" width="75%">
+<a href="index.html">Xalan-C/C++ Version 1.11</a>
+</th>
+</tr>
+<tr>
+<td valign="middle">Frequently asked questions</td>
+</tr>
+</tbody>
+</table>
+<table class="HdrButtons" align="center" border="1">
+<tbody>
+<tr>
+<td>
+<a href="http://www.apache.org">Apache Foundation</a>
+</td>
+<td>
+<a href="http://xalan.apache.org">Xalan Project</a>
+</td>
+<td>
+<a href="http://xerces.apache.org">Xerces Project</a>
+</td>
+<td>
+<a href="http://www.w3.org/TR">Web Consortium</a>
+</td>
+<td>
+<a href="http://www.oasis-open.org/standards">Oasis Open</a>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div id="navLeft">
+<ul>
+<li>
+<a href="resources.html">Resources</a>
+<br />
+</li>
+<li>
+<a href="../index.html">Home</a>
+</li></ul><hr /><ul>
+<li>
+<a href="index.html">Xalan-C++ 1.11</a>
+</li>
+<li>
+<a href="whatsnew.html">What's New</a>
+</li>
+<li>
+<a href="license.html">Licenses</a>
+</li></ul><hr /><ul>
+<li>
+<a href="overview.html">Overview</a>
+</li>
+<li>
+<a href="charter.html">Charter</a>
+</li></ul><hr /><ul>
+<li>
+<a href="download.html">Download</a>
+</li>
+<li>
+<a href="buildlibs.html">Build Libraries</a>
+</li>
+<li>
+<a href="install.html">Installation</a>
+</li>
+<li>
+<a href="builddocs.html">Build Documents</a>
+</li></ul><hr /><ul>
+<li>
+<a href="samples.html">Sample Apps</a>
+</li>
+<li>
+<a href="commandline.html">Command Line</a>
+</li>
+<li>
+<a href="usagepatterns.html">Usage Patterns</a>
+</li></ul><hr /><ul>
+<li>
+<a href="programming.html">Programming</a>
+</li>
+<li>
+<a href="extensions.html">Extensions</a>
+</li>
+<li>
+<a href="extensionslib.html">Extensions Library</a>
+</li>
+<li>
+<a href="apiDocs/index.html">API Reference</a>
+</li></ul><hr /><ul>
+<li>Xalan-C FAQs<br />
+</li></ul><hr /><ul>
+<li>
+<a href="whatsnew.html#bugs">Bugs</a>
+</li>
+<li>
+<a href="http://xalan.apache.org/old/xalan-j/test/run.html#how-to-run-c">Testing</a>
+</li>
+<li>
+<a href="secureweb.html">Web Security</a>
+</li>
+</ul>
+</div>
+<div id="content">
+<h2 class="faqSubHead">Questions</h2>
+<ol start="1">
+<li>
+<a href="#faq-1">Where do I go to learn about XSLT</a>
+</li>
+<li>
+<a href="#faq-2">Asking questions about Xalan-C++</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">Should I be using the Xerces DOM or Xalan DOM?</a>
+</li>
+<li>
+<a href="#faq-6">Problems with samples in Windows</a>
+</li>
+<li>
+<a href="#faq-7">Building on Windows</a>
+</li>
+<li>
+<a href="#faq-8">Building on UNIX</a>
+</li>
+<li>
+<a href="#faq-9">Make errors on UNIX platforms</a>
+</li>
+<li>
+<a href="#faq-10">What is ICU</a>
+</li>
+<li>
+<a href="#faq-11">A tar checksum error on Solaris</a>
+</li>
+<li>
+<a href="#faq-12">Xalan-C++ in Apache</a>
+</li>
+<li>
+<a href="#faq-13">Is Xalan-C++ thread-safe?</a>
+</li>
+<li>
+<a href="#faq-14">What can I do to speed up transformations?</a>
+</li>
+<li>
+<a href="#faq-15">Stylesheet validation</a>
+</li>
+<li>
+<a href="#faq-16">What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</a>
+</li>
+<li>
+<a href="#faq-17">Submitting Patches</a>
+</li>
+<li>
+<a href="#faq-18">Transformation Output Methods</a>
+</li>
+<li>
+<a href="#faq-19">Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream</a>
+</li>
+<li>
+<a href="#faq-20">Modifying an instance of XalanDocument</a>
+</li>
+<li>
+<a href="#faq-21">Changing Where Error Output is Sent</a>
+</li>
+<li>
+<a href="#faq-22">Programmatic Error Information</a>
+</li>
+<li>
+<a href="#faq-23">String Transcoding</a>
+</li>
+<li>
+<a href="#faq-24">Error Code/Exception Summary</a>
+</li>
+<li>
+<a href="#faq-25">Extension Functions</a>
+</li>
+<li>
+<a href="#faq-26">Outputting results to a file on Windows 95/98</a>
+</li>
+<li>
+<a href="#faq-27">Using format-number and ICU</a>
+</li>
+<li>
+<a href="#faq-28">Perl wrapper for Xalan-C++?</a>
+</li>
+<li>
+<a href="#faq-29">Missing LocalMsgIndex.hpp file</a>
+</li>
+</ol>
+<h2 class="faqSubHead">Answers</h2>
+<h3 id="faq-1" class="faqTitle">1. Where do I go to learn about XSLT</h3>
+<div class="faqQuestion">Where do I go to learn about XSLT?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>The definitive sources are the W3C XSLT and XPath recommendations: <a href="http://www.w3.org/TR/xslt">W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0</a> and 
+      <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</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>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-2" class="faqTitle">2. Asking questions about Xalan-C++</h3>
+<div class="faqQuestion">Where can I ask a question?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>For specific questions on Xalan-C++, see list archives: 
+   <a href="http://marc.info/?l=xalan-c-users">xalan-c-users</a>
+   and <a href="http://marc.info/?l=xalan-dev">xalan-dev</a>.
+   You must subscribe to these Apache mailing lists before posting your questions.</p>
+<p>The Apache Software Foundation has information on how you can subscribe to
+   the <a href="http://www.apache.org/foundation/mailinglists.html">mailing lists</a>.</p>
+<p>You can post messages to the lists by sending mail to:<br />
+   <a href="mailto:c-users@xalan.apache.org">Post message to xalan-c-users</a>. (User's list)<br />
+   <a href="mailto:dev@xalan.apache.org">Post message to xalan-dev list</a>. (Developer's list)</p>
+<p>Again, please review the archives before posting a new question.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-3" class="faqTitle">3. What is Xerces-C++?</h3>
+<div class="faqQuestion">What is Xerces-C++ and why do I need it?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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:  
+      <a href="http://xerces.apache.org/index.html">http://xerces.apache.org</a>
+</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-4" class="faqTitle">4. Which version of Xerces should I be using?</h3>
+<div class="faqQuestion">Which version of Xerces should I be using?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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="whatsnew.html#status">Status</a>
+</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-5" class="faqTitle">5. Should I be using the Xerces DOM or Xalan DOM?</h3>
+<div class="faqQuestion">Should I be using the Xerces DOM or Xalan DOM?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>The Xalan DOM implementation is highly optimised for transformations.  However, whilst you can build documents in the Xalan DOM, 
+      subsequent modification will not work.  The Xalan DOM is designed to be either an input or an output from a transformation, not 
+      as a general DOM implementation.</p>
+   <p>So in cases where you want to simply transform documents using Xalan, using the internal DOM implementation is the best approach.</p>
+   <p>In cases where you want to modify the DOM document on the fly, you should use the Xerces DOM as the base document.  You can wrap 
+      the Xerces DOM in a wrapper (see  <a href="usagepatterns.html#xercesdomwrapperparsedsource"> passing in a Xerces DOM</a>) 
+      to then use as an input to a Xalan transformation.  Alternatively you can output the result of a transformation to a Xerces DOM 
+      document (see <a href="usagepatterns.html#dom">working with DOM input and output</a>).  In either case, the Xerces document 
+      can be freely modified.  However, after you modify the document, you need to re-build the wrapper so that any changes are replicated 
+      in the Xalan wrappers.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-6" class="faqTitle">6. Problems with samples in Windows</h3>
+<div class="faqQuestion">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-&gt;nBlockUse)".</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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>
+   <p>You must also make sure your application is linking with the Debug multithreaded DLL run-time library or the Multithreaded DLL 
+      run-time library.  To check this setting do the following in Visual C++:</p>
+   <ol>
+     <li>Select Settings from the Project menu.<br />
+<br />
+</li>
+     <li>Click the C/C++ tab.<br />
+<br />
+</li>
+     <li>In the Category drop-down list, select Code Generation.<br />
+<br />
+</li>
+     <li>In the Use run-time library drop-down list, select Multithreaded DLL for the Win32 Release configuration, or select Debug 
+         Multithreaded DLL for the Win32 Debug configuration.</li>
+   </ol>
+   <p>Once you have changed this setting, you must rebuild your project.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-7" class="faqTitle">7. Building on Windows</h3>
+<div class="faqQuestion">What do I need to rebuild Xalan-C++ on Windows?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>In order to build Xalan-C++ on Windows, you will need the following:</p>
+<ul>
+<li>The Xalan-C/C++ source distribution package.</li>
+<li>The Xerces-C/C++ source distribution package or a compatible binary distribution package.</li>
+<li>A compatible Microsoft Visual Studio .NET (2003, 2005, 2008, 2010) software development platform.</li>
+</ul>
+<p>The Xalan-C/C++ Version 1.11 (pre-release) is available from the Apache Subversion
+   repository at <b>http://svn.apache.org/repos/asf/xalan/c/trunk/.</b>
+</p>
+<p>After Xalan-C/C++ Version 1.11 is released, it can be downloaded from:
+   <a href="http://www.apache.org/dyn/closer.cgi/xalan/xalan-c">Xalan Distributions</a>.</p>
+<p>The Xerces-C/C++ Version 3.1.1 is can be downloaded from:
+   <a href="http://www.apache.org/dyn/closer.cgi/xerces/c/3">Xerces Distributions</a>.</p>
+<p>If you are building with the 
+   <a href="http://www.ibm.com/software/globalization/icu/">IBM-ICU</a>
+   International Components for Unicode library, you will
+   need to rebuild both the Xerces and Xalan libraries.</p>
+<p>For more details, see <a href="buildlibs.html#winbldenv">Steps for doing a Windows build</a>.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-8" class="faqTitle">8. Building on UNIX</h3>
+<div class="faqQuestion">What do I need to rebuild Xalan-C++ on UNIX?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>To build Xalan-C++ on supported UNIX platforms, you need Xerces-C++, the GNU make utility, and a supported C++ compiler.  For more 
+      details see: <a href="buildlibs.html#unixbldenv">Steps for doing a UNIX build</a>.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-9" class="faqTitle">9. Make errors on UNIX platforms</h3>
+<div class="faqQuestion">I get errors in the Makefile when running the make utility.  What's wrong?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>You must use the GNU make utility.  Other make utilities may not work with the Xalan Makefile</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-10" class="faqTitle">10. What is ICU</h3>
+<div class="faqQuestion">What is ICU and why do I need it?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>The <a href="http://www.ibm.com/software/globalization/icu/">IBM-ICU</a>
+      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/icu/index.html">
+      http://oss.software.ibm.com/icu/index.html</a>.</p>
+   <p>Xalan release 1.10 was tested with International Components for Unicode(ICU) version 3.2. The curent Xalan
+      release 1.11 is not fully tested with IBM-ICU.</p>
+   <p>For more details see: <a href="usagepatterns.html#icu">Using the International Components for Unicode (ICU)</a>.</p>
+   
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-11" class="faqTitle">11. A tar checksum error on Solaris</h3>
+<div class="faqQuestion">I am getting a tar checksum error on Solaris. What's the problem?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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_chapter/tar_8.html#SEC112">
+      GNU tar and POSIX tar </a> for the utility.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-12" class="faqTitle">12. Xalan-C++ in Apache</h3>
+<div class="faqQuestion">Is it possible to run Xalan-C++ from an Apache server?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-13" class="faqTitle">13. Is Xalan-C++ thread-safe?</h3>
+<div class="faqQuestion">Is Xalan-C++ thread-safe?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>Instances of XalanTransformer are not thread-safe; each thread should use its own instance.</p>
+   <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>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-14" class="faqTitle">14. What can I do to speed up transformations?</h3>
+<div class="faqQuestion">What can I do to speed up transformations?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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>
+         <li>Don't use "//" (descendant axes) patterns near the root of a large document.<br />
+<br />
+</li>
+         <li>Use xsl:key elements and the key() function as an efficient way to retrieve node sets.<br />
+<br />
+</li>
+         <li>Where possible, use pattern matching rather than xsl:if or xsl:when statements.<br />
+<br />
+</li>
+         <li>xsl:for-each is fast because it does not require pattern matching.<br />
+<br />
+</li>
+         <li>Keep in mind that xsl:sort prevents incremental processing.<br />
+<br />
+</li>
+         <li>When you create variables, &lt;xsl:variable name="fooElem" select="foo"/&gt; is usually faster than
+         &lt;xsl:variable name="fooElem"&gt;&lt;xsl:value-of-select="foo"/&gt;&lt;/xsl:variable&gt;.<br />
+<br />
+</li>
+         <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>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-15" class="faqTitle">15. Stylesheet validation</h3>
+<div class="faqQuestion">Can I validate an XSL stylesheet?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<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 
+      for XSL Stylesheets</a> with some indications of what you need to do to create a complete DTD for a given
+      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>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-16" class="faqTitle">16. What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</h3>
+<div class="faqQuestion">What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>It means that an attempt was made to add a node to a DOM that would create an invalid structure.  For example, text nodes 
+      are not allowed as children of the document node.</p>
+   <p>This is a common error when attempting to transform to DOM.  Source documents and stylesheets that might produce valid serialized XML
+      might not produce value DOM.  The usual suspect is text nodes being generated before the document element is generated.</p>
+   <p>If you think you have seen this error because of a bug in Xalan-C++'s source tree implementation, please post a bug report on Bugzilla, and attach a minimal source document 
+      and stylesheet that produce the problem to the bug report.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-17" class="faqTitle">17. Submitting Patches</h3>
+<div class="faqQuestion">Who do I submit patches to?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>Your contributions are much appreciated! You can e-mail your patches to 
+      <a href="mailto:dev@xalan.apache.org">Xalan Development Mailing List</a> or raise an issue on the 
+      <a href="https://issues.apache.org/jira/browse/XALANC">Jira issue tracking system</a>.</p>
+   <p>The Xalan projects use Jira as the issue tracking system.  Any significant bug or feature request is
+      posted to this system.  You must subscribe to the system in order to submit patches and raise
+      issues.</p>
+<ul>
+<li>Subscribe to Jira at: 
+    <a href="https://issues.apache.org/jira">https://issues.apache.org/jira</a>
+</li>
+<li>Browse the issues at: 
+    <a href="https://issues.apache.org/jira/browse/XALANC">https://issues.apache.org/jira/browse/XALANC</a>
+</li>
+</ul>
+    <p>Issues posted to the project on Jira at XALANC are automatically posted to the
+       <a href="mailto:dev@xalan.apache.org">Xalan Development Mailing List</a>
+</p>
+    <p>Our mailing lists are moderated.  You should subscribe to the mailing list in order to
+      post a message, otherwise message delivery requires manual intervention or may be dropped.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-18" class="faqTitle">18. Transformation Output Methods</h3>
+<div class="faqQuestion">How do I output a transformation to a DOM, a file, an in-memory buffer, or as input to another transformation?  Since the C++ 
+   language can automatically construct an XSLTResultTarget from any of its constructor's argument types, you usually don't need 
+   to create one explicitly.</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>The output parameter of XalanTransformer::transform() is an XSLTResultTarget which has many constructors.</p>
+   <p>Output to a file:</p>
+   <ul>
+     <li>The easiest way is to use a null-terminated string containing the file name to create an XSLTResultTarget.  Or, use an 
+         instance of std::ofstream.  The command line executables, and many of the sample applications use file names, so take a 
+         look through the source code for more information.</li>
+   </ul>
+   <p>Output to an in-memory buffer:</p>
+   <ul>
+     <li>Use an instance of std::ostrstream or std::ostringstream to create an XSLTResultTarget.  See the StreamTransform sample 
+         for more information.</li>
+   </ul>
+   <p>Input to another transformation:</p>
+   <ul>
+     <li>Any of the previous output targets could be used as the input to another transformation, but the FormatterToSourceTree 
+         is probably the best for efficiency reasons.  See the source code for the TestXSLT command line program for more 
+         information.</li>
+   </ul>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-19" class="faqTitle">19. Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream</h3>
+<div class="faqQuestion">Why won't XSLTInputSource work with std::istrstream on Sun Solaris using Forte/Sun Workshop compiler?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>There is a bug in Sun's C++ standard library implementation 
+      for the Forte/Workshop compiler.
+      The short answer is that you need to get a patch.
+      The bugzilla subsystem for Xalan issue tracking is no longer available.  The ticket recorded
+      here included a patch.</p>
+</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>The issue is resolved if you use the SunStudio platform for your code development.
+      The Solaris SunStudio is now available from Oracle.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-20" class="faqTitle">20. Modifying an instance of XalanDocument</h3>
+<div class="faqQuestion">My transformation outputs to a XalanDocument (actually XalanSourceTreeDocument underneath) but W3C DOM functions like 
+   DOMElement::setAttribute don't work! Am I going crazy or what?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>No, you aren't going crazy. Xalan's default source tree is read-only for efficiency. If you need a DOM that supports 
+      modifications, use the Xerces DOM instead.  See the TransformToXercesDOM sample for more information.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-21" class="faqTitle">21. Changing Where Error Output is Sent</h3>
+<div class="faqQuestion">XalanTransformer outputs errors to the console. How do I, for example, output error to a file?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>By default, XalanTransformer creates a XalanTransformerProblemListener (a subclass of ProblemListener) that writes 
+      output to std::cerr. To change this you can:</p>
+   <ul>
+     <li>Redirect std::cerr from the command line.</li>
+     <li>Call XalanTranformer::setWarningStream with a different std::ostream before calling XalanTransformer::transform.</li>
+     <li>Instantiate your own XalanTransformerProblemListener with a different output stream and call 
+         XalanTransformer::setProblemListener() before calling XalanTransformer::transform().</li>
+     <li>Subclass some ProblemListener type and do custom handling of errors (you still then need to tell XalanTransformer 
+         instances to use your ProblemListener.)</li>
+   </ul>
+   <p>In most case you probably want to do one of the first two.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-22" class="faqTitle">22. Programmatic Error Information</h3>
+<div class="faqQuestion">How do I programmatically get the file name, line number, and column number for an error in an XML file?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>Create a custom ErrorHandler (a Xerces-C++ class) and call XalanTransformer::setErrorHandler before parsing any sources.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-23" class="faqTitle">23. String Transcoding</h3>
+<div class="faqQuestion">How do I make a char* out of XalanDOMString (or vice-versa)?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>See the static method XalanDOMString::transcode, or the functions TranscodeToLocalCodePage in the API documentation.  
+   However, you should be very careful when transcoding Unicode characters to the local code page, because not all Unicode 
+   characters can be represented.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-24" class="faqTitle">24. Error Code/Exception Summary</h3>
+<div class="faqQuestion">Is there a table of error codes somewhere? How about a summary of what methods throw which exceptions?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>There isn't, but we're working on it.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-25" class="faqTitle">25. Extension Functions</h3>
+<div class="faqQuestion">The Xalan extension functions (xalan:node-set, etc.) don't work for me. Help!</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>Did you declare the namespace on the xsl:stylesheet or xsl:transform element? It should look like this: </p>
+   <p>&lt;xsl:stylesheet version="1.0" xmlns:xalan="http://xml.apache.org/xalan"&gt; ...rest of stylesheet</p>
+   <p>If you did and you still have problems, you might want to ask the mailing list.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-26" class="faqTitle">26. Outputting results to a file on Windows 95/98</h3>
+<div class="faqQuestion">Why can't I ouput my results to a file on Windows 95/98?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>Well, you can, but it doesn't always work. Neither Windows 95 or 98 are supported or tested. There have been reports of 
+      problems on it, especially regarding Unicode support. See 
+      <a href="http://marc.info/?l=xalan-dev&amp;m=99840914524755&amp;w=2">this post</a>.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-27" class="faqTitle">27. Using format-number and ICU</h3>
+<div class="faqQuestion">Why does Xalan emit a warning when using the XSLT function format-number()?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>Did you build with ICU support? See <a href="usagepatterns.html#icu">Using the International Components for 
+      Unicode (ICU)</a>.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-28" class="faqTitle">28. Perl wrapper for Xalan-C++?</h3>
+<div class="faqQuestion">Is there a Perl wrapper for Xalan-C++?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>There is no Apache Perl wrapper, however Edwin Pratomo has written a wrapper for Xalan-C++ version 1.4 that can be found 
+      on CPAN</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3 id="faq-29" class="faqTitle">29. Missing LocalMsgIndex.hpp file</h3>
+<div class="faqQuestion">Why can't I find the LocalMsgIndex.hpp file?</div>
+<br />
+<hr />
+<div class="faqAnswer">
+<p>The LocalMsgIndex.hpp file is not shipped with the distributions because this file is generated during compile time.  This 
+      file is created at the start of the build process and customized for the locale and message set you are using.</p>
+   <p>On Windows, the LocalMsgIndex.hpp header is generated by the Localization project.  By building any project that has a 
+      dependency on the Localization project, will trigger the Message Localization component to built and the LocalMsgIndex.hpp 
+      to be generated.</p>
+   <p>On Windows binary distributions, the LocalMsgIndex.hpp file is a member of the "<code>Include</code>" directory.</p>
+   <p>On Unix binary distributions, the LocalMsgIndex.hpp file is a member of the "<code>include/xalanc/PlatformSupport</code>" directory.</p>
+</div>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+</div>
+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Tue 2012-10-09</div>
+</div>
+</body>
+</html>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org