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/06/16 06:28:16 UTC

svn commit: r1350859 [3/7] - in /xalan/c/trunk/xdocs: ./ html/ html/apiDocs/ sources/ sources/xalan-graphic/ sources/xalan/ sources/xslt-resources/ style/ style/dtd/

Added: xalan/c/trunk/xdocs/sources/xalan/charter.xml
URL: http://svn.apache.org/viewvc/xalan/c/trunk/xdocs/sources/xalan/charter.xml?rev=1350859&view=auto
==============================================================================
--- xalan/c/trunk/xdocs/sources/xalan/charter.xml (added)
+++ xalan/c/trunk/xdocs/sources/xalan/charter.xml Sat Jun 16 04:28:14 2012
@@ -0,0 +1,320 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+<!--
+ * 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.
+-->
+<s1 title="Xalan Project Charter">
+  <s2 title="Xalan Project Charter">
+  <p>The following charter applies to all Xalan projects.</p>
+  </s2>
+
+  <s2 title="1 INTRODUCTION">
+   <p>1.1 Apache Xalan is a collaborative software development project
+      dedicated to providing robust, full-featured, commercial-quality, and
+      freely available XSLT support on a wide variety of platforms. This
+      project is managed in cooperation with various individuals worldwide
+      (both independent and company-affiliated experts), who use the
+      Internet to communicate, plan, and develop XSLT software and related
+      documentation.</p>
+   <p>1.2 This charter briefly describes the mission, history, organization
+      and processes of the project.</p>
+  </s2>
+
+  <s2 title="2 MISSION">
+   <p>2.1 Apache Xalan exists to promote the use of XSLT. We view XSLT
+      (Extensible Stylesheet Language Transformations) as a compelling 
+      paradigm that transforms XML documents, thereby facilitating the
+      exchange, transformation, and presentation of knowledge. The ability
+      to transform XML documents into usable information has great potential
+      to improve the functionality and use of information systems. We intend
+      to build freely available XSLT processing components in order to
+      engender such improvements.</p>
+   <p>2.2 Apache Xalan consists of a set of components that transform XML
+      documents.  Where appropriate, these components plug into other XML
+      components using standard APIs (formal, de facto, or proposed).  The
+      components must be high performance, reliable, and easy to use.  Where
+      inter-related, the components must be part of an underlying architectural
+      orchestration that will allow them to work together without major
+      negotiations or breakage.</p>
+   <p>2.3 We believe that the best way to define this XML transformation
+      architecture is by having both individuals and corporations
+      collaborate on the best possible infrastructure, APIs, code, testing,
+      and release cycles. Components must be vendor neutral and usable as
+      core components for all.</p>
+   <p>2.4 In order to achieve a coherent architecture between Apache Xalan
+      components and other components and applications, standards (formal or
+      de facto) will be used as much as possible for both protocols and
+      APIs. Where appropriate, experiences and lessons learned will be fed
+      back to standards bodies in an effort to assist in the development of 
+      those standards.  We will also encourage the innovation of new
+      protocols, APIs, and components in order to seed new concepts not
+      yet defined by standards.</p>
+  </s2>
+  
+  <s2 title="3 HISTORY">
+   <p>3.1 This project was established under the direction of the Apache
+     Software Foundation in October 2004 to facilitate joint open-source
+     development.  Prior to October 2004 this project was a subproject
+     of the Apache XML project.</p>
+  </s2>
+  
+  <s2 title="4 TERMS">
+   <p>4.1 The ASF Board.  The management board of the Apache Software 
+      Foundation.</p>
+   <p>4.2 The Project.  The Apache Xalan project; intended to refer to the 
+      source code, website, subprojects, and community that are Apache Xalan.</p>
+   <p>4.3 Subproject.  The Apache Xalan project may have subprojects; a 
+      subproject is responsible for a component or application whose scope
+      is well defined.</p>
+   <p>4.4 Product.  Some deliverable (usually a binary or source package)
+      that a subproject makes available to the public.  Subprojects may have
+      multiple products.</p>
+   <p>4.5 Release.  A specific version of a product.  Subprojects may have
+      multiple releases of a given product.</p>
+   <p>4.6 Contributor.  Anyone who makes a contribution to the development
+      of the Apache Xalan project.</p>
+   <p>4.7 Committer.  The Apache Xalan project has a set of committers.  
+      Committers are contributors who have read/write access to the source
+      code repository.</p>
+   <p>4.8 PMC. The PMC (Project Management Committee) is the group of people
+      that form the entity that makes decisions and controls the project.  
+      Individual people or committers do not control the project.</p>
+  </s2>     
+  
+  <s2 title="5 THE PROJECT MANAGEMENT COMMITTEE">
+   <p>5.1 The Apache Xalan project is managed by a core group of committers 
+      known as the Project Management Committee [PMC]. Subprojects, if any,
+      much each have at least one representative committer on the PMC.</p>
+   <p>5.2 The activities of the PMC are coordinated by the Chairperson,
+      who is an officer of the corporation and reports to the Apache
+      Board.  The Chairperson will, on the request of the Apache Board, 
+      provide reports to the Board on issues related to the running of 
+      the Apache Xalan project.</p>
+   <p>5.3 The PMC has the following responsibilities:</p>
+   <p>a) Accepting new subproject proposals, formally submitting these
+      proposals for Apache Xalan committer vote, and creating the subproject
+      (see SUBPROJECTS below).  This is done in collaboration with the 
+      Incubator (see <jump href="http://incubator.apache.org">http://incubator.apache.org</jump>).</p>
+   <p>b) Facilitating code or other donations by individuals or companies,
+      in collaboration with the Incubator.</p>
+   <p>c) Resolving license issues and other legal issues in conjunction with
+      the ASF board.</p>
+   <p>d) Ensuring that administrative and infrastructure work is completed.</p>
+   <p>e) Facilitating relationships among projects and subprojects.</p>
+   <p>f) Facilitating relationships between the Apache Xalan project and the 
+      external world.</p>
+   <p>g) Overseeing Apache Xalan to ensure that the mission defined in this 
+      document is being fulfilled.</p>
+   <p>h) Resolving conflicts within the project.</p>
+   <p>i) Reporting to the ASF board (through the Chair) on the progress
+      of the project.</p>
+   <p>j) Propose new releases of projects or subprojects.  Such proposals pass
+      if 75% of the PMC members vote in agreement.</p>   
+      
+   <p>5.4 A contributor can, at any time, nominate a committer to be on the PMC,
+      by calling for a vote.  If two thirds, or more, of the active committers 
+      vote in agreement then the nomination is given to the PMC.  The person
+      becomes a new PMC member if 75% or more of the PMC members vote in
+      agreement, with no dissenting votes among the PMC members.  This individual
+      should be elected based on merit for the evolution of the project and 
+      demonstration of commitment.</p>
+   <p>5.5 In cases where the subproject is unable to directly provide a 
+      representative on the PMC, another member of the PMC will be required to
+      represent that subproject on the PMC.  This will be strongly discouraged.
+      It is preferable that all subprojects have direct representation on the
+      PMC.</p>
+   <p>5.6 At least every twelve months, or more often if directed by the ASF
+      board, the PMC members will elect a Chairperson from among themselves;
+      the person with the most votes from the other PMC members is recommended
+      to the ASF board for the position of Chairperson, and with the ASF board's
+      approval, becomes the Chairperson for the new term.</p>
+   <p>5.7 Upon agreement by the Apache Board, the recommended Chairperson will,
+      if they are not already, be appointed an officer of the corporation.  See
+      <jump href="http://www.apache.org/foundation/bylaws.html">
+      http://www.apache.org/foundation/bylaws.html</jump> for more information.</p>
+   <p>5.8 The PMC is responsible for maintaining and updating this charter. 
+      Development must follow the process outlined below, so any change to the 
+      development process necessitates a change to the charter. Proposed changes
+      to this charter by the PMC are passed if 75% or more of the PMC members
+      approve the proposal, with no dissenting votes. However, an active Apache
+      Xalan committer may challenge the change.</p>
+   <p>5.9 An active Apache Xalan committer may challenge a change to this charter
+      proposed by the PMC within two weeks of its proposal.  When challenged the
+      proposed change is passed if within two weeks of the challenge the active
+      committers approve the change with a two-thirds majority vote.</p>
+   <p>5.10 The PMC ultimately makes the decisions for the project, not the individual
+      people.  At any time the PMC can reject patches or other contributions to the
+      project if 75% or more of the PMC members vote to reject the contribution.</p>
+   <p>5.11 A PMC member may resign their membership at any time.  However, in the
+      unlikely event that a member of the PMC becomes disruptive to the process,
+      such as ceasing to take part in PMC votes, the PMC member may be removed from
+      the PMC by a vote among the other PMC members.  The PMC member is removed if
+      75% or more of the other PMC members approve the removal, with no dissenting
+      votes among the other PMC members.</p>
+   <p>5.12 A person remains a PMC member until he or she resigns, is removed by a
+      vote from among the other PMC members, dies or is incapacitated.</p>
+  </s2> 
+
+  <s2 title="6 SUBPROJECTS">
+   <p>6.1 A subproject of the Apache Xalan project is responsible for a component 
+      or application whose scope is well defined.  Each subproject has its own set 
+      of developers, and is responsible for approving its own committers. Apache 
+      Xalan is composed of subprojects which fit into one of two categories:</p>
+   <p>(a) An XSLT processor implementation in some particular programming
+      language.  There may be multiple processors for a given language if
+      the API's the processors support are sufficiently dissimilar.  At the
+      time of writing, there is one processor for C++ and two for Java.</p>
+   <p>(b) A set of components which are used in related applications and are
+      tightly bound, usually through internal API's, to one (or more) of the
+      processor subprojects.</p>
+   <p>6.2 A new subproject proposal is submitted to the PMC, and then accepted
+      by a majority Apache Xalan project active committer vote within two weeks
+      after the proposal.</p>
+   <p>6.3 Each subproject must have a set of requirements as well as an
+      up-to-date release plan and design document on its dedicated web page.</p>
+   <p>6.4 It is recommended that each subproject have a smoke-test system
+      that works at least as a basic integration test.</p>
+   <p>6.5 A subproject may be removed if 75% or more of the PMC members approve
+      the proposal, there are no dissenting votes among the PMC members,
+      and no challenges by active Apache Xalan project committers
+      within two weeks after the proposal.
+      A contributor may challenge the proposed removal
+      of a subproject within two weeks of the proposal.
+      In this case the proposed removal is passed if within two weeks of the
+      challenge the active committers approve the removal with a two-thirds
+      majority vote. Any subproject removal is subject to the approval of the
+      ASF board.</p>
+  </s2>     
+  
+  <s2 title="7 CONTRIBUTORS">
+   <p>7.1 Like all Apache projects, the Apache Xalan project is a
+      meritocracy -- the more work you do, the more you are allowed to do.</p>
+   <p>7.2 People who make regular and substantial contributions may become
+      committers as described below. Contributions include: participating in
+      mailing lists, reporting issues or bugs in issue-records in the Issue Database, 
+      providing patches, and proposing changes to a product.</p>
+   <p>7.3 In order to ensure that all code contained in the Apache Xalan
+      project's code repository is free of licensing, intellectual property and patent
+      issues, any person wishing to contribute a new feature to Apache Xalan must either
+      sign:</p>
+   <p>a) If contributing as an individual, sign the &quot;Individual
+      Contributor License Agreement (CLA)&quot;
+      (<jump href="http://www.apache.org/licenses/icla.txt">http://www.apache.org/licenses/icla.txt</jump>)
+      and file a copy with the Secretary of the Corporation; or </p>      
+   <p>b) If making the contribution as part of their employment
+      responsibilities, sign the &quot;Corporate CLA (CCLA)&quot;, 
+      (<jump href="http://www.apache.org/licenses/cla-corporate.txt">http://www.apache.org/licenses/cla-corporate.txt</jump>)
+      and file a copy with the Secretary of the Corporation.</p>
+   <p>7.4 If the contribution in question is a small bugfix, the contributor need
+      not sign a CLA, but need only provide the following information, attaching
+      it to the communication containing the patch:</p>
+   <p>a) Name and employer</p>
+   <p>b) Are you the author of the code being contributed?</p>
+   <p>c) Do you have the right to grant the copyright and patent
+      licenses for the contribution that are set forth in the ASF v.2.0
+      license (<jump href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</jump>)?</p>
+   <p>d) Does your employer have any rights to code that you have
+      written, for example, through your contract for employment?  If
+      so, has your employer given you permission to contribute the code
+      on its behalf or waived its rights in the code?</p>
+   <p>e) Are you aware of any third-party licenses or other
+      restrictions (such as related patents or trademarks) that could
+      apply to your contribution?  If so, what are they?</p>
+  </s2>   
+  
+  <s2 title="8 COMMITTERS">
+   <p>8.1 The Apache Xalan project has a set of committers. If there
+      are subprojects, each subproject will also have a set of committers.
+      Committers are contributors who have read/write access to the source code 
+      repository. New committers are added when a contributor is nominated by a 
+      committer and approved by at least 50 percent of the active committers for 
+      that subproject with no opposing votes.  In most cases, new committers will 
+      already be participating in the development process by submitting suggestions
+      and/or fixes via issue-records in the Issue Database or mailing lists.</p>
+   <p>8.2 For the purposes of voting, committers will be classed as &quot;active&quot; or
+      &quot;inactive&quot;. Only active committers will be included in the totals used to
+      determine the success or failure of a particular vote.</p>
+   <p>8.3 Committers remain active as long as they are contributing code or
+      posting to the project or subproject mailing lists.  If a committers has
+      neither contributed code nor posted to the mailing lists in 3
+      months, a member of the PMC will e-mail the committer,
+      the project or subproject development list, and the PMC mailing list
+      notifying the committer that they are now in inactive status.</p>
+   <p>8.4 An inactive status will not prevent a committer committing new code
+      changes or posting to the mailing lists.  Either of these activities will
+      automatically re-activate the committer for the purposes of voting.</p>
+  </s2>   
+  
+  <s2 title="9 INFRASTRUCTURE">
+   <p>9.1 The Apache Xalan project relies on the Apache XML project
+      and the Apache Infrastructure project for the following:</p>
+   <p>a) Issue Database -- This is a system with issue-records,
+      for tracking bugs, issues, features and requests.</p>
+   <p>b) Repository -- The xalan.apache.org project has its set
+      of parts that make up the software, and these parts are
+      managed in a repository. Committers make changes to the source code,
+      documentation and other associated parts that are stored in
+      the repository. Any subproject will have its set of committers
+      for its repository.</p>
+   <p>c) Website -- The website <jump href="http://xalan.apache.org">xalan.apache.org</jump> 
+      will contain information about the Apache Xalan project and its subprojects,
+      including documentation, downloads of releases, and this charter.</p>
+   <p>d) Mailing Lists -- appropriate mailing lists will be created
+      at the discretion of the PMC. Such mailing lists could
+      for example include: a PMC mailing list, a general mailing list,
+      project or subproject public developer mailing lists,
+      project or subproject public user mailing lists.</p>
+  </s2> 
+  
+  <s2 title="10 LICENSING">
+   <p>10.1 All contributions to the Apache Xalan project adhere to the &quot;Apache
+      Software Foundation License, Version 2.0&quot;
+      (<jump href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</jump>).
+      All further contributions, including patches, must be made under the same terms.</p>
+   <p>10.2 When a committer is considering integrating a contribution
+      from a contributor who has no CLA on file with the Corporation,
+      it is the responsibility of the committer, in consultation with
+      the PMC, to conduct due diligence on the pedigree of the
+      contribution under consideration; see sections 7.3 and 7.4.  </p>
+  </s2>     
+  
+  <s2 title="11 THE DEVELOPMENT PROCESS"> 
+   <p>11.1 For a committer to commit a change to the MAIN branch of the
+      repository an issue-record must be opened in the &quot;Issue Database&quot;
+      to track the change. The status of the issue must be kept up to date.</p>
+   <p>11.2 No voting is required to commit changes, but one other active 
+      committer must review the changes.  Before the changes are committed, the reviewer
+      must add a comment in the corresponding issue-record indicating that
+      they have reviewed and approve the changes.</p>
+   <p>11.3 Issue-records and reviews are not required for committing changes to
+      other experimental branches (not the MAIN branch) in a repository.</p>
+  </s2> 
+  
+  <s2 title="12 VOTING">
+   <p>12.1 Unless otherwise stated in this mission, votes cast on Apache Xalan
+      proposals must be made within two weeks of the proposal. A challenge to
+      a proposal must also be made within two weeks of the proposal. Likewise,
+      votes cast on challenges must be cast within two weeks of the challenge.</p>
+  </s2> 
+  
+  <s2 title="13 RELATIONSHIP TO OTHER APACHE PROJECTS">
+   <p>13.1 The Apache Xalan project should work closely with other Apache
+      projects, such as Xerces and XML, to avoid redundancy
+      and achieve a coherent architecture among Apache Xalan and these
+      projects.</p>
+  </s2>       
+</s1>

Added: xalan/c/trunk/xdocs/sources/xalan/commandline.xml
URL: http://svn.apache.org/viewvc/xalan/c/trunk/xdocs/sources/xalan/commandline.xml?rev=1350859&view=auto
==============================================================================
--- xalan/c/trunk/xdocs/sources/xalan/commandline.xml (added)
+++ xalan/c/trunk/xdocs/sources/xalan/commandline.xml Sat Jun 16 04:28:14 2012
@@ -0,0 +1,105 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+
+<!--
+ * 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.
+-->
+ 
+
+<s1 title="&xslt4c; Command-Line Utilities">
+<ul>
+<li><link anchor="use">Using a command-line utility</link></li>
+<li><link anchor="xalanexe">Using the Xalan executable</link></li>
+<!--
+<li><link anchor="confexe">Using the conf utility</link></li>
+-->
+</ul><anchor name="use"/>
+<s2 title="Using a command-line utility">
+<p>To perform a transformation, you can call &xslt4c; from the command line (or script), 
+   or from within an application (see <link idref="usagepatterns">Usage Patterns</link>).</p>
+<p>To perform a transformation from the command line or a script, do the following:</p>
+  <ol>
+    <li><link idref="download">Download &xslt4c;</link>.<br/><br/></li> 
+    <li><link idref="install">Set the path/library path</link> to include the Xalan executable and the Xalan and Xerces 
+        libraries.<br/><br/></li>
+    <li>Call the Xalan executable with the appropriate flags and arguments (described below).</li>
+  </ol>  
+</s2>
+<anchor name="xalanexe"/>
+<s2 title="Using the Xalan executable">
+<p>Call the Xalan executable as follows:<br/><br/> 
+   <code>Xalan <ref>[options]</ref> <ref>xmlSource</ref> <ref>xslStylesheet</ref></code><br/><br/>
+   where <ref>xmlSource</ref> is the XML source document, <ref>xslStylesheet</ref> is the stylesheet to apply, and 
+   <ref>[options]</ref> are any (or none) of the following:</p>
+<table>
+  <tr><th>Option</th><th>Description</th></tr>
+  <tr><td>-a</td><td>Use stylesheet processing instruction, not the stylesheet argument.</td></tr>
+  <tr><td>-e encoding</td><td>Force the specified encoding for the output.</td></tr>
+  <tr><td>-i integer</td><td>Indent the specified amount.</td></tr>
+  <tr><td>-m</td><td>Omit the META tag in HTML output.</td></tr>
+  <tr><td>-o filename</td><td>Write transformation result to this file (rather than to the console).</td></tr>
+  <tr><td>-p name expr</td><td>Set a stylesheet parameter with this expression.</td></tr> 
+  <tr><td>-t name expr</td><td>Display timing information.</td></tr> 
+  <tr><td>-u name expr</td><td>Disable escaping of URLs in HTML output.</td></tr> 
+  <tr><td>-v</td><td>Validate the XML source document.</td></tr> 
+  <tr><td>-</td><td>A dash as the 'source' argument reads from stdin.<br/>A dash as the 'stylesheet' argument reads 
+                    from stdin.<br/>('-' cannot be used for both arguments.)</td></tr> 
+</table>
+<p>To display a list of the options call the Xalan executable as follows:</p>
+<p><code>Xalan -?</code></p>
+</s2>
+<!-- Next Release 
+<anchor name="confexe"/>
+<s2 title="Using the conf utility">
+<p>The conf utility is a test harness used to run conformance tests found under the xml-xalan/test/tests/conf branch.  The conf utility is provided in the bin directory of &xslt4c; UNIX binary distributions and the Build directory of the &xslt4c; Windows binary distribution.  If you downloaded the source distribution package, you will need to do the following in order to build the conf utility:</p>
+<p>With the Windows source package,</p>
+<ol>
+<li>Follow the same build instructions as listed under <link idref="readme" anchor="win32">"Steps to Build on Windows"</link> to build the Xalan executable.</li>
+<li>From Visual C++, go to "Projects" and select "Set Active Project" and highlight the "conf" project.</li>
+<li>Go to "Build" and select "Rebuild All" to build the conf utility.</li>
+</ol>
+<p>With the UNIX source package,</p>
+<ol>
+<li>Follow the same build instructions as listed under <link idref="readme" anchor="unix">"Steps to Build on UNIX"</link></li>
+<li>Run the build with the make target as "Tests".</li>
+</ol>
+<p>If you downloaded the binary distribution, the conf utility is located in the bin directory. </p>
+<p>Call the conf utility as follows:<br/><br/>
+<code>Conf <ref>test_dir</ref> [-sub <ref>&lt;dir&gt;</ref> -out <ref>&lt;dir&gt;</ref> -gold <ref>&lt;dir&gt;</ref> -source (XST | XPL | DOM)]</code><br/><br/>
+
+<table>
+ <tr><th>Option</th><th>Description</th></tr>
+ <tr><td><ref>test_dir</ref></td><td>Specifies the base directory for the test cases.</td></tr>
+ <tr><td>-sub <ref>dir</ref></td><td>Specifies the specific sub-directory for the test cases.  By default, the sub-directory assumes the same value specified for the test_dir option.</td></tr>
+ <tr><td>-out <ref>dir</ref></td><td>Specifies the directory to store the test results output.  By default, the output directory is set to CONF-RESULTS.</td></tr>
+ <tr><td>-gold <ref>dir</ref></td><td>Specifies the directory for the gold files.  By default, the gold file directory is set to &lt;test_dir&gt;-gold.</td></tr>
+ <tr><td>-source <ref>type</ref></td><td>Specifies the type of parsed source.  Valid values include: XST (XalanSourceTree), XPL (XercesParserLiaison), or DOM (Document Object Model).  By default, this value is set to XST.</td></tr>
+</table></p>
+<p>To display a list of the options call the conf utility as follows:</p>
+<p><code>conf &dash;&dash;help</code></p>
+<p>After conformance tests have been run, a results report is generated in HTML format.  The results report file name use the following naming convention:<br/><br/>
+&nbsp;&nbsp;&nbsp;<code>conf<ref>xxyyzzzz</ref>.html</code>.  
+<br/><br/>Where<br/><br/> 
+<table>
+ <tr><th>Placeholder</th><th>Description</th></tr>
+ <tr><td>xx</td><td>two digit representation of the current month</td></tr>
+ <tr><td>yy</td><td>two digit representation of the current day</td></tr>
+ <tr><td>zzzz</td><td>four digit representation of the current time stamp in military format</td></tr>
+</table></p>
+</s2>
+-->
+</s1>

Added: xalan/c/trunk/xdocs/sources/xalan/download.xml
URL: http://svn.apache.org/viewvc/xalan/c/trunk/xdocs/sources/xalan/download.xml?rev=1350859&view=auto
==============================================================================
--- xalan/c/trunk/xdocs/sources/xalan/download.xml (added)
+++ xalan/c/trunk/xdocs/sources/xalan/download.xml Sat Jun 16 04:28:14 2012
@@ -0,0 +1,210 @@
+<?xml version="1.0" standalone="no"?> 
+<!--
+ * 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.
+-->
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+<s1 title="Downloading &xslt4c;">
+<anchor name="download"/>
+<p>This section is being rewritten for Xalan-C/C++ Version 1.11.  You
+can find the old 
+<jump href="http://xml.apache.org/xalan-c">Version 1.10</jump> here.
+</p>
+
+<p>We are providing a source package, a documentation package, and
+some compiled binary packages.
+</p>
+
+<p>The binary packages are currently for Windows systems.  We can
+use your help <jump href="buildlibs.html">creating binary packages</jump> for 
+UNIX and Linux systems.
+</p>
+
+<p><em>THIS IS STILL A PRE-RELEASE PRODUCT</em></p>
+
+<p>A distribution will be mirrored and these pages updated when the packages
+become available to the general public.  The current packages for download
+are in a temporary repository for developers.
+</p>
+
+<p>The subversion sources are current for Xalan-C/C++ Version 1.11 and are
+available for download using your favorite subversion <code>svn</code> program.</p>
+
+<p>Apache Xalan-C/C++ Subversion Repository is accessed here.<br/> 
+<jump href="http://svn.apache.org/repos/asf/xalan/c/trunk">
+http://svn.apache.org/repos/asf/xalan/c/trunk</jump>
+</p>
+
+<s2 title="Downloading what you need">
+
+<p>The Xalan-C/C++ library requires the
+<jump href="http:xml.apache.org/xerces-c">Xerces-C/C++ XML</jump> Parser 3.0 
+or newer, version 3.1.1 is preferred.
+</p>
+
+<p>The source package contains all the scripts needed to build the
+library, sample programs, and documentation for a wide variety
+of Windows and UNIX platforms.  The documentation package provides
+usable html documentation for your web browsers.
+</p>
+
+<p>Building the API Reference documents requires a current version of the 
+<jump href="http://www.doxygen.org">Doxygen</jump> and 
+<jump href="http://www.graphviz.org">GraphViz</jump> programs for UNIX or Linux. 
+We have not tried building the API Reference on a Windows platform.
+A usable API Reference is included with the documentation package.
+</p>
+
+<s3 title="Source Packages">
+<p>We are distributing the source package for the Xalan-C/C++
+library, sample programs, and documentation.  The source package
+has the StyleBook XML sources for the web pages and a Doxygen
+configuration file to construct the API Reference.
+</p>
+
+<ul>
+ <li>Xalan-C-1.11.source.tar.gz</li>
+ <li>Xalan-C-1.11.source.zip</li>
+</ul>
+</s3>
+
+<s3 title="Documentation Packages">
+<p>We are distributing a package of html web pages for the User
+Guide and interactive API Reference. The documentation package 
+describes how to build and use the library for Windows and UNIX
+platforms.
+</p>
+
+<ul>
+ <li>Xalan-C-1.11.docs-html.tar.gz</li>
+ <li>Xalan-C-1.11.docs-html.zip</li>
+ <li>Xalan-C-1.11.docs-api.tar.gz</li>
+ <li>Xalan-C-1.11.docs-api.zip</li>
+</ul>
+</s3>
+
+<s3 title="Binary Packages">
+<p>We are distributing compiled binary packages for several
+platforms.  The Xalan-C/C++ documentation is provided as a
+separate package.  We would like to distribute
+binary packages for platforms that have compiled Xerces-C/C++
+distribution support.
+</p>
+
+<p>The following binary packages are being prepared for distribution.</p>
+
+<ul>
+ <li>Xalan-C-1.11.windows-x86-vc71.zip</li>
+ <li>Xalan-C-1.11.windows-x86-vc8.zip</li>
+ <li>Xalan-C-1.11.windows-x86-vc9.zip</li>
+ <li>Xalan-C-1.11.windows-x86-vc10.zip</li>
+ <li>Xalan-C-1.11.windows-x86_64-vc8.zip</li>
+ <li>Xalan-C-1.11.windows-x86_64-vc9.zip</li>
+ <li>Xalan-C-1.11.windows-x86_64-vc10.zip</li>
+</ul>
+
+<p>We currently have no one committed to release UNIX and Linux
+binary packages.  If you have scripts to build these packages,
+your help would be appreciated. 
+You can contribute by posting your comments to the 
+<jump href="mailto:xalan-dev@xml.apache.org">xalan-dev</jump> mailing list.
+</p>
+</s3>
+<!-- PLATFORM COMPATIBILITY TABLE GOES HERE
+-->
+<s3 title="Platform Compatibility">
+<p>The compiler version used for each platform is listed in the table below.
+The build platforms shown here have Xerces-C/C++ binary package support.
+    <table>
+       <tr>
+         <th>Platform - Operating System</th>
+         <th>Compilers</th>
+       </tr>
+       <tr>
+         <td>Windows X86</td>
+         <td>VC7.1, VC8, VC9, VC10</td>
+       </tr>
+       <tr>
+         <td>Windows X86_64</td>
+         <td>VC8, VC9, VC10</td>
+       </tr>
+       <tr>
+         <td>HPUX ia64</td>
+         <td>ACC 6</td>
+       </tr>
+       <tr>
+         <td>HPUX ia64_64</td>
+         <td>ACC 6</td>
+       </tr>
+       <tr>
+         <td>AIX powerpc</td>
+         <td>xlc 7.0</td>
+       </tr>
+       <tr>
+         <td>AIX powerpc_64</td>
+         <td>xlc 7.0</td>
+       </tr>
+       <tr>
+         <td>SOLARIS sparc</td>
+         <td>cc 5.10</td>
+       </tr>
+       <tr>
+         <td>SOLARIS sparc_64</td>
+         <td>cc 5.10</td>
+       </tr>
+       <tr>
+         <td>SOLARIS X86</td>
+         <td>cc 5.10</td>
+       </tr>
+       <tr>
+         <td>SOLARIS X86_64</td>
+         <td>cc 5.10</td>
+       </tr>
+       <tr>
+         <td>LINUX X86</td>
+         <td>gcc 3.4</td>
+       </tr>
+       <tr>
+         <td>Linux X86_64</td>
+         <td>gcc 3.4</td>
+       </tr>
+       <tr>
+         <td>MAC OSX X86</td>
+         <td>gcc 4.0</td>
+       </tr>
+    </table>
+</p>
+<p>Building for platforms other than those listed will require
+a build of the Xerces-C/C++ XML Parser library from the sources.
+Use of Xalan and Xerces libraries compiled with different versions
+of compilers may cause problems</p>
+
+<note>Use GNU tar to untar the Solaris distribution file; see <link idref="faq" anchor="faq-11">A tar checksum error on Solaris
+      </link>.
+</note>
+
+<p>If you want to take advantage of the support for number formatting, sorting, and encoding the ICU provides, you should also download 
+   and install the <resource-ref idref="icu"/>; see <link idref="usagepatterns" anchor="icu">Using the ICU</link>,</p>
+
+<p>The IBM ICU is supported with Xerces-C version 2.8.  Xerces-C version 3 has introduced transcoding support modules, currently being evaluated for Xalan XSLT transcoders.
+</p>
+
+<note>To access previous releases of &xslt4c;, visit the <jump href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive 
+      directory</jump>.
+</note>
+</s3>
+</s2>
+</s1>

Added: xalan/c/trunk/xdocs/sources/xalan/extensions.xml
URL: http://svn.apache.org/viewvc/xalan/c/trunk/xdocs/sources/xalan/extensions.xml?rev=1350859&view=auto
==============================================================================
--- xalan/c/trunk/xdocs/sources/xalan/extensions.xml (added)
+++ xalan/c/trunk/xdocs/sources/xalan/extensions.xml Sat Jun 16 04:28:14 2012
@@ -0,0 +1,225 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ * 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.
+-->
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+
+<s1 title="&xslt4c; Extension Functions">
+<ul>
+  <li><link anchor="intro">Introduction</link></li>
+  <li><link anchor="implement">Implementing an extension function</link></li>
+  <li><link anchor="install">Installing an extension function</link></li>
+  <li><link anchor="use">Using an extension function</link></li>
+</ul>
+<anchor name="intro"/>
+<s2 title="Introduction">
+<p>At times, you may want to call your own custom C functions from a stylesheet. For these situations, &xslt4c; supports the 
+   creation and use of extension functions. &xslt4c; also provides a <link idref="extensionslib">library of extension functions
+   </link> for your use.</p>
+<p>You can think of extension functions as extending the core library of functions that XPath provides. Like the
+   XPath functions, an extension function returns an XObject, which may contain a value of any of the five XSLT
+   data types: node-set, result-tree-fragment, string, boolean, or number.</p> 
+<p>You can send arguments to an extension function in the form of XPath expressions, literals (for string, boolean, and number), 
+   the values returned by other functions, and XSL variables or parameters set to any of the preceding.</p>
+<p>For an example that implements, installs, and uses three extension functions, see the 
+<link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
+<note>&xslt4c; does not support extension elements.</note>
+</s2>
+
+<anchor name="implement"/>
+<s2 title="Implementing an extension function">
+<p>Like the standard XPath functions, the functions you create derive from the Function base class. Set up your 
+   extension function class as follows:</p>
+<ol>
+  <li>The body of a function is the execute() method. Use the appropriate XObjectFactory method -- createNumber()
+      in the example below -- to create an XObject corresponding to the XSLT data type the function returns.<br/><br/></li>
+  <li>Implement a clone() method to enable Xalan to create and maintain a copy of the extension
+      function.<br/><br/></li> 
+  <li>(Optional) As Xalan does for the XPath functions, you may want to prevent the compiler from generating 
+      an assignment or equality operator for this function.</li>
+</ol>
+<p>These features all appear in the following example.</p>
+<source>
+// Base header file.  Must be first.
+#include &lt;xalanc/Include/PlatformDefinitions.hpp&gt;
+
+#include &lt;cmath&gt;
+#include &lt;ctime&gt;
+
+#include &lt;xercesc/util/PlatformUtils.hpp&gt;
+#include &lt;xalanc/XalanTransformer/XalanTransformer.hpp&gt;
+#include &lt;xalanc/XPath/XObjectFactory.hpp&gt;
+
+XALAN_CPP_NAMESPACE_USE
+
+// This class defines a function that will return the square root
+// of its argument.
+class FunctionSquareRoot : public Function
+{
+public:
+
+  /**
+   * Execute an XPath function object.  The function must return a valid
+   * XObject.
+   *
+   * @param executionContext executing context
+   * @param context          current context node
+   * @param opPos            current op position
+   * @param args             vector of pointers to XObject arguments
+   * @return                 pointer to the result XObject
+   */
+  virtual XObjectPtr
+  execute(
+      XPathExecutionContext&amp; executionContext,
+      XalanNode* /* context */,
+      const XObjectPtr arg,
+     	const Locator*	/* locator */) const
+  {
+    if (args.size() != 1)
+    {
+      executionContext.error("The square-root() function takes one argument!", 
+                              context);
+    }
+    assert(args[0] != 0);
+    // Use the XObjectFactory createNumber() method to create an XObject 
+    // corresponding to the XSLT number data type.
+    return executionContext.getXObjectFactory().createNumber(
+                                                        sqrt(args[0]->num()));
+  }
+
+  /**
+   * Implement clone() so Xalan can copy the square-root function into
+   * its own function table.
+   *
+   * @return pointer to the new object
+   */
+// For compilers that do not support covariant return types,
+// clone() must be declared to return the base type.
+#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
+  virtual Function*
+#else
+  virtual FunctionSquareRoot*
+#endif
+  clone() const
+  {
+    return new FunctionSquareRoot(*this);
+  }
+
+private:
+  // The assignment and equality operators are not implemented...
+  FunctionSquareRoot&amp;
+  operator=(const FunctionSquareRoot&amp;);
+  bool
+  operator==(const FunctionSquareRoot&amp;) const;
+}
+</source>   
+</s2>
+<anchor name="install"/>
+<s2 title="Installing an extension function">
+<p><jump href="apiDocs/classXalanTransformer.html">XalanTransformer</jump> provides methods for installing and uninstalling external functions:</p>
+<ul>
+  <li>installExternalFunction() makes the function available in the current instance of XalanTransformer. Use uninstallExternalFunction() to remove the function.<br/><br/></li>
+  <li>installExternalFunctionGlobal() makes the function available globally. Use uninstallExternalFunctionGlobal() to remove the function. The global install and uninstall operations are not thread-safe.  However, all global functions should be thread-safe, because multiple threads could call a particular function instance at the same time.</li>
+</ul>
+<p>These methods include arguments for the namespace, the function name, and the function implementation.</p>
+<p>When you install an extension function, the function inhabits the namespace you designate. For information about XML namespaces, see <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</jump>.</p>
+<p>The following code fragment installs locally the square root function defined above, and binds it to the extension-function name "square-root" in the namespace "http://MyExternalFunction.mycompany.org" so it can be accessed from stylesheets. Keep in mind that the function name does not need to be the same as the name of the function class, and that a function name may be used more than once provided that each function with that name is installed in a different namespace.</p>
+<source>#include &lt;xalanc/Include/PlatformDefinitions.hpp&gt;
+#include &lt;xercesc/util/PlatformUtils.hpp&gt;
+#include &lt;xalanc/XalanTransformer/XalanTransformer.hpp&gt;
+// You have created a header file for FunctionSquareRoot.
+#include &lt;MyFunctions/FunctionSquareRoot.hpp&gt;
+// The namespace...
+const XalanDOMString	
+    theNamespace("http://MyExternalFunction.mycompany.org");
+    
+theXalanTransformer.installExternalFunction(theNamespace,
+                                            XalanDOMString("square-root"),
+                                            FunctionSquareRoot());</source>
+<p>For an example that installs three functions, see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
+</s2>
+<anchor name="use"/>
+<s2 title="Using an extension function">
+<p>To use the extension function in a stylesheet, you must do the following:</p>
+<ol>
+  <li>Declare the extension function namespace.<br/><br/>
+      <code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code><br/><br/>
+      The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> matches the namespace specified when the function
+      is installed.<br/><br/>
+      By default, namespace declarations are included in the transformation output. To exclude namespaces from the output, 
+      use<br/><br/>
+      <code>exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
+      in the stylesheet element or<br/><br/>
+      <code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
+      in a literal result element or extension element.<br/><br/></li>
+  <li>Call the extension function in the same manner you would call an XPath function. The function name you use in the stylesheet is a Qualified Name (QName) made up of the prefix you declared in step 1 and the function name you specified when you installed the function.<br/><br/>
+      You can use XPath expressions, literals (for string, boolean, and number), and values returned by other functions to
+      specify function arguments.</li></ol>
+<p>Suppose, for example, you are working with XML documents containing area elements like
+   <code>&lt;area value="397"/&gt;</code>, where the value attribute identifies the area of a square.</p>
+<p>The following stylesheet declares the square-root function namespace (the prefix is up to you), instructs 
+   the processor not to copy the namespace declaration to the result tree, and uses the square-root function to return
+   the square root of //area/@value:</p>
+<source>
+&lt;?xml version="1.0"?&gt; 
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+  version="1.0"
+	xmlns:external="http://ExternalFunction.xalan-c.xml.apache.org"
+  exclude-result-prefixes="external"&gt;
+  
+    &lt;xsl:template match="//area"&gt;
+    &lt;out&gt;
+      The area of the square is
+      &lt;xsl:value-of select="@value"/&gt; square units.
+      The length of each side is 
+      &lt;xsl:value-of select="external:square-root(@value)"/&gt; units
+    &lt;/out&gt;
+</source>
+<p>This stylesheet converts  <code>&lt;area value="397"/&gt;</code> into the following output:</p>
+<source>&lt;out&gt;
+  The area of the square is 
+  397 square units.
+  The length of each side is 
+  19.9249 units.
+&lt;/out&gt;
+</source>
+<p>For a slightly more complex variation on this example,  
+see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
+<s3 title="Passing Nodes to a function">
+<p>Please keep in mind that <em>all</em> LocationPath expressions return a node-set, even if the expression only 
+   returns a single attribute or a text node (node-sets with one member). You can use the XSLT string() function 
+   to convert a node-set value to string, and the number() function to convert a node-set value to number (a double).</p>
+<p>If you pass a node-set to an extension function, be sure to set up the function to process a node-set.</p>
+<p>Suppose, for example, you have a ProcessNodes function class that uses<br/><br/> 
+   <code>const NodeRefListBase&amp; theNodeList = args[0]->nodeset();</code><br/><br/>
+   in the execute() method to get a reference to the node-set.</p>
+<p>Assuming you install the function as "ProcessNodes" and use the "node-ext" prefix in a stylesheet to refer to the ProcessNodes function namespace, any of the following function calls are syntactically possible:</p>
+<p><code>&lt;!--Process the current node--&gt;</code><br/>
+<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(.)"/&gt;</code></p>
+<p><code>&lt;!--Process all nodes in current context--></code><br/>
+<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(*)"/&gt;</code></p>
+<p><code>&lt;!-- Process all nodes --></code><br/>
+<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(/*)"/&gt;</code></p>
+<p><code>&lt;!--Process the foo/baz nodes in current context --></code><br/>
+<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(foo/baz)"/&gt;</code></p>
+<p><code>&lt;!--Process the/foo/baz and /bar/saz nodes --></code><br/>
+<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(/foo/baz | /bar/saz)"/&gt;</code></p>
+<p>The NodeRefListBase is in fact a list of references into the XML document, so keep in mind that getNextSibling(), 
+for example, gets you the next sibling in the document, which may not be the next Node in the node-set.</p>
+</s3>
+</s2>
+</s1>

Added: xalan/c/trunk/xdocs/sources/xalan/extensionslib.xml
URL: http://svn.apache.org/viewvc/xalan/c/trunk/xdocs/sources/xalan/extensionslib.xml?rev=1350859&view=auto
==============================================================================
--- xalan/c/trunk/xdocs/sources/xalan/extensionslib.xml (added)
+++ xalan/c/trunk/xdocs/sources/xalan/extensionslib.xml Sat Jun 16 04:28:14 2012
@@ -0,0 +1,152 @@
+<?xml version="1.0" standalone="no"?> 
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+<!--
+ * 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.
+-->
+<s1 title="Extensions library">
+<ul>
+  <li><link anchor="intro">Introduction</link></li>
+  <li><link anchor="exslt">Beta support for EXSLT extensions</link></li>
+  <li><link anchor="xalanns">Xalan namespace</link></li>
+  <li><link anchor="nodeset">nodeset</link></li>
+  <li><link anchor="intersection">intersection</link></li>
+  <li><link anchor="difference">difference</link></li>
+  <li><link anchor="distinct">distinct</link></li>
+  <li><link anchor="evaluate">evaluate</link></li>
+  <li><link anchor="hassamenodes">hasSameNodes</link></li>
+</ul>
+
+<anchor name="intro"/>
+<s2 title= "Introduction">
+<p>Extension functions provide a powerful mechanism
+   for extending and simplifying what you can do with an XLST processor like
+   Xalan. With input and contributions from the XML open-source developer community, we are working on placing the most useful
+   extensions in an extensions library distributed with &xslt4c;. If you have ideas and/or contributions you would like to make, 
+   please email us at the <human-resource-ref idref="xalandev"/>.</p>
+</s2>
+
+<anchor name="exslt"/>
+<s2 title="EXSLT extensions">
+<p>&xslt4c; supports the <jump href="http://exslt.org/">EXSLT</jump> initiative to provide a set of
+   standard extension functions to XSLT users. &xslt4c; includes beta implementations for 
+   functions in four of the EXSLT namespaces (some are calls to extension already in the Xalan namespace).</p> 
+<p>The source files for the implementations are in the XalanEXSLT subdirectory of the source tree.  See</p> 
+<ul>
+  <li><jump href="apiDocs/XalanEXSLTCommonImpl_8hpp.html">XalanEXSLTCommonImpl</jump></li>
+  <li><jump href="apiDocs/XalanEXSLTMathImpl_8hpp.html">XalanEXSLTMathImpl</jump></li>
+  <li><jump href="apiDocs/XalanEXSLTSetImpl_8hpp.html">XalanEXSLTSetImpl</jump></li>
+  <li><jump href="apiDocs/XalanEXSLTStringImpl_8hpp.html">XalanEXSLTStringImpl</jump></li>
+  <li><jump href="apiDocs/XalanEXSLTDynamicImpl_8hpp.html">XalanEXSLTDynamicImpl</jump></li>
+  <li><jump href="apiDocs/XalanEXSLTDateTimeImpl_8hpp.html">XalanEXSLTDateTimeImpl</jump></li>
+</ul>
+<p>For the function specifications, see:</p>
+<ul>
+  <li><jump href="http://www.exslt.org/exsl/exsl.html">EXSLT common functions</jump></li>
+  <li><jump href="http://www.exslt.org/math/math.html">EXSLT math functions</jump></li>
+  <li><jump href="http://www.exslt.org/set/set.html">EXSLT set functions</jump></li>
+  <li><jump href="http://www.exslt.org/str/str.html">EXSLT string functions</jump></li>
+  <li><jump href="http://www.exslt.org/dyn/dyn.html">EXSLT dynamic functions</jump></li>
+  <li><jump href="http://www.exslt.org/date/date.html">EXSLT date-time functions</jump></li>
+</ul>
+<p>Anyone who would like to participate in the &xslt4c; initiative to support EXSLT by testing these implementations or implementing 
+   other EXSLT functions is more than welcome. Please email us at the <human-resource-ref idref="xalandev"/>.</p>
+</s2>
+
+<anchor name="xalanns"/>
+<s2 title="Xalan namespace">
+<p>We are placing the Xalan extension functions in the XalanExtensions module and we have defined a namespace for this module:</p>
+<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan</code></p>
+<p>If you are calling &xslt4c;-supplied extensions, we recommend that you define this namespace in your stylesheet element, and 
+   call the extension using the namespace prefix that you have associated with that namespace. That way, if we later reorganize 
+   how the &xslt4c;-supplied extensions are stored, you won't have to modify your stylesheet.</p>
+<p>For an example that uses this namespace, see <link anchor="ex-nodeset">Example with the nodeset extension function</link>.</p>
+</s2>
+
+<anchor name="nodeset"/>
+<s2 title= "nodeset">
+<p>Implemented in <jump href="apiDocs/classFunctionNodeSet.html">FunctionNodeSet</jump>, <code>nodeset (result-tree-fragment)</code> 
+   casts a result tree fragment into a node-set.</p>
+<note>When you bind a variable to a template, rather than to the value generated by a select expression, the data type of the variable 
+      is result tree fragment. For more information, see <jump href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments">Result 
+      Tree Fragments</jump>.</note>
+
+<anchor name="ex-nodeset"/>
+<s3 title="Example with the nodeset extension function">
+<p>The following stylesheet uses the nodeset extension function to cast a result tree fragment into a node-set that can then be 
+   navigated in standard XPath manner. It uses the http://xml.apache.org/xalan namespace to provide access to the nodeset() method 
+   in xml.apache.xalan.lib.Extensions.</p>
+<source>
+&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+                   version="1.0"
+                   xmlns:xalan="http://xml.apache.org/xalan"
+                   exclude-result-prefixes="xalan"&gt;
+&lt;xsl:template match="/"&gt;
+  &lt;out&gt;
+	  &lt;xsl:variable name="rtf"&gt;
+      &lt;docelem&gt;
+        &lt;elem1&gt;
+          &lt;elem1a&gt;ELEMENT1A&lt;/elem1a&gt;
+          &lt;elem1b&gt;,ELEMENT1B&lt;/elem1b&gt;
+        &lt;/elem1&gt;
+        &lt;elem2&gt;
+          &lt;elem2a&gt;ELEMENT2A&lt;/elem2a&gt;
+        &lt;/elem2&gt;
+      &lt;/docelem&gt;
+    &lt;/xsl:variable&gt;     
+      &lt;xsl:for-each select="xalan:nodeset($rtf)/docelem//*"&gt;
+        &lt;xsl:value-of select="name(.)"/&gt;&lt;xsl:text&gt;,&lt;/xsl:text&gt;
+      &lt;/xsl:for-each>
+  &lt;/out>
+&lt;/xsl:template> 
+&lt;/xsl:stylesheet&gt;
+</source>
+<p>The output of running this stylesheet (with any XML input source) is a comma-delimited list of the element names in the node-set<br/>
+   &nbsp;&nbsp;<code>&lt;out&gt;elem1,elem1a,elem1b,elem2,elem2a&lt;/out&gt;</code></p>
+<note>For illustration purposes, the preceding stylesheet pays no attention to the structure and content of the XML input document. 
+      Instead, it processes the template (in the stylesheet) bound to the variable named rtf.</note>
+</s3>
+</s2>
+<anchor name="intersection"/>
+<s2 title="intersection">
+<p>Implemented in <jump href="apiDocs/classFunctionIntersection.html">FunctionIntersection</jump>, <code>intersection (node-set1, 
+   node-set2)</code> returns a node-set with all nodes that are in ns1 and in ns2.</p>
+</s2>
+<anchor name="difference"/>
+<s2 title= "difference">
+<p>Implemented in <jump href="apiDocs/classFunctionDifference.html">FunctionDifference</jump>, <code>difference(node-set1, 
+   node-set2)</code> returns a node-set with the nodes in node-set1 and not in node-set2.</p>
+</s2>
+<anchor name="distinct"/>
+<s2 title= "distinct">
+<p>Implemented in <jump href="apiDocs/classFunctionDistinct.html">FunctionDistinct</jump>, distinct (node-set) returns a node-set 
+   containing nodes with distinct string values. If more than one node in the node-set contains the same text node value, distinct 
+   only returns the first of these nodes that it finds.</p>
+</s2>
+<anchor name="evaluate"/>
+<s2 title= "evaluate">
+<p>Implemented in <jump href="apiDocs/classFunctionEvaluate.html">FunctionEvaluate</jump>, <code>evaluate (xpath-expression)</code> 
+   returns the result of evaluating the xpath-expression in the current XPath expression context (automatically passed in by the 
+   extension mechanism).</p>
+<p>Use the evaluation extension function when the value of the expression is not known until run time.</p>
+</s2>
+<anchor name="hassamenodes"/>
+<s2 title= "hasSameNodes">
+<p>Implemented in <jump href="apiDocs/classFunctionHasSameNodes.html">FunctionHasSameNodes</jump>, <code>hasSameNodes(node-set1, 
+   node-set2)</code> returns true if both node-set1 and node-set2 contain exactly the same set of nodes.</p>
+</s2>
+</s1>

Added: xalan/c/trunk/xdocs/sources/xalan/faq.xml
URL: http://svn.apache.org/viewvc/xalan/c/trunk/xdocs/sources/xalan/faq.xml?rev=1350859&view=auto
==============================================================================
--- xalan/c/trunk/xdocs/sources/xalan/faq.xml (added)
+++ xalan/c/trunk/xdocs/sources/xalan/faq.xml Sat Jun 16 04:28:14 2012
@@ -0,0 +1,337 @@
+<?xml version="1.0" standalone="no"?> 
+<!--
+ * 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.
+-->
+
+<!DOCTYPE faqs SYSTEM "../../style/dtd/faqs.dtd">
+
+<faqs title="Frequently asked questions">
+
+<faq title="Where do I go to learn about XSLT">  
+<q>Where do I go to learn about XSLT?</q>
+<a><p>The definitive sources are the W3C XSLT and XPath recommendations: <resource-ref idref="XSLT"/> and 
+      <resource-ref idref="XPath"/>.</p>
+   <p>For general questions not specific to &xslt4c;, see Dave Pawson's <resource-ref idref="dpawsonxslfaq"/> and Michael Kay's 
+      <jump href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's Reference</jump>.</p>
+   <p>For a brief listing of tutorials, discussion forums, and other materials, see <link idref="overview"
+      anchor="uptospeed">Getting up to speed with XSLT</link>.</p>
+</a>
+</faq>
+  
+<faq title="Asking questions about &xslt4c;">
+<q>Where can I ask a question?</q>
+<a><p>For generic questions about XSL stylesheets and transformations, use the <jump href="http://www.mulberrytech.com/xsl/xsl-list/">
+      XSL-List -- Open Forum on XSL</jump> hosted by Mulberry Technologies. There is an archive that can be searched as well. Please 
+      review the archive before posting a new question.</p>
+   <p>For specific questions on &xslt4c;, see xalan-c-users@xml.apache.org and xalan-dev@xml.apache.org on 
+      <jump href="http://archive.covalent.net/">http://archive.covalent.net/</jump>. To subscribe to these mailing lists, see 
+      <jump href="http://xml.apache.org/mail.html">Mailing Lists</jump>. Again, please review the archives before posting a new 
+      question.</p>
+</a>
+</faq>
+
+<faq title="What is &xml4c;?">
+<q>What is &xml4c; and why do I need it?</q>
+<a><p>&xml4c; is a validating XML parser written in a portable subset of C++. &xml4c; makes it easy to give your application the ability 
+      to read and write XML data. Like &xslt4c;, &xml4c; is available from the Apache XML site:  
+      <jump href="http://xml.apache.org/xerces-c/index.html">http://xml.apache.org/xerces-c/index.html</jump></p><!--xml4cNote--></a>
+</faq>
+
+<faq title="Which version of Xerces should I be using?">  
+<q>Which version of Xerces should I be using?</q>
+<a><p>The &xslt4c; release notes includes information about the &xml4c; release with which the &xslt4c; release has been coordinated 
+      and tested. See <link idref="whatsnew" anchor="status">Status</link></p><!--xml4cNote--></a>
+</faq>
+
+<faq title="Should I be using the Xerces DOM or Xalan DOM?">
+<q>Should I be using the Xerces DOM or Xalan DOM?</q>
+<a><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  <link idref="usagepatterns" anchor="xercesdomwrapperparsedsource"> passing in a Xerces DOM</link>) 
+      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 <link idref="usagepatterns" anchor="dom">working with DOM input and output</link>).  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></a>
+</faq>
+  
+<faq title="Problems with samples in Windows">
+<q>I have encountered problem executing the &xslt4c; sample applications after rebuilding them under Win32 Environment (Windows NT 4.0, SP3).
+   When I tried to execute the sample, I receive the error message 
+   "Debug Assertion Failed! ...  Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)".</q>
+<a><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 &xslt4c; and &xml4c; 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>
+</a>
+</faq>
+
+<faq title="Building on Windows">
+<q>What do I need to rebuild &xslt4c; on Windows?</q>
+<a><p>In order to build &xslt4c; on Windows, you will need the supported version of &xml4c; and MS Visual C++ 6.0 installed with Service 
+      Pack 5 for Visual C++ and Visual Studio. In previous versions of &xslt4c;, the requirement on MS Visual C++ 6.0 was to have Service 
+      Pack 3 installed.  In this case, you should also apply the bug fixes for the C++ standard library that shipped with Visual C++ 6.0. 
+      These fixes are available from the Dinkumware site: <jump href="http://www.dinkumware.com/vc_fixes.html">
+      http://www.dinkumware.com/vc_fixes.html</jump>.</p>
+   <p>If you do not want to apply the Dinkumware patches, or you are using a different Service Pack, you must rebuild all of the Xerces 
+      and Xalan binaries.</p>
+   <p>For more details, see <link idref="build_instruct" anchor="win32">Steps for doing a Windows build</link>.</p>
+</a>
+</faq>
+
+<faq title="Building on UNIX">
+<q>What do I need to rebuild &xslt4c; on UNIX?</q>
+<a><p>To build &xslt4c; on supported UNIX platforms, you need &xml4c;, the GNU make utility, and a supported C++ compiler.  For more 
+      details see: <link idref="build_instruct" anchor="unix">Steps for doing a UNIX build</link>.</p>
+</a>
+</faq>
+
+<faq title="Make errors on UNIX platforms">
+<q>I get errors in the Makefile when running the make utility.  What's wrong?</q>
+<a><p>You must use the GNU make utility.  Other make utilities may not work with the Xalan Makefile</p></a>
+</faq>
+
+<faq title="What is ICU">
+<q>What is ICU and why do I need it?</q>
+<a><p>The International Components for Unicode(ICU) is a C and C++ library that provides robust and full-featured Unicode support on 
+      a wide variety of platforms. &xslt4c; uses the ICU to extend support for encoding, number formatting, and sorting.</p> 
+   <p>The ICU is available for download from <jump href="http://oss.software.ibm.com/icu/index.html">
+      http://oss.software.ibm.com/icu/index.html</jump>.</p>
+   <p>This release of Xalan was tested with &icu-current;.</p>
+   <p>For more details see: <link idref="usagepatterns" anchor="icu">Using the International Components for Unicode (ICU)</link>.</p>
+   <!--icuNote-->
+</a>
+</faq>
+
+<faq title="A tar checksum error on Solaris">
+<q>I am getting a tar checksum error on Solaris. What's the problem?</q>
+<a><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 &xslt4c; is supported.  If you don't already 
+      have GNU tar installed on your system, you can obtain it from the Free Software Foundation
+      <jump href="http://www.gnu.org/software/tar/tar.html">http://www.gnu.org/software/tar/tar.html</jump>.  For additional background 
+      information on this problem, see the online manual<jump href="http://www.gnu.org/manual/tar/html_chapter/tar_8.html#SEC112">
+      GNU tar and POSIX tar </jump> for the utility.</p>
+</a>
+</faq>
+   
+<faq title="&xslt4c; in Apache">
+<q>Is it possible to run &xslt4c; from an Apache server?</q>
+
+<a><p>A simple Apache module called <link idref="samples" anchor="apachemodulexslt">ApacheModuleXSLT</link> is provided as a sample. 
+      It demonstrates how to integrate &xslt4c; with Apache.</p></a>
+</faq>
+    
+<faq title="Is &xslt4c; thread-safe?">
+<q>Is &xslt4c; thread-safe?</q>
+<a><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, &xslt4c; 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 <link idref="usagepatterns" anchor="compiled">Compiling stylesheets</link>) and parsed
+      source documents may be freely shared by multiple threads of execution without worrying about providing synchronized access to 
+      them. The <em>only</em> 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 
+      <em>cannot</em> 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 &xslt4c; are <em>not</em> thread-safe. Each thread must have its own instance of each object.</p>
+   <p>See the <link idref="samples" anchor="threadsafe">ThreadSafe</link> sample program for more information.</p>
+</a>
+</faq>
+   
+<faq title="What can I do to speed up transformations?">
+<q>What can I do to speed up transformations?</q>
+<a><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>
+</a>
+</faq>
+
+<faq title="Stylesheet validation">
+<q>Can I validate an XSL stylesheet?</q>
+<a><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 <jump href="http://www.w3.org/TR/xslt#dtd">DTD Fragment 
+      for XSL Stylesheets</jump> 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>
+</a>
+</faq>
+    
+<faq title="What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?">
+<q>What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</q>
+<a><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>
+</a>
+</faq>
+    
+<faq title="Submitting Patches">
+<q>Who do I submit patches to?</q>
+<a><p>Your contributions are much appreciated! Please e-mail your patches to <human-resource-ref idref="xalandev"/>.</p></a>
+</faq>
+
+<faq title="Transformation Output Methods">
+<q>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.</q>
+<a><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>
+</a>
+</faq>
+
+<faq title="Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream">
+<q>Why won't XSLTInputSource work with std::istrstream on Sun Solaris using Forte/Sun Workshop compiler?</q>
+<a><p>There is a bug in Sun's C++ standard library implementation; see 
+      <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14176">this bug</jump>. The short answer is that you need to 
+      get a patch. The bug report includes the code for a simple program which you can use to see if your environment has the bug. 
+      There is also a link to the patch.</p>
+</a>
+</faq>
+
+<faq title="Modifying an instance of XalanDocument">
+<q>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?</q>
+<a><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>
+</a>
+</faq>
+
+<faq title="Changing Where Error Output is Sent">
+<q>XalanTransformer outputs errors to the console. How do I, for example, output error to a file?</q>
+<a><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>
+</a>
+</faq>
+
+<faq title="Programmatic Error Information">
+<q>How do I programmatically get the file name, line number, and column number for an error in an XML file?</q>
+<a><p>Create a custom ErrorHandler (a &xml4c; class) and call XalanTransformer::setErrorHandler before parsing any sources.</p>
+</a>
+</faq>
+
+<faq title="String Transcoding">
+<q>How do I make a char* out of XalanDOMString (or vice-versa)?</q>
+<a>
+<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>
+</a>
+</faq>
+
+<faq title="Error Code/Exception Summary">
+<q>Is there a table of error codes somewhere? How about a summary of what methods throw which exceptions?</q>
+<a><p>There isn't, but we're working on it.</p>
+</a>
+</faq>
+
+<faq title="Extension Functions">
+<q>The Xalan extension functions (xalan:node-set, etc.) don't work for me. Help!</q>
+<a><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>
+</a>
+</faq>
+
+<faq title="Outputting results to a file on Windows 95/98">
+<q>Why can't I ouput my results to a file on Windows 95/98?</q>
+<a><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 
+      <jump href="http://marc.theaimsgroup.com/?l=xalan-dev&amp;m=99840914524755&amp;w=2">this post</jump> and 
+      <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3825">this bug</jump>.</p>
+</a>
+</faq>
+
+<faq title="Using format-number and ICU">
+<q>Why does Xalan emit a warning when using the XSLT function format-number()?</q>
+<a><p>Did you build with ICU support? See <link idref="usagepatterns" anchor="icu">Using the International Components for 
+      Unicode (ICU)</link>.</p>
+</a>
+</faq>
+
+<faq title="Perl wrapper for &xslt4c;?">
+<q>Is there a Perl wrapper for &xslt4c;?</q>
+<a><p>There is no Apache Perl wrapper, however Edwin Pratomo has written a wrapper for &xslt4c; version 1.4 that can be found 
+      on CPAN</p>
+</a>
+</faq>
+
+<faq title="Missing LocalMsgIndex.hpp file">
+<q>Why can't I find the LocalMsgIndex.hpp file?</q>
+<a><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>To understand more on how to build with message localization support, see <link idref="build_instruct" anchor="locale">Steps for 
+      Building with Message Localization Support</link>.</p>
+</a>
+</faq>
+	
+</faqs>



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