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 "Individual
+ Contributor License Agreement (CLA)"
+ (<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 "Corporate CLA (CCLA)",
+ (<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 "active" or
+ "inactive". 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 "Apache
+ Software Foundation License, Version 2.0"
+ (<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 "Issue Database"
+ 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><dir></ref> -out <ref><dir></ref> -gold <ref><dir></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 <test_dir>-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 ‐‐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/>
+ <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 <xalanc/Include/PlatformDefinitions.hpp>
+
+#include <cmath>
+#include <ctime>
+
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xalanc/XalanTransformer/XalanTransformer.hpp>
+#include <xalanc/XPath/XObjectFactory.hpp>
+
+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& 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&
+ operator=(const FunctionSquareRoot&);
+ bool
+ operator==(const FunctionSquareRoot&) 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 <xalanc/Include/PlatformDefinitions.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xalanc/XalanTransformer/XalanTransformer.hpp>
+// You have created a header file for FunctionSquareRoot.
+#include <MyFunctions/FunctionSquareRoot.hpp>
+// 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><area value="397"/></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>
+<?xml version="1.0"?>
+<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">
+
+ <xsl:template match="//area">
+ <out>
+ The area of the square is
+ <xsl:value-of select="@value"/> square units.
+ The length of each side is
+ <xsl:value-of select="external:square-root(@value)"/> units
+ </out>
+</source>
+<p>This stylesheet converts <code><area value="397"/></code> into the following output:</p>
+<source><out>
+ The area of the square is
+ 397 square units.
+ The length of each side is
+ 19.9249 units.
+</out>
+</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& 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><!--Process the current node--></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(.)"/></code></p>
+<p><code><!--Process all nodes in current context--></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(*)"/></code></p>
+<p><code><!-- Process all nodes --></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(/*)"/></code></p>
+<p><code><!--Process the foo/baz nodes in current context --></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(foo/baz)"/></code></p>
+<p><code><!--Process the/foo/baz and /bar/saz nodes --></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(/foo/baz | /bar/saz)"/></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> <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>
+<?xml version="1.0"?>
+<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">
+<xsl:template match="/">
+ <out>
+ <xsl:variable name="rtf">
+ <docelem>
+ <elem1>
+ <elem1a>ELEMENT1A</elem1a>
+ <elem1b>,ELEMENT1B</elem1b>
+ </elem1>
+ <elem2>
+ <elem2a>ELEMENT2A</elem2a>
+ </elem2>
+ </docelem>
+ </xsl:variable>
+ <xsl:for-each select="xalan:nodeset($rtf)/docelem//*">
+ <xsl:value-of select="name(.)"/><xsl:text>,</xsl:text>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+</xsl:stylesheet>
+</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/>
+ <code><out>elem1,elem1a,elem1b,elem2,elem2a</out></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, <xsl:variable name="fooElem" select="foo"/> is usually faster than
+ <xsl:variable name="fooElem"><xsl:value-of-select="foo"/></xsl:variable>.<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><xsl:stylesheet version="1.0" xmlns:xalan="http://xml.apache.org/xalan"> ...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&m=99840914524755&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